Gentoo Archives: gentoo-commits

From: Thomas Deutschmann <whissi@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: www-client/firefox/
Date: Mon, 06 Dec 2021 15:28:14
Message-Id: 1638804440.a88287771ff1b102ae79a1bf3a3867ca9f3dd197.whissi@gentoo
1 commit: a88287771ff1b102ae79a1bf3a3867ca9f3dd197
2 Author: Thomas Deutschmann <whissi <AT> gentoo <DOT> org>
3 AuthorDate: Mon Dec 6 14:42:33 2021 +0000
4 Commit: Thomas Deutschmann <whissi <AT> gentoo <DOT> org>
5 CommitDate: Mon Dec 6 15:27:20 2021 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a8828777
7
8 www-client/firefox: bump to v95.0
9
10 Package-Manager: Portage-3.0.28, Repoman-3.0.3
11 Signed-off-by: Thomas Deutschmann <whissi <AT> gentoo.org>
12
13 www-client/firefox/Manifest | 99 +++
14 www-client/firefox/firefox-95.0.ebuild | 1235 ++++++++++++++++++++++++++++++++
15 2 files changed, 1334 insertions(+)
16
17 diff --git a/www-client/firefox/Manifest b/www-client/firefox/Manifest
18 index c716ca58df80..654271fd031e 100644
19 --- a/www-client/firefox/Manifest
20 +++ b/www-client/firefox/Manifest
21 @@ -490,3 +490,102 @@ DIST firefox-94.0.2-xh.xpi 421170 BLAKE2B 76ad46bddd3283e395aa06b740d65a8b8c2ab7
22 DIST firefox-94.0.2-zh-CN.xpi 566220 BLAKE2B c011e86a071303e3f8957ff62a0ea9f6bfaa93b8b328f2e506af83bf0008e990e92cb275488b6767af5dbbec40986c7f7c8c63d1f50c25cd13710d900ef58e1a SHA512 5d67af7ebfb197a112e40985eb9fc49f98885137314c40eed8e7fc136b5d7e97b5a3afc81bc33a5a8eaf1d27cc9a31a32a1eade2d8672abd3765bcc86fce2c23
23 DIST firefox-94.0.2-zh-TW.xpi 566884 BLAKE2B 315ff12d2acb993161bca86c3bb3fe69e0f9f90e37d67c0f3c79bcc463b4d1c7da10b70fde8067f85717d2d0435c23f46f5170625c63f06798fb7058f503f001 SHA512 ddfb47be87c55d1707c890004c066f57dd4adedb5b0ca8675854f9c18491d3f765cf1a5264253639c256ec1306329b7e63e15de07aa4559ecf9c680e297ba8cf
24 DIST firefox-94.0.2.source.tar.xz 382896780 BLAKE2B fb10a7506399b410eb6147b2b0e93f1933b4420cf70b1c9e56210484de5930ddbcdc17e34abbb61734fae7a723a4032d250f872a684096c98f9c432a80b21273 SHA512 00ce4f6be711e1f309828e030163e61bbd9fe3364a8e852e644177c93832078877dea1a516719b106a52c0d8462193ed52c1d3cc7ae34ea021eb1dd0f5b685e2
25 +DIST firefox-95-patches-01.tar.xz 16928 BLAKE2B bd52c665fc035ecfdd4a3e4470f3ab9f853c26c16c55916ec545a0d8d4d00620ae63b7e7210cb84c03d6acbdf6725a024dac04c75172c33e10a9c40e30359bf8 SHA512 4572c4958a5d6494160300d4be1ed7d151f22dc0b82cd23a1c353cd8ade07f3fab75a577648c6af51f1762fc115f3089b67591ac9ca14c0582c46cbc913394bc
26 +DIST firefox-95.0-ach.xpi 450515 BLAKE2B 3fe20f62740464379328642cbacebc9166be39553e0f7158fd5d3c805874701917daa10f215e296b98ee8ad111e3ee66e069a65321bfe2da364ea57fd2c4d37e SHA512 551fb9f5c03d9a1e05e02b19fd36cbdf91e02a196f7bec80672efbcf30a109adc8331dbc49cb4e2a0d085c896f713af6c6469d8350f477f47a27b2aff922c7bf
27 +DIST firefox-95.0-af.xpi 421588 BLAKE2B 8e61208a72754a6f76458284baa5147c7a06df3ff7d4f876d9b888c7525f584907311e2997db5d11fe0c2d68309c065d27cea2e5e22d2f04566a89c36dd0fc4e SHA512 346ae3a1436e6f277a86a0238b166d002cfb9be361d6f59d06c595c4ff48db41c90d6adef4486682d7850522b48abd00e0380461af12727b2d5bc2fb8eb4f637
28 +DIST firefox-95.0-an.xpi 497839 BLAKE2B 6aeeefc0fe2bb28d851e1694ec0449a4408f1989268f2436f20dfd00386a7f5e21b07a941a27165b3b8c09c1cae8c7875a16a48dd0a44ae953d85569e06ab981 SHA512 acae1e417303fcb28c70fff9e8c3d86efcb41b3417d3624a49020bf1310ae5a9900054eda57e4413c8424c193a2b8ab86ebe0d45046c19933a39421a6d37c881
29 +DIST firefox-95.0-ar.xpi 556957 BLAKE2B 9388f44e38fab99427b5d81f0d4eb4918e4b81198d4b60e916b2004c1086362bcd0eae964d436c8fa1d787ecf3609f0499b0d1d754e453321999158cdcd22e2b SHA512 1b15787e4690dff02aa49494e018501c95ba3f5b0c68362a9735682c84ccb8a0b0fc94d919b0b0a15fd8333ead5b13028303c879e972d7d2d3af21c97b64e369
30 +DIST firefox-95.0-ast.xpi 495632 BLAKE2B d3684061045a422989e76853dc0d7de1d3deeb20b789aacc36f459620de7c9c472fb58c3cc06421c236e603345792efac61f9292ead66dc8999e1c4275ec1e13 SHA512 76bfcfc87f92e04aba40af0955425ab261227642e6d3e8cd97f2ab4cc04ec751ba5425ba3facb0d9ce4eda74041058d055bca068bc258f7167a37cc362ad7bd0
31 +DIST firefox-95.0-az.xpi 486489 BLAKE2B c41b7060af5c641499768d1553468cfbb068e3eab2e3549e29a190a4ea27025c91bda839cb1aa717aedc46a725f4e1d0df61dc1e04e73a43d339ef5c6301b03a SHA512 727af196fb12673d3a9f59fc34e82fa99a2ed49b92da1023dae2048f0dbe50498261d17243288ff84f3f64470109920d106b1a959476ca5413b5a1efdb768dc9
32 +DIST firefox-95.0-be.xpi 617804 BLAKE2B e14e9064c73c1247c77f74737ac8409342000e155768113bc9bcec2ce0362333b3131355bc66f81a97ab3d1df497b76d117191f2823f70bf46414d7dece53495 SHA512 ebb28844d8f70aeec72ab4262fc8bb53497f4293b97ae2e58c9a950644f4e145316064214e65af85e5f7f17de42bb1fb1de175677437ee7006e6b468a506272c
33 +DIST firefox-95.0-bg.xpi 564532 BLAKE2B 70a722b8772f10056efa951598d33e04e36f213b1c049d500cb8afc76883a3495805e1cb2ff6ae4bb5140032029bb018d85903085cd55551d947185c44020eb4 SHA512 186ec20af2bf495200d48e8f367a7cfd01a9da3ecc7019675b9f66bf071e660b9d79e98bec59ee02074168676fb303546723231c29b44e4f2bfd9892abeb8406
34 +DIST firefox-95.0-bn.xpi 553373 BLAKE2B e1a221ec3317ac111a4ce439df152e764886b5c9b9a1a9a71c44dcf32f243d9bd6d79356f9faab438f22cce2c7f04fa7933cc6732d82819720eb76451a0fa5e1 SHA512 e56695513a63c2884f11b555da6c4622dad2c8710927310ef2e1e78bb028fb57c1f7ff07580aad01dcc7dbdbfdd1fb876fc09b155a755b640cc94fa76f6d5e41
35 +DIST firefox-95.0-br.xpi 524087 BLAKE2B 2070ec3ade3c8c2765b6c130699a3e5297fb231f291b0379318bb54339bf5d18dba8e3a3627b8c50a80016e5e6b1a9eb4ddbd9f91c428d32b5c251c781643e97 SHA512 e6e2c9dacab74359eff56da967548c936f28bbfdbae3f246e45042e4ba1fc650c942b4b41ef08979a5ced64f2a99cee57c443a69d447918587423b496e537b74
36 +DIST firefox-95.0-bs.xpi 460948 BLAKE2B 1b9eedc34291de5876c3443d15a39bc8dd59e69bb07789c9c34b7df9cac39cbfe15a21182ec7c23c24a0068d0f6df944ad8b5378d156e24b5fdda55c90e7a6d4 SHA512 892218d00a0f3b08cb540dbc8bf248f93008c0edd190d292153a32c8a4542ad664839fdcb7f371391278eee289815f16949502ab4f1283ea3c7821663b707243
37 +DIST firefox-95.0-ca-valencia.xpi 526570 BLAKE2B fe44ca5bbbdff9a095507013da118c4db227c8b53441ead8097aa4ecc2c131a2b929897cad64be9172c732b7be64ba545d963758b4dde02e18e4682a2620e3a3 SHA512 87840b38a07db17f82adf31e37b9527819c27a62453304885772617548dfcb90ef0ce411ed2dc4d3189298e9bf4f8ede0ae7d85d6bdd2f74129d5001a4e21d5c
38 +DIST firefox-95.0-ca.xpi 529728 BLAKE2B 6dcf7a991153111792a79258cbbd8a6b916c2eab19b5eaeb358a5ecdbfb71bb8ab1e2a47e387e77b65c566eacddd5c6518df6b24c51ee128d9e1fb81c6801cc4 SHA512 9676d4af6f7484092d459b726a69e15b29563f5de26406ecbb0458b99a8fcf997607845f6349e26230c292fef0cdd739bda1bc06e674b9e382450afd603789cf
39 +DIST firefox-95.0-cak.xpi 550291 BLAKE2B 25d588295feb5b063696b92538ae59c477fe60d036e18d668841a1cdfa9a100b6203dc83f494f2c1f840944858ddb61e704f6f74a28a428f03afe611577e4e13 SHA512 23d01a09ce27cf835b1a08df86304139227f017ac2946be97f203a8074894445792e9c06ccf53ed95842cc9e80a86fc954b718f651609c666b979806908dfa54
40 +DIST firefox-95.0-cs.xpi 560520 BLAKE2B 9e4b836d02cc00fe2bca57326245a82bae2430475f7f9e9b98498fa61241c2bd75faa5f3babdd808e6f2b61d3ea36c42942f56563327003e3b7d0093192bb580 SHA512 46a7736f29465650b19fc7fdfa9ae7ba49ad6212530ff42fb21a04fcc1773bbcabd02da2ab06b87fddcfada57808244666932eb596c978add1ec8da8bec2cf1a
41 +DIST firefox-95.0-cy.xpi 538502 BLAKE2B 33953d710b38f333387a0382d39e657665c0a3fd79cf20fc70adbaff0460d71e3dba092f30845d1b98afd213dded01743ac10cd1d9bc4b2bab9e866de3d6ddf8 SHA512 87610b36a440aa73106ff3d198484ff644b82d3d23be56f51ef178ec88e9dd163bde390c87799020b10e803caeb3a5426e2eb51cc8ac27847e988b1ce8bc7f12
42 +DIST firefox-95.0-da.xpi 530402 BLAKE2B 1eb31b2569616314b1d7831ccc1a6f07f6b2c6a4102af056e41010a70f4d7914c2cde8f0da65589e6013b738ba2be38fa9ca0600e0eecaa441ddcf9e1bde019f SHA512 32814bb82715ded6204afb409a6ca0a790ee8931e6e10c4697468235dd843660e1899b17e24efe22fa6a5b3274a24df1769453ca0b40c48130e06b9d0a3375db
43 +DIST firefox-95.0-de.xpi 549565 BLAKE2B 30293bb4e923721df296defbb314921942597f9b4d5d4ef5fa19e388e729235730eadda3baafee31bf4cf21a4069193ed1a11277af8f3f32282b33bb40d70f2b SHA512 2e60f80e7bc3594bc14648cd8ca2d6db143bddfb58ffdd425007e278af014fff3c87eeccdd7dc3e2be12ae9e3b3176a10dffce453bb4ff7f85d91ee7d3ad93f4
44 +DIST firefox-95.0-dsb.xpi 562325 BLAKE2B 64529835e0eb45a75079ec18c45e9af952933cb9a98d5e0c901ea0ade4b77315584fa2cb17ac43b130f5aa6f495d55308be88655e096926368f86b968203ebcc SHA512 06bafe2c5775bd4e3ffaaaac0670ad0e26c96ab1c111bc6e5edfd839ef4cb203924aac1a295152f59a61765b2d63ac5564a35497de7ee1a105ada242d7ef42ba
45 +DIST firefox-95.0-el.xpi 634235 BLAKE2B ac8a59203731c49daa2340c714f896e3ac3b256ad3c46bae9954a4aa1b757dbf88afc31606fd0195b8b7093d0544b52520a5c7ac411033df0a10c8d9659ade7d SHA512 79926906f8f965424a1bc169869c835d386bbc5b09008bda013e1e0a0e9019b81fa265422d5a6f667e2a5cfaf6dc9aab6304a799bd852cd3f5fa16e5cb9c055b
46 +DIST firefox-95.0-en-CA.xpi 506099 BLAKE2B ea570c851e6f50b5446fea06df857eb3bcaba0ce1ef35a849089c5bd5b55f25bf503d107b68860e7ee368c4cd36e3fb12e0a44baea48f3c10b6a11507e018a02 SHA512 279bd4845fe0112c1408a1684c17788d0c10ecd933189009e0a5d7e78557415d9e6ce73136e9d2c08aeba60a3cffdd79799c869b12bf2bb60d29f6fa51981704
47 +DIST firefox-95.0-en-GB.xpi 507069 BLAKE2B e53f9632b22fc3357f6195960b619dd17d685d793c178b0cbb03beffca2982db758a97067f14a9d070bf1adb4716cb0e9baca570bc0f588b04948bdf981cf1de SHA512 ce05b73d2170b6323a1d3b1fbe1e2b29a898cbac8c304886e1f620a2ac3a473bfd20247e76261e674e1a36b392fd1f52ef409acf1fab3adb4ad1751552b79297
48 +DIST firefox-95.0-eo.xpi 531427 BLAKE2B 931e48677238a5b8a7f9b94cb9f5cc47b4b72512092b14bc196dde71172fd0049104a6233eb7bffc42bbf0bcc0cd01d502eebe7148b7c0225a9eb729aa20ba84 SHA512 8e47dbd945329c19d471cf896314066f4e6d3561eb4774027a5f0633b56b0c5f7bf3d4342086d58c61b75ce850b6b5147c5492699283a112330371b68e932533
49 +DIST firefox-95.0-es-AR.xpi 542817 BLAKE2B 577ba91822539f5ef062a6af801b212764b6d13d1ac537759ab8ebff50c56a083f626b7f818dd8a6499dc3d8abfd34987c5a2a80e09ed993e5c034bc5b17ae51 SHA512 20e6c6463df0738ba0c99abe8e0ba8f50207153dff69caa58addd5e705408f2d5e70173cdd7044cf098fddbd614686b980bc39f96c5ebe39396e820176a0c364
50 +DIST firefox-95.0-es-CL.xpi 542407 BLAKE2B 1d5f9f81599bb0c6af67e68d7ee3a09759a047aa9bdc9badda27973aa54eb6e34e2c060fa3503df9f6dab6fd86b684d8288d24bc6e9b456a323efdcd411b6001 SHA512 4c358e45f859d8c4c0f2a4852e6545cc2fd0d01bf2ca629db643202fd5958efbccc48c4b9ff28f37a5052257e45c28761028898c306b9a81e98d7a88dde85fc0
51 +DIST firefox-95.0-es-ES.xpi 533165 BLAKE2B f0a3361ff395c85efd8fff3fb68f9fe791c53d6542a992feba96590ee44078381e4769629765a1f626cb428fed34c7ef616a00919c224dae9d4feebb97a63f15 SHA512 68f6090a698cc290f2cbe45d5346d706902ae41ce839ce2e1e73db5b2705fb3f70ab1384b0529e2ab2bd20aa2aac425ac40284028bde4e9b535559427deb3b8b
52 +DIST firefox-95.0-es-MX.xpi 545980 BLAKE2B 6502c56441b0244677bcfba298a533f617954a51cefff2845e265666f9a8496e11ebc1e38cb0ef4499c729b4e9de1ae0bc3c8b73e2000557986ea720ed2acc82 SHA512 3283b0c15b22c31d3558c15c6448bc0fac3df2ed7d5085e31b86a682becee3f636b3f45665e1f55cb3ad569bd6b5c7ba47fc7010e5ca639a5c721b98689a5e1e
53 +DIST firefox-95.0-et.xpi 503978 BLAKE2B 58455a3a78bf9f5a85fa4deebaa624e38ddef24f4132ecec02d5c3048f7f549c06ba9684024f4d5c04e90a1dd9382f04a824e59f1c92feb57351216a0098450b SHA512 688637b0aa911a5cfd4054659449ecb24cfecd1ac7b2bb4e99d49c2c1077b473419cf4d44fcd532f6d8dad6b69fd18e8cf7ce69aa14fa90a0d60e99c76e60c8e
54 +DIST firefox-95.0-eu.xpi 532585 BLAKE2B e5cf65694bb88c9b043daaa43eca78cc18f4a555936259cd1049cf93c16048939c9636886b1368c26c9e1cf756105ee3a16e9c3ef8a12a4a708f87f3a8be15c4 SHA512 1198626f7686359794907dec80c1772a8b1755bc46e84d953e835c35ba41fb3f66ea4bc85b92ad07e364583e8d3b290c60afeb80128e8a9421a879f6a826bd63
55 +DIST firefox-95.0-fa.xpi 556251 BLAKE2B 6fda62ee7317ff5015dbe1aebc06ff0932a48f02829606529b0ca3227d82a4940f665a8b0ee5bfd7087481d90494ae0a7722da3c2013dd7dbecf90b653b6ac92 SHA512 aeb404627ce3169e3e24ab3ffc15682c3524b39f0132d1249e84abf305d6c488c709c2425c2409d3aec19c42d9ea3f48b9f74b8ca51eddbebd6ed701c39e5bba
56 +DIST firefox-95.0-ff.xpi 468414 BLAKE2B 32567ec18d5508228aa7f6ed47d366ed89d1bcd6d555ba09c1df813893472a07efc2b920aea7eb0cb91dff5c2957337da81089723ba7dddfac08aa5654b8f400 SHA512 b3ad7c506b9fb1a34bf1fd7d48982bbfbe6a5a0002fca3c7218ea55ca24b11aa5f75940d1f8f9490460b1266f5cd28901ef6d3be07f8c8cbbd65e3e6b3804b7e
57 +DIST firefox-95.0-fi.xpi 527602 BLAKE2B f98e194dbfc087e0afc11f0b8cd8083179dc046b9ea413c4bd4371b45c50da5bcc899ac247ca28fd999f94c60a98eed0accb3a0fdaf94ea319d1353c5bd56add SHA512 a6a48e1d5bae2d41ee73587e7e79b98415d61167c2c119079e5c6803c4619965445c5913139f420554ca537f2675d6eaf34669a9e1a58e61e5dc9907d8ab42b9
58 +DIST firefox-95.0-fr.xpi 553723 BLAKE2B 915a6cb4bcbd6eeeac431859fb2e568e92fa802e4ffa12262acb17c53d99ce63cd54c10a47eda458d10a90ca2c7c34978a67ae7998477c775ecaa5285b9f4ca9 SHA512 c3fe187f56ea1390c4dcd0f0776c7dc8f5d0463621af185401b3ef3912f78d6ae7ee1b227093b2c68cdd304bdae9bd944017f00a429ec59d3ee591d55d82d7c9
59 +DIST firefox-95.0-fy-NL.xpi 539299 BLAKE2B 3793ba6e07eb8bbd9dccfd6c8388019ab38798bae947e45033d5f557d1a4c49144108cccbd6dc8d7a995fff0179b05ed8e27ef34e091edfbfcf9cece618fefab SHA512 d42354fadace36cb3eb40f18f1fc44cf8ffbdde3d69dbfd215b0dec0b4eb3e809a0eda212575c649d5d052c23b7145dc8b37f09103122f928b6be77a58922105
60 +DIST firefox-95.0-ga-IE.xpi 456359 BLAKE2B ee362381323e1ab0d9452379bc6274807a3331cf35a5a9841e2f3fb436343fcc1c6a302190225dd7b7df9e061450cc40a0874fa4582b08029e293ee6e83eb574 SHA512 159ef08e8b271c18d237d50157c3626e6fda291f355fc015f16baa407e11ff664b7e9b52a4e26ba8e0cba68ee2a1fc2832ebf7d43506bae4457ea8064a8be3e2
61 +DIST firefox-95.0-gd.xpi 528510 BLAKE2B 2f03ddf60f3a0780ba921406115ccbc0d5985bfd552193d481c57ce7e7cf8c3625d2a33e89c2cd009fd3facd174fa20d9cc3d8b95b6f1fcb7f5105779529f956 SHA512 b4d447b813cff0b394a1f93a4f8c17cc2a1369872e506ae868b5131264e0c51f262da2c48eff76b6a3e591a4248efdcadbae53e6d5043bf077e1e5194c2a767b
62 +DIST firefox-95.0-gl.xpi 537648 BLAKE2B dad92ffd75438dbc8593d7e86057b3e179b4d5118b5f1e952a724ba5fda37a6acdd4034957ab00f16c645728d07d6bcf200fd1604e1a10ec0f57a96760261412 SHA512 65377280d2da2647585ee254b4f60a7eb06794f09060fa7eaaa0f4eb1df86409c338f6c8b000a5d9472b355701efa4df2edf3358b5ef146f928098f5a8f8e3ab
63 +DIST firefox-95.0-gn.xpi 553613 BLAKE2B 2096a50dfd019f2ece3218d7948bfdd63939f4da5d3634f161d21661657f4b1020ba27844a36d841577d8db2d8a49222ad05dfb0b5564597ce585ac23ecf633b SHA512 bdd7e22210fda6ba1aaac0bc2eb93f137bbc99fcb3c6ac18e822f25956b0eff1acdc407181d7e0e077c59cdedb912e8280d6ceb546553a5bebfff291a24d7fa2
64 +DIST firefox-95.0-gu-IN.xpi 525936 BLAKE2B 8ba13c0d070ea669601bff1389d5a0aa8cc6af6fdf0a7221e3171fe5615abba5bb1a26baf5f12aef1199548bd823ea40edc79e045cd45db0e1effbd310be49f2 SHA512 317d7f8028be22805708623047e2fe3d7e95ff82c6e02dbe9f3b5a57d12fb5bb91af0aa9af9f82ba64bca737a7fdcfc6022438b15fabcd1d5b1d860661ac0946
65 +DIST firefox-95.0-he.xpi 553664 BLAKE2B c66bf40ae133d60485b0965d4a20d84d7bc5c60ccc12809e374e4d641455c7b360fe1d4eba28f2107e590c76e22276540aa18b458b6ece18332182f6d9d37c06 SHA512 918900356296c9a62d6e9b9bdd38dce19b88571f23917879af49a8eea60bf5b836aee3b81a3e629d7b4471a75e2e7c97db67cddf9ceab90d7bfa6465fd2a6391
66 +DIST firefox-95.0-hi-IN.xpi 557072 BLAKE2B 467778dd8b16dbd9afd11347892c7c62f63991381cb3639e5857c7a4433c7572e4b815577aa89014a40514263e1cb82e3ff8f190c956b3f607da99e234eff20e SHA512 39b605fe5c6e91d1c5e0768acccc05fb22fbe340fd235822fbe25be04dbdc0d6bb0e3915ef7983d3b079baed88a527de3ea307f9fc1de5a0b7ed6d7f68110b5f
67 +DIST firefox-95.0-hr.xpi 527718 BLAKE2B ac46ac1454118daecba9bcca0ea7ca939b5fb01eccafbdf99ac4800a266ac501c15a31975ab914ce37faae66cbf1ab591608f215673042c14fc786cf2c084f6a SHA512 77389343ae828186e7dc4ec4e34738ee2e09920ad5e3090fdb94f57639d3b35d21e587102fbb74c5dc05805c7b69785292d298cf102c3e7b581c229387777cf6
68 +DIST firefox-95.0-hsb.xpi 558439 BLAKE2B 7e7606d884e77ddbe006d3f5909a797f3649845196323d5ddc3832c97b388c7eb5995e2a8aa42b94ea6bbde96d9dbd3c940db3cd3ccccc9899bd2f93385f62a4 SHA512 dc99c334cd3808c96be797c732507884592881defeee75012254a934616c564f1a77f306fd3bbc5852c71a5f2e6244212353e7c3d62cd0bdbbd7ee4102e87fd7
69 +DIST firefox-95.0-hu.xpi 561838 BLAKE2B 27d99323b98cd46f1a2de46edd451f19acdc780564f99d63c0a4b2f345cec9959123d5a68fd06f3034abfe511116c2c302cc8daa0493ac1eee2a1639a072605c SHA512 149c14be3a22be6b18fb352336f11af2213ea5f3ca84c8dff2a9bf902c03364ca013a510de9841ca16486e2de2b007209ab34a9163ff1a5ee203d694015aa752
70 +DIST firefox-95.0-hy-AM.xpi 576865 BLAKE2B 02afc0c5b116e384eb73eaba9b51d53edc38584d32063d97c7ee7745c15801d4c2fc0227468d667a9bd114ad46c9d215ba57010732e81022eae1a9b0d8ea32a2 SHA512 8518abc97346f90b75978cb3a48522f3b072a79f5d589ff5566b9836f3918bf834390f7ae30a881533167dc139f26ac3723e128968b93bbae4f34ef93e2684fa
71 +DIST firefox-95.0-ia.xpi 528438 BLAKE2B 39b4ce0a650a4f4587bfdbde2fa7095c2bc81db72d4a785b8597cd5dbdc9826575fe613c9d5c1372f8ca6a1ba732364fb10f6998741db4bceed44ba39efb04be SHA512 492b7617951d24acd00b1ab28453f35f2cf88722dd97105fc09d1287566cd27a1822eb4d3bfb953e5d1285cdc7bd7cde9c74e58deb0206db3e9c107308de66a2
72 +DIST firefox-95.0-id.xpi 518116 BLAKE2B 80f9f3fb82c47a3cd23660dc6745da3ccdce80fe996c6c530bdbd9190379692ca571949c5ddcf886e89aa232c25a49d1b6c44d167dc3f8b1ea23932a1b19b41c SHA512 83f72af2c7457f0555cd9a06212e44846867698c813daf72c190bd8bd311cee4565c254e981a848cb5359fc945f0e730bd5168cf8fc763a430521e47102ef538
73 +DIST firefox-95.0-is.xpi 467522 BLAKE2B 7294b6dabbe6054a8e81abb9e07baa0de9812d413ad6765374332e5f110db262fdd9386109d2fa237fba387de7529dc4466fcba39f38fcafdda693fa9c3ccbf6 SHA512 d6301e73b43e01584dea2250a45fa10a2b131fdaaa82988a43a070763c347647e7d4649afc54390c517c879a652a77394910057ae569aad62a9133859a5b060c
74 +DIST firefox-95.0-it.xpi 456459 BLAKE2B 50426f0831287966e74f20e6af143fc6d43740ba3d5c3d69d7a11ca9773fd87a5ae2b7056ca17c1570666cb8b5cf415c1fdbbf0a042ff35cfdfc2bca6c032c79 SHA512 5c81581b251f8772f39dd9084798e4ee260fc2145224a16afbb4f2568a7482ee3cdc46779db3436e1345ba39bc4fe63aa6705994f2f0cdb0dd633b88594722b3
75 +DIST firefox-95.0-ja.xpi 583404 BLAKE2B 045f27584721c8c0d0a04d28f6956588ed013bdcfcd6f8505d5e69168df86189f8120c5f0f55c56c5803dc58258b7cd524bd3a81c1943612221af7f417394444 SHA512 7daca5ec67a72d3ea71cf234feba68f1d8abfd849b252d0fdee4e8782884f78ba6d4fb31fd0039ae05720be1e56e92b6012447afe991cdebb113078340d78d18
76 +DIST firefox-95.0-ka.xpi 587672 BLAKE2B 34de6399c51aabe30c28919cf5aa5306fc75d18a2131ee9fff94f19b264a9c2316e145ddd347a2f9e7fc204a249f338a7c08254747ac3c41fbf6e76636ad33c3 SHA512 3a43d89333a34a346a94e65faafd296e18266d6a3617ad8b7e1f4599886d1f053855e0995f19ccf8965afc88c22898cd8a7da02017b6059904a23a9ae2773c4b
77 +DIST firefox-95.0-kab.xpi 543119 BLAKE2B 47130c805f67c2436a5269ea4b5d35d11ca3780f2ee1a3fb7a34b16849dd838e24e8418f94df8ce33f8754cd37347a141fc445d908e0d11001a056ae52da5ca1 SHA512 8f9bcfc33aeda142674fcc6bdcbda9ddc5d8f6978f75ba2abd0f5501c25f79c67044ace25ce4eb2bf438d72f5f243af1994e1cc33fd4eef2843f9be204cb9c5a
78 +DIST firefox-95.0-kk.xpi 601962 BLAKE2B c842658d861010559c64b3944d389adbac21036f0781f96677b6a0ee4511e5d1bfef91a94adb22df65d978e9072c504d05e4708c5b1f740372eb694433432a62 SHA512 cd73493d0a15186192e5ff433f6a007fdb49529791bff044facbe9e5344116c496de5f0da74be661614a068964a967784eb786e4d59f49dd6e0490efffe36557
79 +DIST firefox-95.0-km.xpi 528933 BLAKE2B 1e459b9b8826a509b3cb9f1e400c6f07c95e2351987562097b580263571ad6db2c02a599f80ca8b96c2608900e962626d37b070aff516b0cdf7f59a6d5b959d6 SHA512 efdfaa7b197015cdce00c6837eedc776ed53120ef8fc95547aee6118a7bd4a2131fe8e0383fe0940f653241c50a307f5abaefba7b11335ad62dae0c0aed6f780
80 +DIST firefox-95.0-kn.xpi 494304 BLAKE2B 45cf6be539ecda4fa17d3f88c726384266f8a9866abe8356df193a5296018907284a49c9d3bc4bf4d9ac7f07238e592bf49a73180431b5930c816f8e743a5c1d SHA512 e62728ac977a598486e181b936a0bad4c61f6a842e06fa07e615015ded640035e92dedd8dd4e8ad0f141b60e4b61263747d6d657b987e11f7eee6948007b1b92
81 +DIST firefox-95.0-ko.xpi 574782 BLAKE2B d11ee747bdc13e7b0f9202397068cb58100849480921b7a93bb791025856fa6e7e714d716c05327f8ccca2c104f273c4c229e7a7a3242bb7482b515938f07e86 SHA512 58621fa4487d76dda0335ddf76eaa98c2fc61b5c37f3445d83472acd0623bc1370efca5a13d26ad18ea1aba5f437aa623977804ee5bb1d41c76957411fa64d4a
82 +DIST firefox-95.0-lij.xpi 467379 BLAKE2B e038e7d3cbdd75d4410e7938db17dbe18980ff66441dd014a9904fa683f2e2672ac57774ef462e55630197801e99c43965d2f9025bfdc16cbcecbb701e73ee7d SHA512 0ad2699fa1d96833b8d20428a420a95cb1ba096d195562dd351be74eb6ef1bb37e8b3b1838e38a6f6e4b19e3a1f0af427e1fbc31d8e83974243fc6e40e692845
83 +DIST firefox-95.0-lt.xpi 556126 BLAKE2B d57e3a4da3173169337963d84c18fc01a212124422e2deb3aff177a36d3968beb1407c51268c30db5d4b2056303d10f9097fdfc291f741c0c9ab5fad715b78d9 SHA512 513abc915c526048f4cbcdd9e33f7c10636ecb52a38660f994c5f1d5bc4f8b759304711fdcbb26325f7853f83e75be147bfbb27608b96b3437e6761132f488a3
84 +DIST firefox-95.0-lv.xpi 459576 BLAKE2B 2c46cb32b99d4fd6f9903c0933b70c6bcedce52b78f3f2f5414e04cef209f06af135aea03d63fa005ace1ee85cb5ed9343fe36cac05a5f70952ad94a36cb16cd SHA512 c1101737b19b663d08c64544a50c5f75b2e134f287fc1cf53df29401847c61cbd2951c321a1d3e81b724dc594575a1351bf3c1571cdf86aa894cf58a5cd1b16e
85 +DIST firefox-95.0-mk.xpi 460717 BLAKE2B 591b55228c7e572552a21f07d4eaac87548055442aa41ca2fe63e658c64e4db70e314ec4c259b43ccf0302c81f44c058b9d065d8d21950ed716b18679b56d21a SHA512 7e1151e19ee75b81cac6c36f00278981c0f4dd12322b5c8d465811d0931b89d9d6bf012fb43b4943e4b67db0015fa3fa5ac84e792c3a4934efba3c2bf389fbc7
86 +DIST firefox-95.0-mr.xpi 528738 BLAKE2B e4bac04d0f10d638e2bc02228e2127c56a7196433cdb2116528ca50c423f7064be9adf4c8fd8537c4deded872c7caf187a812b14b37720ba7b0e4a29e1e0c919 SHA512 4ab9e64a1fba744a55b5ac7ec3a614bb6271af4693d806ef2f57724c561423e3f8e6ff0ba162e2c5deacc3d65a58d806dffdeeb8a29aca6f391309c3a5233771
87 +DIST firefox-95.0-ms.xpi 444663 BLAKE2B 545a6479eb3cda354449669050832c539b75692d35d2e373bc02fffe2bfd19f95c8241ffe1fa1f56c37e0de359c1ff035408c9ce5d81c40e27260f34e34dd783 SHA512 6273fe3f2b686aa80b88d5dc64e07617eb28b1e0a2de962c4eb77ab730cce0ae49af97f33520bbfeaece34afd7163f7d7b6891159360af66829f27aa3aa37981
88 +DIST firefox-95.0-my.xpi 512526 BLAKE2B 8766581eb05049ee7a430a67c9ae7b962085c4588f35046ac2a10e50df5bbff6947f681e1fdef756f8210908f97cccdd41496fe3b96f0959b3f19cf0bd967d81 SHA512 fdffe4140d38237789c7cdd43e39aaa0e1e411a62d398f792a19724874ee5ccb56de0401b804ce07fc15e9b502d0ad6d3e8b77f1f63ca6daab9cc2399586b94d
89 +DIST firefox-95.0-nb-NO.xpi 525747 BLAKE2B f48881217157c037451c9d685258ede8ba0f10ae890a6a01700deccfdf2e7d3a410bca9f8002cf313127098a040638719cc2c1dfef73f32d1d3e31311c1621cb SHA512 a199a137a39d56563e5284548fd9012abcc57234570d3eca5fbd648bbccf352cfbbb6671d6c0b16b23b655a26cbbb366318e9b370f6a9b5348630183ee7f1b04
90 +DIST firefox-95.0-ne-NP.xpi 481248 BLAKE2B 003af761306299f0a3b9633d675298427fc97df0cfad50334621b52eaa4e25de12669478481693f999fa7ba8fe17950bcd644cb8b1d67dc825b44f27ca44fefa SHA512 8ab172cce511c74edc101880825d447c7f86ec2e8b076c0206e91c6a3d6ec7ec8438cacd5da94dd572df61f6da51b9619b053727157319b1afcf85547d4017be
91 +DIST firefox-95.0-nl.xpi 533457 BLAKE2B 47079b02637c9a3eeb6a22abb09bb48e0d606d23d4aa9b62b05f03049463704665d6d885380bb4560ab55d16d06b6b163869b2843e8ff127827e4cebd73ec03a SHA512 2e52326799609e7c1a17f43829b2ffcaff0888b88ed1182c173e32433abb471da7c2bbba1fc237ca2eea73138d954fd38f0614cf055885e175612dc53bcb492f
92 +DIST firefox-95.0-nn-NO.xpi 527937 BLAKE2B 172afccfd416591b06f0236e79a99d5c54d96535b37305ceefdb6d4b08f632b6f4abd49a00e4c69ca602ad17bb71edd8f49ff3924680c01fef6c6b31fd59582d SHA512 b97f19e24126047cb51797c2882b2bfb728595206924f9c53ae37bd3ff0cd30e27a88669e4d24f4bd788523358ea650cc792e65a26d6bf8913f5364379fe4332
93 +DIST firefox-95.0-oc.xpi 549080 BLAKE2B ca7a523ff465b8750458ecff217db8b33866816a704565f4c7646e885d6c1861966b1e6f0d75013da454b1e249f5ced8b8dcecaa36d3c5a579c8c26f444d8a11 SHA512 5d7f2a4440b9697c5b2d9fd2f3c079085420cb2bf1f76e9bac80b8d17f1adfad8b8ab99152c5287efceb22ac26ccccc96ae8f000baf9af7f2f56574f95b8854e
94 +DIST firefox-95.0-pa-IN.xpi 592184 BLAKE2B 5a03318fd405de07a7874ed2fef380ae103b98590177c9da0f84a92da6599fd48d09bf0e10c60564ab287cb36e386bfe5637d809d02f2aa60fe426f68643d392 SHA512 f04772e873dd0bcab39e3641fd14928b230b315f0bb01471fa403a866e4eb222da024fbdb69e85f8655e7ce6c6f41a88a5616d4935527391a95b6665f76000b6
95 +DIST firefox-95.0-pl.xpi 551775 BLAKE2B b0fda1de615693a07f81e327f2343eb9e0836d6c80978e6b702ee6edcd48530bcbf7c1538aae146973d3438b3cc89ffd6a4daeb27fc9c3af9b3048d2509871b9 SHA512 b7c144af35ac65315c9d709e047f5dfb64650eec9ec3ac967e031506f93ef9312ff4c590d474b1aa1e3f0c49e7b18e31c857477f316b5960354d5b5179388c91
96 +DIST firefox-95.0-pt-BR.xpi 538817 BLAKE2B c69a5aac089154418ad3be52dd819c582c5ef04ab277299a843948ed20d5a1df52b7ef275a43888c2c2b11e8ee16112db27c960ed1bd0c500697287d23338491 SHA512 881335de74fd0cf83bda0ee7538f68d7f63bf28a7fabcff6ae84ec7d68e0fb428ccb3c7959866776eba6889816e72be3dd00f7516e4bf8447452b96cd4bf58c4
97 +DIST firefox-95.0-pt-PT.xpi 542297 BLAKE2B d215211af7b2c0e6aa7d4f40b22f8889d8b242790f38bc913ce5268219280c2b4ab5dddaf55ebb1f90d087c8c6c115292e02486a6a100c0eeeb2ab170c1fe530 SHA512 e861aa28696d03231b68ef7820f3b2beb71d8a441e62d6fcb35dffcd05b25f0f20d56206a3de71717029d9f8654a31dd75bb286606dde20ca91a52524a0141bd
98 +DIST firefox-95.0-rm.xpi 533362 BLAKE2B 9e9fe73ab0f8d072dfc88b5a5bab11ff27a3683ec9e867ea0a3d478a656b9aebb229f9b3a3f101183cb9481be80297e0e527a71e46b33a495639822064baab99 SHA512 e99367f50ff1bfc5a24d114990b619097922375e86ce706fc1390dfa19ebd9c70617d3b61fdf8fc1441a5aee759b2b4b0d1ed976fd9f1bc8971c39d7acc6cced
99 +DIST firefox-95.0-ro.xpi 526935 BLAKE2B 289d63649ba197ccaea3002fa0b165dda0cda9858dafe90a4aac838033dfc400b5f0fe17830626e48aab9a0e4184620ef2ab8297d827375b1579ef59548c0534 SHA512 d87bb24c58f5624cf33cd00c4e35a247a2093159243aa3ae2a77e74bd1b2d773a36894d705665ad5ba14ea014cfda5f068a775a76b9b631909533b5ecdf5dcb6
100 +DIST firefox-95.0-ru.xpi 622429 BLAKE2B 88c622874abb3c2a102edaa1ebf1ea080dde5baae4a2148d79baebcdc9b494aeb4f768264c6f0a1f53b695657921b59a039e2ec8cae47955cdee9be9b93e515f SHA512 048bbba2b8506838f6aff171fb1474e2e41c60519fce8096a43740b11081a17230963c558704ecf4476292b2d7cc770ce659ee6a23cd9c78f8302b37093c88b7
101 +DIST firefox-95.0-sco.xpi 502276 BLAKE2B 74ccf3d089973529bdbb5a140c4bf1ac91e9cd6435eb837aa7df477ba281df89b107647eb3a41f0980ab49676fcc06a0d4462172b4715e7c28a88fdc716cd5c9 SHA512 86cda28ea4596f07530a8f6d6a2bb3da8ce36f47f5b222eb65cf09a1436fa2de2ad58466b589f734925d5d79d0fb14e23ef2583985e8625d78ae9c3ee05d60ab
102 +DIST firefox-95.0-si.xpi 484211 BLAKE2B 6aabb660f7bc8e57edfd22dddb92f82594ea8f307679ea32f8d376bb2ce1c0d24cbb81b53bc0c4f492775cbafbd98abec364e5b634f7cdd990079a97298a1953 SHA512 5a40505ed8bfc9bbeeefef8cca36f911a7e830a8e386100fcbb72db5c79f9f898f899002d8059f1480df279a26565429304540b33750db3253614a205550c995
103 +DIST firefox-95.0-sk.xpi 562407 BLAKE2B 3a01a8bf40cd0bae4d7b24e41b551cb21c8f850daece989727a88a04711f7f1a1b9091efcc7cf9a4bdc059c00e60d61270617c08a2d59859c73a5b8a807228c1 SHA512 ec4f21d61906c70c96ba530d463ba0a2d6d2e893ac68c818152bb695c28d85a5b70a603279ac3b37107bfae85000d664956eadbab472f52297a90986ac00031f
104 +DIST firefox-95.0-sl.xpi 534345 BLAKE2B 58eda7c2f9405cf644843ef9f5a2b7ebd23a051a78dc28779e77b99b8c9c52605508c26133e294ca109f7d87fc470498955e7c8d41b4bbbd81ece0b6fdabad8a SHA512 e4623d8373a853d45b7b0fb3b81129099f38532ac8a6048a7202990e59432f769b035ace16be4b228db2a31eca095acb1205627e41a40652feb33456a55be0a0
105 +DIST firefox-95.0-son.xpi 420603 BLAKE2B d08a1a531523dca9cd8268c7205edb08f2f16a9fdcfe708ef03319d61274c52384ad7b2c9c39fddf85026f021d6f411c9c5e80b21535965a6832beb93f56ba1d SHA512 03f2a58a408bb33c05c8da67508c3244a528dfd4c1763ac8d6f9251e029c79f98075b191ab7937c3bc3f329c7a089d10c64e4361f9028a6d6eab7e47d69da0ba
106 +DIST firefox-95.0-sq.xpi 552427 BLAKE2B 7a6cb3fa1d5c2ce397c54adcfbb85b83aa9001bf355d838bbb54a1eeee681a1dcbde7d9fd8266bdfb080188cc1091d935fef39ed39d6fc36392405b0ecd5a993 SHA512 0e67147bd01929ef9c0bc00893166332cc2043bb9a1e53bc4437625102cc376b4bd9da91373b480198e3f8c8c9eb05a8aa6774657a18946590d240a148de788c
107 +DIST firefox-95.0-sr.xpi 582868 BLAKE2B db8768ceae1a9c3a705212ccb77537296e24aaa14199e755a1d32da318d14bd2ef1bc960bd491eb3b88904ac3a4c5d37f3cb683614db3076d30202379da9d724 SHA512 68343edaaaf9ce66267d32545b077affa9eeab5a220bed1f3b08da3db239be8420709006eba56bc1e4e4bf326c08c7ee8f521b6cc6cb4147d11c54a9ec904042
108 +DIST firefox-95.0-sv-SE.xpi 536153 BLAKE2B 7f1a33176fe5e4e41c4797e5d801278989d58a2e77db8f553adca85e32c86169020540f9d974c17f3d7a977fca2972ee9244f7d2caa997be9b73dca1036f36f0 SHA512 f631df62d197c75ccc645b86e5131c1a3171e755e9009b3b8826fd3e7af90f8d43b974e7079ba6beb5e92c0243773237c16aac17bb559cdf3c4e34929fa68603
109 +DIST firefox-95.0-szl.xpi 507025 BLAKE2B 3998bafc5c46ea7158523e6ee4722d5e1d97b96b0e8f06eb0129283d7070c7238833037aa13e9148a11f9bdd50e0ef37fc9d1cb7ee907cc60cdc1b7dab70cb1a SHA512 664e90e66615d2cea2528d7f3d90d883ad76219ba12147ce0931382e70f85d2f590b31c9bab9f035e1ba279f750e8f165909fa6400fc0d76a713ffa60166ab9f
110 +DIST firefox-95.0-ta.xpi 509400 BLAKE2B 04961b9383bea30627e053b512476179f3fe04a3605b8b5813bb09617082deb48a7a971052fc7edd79f162bbbbaf6201c85400f96ceb0d27e806a5dfa7add122 SHA512 8da011875792d71cf80107e96f91dcc1a5f4e7725a2e71e1654fea905345b8023566b2eaa896e160e002790164b13bab989c75b7e2407f590e05fbab74a72df5
111 +DIST firefox-95.0-te.xpi 546760 BLAKE2B 7bb8a94a2311fdcd126f6d8c7d76c016d42c88ed063f5a16e8dcc633f6a653aed1b3ea2cc850dba4c29abe488433fd1611fb5c20609101c30c1233b2fa3a6b95 SHA512 b955574375fa45a20b55898eebbb1eacf3dee43c55cc3862343b3e21ac9acda9544d9ed116b515e3f0ee8a57c45b553b97f7c68d02ae59794e90df503800130e
112 +DIST firefox-95.0-th.xpi 602687 BLAKE2B f2af676483ee8918a76c5bb90b1f4f753d9912879f72b0f3cf370242f2d9258c03dd76fa136d039d802336a67ea59e004658527955d708bcfe8a1c3678a6edc3 SHA512 b7987b4e2e6ac604c6c69539e543ba2050342e087363aa1650837adcefb97455bb5cc92fefa0553d7152e8b2e03b6c0c22499ddea1c6fcc9e8e7d58f74ebd33e
113 +DIST firefox-95.0-tl.xpi 514073 BLAKE2B 04fde0285700502bf278fb6af49d01f95839f34348855867fae9d8ce50bb1e75b2f371b9770f7d9f0d191012cdcd9fbdb2d87df887d450cf7025136c34266281 SHA512 752c4d3faa0bbd1d189acbd265bee5700825c4c006d5bf5343e3aa96747a4eb50aa3cc714eb0e96206e0a81619189a3a0c877c03d8a7598533711e706fe8066c
114 +DIST firefox-95.0-tr.xpi 549761 BLAKE2B 5bbc39f2a80c896ef7bc16871c4034f3c7ad7ec5ead98b8a5c22b573a34c46e7059879687a39b2223c0058ccb19f3243f1eff1b7484f316fafc905859f3d4b2f SHA512 5a3192201ec54196f1af306339987631d6bb55b5392f8b3641facbac544d1906bff9d5312bc0b005c259dd2cccccce453a2a910e4a93afd321266e08b929d0d8
115 +DIST firefox-95.0-trs.xpi 487959 BLAKE2B d86920e62b0dd0338964d5bdecedc55f4d43781cdaa57080d7b2314837d52872a101dae4b02a7fcba447e4aa48eec243e986b55b38a37e1c228a7cfb8817ad91 SHA512 de92ac2cfc8c9f2ae90506ea22720b3914a3bb63822b1f6daaf544130eea9055e3d6d498b02ae25c3fddc1e06512c95d5aad0206419582bc8d976c5e058b3d5c
116 +DIST firefox-95.0-uk.xpi 615803 BLAKE2B df477a4f9badab9e8c9c90a634e7a3937da53584ce1dd4d6c08f6934de93ef4b62d806cbaf9ef50c22c528269dd3b352607c1826c96ce93708c002cadaf38ef4 SHA512 1650c9cc066303ce1c40277f47c06d05e372e0df9dd6c6944549fa3741339ec3c4c4e6ba5b64162997605878d897e518d6d201c2611fa1a9e7152eaf77ff116d
117 +DIST firefox-95.0-ur.xpi 554230 BLAKE2B 9ebf28b6630c7ac86c1d86617f118dc55160d8b979aed4d5041340b025e3b2d2db8ebb3a15af579f3410d8ebf7ec4b18fb6a3e98758d14eca7f1016736f10279 SHA512 32299a4dbc0a7109f6e520a4cc0d3b69e97737fadc6ca8313fd23b9524971f1f78b5c214a4eb05b2a3705277e4b14a538cc1394b65e00bb5479f9b233cd966c9
118 +DIST firefox-95.0-uz.xpi 463752 BLAKE2B 8ddfa67828ca4865a6be32024492d23ccd5212bbffc1cb0533d99849eb1fca7356e355cb3b980dd0767232c3d78a71bbd7d90fde5e5318d7be05c118a3023781 SHA512 d5cc2d8ca356a30af0362659352d76e4b4bc666a03533f371a3637f158cfb28c6aafef76f9fa0b238d5875d00219e5029abe13fad56fd189876ea04f2c204868
119 +DIST firefox-95.0-vi.xpi 569408 BLAKE2B ea2d973c250c3a46621567bde9d6e9805dc2231569c8431ae28a3eef4ee1705ed1e48a4cbb1e1d47b31b5899fd4767b1e7e11c989c17a006dcf8629d95870e9f SHA512 304fd402b2be4174a954545c247269f66f716722eae6c3e299dcc8299f0da9b1daa2f637fd3bf2dc0c04218f493a91952f0f3f67d010acca28e969ffbc4cd102
120 +DIST firefox-95.0-xh.xpi 424123 BLAKE2B 35ebded6af47343021066ff726501b1c5a36bf96c2d2805883ea7f0c27820807a7745a59c9e5a0ae7d0697935501ebcdd4ab26d4bc4ec27900d02562215331c7 SHA512 9335a43b2bcd62a8521c04c1698ef021b839b124a20c00ff8a8c3a4b641273fcbab5938b8f207fbc94e26c03a05e4a213f2a43e64814da1114178951068d2c66
121 +DIST firefox-95.0-zh-CN.xpi 571142 BLAKE2B ef68a507ae28c7fc9fdae15a3b2f760ed50889245dd3a3c463f170642deb14383feb0bd1a7dcd2806b6c88aca14101b0253879ddc85773a355667e98f8fc7b47 SHA512 006518e8c34db43fc96f371970737751df6a36b95a89172d2934f776c3eda3372cc4fcf674fd81b8a9f4471fe2be7a212a725ea9772dbd0d82b9a1fc56ba75e1
122 +DIST firefox-95.0-zh-TW.xpi 571955 BLAKE2B a41c01347771a0fe5609ebb61b2046695d9354c35f61e238db116401da8b8b50c31b07ee8455347f6f2714a2ad3fba5dacdaa8cc4b0794e90db16c8ec30741d1 SHA512 68395d78cb17ad8c9ce7b70e23b5f019bfda25e6aebaaaa615babfafdb715dc3c83cff049ae8b9d6c3520919a8fc46cc606b136276af1e86dfb5e82ba3978e7b
123 +DIST firefox-95.0.source.tar.xz 382853940 BLAKE2B 64ff056f2e8a21731a920a5bc4580d3bc8805b40ac1c0ab3d6cf3811cc1e058ee9363f85a9c8bb086b1bc87462b7feaae565c459edf37417b44cba6e0727dd94 SHA512 350672a2cd99195c67dafc0e71c6eaf1e23e85a5fe92775697119a054f17c34a736035e23d7f2bb404b544f0f144efef3843cfc293596a6e61d1ea36efc3a724
124
125 diff --git a/www-client/firefox/firefox-95.0.ebuild b/www-client/firefox/firefox-95.0.ebuild
126 new file mode 100644
127 index 000000000000..0ae41ed14d1a
128 --- /dev/null
129 +++ b/www-client/firefox/firefox-95.0.ebuild
130 @@ -0,0 +1,1235 @@
131 +# Copyright 1999-2021 Gentoo Authors
132 +# Distributed under the terms of the GNU General Public License v2
133 +
134 +EAPI="7"
135 +
136 +FIREFOX_PATCHSET="firefox-95-patches-01.tar.xz"
137 +
138 +LLVM_MAX_SLOT=13
139 +
140 +PYTHON_COMPAT=( python3_{7..10} )
141 +PYTHON_REQ_USE="ncurses,sqlite,ssl"
142 +
143 +WANT_AUTOCONF="2.1"
144 +
145 +VIRTUALX_REQUIRED="pgo"
146 +
147 +MOZ_ESR=
148 +
149 +MOZ_PV=${PV}
150 +MOZ_PV_SUFFIX=
151 +if [[ ${PV} =~ (_(alpha|beta|rc).*)$ ]] ; then
152 + MOZ_PV_SUFFIX=${BASH_REMATCH[1]}
153 +
154 + # Convert the ebuild version to the upstream Mozilla version
155 + MOZ_PV="${MOZ_PV/_alpha/a}" # Handle alpha for SRC_URI
156 + MOZ_PV="${MOZ_PV/_beta/b}" # Handle beta for SRC_URI
157 + MOZ_PV="${MOZ_PV%%_rc*}" # Handle rc for SRC_URI
158 +fi
159 +
160 +if [[ -n ${MOZ_ESR} ]] ; then
161 + # ESR releases have slightly different version numbers
162 + MOZ_PV="${MOZ_PV}esr"
163 +fi
164 +
165 +MOZ_PN="${PN%-bin}"
166 +MOZ_P="${MOZ_PN}-${MOZ_PV}"
167 +MOZ_PV_DISTFILES="${MOZ_PV}${MOZ_PV_SUFFIX}"
168 +MOZ_P_DISTFILES="${MOZ_PN}-${MOZ_PV_DISTFILES}"
169 +
170 +inherit autotools check-reqs desktop flag-o-matic gnome2-utils linux-info \
171 + llvm multiprocessing pax-utils python-any-r1 toolchain-funcs \
172 + virtualx xdg
173 +
174 +MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/releases/${MOZ_PV}"
175 +
176 +if [[ ${PV} == *_rc* ]] ; then
177 + MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/candidates/${MOZ_PV}-candidates/build${PV##*_rc}"
178 +fi
179 +
180 +PATCH_URIS=(
181 + https://dev.gentoo.org/~{polynomial-c,whissi}/mozilla/patchsets/${FIREFOX_PATCHSET}
182 +)
183 +
184 +SRC_URI="${MOZ_SRC_BASE_URI}/source/${MOZ_P}.source.tar.xz -> ${MOZ_P_DISTFILES}.source.tar.xz
185 + ${PATCH_URIS[@]}"
186 +
187 +DESCRIPTION="Firefox Web Browser"
188 +HOMEPAGE="https://www.mozilla.com/firefox"
189 +
190 +KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
191 +
192 +SLOT="0/$(ver_cut 1)"
193 +LICENSE="MPL-2.0 GPL-2 LGPL-2.1"
194 +
195 +IUSE="+clang cpu_flags_arm_neon dbus debug eme-free hardened hwaccel"
196 +IUSE+=" jack lto +openh264 pgo pulseaudio sndio selinux"
197 +IUSE+=" +system-av1 +system-harfbuzz +system-icu +system-jpeg +system-libevent +system-libvpx +system-webp"
198 +IUSE+=" wayland wifi"
199 +
200 +# Firefox-only IUSE
201 +IUSE+=" geckodriver"
202 +IUSE+=" +gmp-autoupdate"
203 +IUSE+=" screencast"
204 +
205 +REQUIRED_USE="debug? ( !system-av1 )
206 + wifi? ( dbus )"
207 +
208 +# Firefox-only REQUIRED_USE flags
209 +REQUIRED_USE+=" screencast? ( wayland )"
210 +
211 +BDEPEND="${PYTHON_DEPS}
212 + app-arch/unzip
213 + app-arch/zip
214 + >=dev-util/cbindgen-0.19.0
215 + >=net-libs/nodejs-10.23.1
216 + virtual/pkgconfig
217 + >=virtual/rust-1.51.0
218 + || (
219 + (
220 + sys-devel/clang:13
221 + sys-devel/llvm:13
222 + clang? (
223 + =sys-devel/lld-13*
224 + pgo? ( =sys-libs/compiler-rt-sanitizers-13*[profile] )
225 + )
226 + )
227 + (
228 + sys-devel/clang:12
229 + sys-devel/llvm:12
230 + clang? (
231 + =sys-devel/lld-12*
232 + pgo? ( =sys-libs/compiler-rt-sanitizers-12*[profile] )
233 + )
234 + )
235 + (
236 + sys-devel/clang:11
237 + sys-devel/llvm:11
238 + clang? (
239 + =sys-devel/lld-11*
240 + pgo? ( =sys-libs/compiler-rt-sanitizers-11*[profile] )
241 + )
242 + )
243 + )
244 + amd64? ( >=dev-lang/nasm-2.13 )
245 + x86? ( >=dev-lang/nasm-2.13 )"
246 +
247 +CDEPEND="
248 + >=dev-libs/nss-3.72
249 + >=dev-libs/nspr-4.32
250 + dev-libs/atk
251 + dev-libs/expat
252 + >=x11-libs/cairo-1.10[X]
253 + >=x11-libs/gtk+-3.4.0:3[X]
254 + x11-libs/gdk-pixbuf
255 + >=x11-libs/pango-1.22.0
256 + >=media-libs/libpng-1.6.35:0=[apng]
257 + >=media-libs/mesa-10.2:*
258 + media-libs/fontconfig
259 + >=media-libs/freetype-2.4.10
260 + kernel_linux? ( !pulseaudio? ( media-libs/alsa-lib ) )
261 + virtual/freedesktop-icon-theme
262 + >=x11-libs/pixman-0.19.2
263 + >=dev-libs/glib-2.26:2
264 + >=sys-libs/zlib-1.2.3
265 + >=dev-libs/libffi-3.0.10:=
266 + media-video/ffmpeg
267 + x11-libs/libX11
268 + x11-libs/libxcb
269 + x11-libs/libXcomposite
270 + x11-libs/libXdamage
271 + x11-libs/libXext
272 + x11-libs/libXfixes
273 + x11-libs/libXrandr
274 + x11-libs/libXrender
275 + dbus? (
276 + sys-apps/dbus
277 + dev-libs/dbus-glib
278 + )
279 + screencast? ( media-video/pipewire:0/0.3 )
280 + system-av1? (
281 + >=media-libs/dav1d-0.9.3:=
282 + >=media-libs/libaom-1.0.0:=
283 + )
284 + system-harfbuzz? (
285 + >=media-libs/harfbuzz-2.8.1:0=
286 + >=media-gfx/graphite2-1.3.13
287 + )
288 + system-icu? ( >=dev-libs/icu-69.1:= )
289 + system-jpeg? ( >=media-libs/libjpeg-turbo-1.2.1 )
290 + system-libevent? ( >=dev-libs/libevent-2.0:0=[threads] )
291 + system-libvpx? ( >=media-libs/libvpx-1.8.2:0=[postproc] )
292 + system-webp? ( >=media-libs/libwebp-1.1.0:0= )
293 + wifi? (
294 + kernel_linux? (
295 + sys-apps/dbus
296 + dev-libs/dbus-glib
297 + net-misc/networkmanager
298 + )
299 + )
300 + jack? ( virtual/jack )
301 + selinux? ( sec-policy/selinux-mozilla )
302 + sndio? ( media-sound/sndio )"
303 +
304 +RDEPEND="${CDEPEND}
305 + jack? ( virtual/jack )
306 + openh264? ( media-libs/openh264:*[plugin] )
307 + pulseaudio? (
308 + || (
309 + media-sound/pulseaudio
310 + >=media-sound/apulse-0.1.12-r4
311 + )
312 + )
313 + selinux? ( sec-policy/selinux-mozilla )"
314 +
315 +DEPEND="${CDEPEND}
316 + x11-libs/libICE
317 + x11-libs/libSM
318 + pulseaudio? (
319 + || (
320 + media-sound/pulseaudio
321 + >=media-sound/apulse-0.1.12-r4[sdk]
322 + )
323 + )
324 + wayland? ( >=x11-libs/gtk+-3.11:3[wayland] )
325 + amd64? ( virtual/opengl )
326 + x86? ( virtual/opengl )"
327 +
328 +S="${WORKDIR}/${PN}-${PV%_*}"
329 +
330 +# Allow MOZ_GMP_PLUGIN_LIST to be set in an eclass or
331 +# overridden in the enviromnent (advanced hackers only)
332 +if [[ -z "${MOZ_GMP_PLUGIN_LIST+set}" ]] ; then
333 + MOZ_GMP_PLUGIN_LIST=( gmp-gmpopenh264 gmp-widevinecdm )
334 +fi
335 +
336 +llvm_check_deps() {
337 + if ! has_version -b "sys-devel/clang:${LLVM_SLOT}" ; then
338 + einfo "sys-devel/clang:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
339 + return 1
340 + fi
341 +
342 + if use clang ; then
343 + if ! has_version -b "=sys-devel/lld-${LLVM_SLOT}*" ; then
344 + einfo "=sys-devel/lld-${LLVM_SLOT}* is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
345 + return 1
346 + fi
347 +
348 + if use pgo ; then
349 + if ! has_version -b "=sys-libs/compiler-rt-sanitizers-${LLVM_SLOT}*" ; then
350 + einfo "=sys-libs/compiler-rt-sanitizers-${LLVM_SLOT}* is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
351 + return 1
352 + fi
353 + fi
354 + fi
355 +
356 + einfo "Using LLVM slot ${LLVM_SLOT} to build" >&2
357 +}
358 +
359 +MOZ_LANGS=(
360 + af ar ast be bg br ca cak cs cy da de dsb
361 + el en-CA en-GB en-US es-AR es-ES et eu
362 + fi fr fy-NL ga-IE gd gl he hr hsb hu
363 + id is it ja ka kab kk ko lt lv ms nb-NO nl nn-NO
364 + pa-IN pl pt-BR pt-PT rm ro ru
365 + sk sl sq sr sv-SE th tr uk uz vi zh-CN zh-TW
366 +)
367 +
368 +# Firefox-only LANGS
369 +MOZ_LANGS+=( ach )
370 +MOZ_LANGS+=( an )
371 +MOZ_LANGS+=( az )
372 +MOZ_LANGS+=( bn )
373 +MOZ_LANGS+=( bs )
374 +MOZ_LANGS+=( ca-valencia )
375 +MOZ_LANGS+=( eo )
376 +MOZ_LANGS+=( es-CL )
377 +MOZ_LANGS+=( es-MX )
378 +MOZ_LANGS+=( fa )
379 +MOZ_LANGS+=( ff )
380 +MOZ_LANGS+=( gn )
381 +MOZ_LANGS+=( gu-IN )
382 +MOZ_LANGS+=( hi-IN )
383 +MOZ_LANGS+=( hy-AM )
384 +MOZ_LANGS+=( ia )
385 +MOZ_LANGS+=( km )
386 +MOZ_LANGS+=( kn )
387 +MOZ_LANGS+=( lij )
388 +MOZ_LANGS+=( mk )
389 +MOZ_LANGS+=( mr )
390 +MOZ_LANGS+=( my )
391 +MOZ_LANGS+=( ne-NP )
392 +MOZ_LANGS+=( oc )
393 +MOZ_LANGS+=( sco )
394 +MOZ_LANGS+=( si )
395 +MOZ_LANGS+=( son )
396 +MOZ_LANGS+=( szl )
397 +MOZ_LANGS+=( ta )
398 +MOZ_LANGS+=( te )
399 +MOZ_LANGS+=( tl )
400 +MOZ_LANGS+=( trs )
401 +MOZ_LANGS+=( ur )
402 +MOZ_LANGS+=( xh )
403 +
404 +mozilla_set_globals() {
405 + # https://bugs.gentoo.org/587334
406 + local MOZ_TOO_REGIONALIZED_FOR_L10N=(
407 + fy-NL ga-IE gu-IN hi-IN hy-AM nb-NO ne-NP nn-NO pa-IN sv-SE
408 + )
409 +
410 + local lang xflag
411 + for lang in "${MOZ_LANGS[@]}" ; do
412 + # en and en_US are handled internally
413 + if [[ ${lang} == en ]] || [[ ${lang} == en-US ]] ; then
414 + continue
415 + fi
416 +
417 + # strip region subtag if $lang is in the list
418 + if has ${lang} "${MOZ_TOO_REGIONALIZED_FOR_L10N[@]}" ; then
419 + xflag=${lang%%-*}
420 + else
421 + xflag=${lang}
422 + fi
423 +
424 + SRC_URI+=" l10n_${xflag/[_@]/-}? ("
425 + SRC_URI+=" ${MOZ_SRC_BASE_URI}/linux-x86_64/xpi/${lang}.xpi -> ${MOZ_P_DISTFILES}-${lang}.xpi"
426 + SRC_URI+=" )"
427 + IUSE+=" l10n_${xflag/[_@]/-}"
428 + done
429 +}
430 +mozilla_set_globals
431 +
432 +moz_clear_vendor_checksums() {
433 + debug-print-function ${FUNCNAME} "$@"
434 +
435 + if [[ ${#} -ne 1 ]] ; then
436 + die "${FUNCNAME} requires exact one argument"
437 + fi
438 +
439 + einfo "Clearing cargo checksums for ${1} ..."
440 +
441 + sed -i \
442 + -e 's/\("files":{\)[^}]*/\1/' \
443 + "${S}"/third_party/rust/${1}/.cargo-checksum.json \
444 + || die
445 +}
446 +
447 +moz_install_xpi() {
448 + debug-print-function ${FUNCNAME} "$@"
449 +
450 + if [[ ${#} -lt 2 ]] ; then
451 + die "${FUNCNAME} requires at least two arguments"
452 + fi
453 +
454 + local DESTDIR=${1}
455 + shift
456 +
457 + insinto "${DESTDIR}"
458 +
459 + local emid xpi_file xpi_tmp_dir
460 + for xpi_file in "${@}" ; do
461 + emid=
462 + xpi_tmp_dir=$(mktemp -d --tmpdir="${T}")
463 +
464 + # Unpack XPI
465 + unzip -qq "${xpi_file}" -d "${xpi_tmp_dir}" || die
466 +
467 + # Determine extension ID
468 + if [[ -f "${xpi_tmp_dir}/install.rdf" ]] ; then
469 + emid=$(sed -n -e '/install-manifest/,$ { /em:id/!d; s/.*[\">]\([^\"<>]*\)[\"<].*/\1/; p; q }' "${xpi_tmp_dir}/install.rdf")
470 + [[ -z "${emid}" ]] && die "failed to determine extension id from install.rdf"
471 + elif [[ -f "${xpi_tmp_dir}/manifest.json" ]] ; then
472 + emid=$(sed -n -e 's/.*"id": "\([^"]*\)".*/\1/p' "${xpi_tmp_dir}/manifest.json")
473 + [[ -z "${emid}" ]] && die "failed to determine extension id from manifest.json"
474 + else
475 + die "failed to determine extension id"
476 + fi
477 +
478 + einfo "Installing ${emid}.xpi into ${ED}${DESTDIR} ..."
479 + newins "${xpi_file}" "${emid}.xpi"
480 + done
481 +}
482 +
483 +mozconfig_add_options_ac() {
484 + debug-print-function ${FUNCNAME} "$@"
485 +
486 + if [[ ${#} -lt 2 ]] ; then
487 + die "${FUNCNAME} requires at least two arguments"
488 + fi
489 +
490 + local reason=${1}
491 + shift
492 +
493 + local option
494 + for option in ${@} ; do
495 + echo "ac_add_options ${option} # ${reason}" >>${MOZCONFIG}
496 + done
497 +}
498 +
499 +mozconfig_add_options_mk() {
500 + debug-print-function ${FUNCNAME} "$@"
501 +
502 + if [[ ${#} -lt 2 ]] ; then
503 + die "${FUNCNAME} requires at least two arguments"
504 + fi
505 +
506 + local reason=${1}
507 + shift
508 +
509 + local option
510 + for option in ${@} ; do
511 + echo "mk_add_options ${option} # ${reason}" >>${MOZCONFIG}
512 + done
513 +}
514 +
515 +mozconfig_use_enable() {
516 + debug-print-function ${FUNCNAME} "$@"
517 +
518 + if [[ ${#} -lt 1 ]] ; then
519 + die "${FUNCNAME} requires at least one arguments"
520 + fi
521 +
522 + local flag=$(use_enable "${@}")
523 + mozconfig_add_options_ac "$(use ${1} && echo +${1} || echo -${1})" "${flag}"
524 +}
525 +
526 +mozconfig_use_with() {
527 + debug-print-function ${FUNCNAME} "$@"
528 +
529 + if [[ ${#} -lt 1 ]] ; then
530 + die "${FUNCNAME} requires at least one arguments"
531 + fi
532 +
533 + local flag=$(use_with "${@}")
534 + mozconfig_add_options_ac "$(use ${1} && echo +${1} || echo -${1})" "${flag}"
535 +}
536 +
537 +pkg_pretend() {
538 + if [[ ${MERGE_TYPE} != binary ]] ; then
539 + if use pgo ; then
540 + if ! has usersandbox $FEATURES ; then
541 + die "You must enable usersandbox as X server can not run as root!"
542 + fi
543 + fi
544 +
545 + # Ensure we have enough disk space to compile
546 + if use pgo || use lto || use debug ; then
547 + CHECKREQS_DISK_BUILD="13500M"
548 + else
549 + CHECKREQS_DISK_BUILD="6400M"
550 + fi
551 +
552 + check-reqs_pkg_pretend
553 + fi
554 +}
555 +
556 +pkg_setup() {
557 + if [[ ${MERGE_TYPE} != binary ]] ; then
558 + if use pgo ; then
559 + if ! has userpriv ${FEATURES} ; then
560 + eerror "Building ${PN} with USE=pgo and FEATURES=-userpriv is not supported!"
561 + fi
562 + fi
563 +
564 + # Ensure we have enough disk space to compile
565 + if use pgo || use lto || use debug ; then
566 + CHECKREQS_DISK_BUILD="13500M"
567 + else
568 + CHECKREQS_DISK_BUILD="6400M"
569 + fi
570 +
571 + check-reqs_pkg_setup
572 +
573 + llvm_pkg_setup
574 +
575 + if use clang && use lto ; then
576 + local version_lld=$(ld.lld --version 2>/dev/null | awk '{ print $2 }')
577 + [[ -n ${version_lld} ]] && version_lld=$(ver_cut 1 "${version_lld}")
578 + [[ -z ${version_lld} ]] && die "Failed to read ld.lld version!"
579 +
580 + # temp fix for https://bugs.gentoo.org/768543
581 + # we can assume that rust 1.{49,50}.0 always uses llvm 11
582 + local version_rust=$(rustc -Vv 2>/dev/null | grep -F -- 'release:' | awk '{ print $2 }')
583 + [[ -n ${version_rust} ]] && version_rust=$(ver_cut 1-2 "${version_rust}")
584 + [[ -z ${version_rust} ]] && die "Failed to read version from rustc!"
585 +
586 + if ver_test "${version_rust}" -ge "1.49" && ver_test "${version_rust}" -le "1.50" ; then
587 + local version_llvm_rust="11"
588 + else
589 + local version_llvm_rust=$(rustc -Vv 2>/dev/null | grep -F -- 'LLVM version:' | awk '{ print $3 }')
590 + [[ -n ${version_llvm_rust} ]] && version_llvm_rust=$(ver_cut 1 "${version_llvm_rust}")
591 + [[ -z ${version_llvm_rust} ]] && die "Failed to read used LLVM version from rustc!"
592 + fi
593 +
594 + if ver_test "${version_lld}" -ne "${version_llvm_rust}" ; then
595 + eerror "Rust is using LLVM version ${version_llvm_rust} but ld.lld version belongs to LLVM version ${version_lld}."
596 + eerror "You will be unable to link ${CATEGORY}/${PN}. To proceed you have the following options:"
597 + eerror " - Manually switch rust version using 'eselect rust' to match used LLVM version"
598 + eerror " - Switch to dev-lang/rust[system-llvm] which will guarantee matching version"
599 + eerror " - Build ${CATEGORY}/${PN} without USE=lto"
600 + die "LLVM version used by Rust (${version_llvm_rust}) does not match with ld.lld version (${version_lld})!"
601 + fi
602 + fi
603 +
604 + if ! use clang && [[ $(gcc-major-version) -eq 11 ]] \
605 + && ! has_version -b ">sys-devel/gcc-11.1.0:11" ; then
606 + # bug 792705
607 + eerror "Using GCC 11 to compile firefox is currently known to be broken (see bug #792705)."
608 + die "Set USE=clang or select <gcc-11 to build ${CATEGORY}/${P}."
609 + fi
610 +
611 + python-any-r1_pkg_setup
612 +
613 + # Avoid PGO profiling problems due to enviroment leakage
614 + # These should *always* be cleaned up anyway
615 + unset \
616 + DBUS_SESSION_BUS_ADDRESS \
617 + DISPLAY \
618 + ORBIT_SOCKETDIR \
619 + SESSION_MANAGER \
620 + XAUTHORITY \
621 + XDG_CACHE_HOME \
622 + XDG_SESSION_COOKIE
623 +
624 + # Build system is using /proc/self/oom_score_adj, bug #604394
625 + addpredict /proc/self/oom_score_adj
626 +
627 + if use pgo ; then
628 + # Allow access to GPU during PGO run
629 + local ati_cards mesa_cards nvidia_cards render_cards
630 + shopt -s nullglob
631 +
632 + ati_cards=$(echo -n /dev/ati/card* | sed 's/ /:/g')
633 + if [[ -n "${ati_cards}" ]] ; then
634 + addpredict "${ati_cards}"
635 + fi
636 +
637 + mesa_cards=$(echo -n /dev/dri/card* | sed 's/ /:/g')
638 + if [[ -n "${mesa_cards}" ]] ; then
639 + addpredict "${mesa_cards}"
640 + fi
641 +
642 + nvidia_cards=$(echo -n /dev/nvidia* | sed 's/ /:/g')
643 + if [[ -n "${nvidia_cards}" ]] ; then
644 + addpredict "${nvidia_cards}"
645 + fi
646 +
647 + render_cards=$(echo -n /dev/dri/renderD128* | sed 's/ /:/g')
648 + if [[ -n "${render_cards}" ]] ; then
649 + addpredict "${render_cards}"
650 + fi
651 +
652 + shopt -u nullglob
653 + fi
654 +
655 + if ! mountpoint -q /dev/shm ; then
656 + # If /dev/shm is not available, configure is known to fail with
657 + # a traceback report referencing /usr/lib/pythonN.N/multiprocessing/synchronize.py
658 + ewarn "/dev/shm is not mounted -- expect build failures!"
659 + fi
660 +
661 + # Google API keys (see http://www.chromium.org/developers/how-tos/api-keys)
662 + # Note: These are for Gentoo Linux use ONLY. For your own distribution, please
663 + # get your own set of keys.
664 + if [[ -z "${MOZ_API_KEY_GOOGLE+set}" ]] ; then
665 + MOZ_API_KEY_GOOGLE="AIzaSyDEAOvatFogGaPi0eTgsV_ZlEzx0ObmepsMzfAc"
666 + fi
667 +
668 + if [[ -z "${MOZ_API_KEY_LOCATION+set}" ]] ; then
669 + MOZ_API_KEY_LOCATION="AIzaSyB2h2OuRgGaPicUgy5N-5hsZqiPW6sH3n_rptiQ"
670 + fi
671 +
672 + # Mozilla API keys (see https://location.services.mozilla.com/api)
673 + # Note: These are for Gentoo Linux use ONLY. For your own distribution, please
674 + # get your own set of keys.
675 + if [[ -z "${MOZ_API_KEY_MOZILLA+set}" ]] ; then
676 + MOZ_API_KEY_MOZILLA="edb3d487-3a84-46m0ap1e3-9dfd-92b5efaaa005"
677 + fi
678 +
679 + # Ensure we use C locale when building, bug #746215
680 + export LC_ALL=C
681 + fi
682 +
683 + CONFIG_CHECK="~SECCOMP"
684 + WARNING_SECCOMP="CONFIG_SECCOMP not set! This system will be unable to play DRM-protected content."
685 + linux-info_pkg_setup
686 +}
687 +
688 +src_unpack() {
689 + local _lp_dir="${WORKDIR}/language_packs"
690 + local _src_file
691 +
692 + if [[ ! -d "${_lp_dir}" ]] ; then
693 + mkdir "${_lp_dir}" || die
694 + fi
695 +
696 + for _src_file in ${A} ; do
697 + if [[ ${_src_file} == *.xpi ]]; then
698 + cp "${DISTDIR}/${_src_file}" "${_lp_dir}" || die "Failed to copy '${_src_file}' to '${_lp_dir}'!"
699 + else
700 + unpack ${_src_file}
701 + fi
702 + done
703 +}
704 +
705 +src_prepare() {
706 + use lto && rm -v "${WORKDIR}"/firefox-patches/*-LTO-Only-enable-LTO-*.patch
707 + eapply "${WORKDIR}/firefox-patches"
708 +
709 + # Allow user to apply any additional patches without modifing ebuild
710 + eapply_user
711 +
712 + # Make LTO respect MAKEOPTS
713 + sed -i \
714 + -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \
715 + "${S}"/build/moz.configure/lto-pgo.configure \
716 + || die "sed failed to set num_cores"
717 +
718 + # Make ICU respect MAKEOPTS
719 + sed -i \
720 + -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \
721 + "${S}"/intl/icu_sources_data.py \
722 + || die "sed failed to set num_cores"
723 +
724 + # sed-in toolchain prefix
725 + sed -i \
726 + -e "s/objdump/${CHOST}-objdump/" \
727 + "${S}"/python/mozbuild/mozbuild/configure/check_debug_ranges.py \
728 + || die "sed failed to set toolchain prefix"
729 +
730 + sed -i \
731 + -e 's/ccache_stats = None/return None/' \
732 + "${S}"/python/mozbuild/mozbuild/controller/building.py \
733 + || die "sed failed to disable ccache stats call"
734 +
735 + einfo "Removing pre-built binaries ..."
736 + find "${S}"/third_party -type f \( -name '*.so' -o -name '*.o' \) -print -delete || die
737 +
738 + # Clearing checksums where we have applied patches
739 + moz_clear_vendor_checksums target-lexicon-0.9.0
740 +
741 + # Create build dir
742 + BUILD_DIR="${WORKDIR}/${PN}_build"
743 + mkdir -p "${BUILD_DIR}" || die
744 +
745 + # Write API keys to disk
746 + echo -n "${MOZ_API_KEY_GOOGLE//gGaPi/}" > "${S}"/api-google.key || die
747 + echo -n "${MOZ_API_KEY_LOCATION//gGaPi/}" > "${S}"/api-location.key || die
748 + echo -n "${MOZ_API_KEY_MOZILLA//m0ap1/}" > "${S}"/api-mozilla.key || die
749 +
750 + xdg_src_prepare
751 +}
752 +
753 +src_configure() {
754 + # Show flags set at the beginning
755 + einfo "Current BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}"
756 + einfo "Current CFLAGS:\t\t${CFLAGS:-no value set}"
757 + einfo "Current CXXFLAGS:\t\t${CXXFLAGS:-no value set}"
758 + einfo "Current LDFLAGS:\t\t${LDFLAGS:-no value set}"
759 + einfo "Current RUSTFLAGS:\t\t${RUSTFLAGS:-no value set}"
760 +
761 + local have_switched_compiler=
762 + if use clang && ! tc-is-clang ; then
763 + # Force clang
764 + einfo "Enforcing the use of clang due to USE=clang ..."
765 + have_switched_compiler=yes
766 + AR=llvm-ar
767 + CC=${CHOST}-clang
768 + CXX=${CHOST}-clang++
769 + NM=llvm-nm
770 + RANLIB=llvm-ranlib
771 + elif ! use clang && ! tc-is-gcc ; then
772 + # Force gcc
773 + have_switched_compiler=yes
774 + einfo "Enforcing the use of gcc due to USE=-clang ..."
775 + AR=gcc-ar
776 + CC=${CHOST}-gcc
777 + CXX=${CHOST}-g++
778 + NM=gcc-nm
779 + RANLIB=gcc-ranlib
780 + fi
781 +
782 + if [[ -n "${have_switched_compiler}" ]] ; then
783 + # Because we switched active compiler we have to ensure
784 + # that no unsupported flags are set
785 + strip-unsupported-flags
786 + fi
787 +
788 + # Ensure we use correct toolchain
789 + export HOST_CC="$(tc-getBUILD_CC)"
790 + export HOST_CXX="$(tc-getBUILD_CXX)"
791 + tc-export CC CXX LD AR NM OBJDUMP RANLIB PKG_CONFIG
792 +
793 + # Pass the correct toolchain paths through cbindgen
794 + if tc-is-cross-compiler ; then
795 + export BINDGEN_CFLAGS="${SYSROOT:+--sysroot=${ESYSROOT}} --target=${CHOST} ${BINDGEN_CFLAGS-}"
796 + fi
797 +
798 + # Set MOZILLA_FIVE_HOME
799 + export MOZILLA_FIVE_HOME="/usr/$(get_libdir)/${PN}"
800 +
801 + # python/mach/mach/mixin/process.py fails to detect SHELL
802 + export SHELL="${EPREFIX}/bin/bash"
803 +
804 + # Set state path
805 + export MOZBUILD_STATE_PATH="${BUILD_DIR}"
806 +
807 + # Set MOZCONFIG
808 + export MOZCONFIG="${S}/.mozconfig"
809 +
810 + # Initialize MOZCONFIG
811 + mozconfig_add_options_ac '' --enable-application=browser
812 +
813 + # Set Gentoo defaults
814 + export MOZILLA_OFFICIAL=1
815 +
816 + mozconfig_add_options_ac 'Gentoo default' \
817 + --allow-addon-sideload \
818 + --disable-cargo-incremental \
819 + --disable-crashreporter \
820 + --disable-install-strip \
821 + --disable-strip \
822 + --disable-updater \
823 + --enable-official-branding \
824 + --enable-release \
825 + --enable-system-ffi \
826 + --enable-system-pixman \
827 + --host="${CBUILD:-${CHOST}}" \
828 + --libdir="${EPREFIX}/usr/$(get_libdir)" \
829 + --prefix="${EPREFIX}/usr" \
830 + --target="${CHOST}" \
831 + --without-ccache \
832 + --without-wasm-sandboxed-libraries \
833 + --with-intl-api \
834 + --with-libclang-path="$(llvm-config --libdir)" \
835 + --with-system-nspr \
836 + --with-system-nss \
837 + --with-system-png \
838 + --with-system-zlib \
839 + --with-toolchain-prefix="${CHOST}-" \
840 + --with-unsigned-addon-scopes=app,system \
841 + --x-includes="${SYSROOT}${EPREFIX}/usr/include" \
842 + --x-libraries="${SYSROOT}${EPREFIX}/usr/$(get_libdir)"
843 +
844 + # Set update channel
845 + local update_channel=release
846 + [[ -n ${MOZ_ESR} ]] && update_channel=esr
847 + mozconfig_add_options_ac '' --update-channel=${update_channel}
848 +
849 + if ! use x86 && [[ ${CHOST} != armv*h* ]] ; then
850 + mozconfig_add_options_ac '' --enable-rust-simd
851 + fi
852 +
853 + if [[ -s "${S}/api-google.key" ]] ; then
854 + local key_origin="Gentoo default"
855 + if [[ $(cat "${S}/api-google.key" | md5sum | awk '{ print $1 }') != 709560c02f94b41f9ad2c49207be6c54 ]] ; then
856 + key_origin="User value"
857 + fi
858 +
859 + mozconfig_add_options_ac "${key_origin}" \
860 + --with-google-safebrowsing-api-keyfile="${S}/api-google.key"
861 + else
862 + einfo "Building without Google API key ..."
863 + fi
864 +
865 + if [[ -s "${S}/api-location.key" ]] ; then
866 + local key_origin="Gentoo default"
867 + if [[ $(cat "${S}/api-location.key" | md5sum | awk '{ print $1 }') != ffb7895e35dedf832eb1c5d420ac7420 ]] ; then
868 + key_origin="User value"
869 + fi
870 +
871 + mozconfig_add_options_ac "${key_origin}" \
872 + --with-google-location-service-api-keyfile="${S}/api-location.key"
873 + else
874 + einfo "Building without Location API key ..."
875 + fi
876 +
877 + if [[ -s "${S}/api-mozilla.key" ]] ; then
878 + local key_origin="Gentoo default"
879 + if [[ $(cat "${S}/api-mozilla.key" | md5sum | awk '{ print $1 }') != 3927726e9442a8e8fa0e46ccc39caa27 ]] ; then
880 + key_origin="User value"
881 + fi
882 +
883 + mozconfig_add_options_ac "${key_origin}" \
884 + --with-mozilla-api-keyfile="${S}/api-mozilla.key"
885 + else
886 + einfo "Building without Mozilla API key ..."
887 + fi
888 +
889 + mozconfig_use_with system-av1
890 + mozconfig_use_with system-harfbuzz
891 + mozconfig_use_with system-harfbuzz system-graphite2
892 + mozconfig_use_with system-icu
893 + mozconfig_use_with system-jpeg
894 + mozconfig_use_with system-libevent system-libevent "${SYSROOT}${EPREFIX}/usr"
895 + mozconfig_use_with system-libvpx
896 + mozconfig_use_with system-webp
897 +
898 + mozconfig_use_enable dbus
899 +
900 + use eme-free && mozconfig_add_options_ac '+eme-free' --disable-eme
901 +
902 + mozconfig_use_enable geckodriver
903 +
904 + if use hardened ; then
905 + mozconfig_add_options_ac "+hardened" --enable-hardening
906 + append-ldflags "-Wl,-z,relro -Wl,-z,now"
907 + fi
908 +
909 + mozconfig_use_enable jack
910 +
911 + mozconfig_use_enable pulseaudio
912 + # force the deprecated alsa sound code if pulseaudio is disabled
913 + if use kernel_linux && ! use pulseaudio ; then
914 + mozconfig_add_options_ac '-pulseaudio' --enable-alsa
915 + fi
916 +
917 + mozconfig_use_enable sndio
918 +
919 + mozconfig_use_enable wifi necko-wifi
920 +
921 + if use wayland ; then
922 + mozconfig_add_options_ac '+wayland' --enable-default-toolkit=cairo-gtk3-wayland
923 + else
924 + mozconfig_add_options_ac '' --enable-default-toolkit=cairo-gtk3
925 + fi
926 +
927 + if use lto ; then
928 + if use clang ; then
929 + # Upstream only supports lld when using clang
930 + mozconfig_add_options_ac "forcing ld=lld due to USE=clang and USE=lto" --enable-linker=lld
931 +
932 + mozconfig_add_options_ac '+lto' --enable-lto=cross
933 + else
934 + # ld.gold is known to fail:
935 + # /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
936 +
937 + # ThinLTO is currently broken, see bmo#1644409
938 + mozconfig_add_options_ac '+lto' --enable-lto=full
939 + mozconfig_add_options_ac "linker is set to bfd" --enable-linker=bfd
940 + fi
941 +
942 + if use pgo ; then
943 + mozconfig_add_options_ac '+pgo' MOZ_PGO=1
944 +
945 + if use clang ; then
946 + # Used in build/pgo/profileserver.py
947 + export LLVM_PROFDATA="llvm-profdata"
948 + fi
949 + fi
950 + else
951 + # Avoid auto-magic on linker
952 + if use clang ; then
953 + # This is upstream's default
954 + mozconfig_add_options_ac "forcing ld=lld due to USE=clang" --enable-linker=lld
955 + else
956 + mozconfig_add_options_ac "linker is set to bfd" --enable-linker=bfd
957 + fi
958 + fi
959 +
960 + # LTO flag was handled via configure
961 + filter-flags '-flto*'
962 +
963 + mozconfig_use_enable debug
964 + if use debug ; then
965 + mozconfig_add_options_ac '+debug' --disable-optimize
966 + else
967 + if is-flag '-g*' ; then
968 + if use clang ; then
969 + mozconfig_add_options_ac 'from CFLAGS' --enable-debug-symbols=$(get-flag '-g*')
970 + else
971 + mozconfig_add_options_ac 'from CFLAGS' --enable-debug-symbols
972 + fi
973 + else
974 + mozconfig_add_options_ac 'Gentoo default' --disable-debug-symbols
975 + fi
976 +
977 + if is-flag '-O0' ; then
978 + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O0
979 + elif is-flag '-O4' ; then
980 + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O4
981 + elif is-flag '-O3' ; then
982 + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O3
983 + elif is-flag '-O1' ; then
984 + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O1
985 + elif is-flag '-Os' ; then
986 + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-Os
987 + else
988 + mozconfig_add_options_ac "Gentoo default" --enable-optimize=-O2
989 + fi
990 + fi
991 +
992 + # Debug flag was handled via configure
993 + filter-flags '-g*'
994 +
995 + # Optimization flag was handled via configure
996 + filter-flags '-O*'
997 +
998 + # Modifications to better support ARM, bug #553364
999 + if use cpu_flags_arm_neon ; then
1000 + mozconfig_add_options_ac '+cpu_flags_arm_neon' --with-fpu=neon
1001 +
1002 + if ! tc-is-clang ; then
1003 + # thumb options aren't supported when using clang, bug 666966
1004 + mozconfig_add_options_ac '+cpu_flags_arm_neon' \
1005 + --with-thumb=yes \
1006 + --with-thumb-interwork=no
1007 + fi
1008 + fi
1009 +
1010 + if [[ ${CHOST} == armv*h* ]] ; then
1011 + mozconfig_add_options_ac 'CHOST=armv*h*' --with-float-abi=hard
1012 +
1013 + if ! use system-libvpx ; then
1014 + sed -i \
1015 + -e "s|softfp|hard|" \
1016 + "${S}"/media/libvpx/moz.build \
1017 + || die
1018 + fi
1019 + fi
1020 +
1021 + if use clang ; then
1022 + # https://bugzilla.mozilla.org/show_bug.cgi?id=1482204
1023 + # https://bugzilla.mozilla.org/show_bug.cgi?id=1483822
1024 + # toolkit/moz.configure Elfhack section: target.cpu in ('arm', 'x86', 'x86_64')
1025 + local disable_elf_hack=
1026 + if use amd64 ; then
1027 + disable_elf_hack=yes
1028 + elif use x86 ; then
1029 + disable_elf_hack=yes
1030 + elif use arm ; then
1031 + disable_elf_hack=yes
1032 + fi
1033 +
1034 + if [[ -n ${disable_elf_hack} ]] ; then
1035 + mozconfig_add_options_ac 'elf-hack is broken when using Clang' --disable-elf-hack
1036 + fi
1037 + elif tc-is-gcc ; then
1038 + if ver_test $(gcc-fullversion) -ge 10 ; then
1039 + einfo "Forcing -fno-tree-loop-vectorize to workaround GCC bug, see bug 758446 ..."
1040 + append-cxxflags -fno-tree-loop-vectorize
1041 + fi
1042 + fi
1043 +
1044 + # Additional ARCH support
1045 + case "${ARCH}" in
1046 + arm)
1047 + # Reduce the memory requirements for linking
1048 + if use clang ; then
1049 + # Nothing to do
1050 + :;
1051 + elif tc-ld-is-gold || use lto ; then
1052 + append-ldflags -Wl,--no-keep-memory
1053 + else
1054 + append-ldflags -Wl,--no-keep-memory -Wl,--reduce-memory-overheads
1055 + fi
1056 + ;;
1057 + esac
1058 +
1059 + if ! use elibc_glibc ; then
1060 + mozconfig_add_options_ac '!elibc_glibc' --disable-jemalloc
1061 + fi
1062 +
1063 + # Allow elfhack to work in combination with unstripped binaries
1064 + # when they would normally be larger than 2GiB.
1065 + append-ldflags "-Wl,--compress-debug-sections=zlib"
1066 +
1067 + # Make revdep-rebuild.sh happy; Also required for musl
1068 + append-ldflags -Wl,-rpath="${MOZILLA_FIVE_HOME}",--enable-new-dtags
1069 +
1070 + # Pass $MAKEOPTS to build system
1071 + export MOZ_MAKE_FLAGS="${MAKEOPTS}"
1072 +
1073 + # Use system's Python environment
1074 + export MACH_USE_SYSTEM_PYTHON=1
1075 + export PIP_NO_CACHE_DIR=off
1076 +
1077 + # Disable notification when build system has finished
1078 + export MOZ_NOSPAM=1
1079 +
1080 + # Portage sets XARGS environment variable to "xargs -r" by default which
1081 + # breaks build system's check_prog() function which doesn't support arguments
1082 + mozconfig_add_options_ac 'Gentoo default' "XARGS=${EPREFIX}/usr/bin/xargs"
1083 +
1084 + # Set build dir
1085 + mozconfig_add_options_mk 'Gentoo default' "MOZ_OBJDIR=${BUILD_DIR}"
1086 +
1087 + # Show flags we will use
1088 + einfo "Build BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}"
1089 + einfo "Build CFLAGS:\t\t${CFLAGS:-no value set}"
1090 + einfo "Build CXXFLAGS:\t\t${CXXFLAGS:-no value set}"
1091 + einfo "Build LDFLAGS:\t\t${LDFLAGS:-no value set}"
1092 + einfo "Build RUSTFLAGS:\t\t${RUSTFLAGS:-no value set}"
1093 +
1094 + # Handle EXTRA_CONF and show summary
1095 + local ac opt hash reason
1096 +
1097 + # Apply EXTRA_ECONF entries to $MOZCONFIG
1098 + if [[ -n ${EXTRA_ECONF} ]] ; then
1099 + IFS=\! read -a ac <<<${EXTRA_ECONF// --/\!}
1100 + for opt in "${ac[@]}"; do
1101 + mozconfig_add_options_ac "EXTRA_ECONF" --${opt#--}
1102 + done
1103 + fi
1104 +
1105 + echo
1106 + echo "=========================================================="
1107 + echo "Building ${PF} with the following configuration"
1108 + grep ^ac_add_options "${MOZCONFIG}" | while read ac opt hash reason; do
1109 + [[ -z ${hash} || ${hash} == \# ]] \
1110 + || die "error reading mozconfig: ${ac} ${opt} ${hash} ${reason}"
1111 + printf " %-30s %s\n" "${opt}" "${reason:-mozilla.org default}"
1112 + done
1113 + echo "=========================================================="
1114 + echo
1115 +
1116 + ./mach configure || die
1117 +}
1118 +
1119 +src_compile() {
1120 + local virtx_cmd=
1121 +
1122 + if use pgo ; then
1123 + virtx_cmd=virtx
1124 +
1125 + # Reset and cleanup environment variables used by GNOME/XDG
1126 + gnome2_environment_reset
1127 +
1128 + addpredict /root
1129 + fi
1130 +
1131 + local -x GDK_BACKEND=x11
1132 +
1133 + ${virtx_cmd} ./mach build --verbose \
1134 + || die
1135 +}
1136 +
1137 +src_install() {
1138 + # xpcshell is getting called during install
1139 + pax-mark m \
1140 + "${BUILD_DIR}"/dist/bin/xpcshell \
1141 + "${BUILD_DIR}"/dist/bin/${PN} \
1142 + "${BUILD_DIR}"/dist/bin/plugin-container
1143 +
1144 + DESTDIR="${D}" ./mach install || die
1145 +
1146 + # Upstream cannot ship symlink but we can (bmo#658850)
1147 + rm "${ED}${MOZILLA_FIVE_HOME}/${PN}-bin" || die
1148 + dosym ${PN} ${MOZILLA_FIVE_HOME}/${PN}-bin
1149 +
1150 + # Don't install llvm-symbolizer from sys-devel/llvm package
1151 + if [[ -f "${ED}${MOZILLA_FIVE_HOME}/llvm-symbolizer" ]] ; then
1152 + rm -v "${ED}${MOZILLA_FIVE_HOME}/llvm-symbolizer" || die
1153 + fi
1154 +
1155 + # Install policy (currently only used to disable application updates)
1156 + insinto "${MOZILLA_FIVE_HOME}/distribution"
1157 + newins "${FILESDIR}"/distribution.ini distribution.ini
1158 + newins "${FILESDIR}"/disable-auto-update.policy.json policies.json
1159 +
1160 + # Install system-wide preferences
1161 + local PREFS_DIR="${MOZILLA_FIVE_HOME}/browser/defaults/preferences"
1162 + insinto "${PREFS_DIR}"
1163 + newins "${FILESDIR}"/gentoo-default-prefs.js gentoo-prefs.js
1164 +
1165 + local GENTOO_PREFS="${ED}${PREFS_DIR}/gentoo-prefs.js"
1166 +
1167 + # Set dictionary path to use system hunspell
1168 + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set spellchecker.dictionary_path pref"
1169 + pref("spellchecker.dictionary_path", "${EPREFIX}/usr/share/myspell");
1170 + EOF
1171 +
1172 + # Force hwaccel prefs if USE=hwaccel is enabled
1173 + if use hwaccel ; then
1174 + cat "${FILESDIR}"/gentoo-hwaccel-prefs.js \
1175 + >>"${GENTOO_PREFS}" \
1176 + || die "failed to add prefs to force hardware-accelerated rendering to all-gentoo.js"
1177 + fi
1178 +
1179 + if ! use gmp-autoupdate ; then
1180 + local plugin
1181 + for plugin in "${MOZ_GMP_PLUGIN_LIST[@]}" ; do
1182 + einfo "Disabling auto-update for ${plugin} plugin ..."
1183 + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to disable autoupdate for ${plugin} media plugin"
1184 + pref("media.${plugin}.autoupdate", false);
1185 + EOF
1186 + done
1187 + fi
1188 +
1189 + # Force the graphite pref if USE=system-harfbuzz is enabled, since the pref cannot disable it
1190 + if use system-harfbuzz ; then
1191 + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set gfx.font_rendering.graphite.enabled pref"
1192 + sticky_pref("gfx.font_rendering.graphite.enabled", true);
1193 + EOF
1194 + fi
1195 +
1196 + # Install language packs
1197 + local langpacks=( $(find "${WORKDIR}/language_packs" -type f -name '*.xpi') )
1198 + if [[ -n "${langpacks}" ]] ; then
1199 + moz_install_xpi "${MOZILLA_FIVE_HOME}/distribution/extensions" "${langpacks[@]}"
1200 + fi
1201 +
1202 + # Install geckodriver
1203 + if use geckodriver ; then
1204 + einfo "Installing geckodriver into ${ED}${MOZILLA_FIVE_HOME} ..."
1205 + pax-mark m "${BUILD_DIR}"/dist/bin/geckodriver
1206 + exeinto "${MOZILLA_FIVE_HOME}"
1207 + doexe "${BUILD_DIR}"/dist/bin/geckodriver
1208 +
1209 + dosym ${MOZILLA_FIVE_HOME}/geckodriver /usr/bin/geckodriver
1210 + fi
1211 +
1212 + # Install icons
1213 + local icon_srcdir="${S}/browser/branding/official"
1214 + local icon_symbolic_file="${FILESDIR}/icon/firefox-symbolic.svg"
1215 +
1216 + insinto /usr/share/icons/hicolor/symbolic/apps
1217 + newins "${icon_symbolic_file}" ${PN}-symbolic.svg
1218 +
1219 + local icon size
1220 + for icon in "${icon_srcdir}"/default*.png ; do
1221 + size=${icon%.png}
1222 + size=${size##*/default}
1223 +
1224 + if [[ ${size} -eq 48 ]] ; then
1225 + newicon "${icon}" ${PN}.png
1226 + fi
1227 +
1228 + newicon -s ${size} "${icon}" ${PN}.png
1229 + done
1230 +
1231 + # Install menu
1232 + local app_name="Mozilla ${MOZ_PN^}"
1233 + local desktop_file="${FILESDIR}/icon/${PN}-r3.desktop"
1234 + local desktop_filename="${PN}.desktop"
1235 + local exec_command="${PN}"
1236 + local icon="${PN}"
1237 + local use_wayland="false"
1238 +
1239 + if use wayland ; then
1240 + use_wayland="true"
1241 + fi
1242 +
1243 + cp "${desktop_file}" "${WORKDIR}/${PN}.desktop-template" || die
1244 +
1245 + sed -i \
1246 + -e "s:@NAME@:${app_name}:" \
1247 + -e "s:@EXEC@:${exec_command}:" \
1248 + -e "s:@ICON@:${icon}:" \
1249 + "${WORKDIR}/${PN}.desktop-template" \
1250 + || die
1251 +
1252 + newmenu "${WORKDIR}/${PN}.desktop-template" "${desktop_filename}"
1253 +
1254 + rm "${WORKDIR}/${PN}.desktop-template" || die
1255 +
1256 + # Install wrapper script
1257 + [[ -f "${ED}/usr/bin/${PN}" ]] && rm "${ED}/usr/bin/${PN}"
1258 + newbin "${FILESDIR}/${PN}-r1.sh" ${PN}
1259 +
1260 + # Update wrapper
1261 + sed -i \
1262 + -e "s:@PREFIX@:${EPREFIX}/usr:" \
1263 + -e "s:@MOZ_FIVE_HOME@:${MOZILLA_FIVE_HOME}:" \
1264 + -e "s:@APULSELIB_DIR@:${apulselib}:" \
1265 + -e "s:@DEFAULT_WAYLAND@:${use_wayland}:" \
1266 + "${ED}/usr/bin/${PN}" \
1267 + || die
1268 +}
1269 +
1270 +pkg_preinst() {
1271 + xdg_pkg_preinst
1272 +
1273 + # If the apulse libs are available in MOZILLA_FIVE_HOME then apulse
1274 + # does not need to be forced into the LD_LIBRARY_PATH
1275 + if use pulseaudio && has_version ">=media-sound/apulse-0.1.12-r4" ; then
1276 + einfo "APULSE found; Generating library symlinks for sound support ..."
1277 + local lib
1278 + pushd "${ED}${MOZILLA_FIVE_HOME}" &>/dev/null || die
1279 + for lib in ../apulse/libpulse{.so{,.0},-simple.so{,.0}} ; do
1280 + # A quickpkg rolled by hand will grab symlinks as part of the package,
1281 + # so we need to avoid creating them if they already exist.
1282 + if [[ ! -L ${lib##*/} ]] ; then
1283 + ln -s "${lib}" ${lib##*/} || die
1284 + fi
1285 + done
1286 + popd &>/dev/null || die
1287 + fi
1288 +}
1289 +
1290 +pkg_postinst() {
1291 + xdg_pkg_postinst
1292 +
1293 + if ! use gmp-autoupdate ; then
1294 + elog "USE='-gmp-autoupdate' has disabled the following plugins from updating or"
1295 + elog "installing into new profiles:"
1296 + local plugin
1297 + for plugin in "${MOZ_GMP_PLUGIN_LIST[@]}" ; do
1298 + elog "\t ${plugin}"
1299 + done
1300 + elog
1301 + fi
1302 +
1303 + if use pulseaudio && has_version ">=media-sound/apulse-0.1.12-r4" ; then
1304 + elog "Apulse was detected at merge time on this system and so it will always be"
1305 + elog "used for sound. If you wish to use pulseaudio instead please unmerge"
1306 + elog "media-sound/apulse."
1307 + elog
1308 + fi
1309 +
1310 + local show_doh_information
1311 + local show_normandy_information
1312 + local show_shortcut_information
1313 +
1314 + if [[ -z "${REPLACING_VERSIONS}" ]] ; then
1315 + # New install; Tell user that DoH is disabled by default
1316 + show_doh_information=yes
1317 + show_normandy_information=yes
1318 + show_shortcut_information=no
1319 + else
1320 + local replacing_version
1321 + for replacing_version in ${REPLACING_VERSIONS} ; do
1322 + if ver_test "${replacing_version}" -lt 91.0 ; then
1323 + # Tell user that we no longer install a shortcut
1324 + # per supported display protocol
1325 + show_shortcut_information=yes
1326 + fi
1327 + done
1328 + fi
1329 +
1330 + if [[ -n "${show_doh_information}" ]] ; then
1331 + elog
1332 + elog "Note regarding Trusted Recursive Resolver aka DNS-over-HTTPS (DoH):"
1333 + elog "Due to privacy concerns (encrypting DNS might be a good thing, sending all"
1334 + elog "DNS traffic to Cloudflare by default is not a good idea and applications"
1335 + elog "should respect OS configured settings), \"network.trr.mode\" was set to 5"
1336 + elog "(\"Off by choice\") by default."
1337 + elog "You can enable DNS-over-HTTPS in ${PN^}'s preferences."
1338 + fi
1339 +
1340 + # bug 713782
1341 + if [[ -n "${show_normandy_information}" ]] ; then
1342 + elog
1343 + elog "Upstream operates a service named Normandy which allows Mozilla to"
1344 + elog "push changes for default settings or even install new add-ons remotely."
1345 + elog "While this can be useful to address problems like 'Armagadd-on 2.0' or"
1346 + elog "revert previous decisions to disable TLS 1.0/1.1, privacy and security"
1347 + elog "concerns prevail, which is why we have switched off the use of this"
1348 + elog "service by default."
1349 + elog
1350 + elog "To re-enable this service set"
1351 + elog
1352 + elog " app.normandy.enabled=true"
1353 + elog
1354 + elog "in about:config."
1355 + fi
1356 +
1357 + if [[ -n "${show_shortcut_information}" ]] ; then
1358 + elog
1359 + elog "Since ${PN}-91.0 we no longer install multiple shortcuts for"
1360 + elog "each supported display protocol. Instead we will only install"
1361 + elog "one generic Mozilla ${PN^} shortcut."
1362 + elog "If you still want to be able to select between running Mozilla ${PN^}"
1363 + elog "on X11 or Wayland, you have to re-create these shortcuts on your own."
1364 + fi
1365 +}