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: Fri, 23 Sep 2022 12:53:48
Message-Id: 1663937569.a82c221f9acb89117deea8aaca1e50f5436b21f3.juippis@gentoo
1 commit: a82c221f9acb89117deea8aaca1e50f5436b21f3
2 Author: Joonas Niilola <juippis <AT> gentoo <DOT> org>
3 AuthorDate: Fri Sep 23 12:52:49 2022 +0000
4 Commit: Joonas Niilola <juippis <AT> gentoo <DOT> org>
5 CommitDate: Fri Sep 23 12:52:49 2022 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a82c221f
7
8 www-client/firefox: add 105.0.1
9
10 - update patchset to include some ppc{64?} patches.
11
12 Signed-off-by: Joonas Niilola <juippis <AT> gentoo.org>
13
14 www-client/firefox/Manifest | 99 +++
15 www-client/firefox/firefox-105.0.1.ebuild | 1287 +++++++++++++++++++++++++++++
16 2 files changed, 1386 insertions(+)
17
18 diff --git a/www-client/firefox/Manifest b/www-client/firefox/Manifest
19 index 1292987c1a45..76e21669f3b6 100644
20 --- a/www-client/firefox/Manifest
21 +++ b/www-client/firefox/Manifest
22 @@ -295,6 +295,7 @@ DIST firefox-104.0.2-zh-CN.xpi 587664 BLAKE2B 0c210fe7c503a579b860ecc328033b3e54
23 DIST firefox-104.0.2-zh-TW.xpi 588467 BLAKE2B 67bbf28ecb6f4a8305c551893fde3e4a8771c47d02928fb06e003c8e6badc1af9bbec131759446c76da571084857c27566e90b5bf99dd6f5d024398b5bc66163 SHA512 8421fd070afd584f933b0912e74cfa9f62ee5c007749bbea44ea0a20ece130570a2450463da136ff9b00bea010872dedf47e21aff51de9e21bf87bbae2f911cf
24 DIST firefox-104.0.2.source.tar.xz 478270500 BLAKE2B 1a8317a2880fd412449f18868b0ed7b5a757083a7622ec06fb48c01314774e5645527a217e38a98279494f3140d55414bb3fbe3c0731690e383aa5b617607dd5 SHA512 bf0d972add11566f5ef6402a22abd82122945de9fa9aab6ed7bb7e41d0843d41948a6d95c0769b0b704c066c8ff6e3f3bf26fcf288c64cd3b3f09a13d4dd467d
25 DIST firefox-105-patches-01j.tar.xz 18160 BLAKE2B 2acbe25186abb4830db69af6aafee4b63c84e22ba5114d111439f7cab6c49884ab96ce0c62d619d0e8892c84a1fcba7d5e6f0700c0ad45cd7307393b42c14fb1 SHA512 77adbf56f48ba0da5b0e790765a5a1399151337f7945359b861c96bea5e6e4429fcade52a337c04ae2e7dcbf296658ef8c835d48c15ea19491f43137a2159784
26 +DIST firefox-105-patches-04j.tar.xz 18812 BLAKE2B 13457e8abc4f23b85e651d8ffc9b8d76ea802428b26818e9d969ae432ffd4d941226044e31c54717533b2a531996755aa81ec55414704a7037c81788e4dd37f0 SHA512 c0ef77a99866b26d74a8c789bc70d0519cc587585bb5d32457e0f179d1fb251a0e5f9f8368900f3f14306426d3cc9d68fa6f07fd21639bfe1dd9d8035bfe3205
27 DIST firefox-105.0-ach.xpi 462391 BLAKE2B 518b3592cb9fbbf816850c04a6ff88646a588cc9e611d8e2deb035b0ba1f0ea54f838cc0315b932e3ac0b3890a5c5a2ac0dc66246d9dec2f502d43d6a274b0a1 SHA512 b4ee588178257cc2bb3a4a782680a00697fe0caf5e5751be3aee3414df08c20ba8feb0514dd0fe53c0d9fee335c38d5eaad226fbe2dca048b83203baba23030e
28 DIST firefox-105.0-af.xpi 426869 BLAKE2B 31ab4be151e5d7a11fc6ea6ab4434932d795b6440490fa8f68869dffa4c55dbf0f9bbe9ca85e0d71a26f86e34fdeb4bfc11d647bebd60080c274015234012be1 SHA512 ccedfe2193f0dd2b4d895851742b00cdca7d347ca10522a5f1bd32dafe89a4ec030f271eaa22b1f9e7029012ea4c11fcc798cdd6d8f540783aa72336517b4522
29 DIST firefox-105.0-an.xpi 507324 BLAKE2B 24b911cb0f68c0e0b354fb915ba81d14c1c7c57d7252c50563145b25a9a1f8cb921c83c6a9f58821b7465e9aa168e5c2af9c9fdb51005699b83e8a6c09e063a2 SHA512 e6220b2d71503c5e131ebeffbeb0a573ce48d15cb9714524de970ce52925c40adca7f2829b615924421a8d4185da03b892613c63107bbc7d8a9d9d6e2a31686f
30 @@ -392,6 +393,104 @@ DIST firefox-105.0-vi.xpi 595124 BLAKE2B c27899ee403a140819545214ec94c76511b0329
31 DIST firefox-105.0-xh.xpi 435737 BLAKE2B f879915c310fd039863708758ec14da34d38ae5f4db79f03e054a626f2a9214394131f4e2caf4b5a899e23a97aaf14e5f6b338c80333cf648ee9a5b7f58ae8af SHA512 a7256f6529f3b60ba3807f0ed02fd5089aa81b7972ab0918c2822717c672ef3946d236c55dd03292c88a871c9fca665b6d0d2ffc75d173304348d07b56426339
32 DIST firefox-105.0-zh-CN.xpi 596363 BLAKE2B dfd583934ee29157fb45212dc842135f945b0a05a246982d49c11a1e044c7d75fd501e7ce449336936a4a8115b7e9bd1d3570ba57bd3cb9d5275009c7ac2572e SHA512 0ea263baada245adb5bfa850a83018ef42e9d4f8b0ac4bb8459281d5f179a9dc0a2d2a64505e115ffc15ea37243411b8630d3c83a885c4b84c922e128b48cf4f
33 DIST firefox-105.0-zh-TW.xpi 597428 BLAKE2B 7fc6a94076a5031292c52de3bbe3bffd463d7ce8ac0ab2fe08df38ceb2c7fe011c91171fe569ffd79c4eaf1d0b1b11688f6c64db55f204d735c43908f2db4f15 SHA512 dba7949b44d3429f6b14525862f4ac7aee43e90c8f9b8485db7d1eef82d37da38c817873cdf56f555481999b0ed32264a76e4430cd65c112768b072226506df1
34 +DIST firefox-105.0.1-ach.xpi 462395 BLAKE2B ce1c579e09fca70c69e12120744c4c8064fb4c341237cb9dbaab65f0ae7b506d51325d9319694e010d8deb9d882def54e2796f3fd268833823c88471990414e4 SHA512 802acfdb41cf7f08aef47280c4c9c371c5e445c53b95d1d66b59f94d4ce4b60420d468af9efa9d30530cec411b931759b7eb057fb49396bb12897a5ee05df662
35 +DIST firefox-105.0.1-af.xpi 426884 BLAKE2B 869356a1a29749128266ff2e206310fa8cb3acd88b4b4fa31d0a1f23b1e1f0d13df6b824f4a14522582babb50862ecd04ebf2acc9d9dbe3d35f4a1939bc2fd47 SHA512 a650df3751203592574e358b9f591a8b7e01db86bc3e3ae95765024a42a1afe6c009f6b22d18243bf4e7e976731cc412e972ce6d60b79d2a48badee4e6970880
36 +DIST firefox-105.0.1-an.xpi 507329 BLAKE2B f6e6d5a3663dd81de2abb949ed8ab04cce2797d36cb7d34c42efe7136a7ee7cb3495ce139508c8704d58c9216a4fc9288710160b71198bedd32008b6e653a319 SHA512 93eb1cd05cc575581ce5fe344564053e6d6cf328952f85b9b5937f5b8af047eec4b322a94c5de254bce4f240cade090591a48372ff402b77562adbf53b422a2a
37 +DIST firefox-105.0.1-ar.xpi 571517 BLAKE2B 19dc855c7e2a2ec712278858ac98b4101d36ab5cf8fb26c1bb5b7dce8cb7ff5e56b274a32d136cbbe202a7ff5a7c5677a333be68e769f5a2053d2cf4ac106639 SHA512 26324ca59ee6b607c3c811a0722772e4152688ff8e70fe32efc3e15b396f5164ec9594e5d54515d1be98e3b01357bed9f54affdccceaa17fd90b8ea2f278d23f
38 +DIST firefox-105.0.1-ast.xpi 502223 BLAKE2B 9765d684c3e2b37e1640a73c382eba64351fa99232fae2528bcd293c7ef74695aa16d3fd10412cfb60495d4aa7c5bdf07f118257510da3884413600ac558a679 SHA512 61afc9a174b95ac085b75c39e092976e49d3bfcd10bdac24263494f48e75d6b199988a4aa82227cb23bad11e207e55d84ccbaa58abd9a886141b68fb09c5ba50
39 +DIST firefox-105.0.1-az.xpi 494479 BLAKE2B 0fb8e49e0c3ef534aaec2c26d18433a984bdafd49059c36490334b6266de452554d0d54515c94220d04ff4dfc7154efd28b2fc5d35b863b6e00a6cb100edda3c SHA512 d623dc143d20b8d3a0eb66833b2373702221d673b4a2ecefa145096d4fbbf0d871770cbea6d2086126a43c55294e6a9af90430d3a4684409e07d22ad1bceb8e3
40 +DIST firefox-105.0.1-be.xpi 647131 BLAKE2B e33f9263e56b6566adedd496dde6ba3d5f1a48ad8ac13bb841165d876db555a150c57843b95d2c8a0fa0bba898f6b69e9c2dbf3fbc1795f2d327d72664d58d75 SHA512 ad832b9afceec554f6fe89e93b4b98057d13acc235d98ff7aae7596936f070f9fad6da65b2f396bebfc527667cfec7926c8866c65f732814f1fbf334472bd153
41 +DIST firefox-105.0.1-bg.xpi 587141 BLAKE2B 1e144c7ba8a464e61ebab0f18e03241e5402f34465e7cfc448293b49dee60f4bb01c4dd6078ad173f9231bbbc5a2c562cd21e8349f954811bcad937460025127 SHA512 5ee951ed2a477293d7cec42e76ca38248250bf747c2b0564418b0533ce66f35a78e0bfae261adf132772c3bf7e9e80b9b7f891519d7c3a4e0e35e7dfc713c552
42 +DIST firefox-105.0.1-bn.xpi 585359 BLAKE2B 17dac7fbe9579bc677b7c4884c54e420d569197750b2642707ea5ffb7a8361726e3d51a2a133cbd1c5285a3961dd0d9d2a3ee31fc85adb69e5f777ebdab28913 SHA512 cbb09aae1383e4627fe6ce14392506ceaa9bb296f94f341b62baedca154671b2679a37f76961ecdada55af123df45b4a859a1693506d6f3e6065b68313c4bbbb
43 +DIST firefox-105.0.1-br.xpi 539953 BLAKE2B cf605b3ae5e1c13454c720a57b8b3eced0310ad44eb5fd333f0d5cd18d938d5f6db86e31f3a46d73d20df548f1b6ec6b10f9a437e76fffb4061cde278503d401 SHA512 12163f2e7bd0ec958bd70f95948aac07cfe47b71ad6906728f8f0b8a9cf921d26a92aac0faa520d23e09980a127e45b1453ada2a20c054626852ed8a2553159f
44 +DIST firefox-105.0.1-bs.xpi 470942 BLAKE2B f2fc66ede3a0a5e26b0684d1e76fbaf4f4a6864b448cfb5bdd786ace9435faf11d3a521df243f6d3a103133b3463b8a6190784edb9fb8310e36a855918df666f SHA512 a488009bce63393aa4c967f39f1132d1ad19da7ff0d07d400560d38c2d788e0c4e24b2b1917aa86ed6f1f83a3c6532ad6201d0297d935ab5238019a857b3f846
45 +DIST firefox-105.0.1-ca-valencia.xpi 546422 BLAKE2B 6bc88951bf265c3ad447b830d050c5f16f5a87f5a67790c79ec35b0e1c377471ce3cb630d2d272714c008588d5c677b507c9c7f903ef4b7a4bdb7eabdf518cc9 SHA512 069fd4dbc76494d958c3f26fcebeed3912ae042e904aba59cce55f02944d2ebe31799e7237638d097562871f12667d34790649447abf47517599c16c595670a7
46 +DIST firefox-105.0.1-ca.xpi 549866 BLAKE2B 9b725b12677248a9adc693c665b4f9751508df8b3fde58408806d126cd7e744eaf83c0e9bf75eb42ab4c78d9b060c81e79a4bd38cbe3a19269ae0f40c1a4653a SHA512 30ae7eb14f1ca7aec631df450c89cd7d6c36437fdffd140807ac28347b131807a98fc4c7dae50fd3208f37972db287fc2e1d1c2ff303c855b4eb4c8a00165d9d
47 +DIST firefox-105.0.1-cak.xpi 559990 BLAKE2B d3245f05776a40b3367d4e3d7a20861bb4b62f00b5ac4781573d6401cf89ad4feec8d20a024444f6dfb454fec81a73adf2133fae78178a7281db1af16ef67f42 SHA512 9371eca6655d8c5cb769f1b7009a1d730f52da8ff5b118108933a3097750ce261db6bcd597d226358e8582bfb8f95bc9fc9bf970121b74a752589099e5ffbf5c
48 +DIST firefox-105.0.1-cs.xpi 581742 BLAKE2B 0a768cb4562bd5060ae3d6f52cf0e48cddcf52ef0e74ab86bd817511f092ded28bcf91e97454316bc02f2f056683a7b208b07639f7e26616975843f8d586fc27 SHA512 bb0d3ba875ecce7992fe799a072f8f97d429c00bafb2f32671a3c84422369275a6939bf7f4dc88746cd2e461309eda798866a287615289a023c072a293258ce7
49 +DIST firefox-105.0.1-cy.xpi 562733 BLAKE2B a1318a7e76b497219bd7ec4220fa41225b731c504a5358faa32ff06271aae65b34ff9ac2cd7b697122c965cacdf4c9b80499f32993bdae92c70f748ddca3c0f8 SHA512 b4383ee24139d6f956f5da0db7ab35df9a2904b058d232bacc3407222ed04ada530b5abafefad1a75105f1f77ac6bf260b8d50ba528a82764154b9f155466c52
50 +DIST firefox-105.0.1-da.xpi 553598 BLAKE2B 0e06d83eb66a95b58e950c3e624aa9c36b775760667cf8d3a2a5c7e2875333fcf56cb9b09105422379dba01aedd1b7d0b2ce3cab67e46c6e3524ef7b7bfbfc54 SHA512 639de62d0f0e9cd7e5ed6fbe1de259c863537b09cfb829dce2e68261767c066551762ccb222f9217c86b3c98ef99eb55a17c79f4b7623156ef6870d87be759a8
51 +DIST firefox-105.0.1-de.xpi 574355 BLAKE2B adc3dc57f9c819f7fdfb7c33f3cabac3efd8f7c898ef1cdfa032d23c74de17ff809e6f9d1e63de2948b975638ba30312e59c17b9507cc6d948e4742bc2591ebb SHA512 834fcf649728c04d9d7c8ef515853a97f5508e9c9e92f3bd8db0c9f2e69d4c573c3058fd1c8212b604b4e75cc9b6c6530ea47e627cfd1dfab44cf37377c53868
52 +DIST firefox-105.0.1-dsb.xpi 587698 BLAKE2B 004a88885b3a2eecac82217f8fdf648958b94af1ac244521197fe915f649fd09126babdce38f2f31413f888c98e46a2a8a158c7f609307c01c4c3514d52f47df SHA512 8664b259c63bcd564577f5aeaf831e0bfdeb4ec535059d3414b044191f4ae511712772b50e0d60be443096c66c644aa636b38d19407515ad71e140ddc6983473
53 +DIST firefox-105.0.1-el.xpi 663193 BLAKE2B 93bacd2751ca07ea77816cc8bf38a1746465b50d807afd4101e29e01a79e12848bfe6fd3d31f8ef2eef5f68bbfa35579a3fcb559d4c89b0c080cbc4cd1f1f6d7 SHA512 9393a336b9fec3142c3cf63c4dddd3165840927847ef9066e091ebe43082414226626052a58c099888347eb1f47158a4c0d93e85a5f3bf0e080ad09d240d56e2
54 +DIST firefox-105.0.1-en-CA.xpi 523068 BLAKE2B 294d1d32bf08dad370c94d0550b8e4710e8580f5bf1714bc45728de010c2a192dcdb768e932d61b5a8cc7a2831ea71737eae1c32101b3529ccd51e6d608cecd1 SHA512 35ebd07c00ef0e9823797d3521b6972609ec4a6012e56fcbb13dd68eee6ca36ad77a4385f76ee702dd50fc099113a3a3bd58e96561b16ea38dba3fd7f1fea6e2
55 +DIST firefox-105.0.1-en-GB.xpi 530694 BLAKE2B c70d854e3cbf1fa5fcee775d87df4a4a2b9fda239b00c81456dadb277efd04de4f03f010f2fa562ae40b29109aa41235986279d96f18e8b10262d1bb5e28358d SHA512 db90f6c84aef3d184581764e3dd7e87c62f68c51a7312a3d05928568b4c61fd8d9fd543632cac1aa41e7acd46b265dcd4c8689b893203f681013e57ef2c0e734
56 +DIST firefox-105.0.1-eo.xpi 554048 BLAKE2B 39d7d977234178c67ba8bfb1a923699d12af5d9d0882e4b45af77548df8d64ce6f7ec91efbf998a5bc6862e813d893436d66f0f5d9659deb472d5394203f5c07 SHA512 fabd89263f0f7d65d3f7448f2af14c342aaf668f3a582aa6f26219a3b79218209e35f81ee6de61cf346c6c0f61c9841ab43922209573240f1c9dec266f697062
57 +DIST firefox-105.0.1-es-AR.xpi 568709 BLAKE2B 6e5dff0708a8011a9e984d131558ebeeafc2cfa8b420733af4bb1decb136c1df40951e30e9e3bb261d1c1f289cff55bf543c88182006778d72693736dff1fe37 SHA512 d3d9e5827e1aab3057ec9d9f79ca62ce5bc32f76d886212e6b64034076c9747fa8f3d75d88ffaa1996a07f93fe0fc35277d2a1f5b5025fdd194d57ef4a51d27e
58 +DIST firefox-105.0.1-es-CL.xpi 567814 BLAKE2B e84282536a52a066e09d847a8cbdd713c243415fbd8536bb3230b2aa37d55380e85260f3fb0bb9d3539105cfac60f8ae40f5b3a7a4dc3dcd61a125e522263b28 SHA512 2b7c85383640b57b544084b8041f407be622d2a32b16c618ba2af55e36e27e1d2f5da4aab5d5434dd7c258234a06e2e54f403ce310486d71d26157ceacc44353
59 +DIST firefox-105.0.1-es-ES.xpi 553322 BLAKE2B 76b58f3e513b0a7de60aaaf6aa4de3e1de4959c5a41a244f90e557bd160590e99e26321109972b29fe105c05fe29d6c08fb8d158fd96d7975a1f1b09e45e7b60 SHA512 0b06f97b9fe7623ad27d78a18a23818e82c8632619c33db18e02570d36d337d9aabcf7ce0c5b9674a251d0d455fa65741940d6406cce9a57b726466850cfcaac
60 +DIST firefox-105.0.1-es-MX.xpi 571860 BLAKE2B 2d587e09c001dbfca85b3f4cb037e6cce01f4a8076f125a2e0a1583a3869a1912b5174fa1f379ae6db5ef5f129aa86f8fe2308d71da1833b9694464e2efc930c SHA512 fde5903d934cc43bd02619026b8a6847f6db9403cb7fb7e4dd89dd5a1c6cbae696e71a60a3d5b5b00e89b5278d33ab03176250643641981bfbdda7f5a408dc06
61 +DIST firefox-105.0.1-et.xpi 539886 BLAKE2B d886e47dd809fa5f6bc893455a8b3fd766a9ce6c702c2896a4333c5681cecf5b43001a73e64cbe81c220c679ca60bb07a8eaecdc42cd90d616954ff335c169a8 SHA512 5183f68f69588d3c8aba7264be6381c298975eeb93e83b13f98daf8622f8470ff4c0617b4c2f626457fbf5442d4ad13baa3d600057fd86d8fe3b2e37d5886d75
62 +DIST firefox-105.0.1-eu.xpi 556245 BLAKE2B 161fea54c446be16c08118a31574dd670ccee1da25fc0ec362b20ea039a32d843f3894c8de3739609b71e49cbe5c6b2d319d46306e29475dce84474cc071efbf SHA512 a0d1e937038dcdddad0293f6b9304d7e83381857d0d846e5010b5b350918723cd8c67d5291553fa3926f360d3687a5243a5e6bfadee53eb3fc2edd7f9d0c0cc8
63 +DIST firefox-105.0.1-fa.xpi 571118 BLAKE2B 5219fabd543b2abc0caf3996f939e2aca4efc2a1f03c924dcc5309595987e2902a21d6a690cc4eaa7de3dee60f8975276c1f93dfe0ae1c7b25eebbf8e34feb4f SHA512 f0ed46bc6d877d257a473149fe4e3b828a8cabc86d4f77c8f1345f4844db3ffd3249757bcecafb96fb2bf2e22a4d345ef0b717be4bcd33f29ad2a83be7156c2a
64 +DIST firefox-105.0.1-ff.xpi 481136 BLAKE2B 51ee4f4c829cf5ffea7468205b4040a8ca0b4dc8d23f2c499552f590654d379abbb4b74662b8813dd22b1dbdf7adeb26517d7b31ad9668e4e2cf81bc1a057449 SHA512 957a34430b53a4b30acfff228d7457889bbc0b70110e205258a908fc0c7166e9648b32d15243621b2804e0a59841ec955c54995c9d1ce4963ed6c0f3ef9f39ea
65 +DIST firefox-105.0.1-fi.xpi 552065 BLAKE2B 2fe6535f51ac585a9cd2573a8ad346a62ee6b2645288f38e641d8cda85a7e3fec4b528211ac4c27c91a689d585fc84e1769ac3965a3dd0ecef6f8d1050bcbff3 SHA512 1fe97855000585886931d6f71d01c7f45c191595a3f9d3ebfd342da925a896712682bb17bf488a150fa92a7c20ea62965881173938c0cdcb2a0b7562f2ea2de1
66 +DIST firefox-105.0.1-fr.xpi 580216 BLAKE2B 25646a99b5dc3fb813ffabb73df1e35acaead0df40216773334b248f48d2ec229f864db6e712162ebbd3e04c4e4a1a3b26adaf01f0dd727457f16bcdb6f82060 SHA512 8ec98573c52bf05baf8d69957d58952a13c10fc8cc96029439a061ab14a3016968ae50e849837f05bc29897dbddeb179f66a4953e9b4bb0e4f606d5d88cb65f7
67 +DIST firefox-105.0.1-fy-NL.xpi 564511 BLAKE2B e341da66506a4a673a5a005f7e7e27496f776b97e1e563ae4d7a2211b883ba75fe95459b17ee709eb50b683af1c361802424c023c10583d1436d6dcc1eea3e39 SHA512 7392b48fa7c96471bf68390c7d7a00600e442165b20e1b7f8349b2c4ad7917f5c8084057e36dd5238f4064556a4eefb02c978c16715c475183bf2818827ab50c
68 +DIST firefox-105.0.1-ga-IE.xpi 479303 BLAKE2B 059d5c8a08d42f4defb6772866d47d962d2a318fa5805385d308d3d1a09459455d91d474526ff68914905e5d761f586c7506656b2588dd5971105aaa7afaa250 SHA512 b219078eee2ec8ae9fde1b3f68ad19b4e99542b0f46e91fb59ec15c97d088ba4b85b967fb2c9ead9a882ee0cb9ef7b0c28b59aa6281b60bc8b118389bd55b37a
69 +DIST firefox-105.0.1-gd.xpi 552652 BLAKE2B ab9c81b8c058bc0d4a6456bee85bcd7fbc23a83323f9a78ba6637dc8806f7ddc2c2c157643471d9b4618f5308a957678e9c8e2c5eafcfaa35cce6e7ea1fb159d SHA512 503e75cfc778ee05072dad305c7fe93dac159d3ed2c041c5f4d296894e9977265a51f8af586b5f22dbab7a2d2ed529674c567f6fa68a3e767d16540b5c2e7457
70 +DIST firefox-105.0.1-gl.xpi 548786 BLAKE2B cf96dfa6814e534b607ac211641c44fb0c90a883b5ba5597799da216e766604a9ce803d9ef85550cd91a86fcba6683a3b0109b34f67b39dbb6228e02d9a426d2 SHA512 57641eca1b1f30070a8bb6b49e8893c8df22cb0e3764799595b791ad55bc499a88e3c5af68af63cc95b5b70816e1b0e7ac0ae591245b3d7e8d11886bfd218671
71 +DIST firefox-105.0.1-gn.xpi 579010 BLAKE2B 6a73fca69d57b447b8906b1f300c61c9344db18454ac35b4ce226b20a9dc2af297dd10ebbec2bafbcb6a735f3f734ed4fd4e5a0d8a601f937fb5cc531d23dca6 SHA512 e112e22f3a1cdae8328f55d8bfbf51db26f01cd160b6ada3a0d3cd22a8b5eba6d54e843004b6d88c9e7ccfc40e2ad0d221e74b1cc3be8a041ed6eb2e7ea1635f
72 +DIST firefox-105.0.1-gu-IN.xpi 536348 BLAKE2B 0de946a1a403d9b8d659725c22512b14a7e40a9967c10663f81e8b89cc46c05f168ea4288944f4ce035e09a7f1e7d731acf1715d30ee498bc92b8e562d55b76d SHA512 4a7fe0b54cb74cebaefde042ebbeeb27db9277fd3cd4fd3ec66221edffbc57766edbe18f5cc968a85d4d37d659a73005f138dbaa0e4e596c09052f2690c03740
73 +DIST firefox-105.0.1-he.xpi 575466 BLAKE2B 2429e79512023a3d77fc56a543a2634eb991742f45be29ecfb3211a557b60162cc27cc26a3ab86585c36a8ae0d5cb527d80a8643a3bee95cedf4ce678339b248 SHA512 d0dce1ee96e7472a552690f1f58cb87debe531166303e5e975b99be1a1709455c62206020bb4c0f16eba29802d5970d8d6b0a9d046b47838f3a690b8a7171474
74 +DIST firefox-105.0.1-hi-IN.xpi 566805 BLAKE2B f67a2d781d258bd98cdb1d016893ae6498decf8bf18f86a4a712d96908d92283b13c13b51be8373c6f3a3496fd0255b55c9035b2d33d4aa367afe4d1a0e61f5a SHA512 4b45e6c35471624926be986eb96b6a27f51b851517af69c0bd6e70f13f70c69c4fc159dc96ade081ec2bedb20daf5775ec27dc507bbbba98caeea54922aa2f64
75 +DIST firefox-105.0.1-hr.xpi 539462 BLAKE2B f881ca413bf77008400a233a659f9eafcba5b38512cf5d9bae3e9e1701cc76635609691fe4c435bd01674c506527c7c63f9934ff1e8780902ec10677a5bc5c33 SHA512 e66af46cda0392b465f9482cd969f871e3600415db573b186c0433957022b7ed67c1117c90fb66f0311dae2b70374930bb17912d23fe34d51ba60d39c85e9b50
76 +DIST firefox-105.0.1-hsb.xpi 583868 BLAKE2B 351b9caf490e0e76eb18c39c656308d129cde9bbf4df71ad52ceb0d1b3e3342961410fb3999802f8c7ca1646b108f563e5a86f36dfe073b56c8aad74f429bb5c SHA512 0f4e8e1b18eabc8a3f0f02ac1de4dc9c3e3b6b7ac138a7a9c25c5b7b6aa3a5a4bafa0a8d0101b3c4577fd5cfa1f015114b02f25245006a170d212d85e59a9e44
77 +DIST firefox-105.0.1-hu.xpi 588455 BLAKE2B a593e84c2104937266227b806b910e7b2730e8bf792022e93a6cb3f2f8c999c8547dc3f638ae4d63df179115f14f127ed7f005eafbc85aa34268192574e0ea17 SHA512 15465694c0376210d7656c32c50cf52a0e1c490bf1732adf5ef32c56ed5420b5163874ff905224a77f4a00b504bd960355edd25804fc5be4c3c06b0a4554876d
78 +DIST firefox-105.0.1-hy-AM.xpi 591360 BLAKE2B 612c3adc14956e41c0e8bfb83e0b4181544678fc08c507aaf2f2a1eb480abfbfbfbb40f99488439687133dabe8917616acd710d14e733a87c726bdf95c537343 SHA512 1bba630b0a145ad58c687f9b24cd627aa95ea3d1520196187829c983112477eee514284a3452dd7b6ad3ebc79130fc78c101c49687a2223e42fbce2278e3756d
79 +DIST firefox-105.0.1-ia.xpi 553263 BLAKE2B 74fbd55452d514f9b04f119ed17b2ad7d1268ad3f96f1550495e2ace0dbf079c4403b71a997d2158fdfcd864a497db0edc705432abe3fce9599713c09bf89cc4 SHA512 fd4251f058d4ace91e63bb3b276325bef572552ff2502d95e5c302a33fb6d41c497b3cb300430835d164d68233d60b404bbe0146c9db1087ed6fa45a287f18a3
80 +DIST firefox-105.0.1-id.xpi 550328 BLAKE2B cc5672391fb4b94d498aaf5879c64ca958664fa5b65da829ba31019b66f2d0c9a1e85d2f77dac831f14defe8b3fed4e9a1ba07eb687f78e943e00f23712f5293 SHA512 8566e3d58949968be49c56b8cbd0a065770791693ceb0431a66d4a6528f600e2885cc9f4fd38a163b29532a7539c7dbd143d182076ced080de1e46268bd2e3d7
81 +DIST firefox-105.0.1-is.xpi 560804 BLAKE2B aeefaafdd1e10ae7d1fd1cb496ca0dfd6778581a2a970a3d8fb33da673a50e830109ebf66fb372eb04c04cbac92408e38b36be2e238d48ce0ffd5028d95c4a98 SHA512 5fe9d1b543f592364d8e5487d7f6096c202304f9bbe211f407866e56ecd88425616c3078890e3722359f156928680ba80b508fc4647aae5cde349cc2344faa67
82 +DIST firefox-105.0.1-it.xpi 471261 BLAKE2B 053974af8ca970443c3d2a41c16d4e49d0e9ea87f556f950e9ae45a77232367608f41b3f4071316f2287dbe76428bbfd29025b1552d4654776fca17fa3433b77 SHA512 a7c1525046707a14529b2e133eee7de6295c75399f901d94fa66fec535f29fab5185ed20462c7b411f26a30200204c4a054a3f107c2c711731cf778a3835ada6
83 +DIST firefox-105.0.1-ja.xpi 593772 BLAKE2B 0b7c8ef62406df4818bad282f379d1f5299afbecbb766aed95e02e3383f4e2b3f28cebf8e32335025b1b38832ec1a43e3cd781a929611207369b541a25286d2e SHA512 bc049b6c1c69388fd9fa2c34480980d94cd9831749061b335cb9a1531b294d135a9a3f88fc5cd944e13c20eb38b264e8a162151d99ecd39df2350a0a4aca5902
84 +DIST firefox-105.0.1-ka.xpi 614607 BLAKE2B 7ec15482e4eb615dc1af5345713bd41ecef79b1c3d1cc9ee89de95bf5be223c2be8b229a4a13bc5524bd0b2ff0afc2631f71c8bf9095b9c30ad09a8f7461af1a SHA512 f5c2c998e4a925c102a8d6951237e5735c6974e74a83a5b34c65db54072fb90365be1910b014455e16a51c77950068591713b15635e83b72449580ac39a8c870
85 +DIST firefox-105.0.1-kab.xpi 573731 BLAKE2B 3ec28b0dfd59120d57dde3d4b1bcc5a747f75a18ea03b9172ac6cb2c238abffae0f251525e8405812c798c6c85befcca501de759d4875984108409ed55d58fe5 SHA512 0c7e866eef184194739011131d509cbe281e5a063f338e0a0ca9fc230d8eb77549a6331664f2d5ee39f0f37144c82b90bc62cb9cfd90638f821ffac5ac2f5da3
86 +DIST firefox-105.0.1-kk.xpi 631195 BLAKE2B 30452ae407104d16e4c422896938b5d62dbb622e47a3a00437ed99665a525f61ea45911fee8ca47b66d316a08b0b6365ce69a4b482ccb442652ef622d78c8f59 SHA512 3edb981b56c23880f7f352aa1a48cfdf60e982bc2e219203803bd51444e801d631828f2846f28e771a6b6d9d64edecebeaa7f260244d6d107f5f6b0a6b71d2ba
87 +DIST firefox-105.0.1-km.xpi 540646 BLAKE2B e66705fefbba13cc4d9196b6302cd079ef80f4707021b5e052c9cc70048cb9f7fc9c83eb6ae6d5137faf69c23aeb944292a855f36abc37a567ab51ad91eb4719 SHA512 5af76916d9006af7c8726e94c7cb710c883fd3b1603c28c4ea82fb3c1e1602cc17b98a3dbd45fe9d26a3a1bd553b29b9a7454679c1b12a06fef969345dd720e6
88 +DIST firefox-105.0.1-kn.xpi 506462 BLAKE2B 33bbe6086bded85da62940ff916e4f4fd0da12463973d47e51fe226033de4f93aeb3562ab040e66738f04165ce9c3f6dbce005982acdab4e163926a93b58f2a4 SHA512 7288924a7bbd54d306c63ad42479b123ecffe73085114863adaed8c7b9d3fe16bb5774284b8b3cc498ddce6312ba7c97e019b73c7bc39c3ef46243f140ce90f8
89 +DIST firefox-105.0.1-ko.xpi 600512 BLAKE2B 16b703d8da64a0b39f6de9afa888f5f3b2054760b6364ed88857ceadc7053c1c0256a175fcfc1aafce4e5df4aee0fd1d8e090e3f9e7d10f08d0db22627dc66a3 SHA512 5a7a0d9511abb46f172264378ee0c19b6e54f55193ac3091b285678ea13974cee66680d5d431e61949df5e13b5fb1fc00635331d0802aba4229b3e706a1b681c
90 +DIST firefox-105.0.1-lij.xpi 479007 BLAKE2B 00f1e3ba54e049a1f9bafd2f00d2011ffbd0c14cdff60f46b4a38607483963a754f52fe0aaaacc2655bed8be50926056912188d355cf21b82b67f35279cb8a5b SHA512 ed1ac7cbd981e580aafdde9d20d71aff4a6a738bc2002a8eee60fbf487b482a3815aae12fae7f59afeeeafde007739f43ae14f4955e7c9d143614fbe8367c462
91 +DIST firefox-105.0.1-lt.xpi 570049 BLAKE2B 0c4364974255272a2e79e83e173437efff25dd408edbcfaa70e8e8c0d2f5df03d9d86b20fa5c73ff867318b8c56415c4445b3567fad7e5ea0816468e2e982b82 SHA512 bf38944e0381ed7295ea579a668a3baed97660ad9e6cd7a1c26531756d924dbdccd357e63641af76712170638905a60479c0d3bc78f953a0e4fd650832228428
92 +DIST firefox-105.0.1-lv.xpi 472212 BLAKE2B 104a30d12d21231d3c252c4b6e231ee1ce27455adfa73b942506797ec51e756725ba753ac7ebe0105db6aec9769175d6e0259a28894c26b121c6fbffa6e79272 SHA512 25c64f81d25f0869355db649942f48b26e55755310060ac4225ec1a7d8e4bd5cdeac11ef44d0528788b32e0dee75cd4212285f0f4d9aa410ebacb9a91065e2db
93 +DIST firefox-105.0.1-mk.xpi 490872 BLAKE2B 145380cae47cfbef653a99516be2ea65dccc9dfce30a2c3929d4585f751982c183c4efcdc480b0defa30af541bcc51c3492e4b6f943d649444560714adff9c0c SHA512 2f0e0c9ad415fe413a1c82416116eb99cf99dfc51f2b979578bb8828aeff240837e52696b452225ae6be89ac46445bfeaff24a313cf1231c2c3033898cd69201
94 +DIST firefox-105.0.1-mr.xpi 539882 BLAKE2B ff817d83caae25dda54c60b3f59dde9c950bb6774942b160746fd63026bca189ca5611330f641bdb627d49aed65515662b7e22dffd5a64bee6e02395b4826833 SHA512 5a459091441310d22075586589f85fa5350622ca4321f6aeeedd57e9ac91f497e6218a7b1ceb46db69fb8e81483cfde984f8c922135a4edeeb6298f41a9163d2
95 +DIST firefox-105.0.1-ms.xpi 457111 BLAKE2B 20f52d2c649607c6ddc2b7a554b9e3e58c0869e8c75fef3a19e5c7a809397d5f84395b87d102ac084c7b96182b0bef82a1efd4a8ff227d289894d55f6a8a8448 SHA512 0b9012f5ce8b724bf6178d1260a06136a6e04a0c595e53b178cfa1dbe31e978ace6c5203d82cb344aafd4e907c33be5e120e08a53de322609aeafd25bf5bc3e0
96 +DIST firefox-105.0.1-my.xpi 520853 BLAKE2B 611ddaf0a8e19c0571c5c757db8640f9cb43b34a8f975663c1eb02262e418a7f9dcbf40c5405380dbb12bb247973e7bd5c5451ecf30ca3df06dda0ccf28908fe SHA512 fe2fe095dd6c21103815aea2a03b08257af4220bdc5356c4c7c0c0cfef418c40710ab7b19101086ad484d7a2f0ba91ff5e35f7960d42839db45e0369e7042fe5
97 +DIST firefox-105.0.1-nb-NO.xpi 549448 BLAKE2B 1175fe9b8fa2e73d116acf211fa40466b24e66235414a7b2da77fd92ec047741602eb6284906a52722260f2d52233de2acaa9dc529f7ad9b409622e9f6ea81eb SHA512 bb59f1f89a88e81f52cb2a0ee172ae0ceb04a3cc355db5ff6c5a50786e71830b281b03505349ea910b2d7b2cd7c36d7d71172cd931e230e392c723bad5d6710a
98 +DIST firefox-105.0.1-ne-NP.xpi 498110 BLAKE2B f9762022db47c1e1c306a8be75df1b70fd0666c4b6d081d98df9b72a334d26934ea35ba08c98cb417015e11e50fc820b7ea54d11bd0a2bc6d46e6bdf2dcc75ba SHA512 7a734c12bb08a751ffa57c23f3d6bb0ba13b2ea1750e7abbecda29cca663725ec0a88aa4b834b3d496b2bd555b754fbc0a391e7201da3067a7a73b0e1325f83c
99 +DIST firefox-105.0.1-nl.xpi 558694 BLAKE2B 1233697b72e10bb5d7bbc0dc1eb2a3fb44223e75ec24eddcc7d3ff5dd6d69199fc086cc720e2525cf2431f34f95ce96a4557e08016e97afd6eed49332403f160 SHA512 ebaf57c1141c6aa571fd4306436a58f9d6c35db2b7c1ee81012b508e7ca6a0b635824e81f8c28241ba3a5ac4e6dac36a92ccfa39a85d3d7c717ecc7d5bc43b1e
100 +DIST firefox-105.0.1-nn-NO.xpi 549963 BLAKE2B a95731f9ddc8a4c05699f4cbf96aeda1d7c81dbfdeb0a9b277a8a39f401f3e5a63358023821cc8ab9fb384c88432a10fc13d8801792cd80b247625902f138d41 SHA512 0095f6701319a43a0a63dda3c0b2025e1da5fdf34e869ee438b764391a4b0727e69388491d0fbbb46505931614f1aa3877bb3e8d0858f1235d3a38d1dda334e8
101 +DIST firefox-105.0.1-oc.xpi 569615 BLAKE2B 72ed4104daf5048582a2d7e3ba0090187aa1d897e9cfc259ff75236d79760aa8d37f175e4decfef3d3476bc8f0c283b218107bf62f9fa4b64e3a14510ce6c709 SHA512 cb83daef5d00393e943cef6b321da957f53fffa1dd614955f2b772cb69317b758fdc5494f72380b0d5901ba35578c2b0cf1f0784eacb9ce5d20243b858612d51
102 +DIST firefox-105.0.1-pa-IN.xpi 621215 BLAKE2B acb33a45b1aac57f18fd38198548b2fe4eea9a4c0a3e8515247d4f59356d7f715c9af1e5359fae6576d374ba014e53750b411694fe8d9215b41444a60c94238a SHA512 636c8799c6bc61e3492fb74b3314f574a65c5d7b414b1bd00ca745e86f62ffa36de9c992d5ad4601a00b7bf2d2333cc056d579f47c38db297b23971de2c4adc4
103 +DIST firefox-105.0.1-pl.xpi 579341 BLAKE2B 5155069da06df120cf91b2f74a56a89a41113cde7e9bf06e0f7a24c441bf5bc46ef7abf6892aa877ee197f035c9440a6888105abec592e110aed4b2f778eebe3 SHA512 b2d7ac86172c964d78005a05b1eafed2e2b21afff584768c8686c048f2505c8c8591b8105810c3ef152340b3ffaf46e03fbda5f77b505f71a85fc447208a9c8c
104 +DIST firefox-105.0.1-pt-BR.xpi 563717 BLAKE2B 1911060723eb8df959f514e4dec63307c3e662bdd3b74c729eec63634bf284b0391a2f4d0cb1f1c4290ca639e5f9d7e5692988ad990f68343d096987913af80a SHA512 ec41c51a7f61266c05a4395424bcf7b3331e04fd79b9a0aae575bb37cd21a8fe11cd2678b164bbd070b5b8b63a917f54a594502b362413fbc20dd0c608d7fce7
105 +DIST firefox-105.0.1-pt-PT.xpi 563884 BLAKE2B 2317a7e95606a5c3581c5acc75aaab5f6a4b77d03e7cf318bc623a4f6ae8df826bfc21299cd51f652738f2517c2160678b6d233e80be35ff66fac775baad1a51 SHA512 8067bda5d2bc69ec9b2326b906249b9f478c35f3ad59d3a5576fb157396cb5123ccc153610c4d754a7bed45cb64b57b319aaf8c93f3ab4e637a71f68c66931a5
106 +DIST firefox-105.0.1-rm.xpi 547530 BLAKE2B 30b61933d1c7d2446199ff0a62f9c9f89da6fd9d850e7d195477dcd1f99a73d8ee88f7b1d6164e5b51879022986a1116b6d1ed38b0cb0269ed5db1ff4897c85f SHA512 42a83b322ebc33597db7d03c7fdb84168887c27621658e707651231e770b2dd3da3117dd21b313c66f44b74abfb9836696c873737a9e6bad3c40be3f8c4a3c6a
107 +DIST firefox-105.0.1-ro.xpi 537786 BLAKE2B 26c79e9ed2f902390b86dc0d29cc94966a3393c286267b80509de7d309eefdf3e206bb022a9b9bde5471b9cb8e11cff694bbb90303167960bb393d81f0e062b4 SHA512 8a86d6f33a480d4ee6d576ec240da5196d6542d0f83163a382a14edf361c1c9687cdc13a96e10ff5df157c04608c6e0e1c77e5b0b7237d65ee7e3e540015c83d
108 +DIST firefox-105.0.1-ru.xpi 651159 BLAKE2B d8e555d1d30fe299fd91e230191a5aaa54f3139d05a8d9042bb7eb2a5eb9f052b8a71d919feeb8245c6fccff505f1a2eaec16080a41e5d8c454190d3fad99293 SHA512 c74d078295c2343af5f7eb5fd824381b135504afff0f50cd2f14e1b02ea1aa4e94edf553d72580c0ae9b96c1722867c2df3d9bf1170a943c8b63563ee618563e
109 +DIST firefox-105.0.1-sco.xpi 505207 BLAKE2B 0dd0d97d9d108e7d70274a8c6573d9215045bdb2b804b2d793aed8dd5a3b6831bf5c080a536992beee2d9fdc007b40978ac6ef4d4f84721c75e7c2ed86d3f4d4 SHA512 63c4bda75f29ab1cdc83e6723a7ae42977b345208211efa5198e11e52799664026fb36a92673e382860468e1f5f6b3583f9e02fcabf33d37d3c311a9ad0fd4b4
110 +DIST firefox-105.0.1-si.xpi 573138 BLAKE2B 3057034ec4a2ae31381c2a58766640e45ee9b6cae9144eff21aab4b779c4a81fba10141a87285565beaed85bf188a9dcdb61a34d336cb9e6e359367d2f7d5c5d SHA512 97c026bc8ce5cb9f01d3a5642a3142d116674e792bc2b10eb9270959a46c1d3c39ed43385ab44d589a1c46428fb8e346130988ea8a17ba07247a15463a01fb0d
111 +DIST firefox-105.0.1-sk.xpi 588225 BLAKE2B c6dbba67c914b797aff727fd2d6d04c95b888c14c97d2a1afecc2095517fb05e8290e6ada9f82101d4135fbd2289ea19835f86d94593e51d77a90bc4ce650ea0 SHA512 e1cb37b88c8c6bc78225df39903f48e8b34e731eb5775bd9329cf41dea9b0ce7332ddb71ef41fdd4840d66a17b55e319027fe50795ccce51ea97e6e2732902cd
112 +DIST firefox-105.0.1-sl.xpi 561128 BLAKE2B bec6290725b2c8f91dc21ca880fefd03f8a2bbbd1f5522625565f89075e2469648f5ae4e43edea16cc00b0c147f0f87c1fc3a9e301c3cb867ac552ee5f9e2543 SHA512 f3e30eda30f29fdee94339d06cb27bf4308303e9c4ded7840a7e98502baad7ca4d31128744bc753c7962e29bf85cb81e9cb58b4d9161dfd6e24466a78fef846d
113 +DIST firefox-105.0.1-son.xpi 433327 BLAKE2B 0ff68e70a8753837a487ecee9aea7c95a7f912af5050cd1c7d79438c63d7becba0ff31790db48b80caf064df8e55d1d8a0bd6b8715545e90c0f930b8a6e38031 SHA512 2254e6578bf2d646a533aa91d0a371a0cdf9b6affd366ded96a70887db6ed8f0f095dd1663658818d64f34fff4ccdefcc9449de7ef3f28357e9b28e3ef99e9d3
114 +DIST firefox-105.0.1-sq.xpi 565444 BLAKE2B f605539724883ba39d05feb941188223b91a2e5fbc9c1ed2c8c66638e5480c59ef00b6e66997defbaa2e2869d0e0e9a3beaf15def95dac9abbbd56d5e3eff357 SHA512 802b3e109450ab64809e971ee15424f2dda2d9e1023797472d1e6faebfd0d77e93f140ab841dc985e191698e6a18a9b63303b31a6c35826a4c944d67d970449a
115 +DIST firefox-105.0.1-sr.xpi 604656 BLAKE2B 80453225ec2941d6b492ea42e356bc3f59d8c8b83dc7cd83954440fb4f8b0f1dfbf908ffc4ed8bbecb7d11ddad984c08b293a8da2b86d2eae76bdea8b88c9763 SHA512 294e56550105c32c29a73fc1130fd127a4872ac309fbb148c6fd7d07372dcde6617b37c77205a588e5135ebad10d652072cd5398d76df96aefd2e556e2f27d28
116 +DIST firefox-105.0.1-sv-SE.xpi 560615 BLAKE2B 9be16630ca720fc406fa68c16302b47c06ea4fb78ab91c826a7afa4a63cb87242c4eda4f1312796cd8f5985e6a57d17d360c878dc3025f61a77a8b280a819b63 SHA512 f97008efb6eb8352677860363e40f1ac308916b476b4183e1e4b26a21811159ed588ee49628b752961a63fdc4481efcc514ae6caf10821a11a0c7bfe7c9a126b
117 +DIST firefox-105.0.1-szl.xpi 520752 BLAKE2B 9f61912b630ffc38ddfe8183c4898dba59550da1523ed3a712d044c403c989108541b630db68f36e694f528eb95ba852e8ec62f15007f47dc9428b830ba62862 SHA512 fb898ed0e039396124f6aad5ac9ee5e744802e902dad769072746d1a9e9b15b93570b9f282f190e7b5e9fd3cb5fa8828fe5603e2fbfdfcdbfeafab15cbc4b542
118 +DIST firefox-105.0.1-ta.xpi 519025 BLAKE2B cbf63da461c775c06630795d8634ebda4f53f9f1a305aba74fc1a510d0f838474037d7c084099945ee36ca86ca9de2ae6888bff477df50b05daf529423e3077e SHA512 3b74ac701f72696268951fc513cc4e0b2bc6af7a31b32ba60ced948f15a6e8e9bf4d136d5c335a6ed153ed43486d61104f15b5d3014f0a0ddcc63d869fed9ae2
119 +DIST firefox-105.0.1-te.xpi 560557 BLAKE2B d0a3422beca894c110e646e140bec441bb203b6610232ba568f84a1d0577d880a6c22c7259c038586f49a41a72c271e7e724b4f8671b517ae1f238b5ccaea256 SHA512 06131f674d56ce01b51dfeef18a8a99bbd5e624d85410ecc0247f702b396f9cb6a5cc504559a05d93c83ca06185343092e7793b93c1578539e55cc471c2a74cb
120 +DIST firefox-105.0.1-th.xpi 621826 BLAKE2B ede1d44f710372b8f76f3c3feefcca647faecc045a8e2e31ef20c60458d78ca71d688741003df243c3763fa6eacaacf7cb4babf9b42c3380dcbc8b1ed880b37a SHA512 5879c00c0f069138893656e69b32a860a3379eb9dc7244ce78203bec187cdf27614e6f1c0bce57194af99dcebea23f5be35c24eeb5690f7ef5c5d2f15269d1d6
121 +DIST firefox-105.0.1-tl.xpi 527995 BLAKE2B 4bd1776d8103baa63065a099c1815c9252aaab4686841c04197cb02948ca8a1418a37fc8cd6bb3fadcdabd0de1555535a5b77c4f9d8ac49a19e979c5eecb9364 SHA512 4ef538668822107b5b85c94a6c6390c5638034bf83a8a342a427434a32c9de379a6c39be069ad638db5455529123e02b531d2cba950366a56714afdf5fb6d3b1
122 +DIST firefox-105.0.1-tr.xpi 574332 BLAKE2B 026e1ae8badd160aeb4e3f4a052fb769d747fdaf704670fdd82ee6e29d65ebd2ef0cedc1c5840e30eb3b7d484648f49ac4f3aa383c9272933aae5994c2ee5034 SHA512 bd8a521088db01d9f6fd06a785833e19c548557704ff874f0ba28b30cc08fe77565d36a4d3d0d19d93afda52cb0fc7a7cb9621c62cc44be2b1b62654cc889e66
123 +DIST firefox-105.0.1-trs.xpi 498809 BLAKE2B 27f9f3161595f74dd1d6376d803270fbcb7068b36172d8f5bb5965535023efa6061edfe9c23fd3f064cda5227527d1be75ea17c42adcf9563d826470be54fae4 SHA512 6ddb519fd12023f1769b4d4c79ec7e0c6d74d1c00979b096676cff7cf350f65e9a3ab4f5bf8c858ecb367b6120bcf484db6bbc552efedefee01cb7f593d54838
124 +DIST firefox-105.0.1-uk.xpi 644349 BLAKE2B ca8e445436c0d6f7cac1cc601fc52814998653248c0f5dd45ec0f686cf2ac5a06a19fb92aadc4dfb62490a7a0b8d289041ba7a91763313645e2f275b08c0bec4 SHA512 0db821e82343020aa020176605b5ea99a6d8f8b3366e8c38ea00920c741f01da9d64e54cd65e8c3420cfb687fe7114835e26542ad9fecf5229f68c3af16bb077
125 +DIST firefox-105.0.1-ur.xpi 566537 BLAKE2B aa3d98f429baf0bbaa00181a9fb4492b9d2341bd2aea5aa60f6b934038e814a18c4214940ea706999548144bc76390c4e2e5072a3f0fe437972c026e7dd3dd41 SHA512 57590cb75e0e71eb7f974c5979902b797011775928cafa2dff2220319e728880269354b464299647f68fd8ea9e0c56c38699411dcc662796da297a85eaa8513e
126 +DIST firefox-105.0.1-uz.xpi 486876 BLAKE2B 49daedd12980f3c51a23708b6c765b8449df9f8b2965450dc7de0120605433b823399cb689319ba37c47b89653573b418a1d86b47fc7ad19dd03ec7ba3c52433 SHA512 40134507decb0ce395597c58c99c12a52d234bf273f686d8960135bdcc80e2ebed62b4536eb6da6a5eddf9bac28326f8abd630dd395b2fdbd70b2502c9542418
127 +DIST firefox-105.0.1-vi.xpi 595135 BLAKE2B 7328350b96c64a83c9077bbc71d42f7d8825835460b25226e61b35ebe39ebff2ed4032f7208d7bcefca2798327cef911098a4c5704e3d4e819ef24dac022e878 SHA512 d3c690da21315a4262b41d36c6c25c276cbdc1118ae116d021b5306e7307b4368d9aa5a99efab910ee992d350ec891e9c5b68a341474c4d164d19907b4ad92e9
128 +DIST firefox-105.0.1-xh.xpi 435741 BLAKE2B 4cc4ab55df561b95948dd6b5e389bf6a1e3575574d5a7d0072968bfc4548a90e0e507848f1f7161a84c2d9c3dd115bf2699713ec9900361224b23cce0a19f61f SHA512 0a67fb125fa6c511ffa5f1f7772f2679d959be04ae98f65726b1491756678cd8e6be6c9a43495f3bb78a67a00edc2464104c4397553a34bbc6a9bf90c32eab01
129 +DIST firefox-105.0.1-zh-CN.xpi 596364 BLAKE2B 18c80655c480efedd506922bfc0d4430eda525a1b4a15db66851032c25dd0e103efd8e246003699996a01137972ceff1b60ca50cafa8ee8c9ac8b2657726654f SHA512 51a8bcd726e46f28e404f3866abb8ef36b01163ffaa42e23ff73cf596b920b7225f0bafa2f587389f585577aca379c4ab1805c808dedb36ddf05dc90468417c7
130 +DIST firefox-105.0.1-zh-TW.xpi 597433 BLAKE2B 904ba9a3e987c3cde42aec94017000d5744e69195dc7382891f6443aa748f26f670bcc7c6e9da8f1954da8bc295c2f469fa666ca02141caa71fc467d5b4715f7 SHA512 c39cf3d846c43a1942ced5ead5c70610faa6089b8d87dd32a16d7d5909a28e051b122699947a8117e2ea34a8ba463d5b481f68fb231b33872b5c4b4d70e25024
131 +DIST firefox-105.0.1.source.tar.xz 475536540 BLAKE2B 9ee260d5fbebf48fa3158e917e04707ceadf21961623b323d7f3c598ae754bf7cb9280d9cfe009c48ca52e9dd2d6c40d1b788f429bb0e3e9d620163dad3b2b4b SHA512 66ef7cd5028953e7da9d55e127135739c9d85be68ec633b71c52d6c9427edb0bd8a38504148484cd322adcefb57bfefe6e57cb15855f195508fe438864f4322b
132 DIST firefox-105.0.source.tar.xz 487471648 BLAKE2B fb911cfb117433994927bfc0b05cd31ea86993be0b728d3b9dcda7dd3608c8b8a3a6eb6b4dada643abd2e109e9c551495a7bc92909bbb6db93763c0a66ac465a SHA512 a48f323f874b538402630a9094daa83189b3ca319feddc80fd66d087eca13f21c8b2d85be9c29e948c18cb7c524adac44e135adcde4d4592738e104ae9c1a734
133 DIST firefox-91.13.0esr-ach.xpi 453223 BLAKE2B 88b43c79620d3e0263f7e251a41c8ee88f10798982d8a0db3d8d545b83aa4e3da75140f5d9bf879f2229ea831668344cefddf6c67ee45f3169c7d854cf53a90d SHA512 795ca4fced227f29861de8fe2e93acb339d41de8b09c941244f4b62c8e7835971ec4366bcb3a35aaa75e779087248df459364c262f2fd7b294a6d7176b74e1ef
134 DIST firefox-91.13.0esr-af.xpi 426921 BLAKE2B c0a89908f46ba666c9d3c9e916636e5aeff7564a0f2132213aa443c5dfed474006dd65dc8f47d0e0fa30d5435c810937da98536b3408dae62c428a5f1f4bbe78 SHA512 8c8a40cb2117479c08c13077eeffcd3473b4e2fd9164269da58a68b3c0e77c339184a2edca79ae80480f2b7e41c42e598a9350f01061b424cef1aab35a7480bd
135
136 diff --git a/www-client/firefox/firefox-105.0.1.ebuild b/www-client/firefox/firefox-105.0.1.ebuild
137 new file mode 100644
138 index 000000000000..cda48c99705b
139 --- /dev/null
140 +++ b/www-client/firefox/firefox-105.0.1.ebuild
141 @@ -0,0 +1,1287 @@
142 +# Copyright 1999-2022 Gentoo Authors
143 +# Distributed under the terms of the GNU General Public License v2
144 +
145 +EAPI=8
146 +
147 +FIREFOX_PATCHSET="firefox-105-patches-04j.tar.xz"
148 +
149 +LLVM_MAX_SLOT=14
150 +
151 +PYTHON_COMPAT=( python3_{8..11} )
152 +PYTHON_REQ_USE="ncurses,sqlite,ssl"
153 +
154 +WANT_AUTOCONF="2.1"
155 +
156 +VIRTUALX_REQUIRED="pgo"
157 +
158 +MOZ_ESR=
159 +
160 +MOZ_PV=${PV}
161 +MOZ_PV_SUFFIX=
162 +if [[ ${PV} =~ (_(alpha|beta|rc).*)$ ]] ; then
163 + MOZ_PV_SUFFIX=${BASH_REMATCH[1]}
164 +
165 + # Convert the ebuild version to the upstream Mozilla version
166 + MOZ_PV="${MOZ_PV/_alpha/a}" # Handle alpha for SRC_URI
167 + MOZ_PV="${MOZ_PV/_beta/b}" # Handle beta for SRC_URI
168 + MOZ_PV="${MOZ_PV%%_rc*}" # Handle rc for SRC_URI
169 +fi
170 +
171 +if [[ -n ${MOZ_ESR} ]] ; then
172 + # ESR releases have slightly different version numbers
173 + MOZ_PV="${MOZ_PV}esr"
174 +fi
175 +
176 +MOZ_PN="${PN%-bin}"
177 +MOZ_P="${MOZ_PN}-${MOZ_PV}"
178 +MOZ_PV_DISTFILES="${MOZ_PV}${MOZ_PV_SUFFIX}"
179 +MOZ_P_DISTFILES="${MOZ_PN}-${MOZ_PV_DISTFILES}"
180 +
181 +inherit autotools check-reqs desktop flag-o-matic gnome2-utils linux-info \
182 + llvm multiprocessing pax-utils python-any-r1 toolchain-funcs \
183 + virtualx xdg
184 +
185 +MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/releases/${MOZ_PV}"
186 +
187 +if [[ ${PV} == *_rc* ]] ; then
188 + MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/candidates/${MOZ_PV}-candidates/build${PV##*_rc}"
189 +fi
190 +
191 +PATCH_URIS=(
192 + https://dev.gentoo.org/~{juippis,whissi,slashbeast}/mozilla/patchsets/${FIREFOX_PATCHSET}
193 +)
194 +
195 +SRC_URI="${MOZ_SRC_BASE_URI}/source/${MOZ_P}.source.tar.xz -> ${MOZ_P_DISTFILES}.source.tar.xz
196 + ${PATCH_URIS[@]}"
197 +
198 +DESCRIPTION="Firefox Web Browser"
199 +HOMEPAGE="https://www.mozilla.com/firefox"
200 +
201 +KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
202 +
203 +SLOT="rapid"
204 +LICENSE="MPL-2.0 GPL-2 LGPL-2.1"
205 +
206 +IUSE="+clang cpu_flags_arm_neon dbus debug eme-free hardened hwaccel"
207 +IUSE+=" jack libproxy lto +openh264 pgo pulseaudio sndio selinux"
208 +IUSE+=" +system-av1 +system-harfbuzz +system-icu +system-jpeg +system-libevent +system-libvpx system-png system-python-libs +system-webp"
209 +IUSE+=" wayland wifi"
210 +
211 +# Firefox-only IUSE
212 +IUSE+=" geckodriver +gmp-autoupdate screencast +X"
213 +
214 +REQUIRED_USE="debug? ( !system-av1 )
215 + pgo? ( lto )
216 + wifi? ( dbus )"
217 +
218 +# Firefox-only REQUIRED_USE flags
219 +REQUIRED_USE+=" || ( X wayland )"
220 +REQUIRED_USE+=" pgo? ( X )"
221 +REQUIRED_USE+=" screencast? ( wayland )"
222 +
223 +FF_ONLY_DEPEND="!www-client/firefox:0
224 + !www-client/firefox:esr
225 + screencast? ( media-video/pipewire:= )
226 + selinux? ( sec-policy/selinux-mozilla )"
227 +BDEPEND="${PYTHON_DEPS}
228 + app-arch/unzip
229 + app-arch/zip
230 + >=dev-util/cbindgen-0.24.3
231 + net-libs/nodejs
232 + virtual/pkgconfig
233 + >=virtual/rust-1.61.0
234 + || (
235 + (
236 + sys-devel/clang:14
237 + sys-devel/llvm:14
238 + clang? (
239 + =sys-devel/lld-14*
240 + pgo? ( =sys-libs/compiler-rt-sanitizers-14*[profile] )
241 + )
242 + )
243 + (
244 + sys-devel/clang:13
245 + sys-devel/llvm:13
246 + clang? (
247 + =sys-devel/lld-13*
248 + pgo? ( =sys-libs/compiler-rt-sanitizers-13*[profile] )
249 + )
250 + )
251 + )
252 + amd64? ( >=dev-lang/nasm-2.14 )
253 + x86? ( >=dev-lang/nasm-2.14 )"
254 +COMMON_DEPEND="${FF_ONLY_DEPEND}
255 + dev-libs/atk
256 + dev-libs/expat
257 + dev-libs/glib:2
258 + dev-libs/libffi:=
259 + >=dev-libs/nss-3.82
260 + >=dev-libs/nspr-4.34.1
261 + media-libs/alsa-lib
262 + media-libs/fontconfig
263 + media-libs/freetype
264 + media-libs/mesa
265 + media-video/ffmpeg
266 + sys-libs/zlib
267 + virtual/freedesktop-icon-theme
268 + x11-libs/cairo
269 + x11-libs/gdk-pixbuf
270 + x11-libs/pango
271 + x11-libs/pixman
272 + dbus? (
273 + dev-libs/dbus-glib
274 + sys-apps/dbus
275 + )
276 + jack? ( virtual/jack )
277 + libproxy? ( net-libs/libproxy )
278 + selinux? ( sec-policy/selinux-mozilla )
279 + sndio? ( >=media-sound/sndio-1.8.0-r1 )
280 + screencast? ( media-video/pipewire:= )
281 + system-av1? (
282 + >=media-libs/dav1d-1.0.0:=
283 + >=media-libs/libaom-1.0.0:=
284 + )
285 + system-harfbuzz? (
286 + >=media-gfx/graphite2-1.3.13
287 + >=media-libs/harfbuzz-2.8.1:0=
288 + )
289 + system-icu? ( >=dev-libs/icu-71.1:= )
290 + system-jpeg? ( >=media-libs/libjpeg-turbo-1.2.1 )
291 + system-libevent? ( >=dev-libs/libevent-2.0:0=[threads] )
292 + system-libvpx? ( >=media-libs/libvpx-1.8.2:0=[postproc] )
293 + system-png? ( >=media-libs/libpng-1.6.35:0=[apng] )
294 + system-webp? ( >=media-libs/libwebp-1.1.0:0= )
295 + wayland? (
296 + >=media-libs/libepoxy-1.5.10-r1
297 + x11-libs/gtk+:3[wayland]
298 + x11-libs/libdrm
299 + x11-libs/libxkbcommon[wayland]
300 + )
301 + wifi? (
302 + kernel_linux? (
303 + dev-libs/dbus-glib
304 + net-misc/networkmanager
305 + sys-apps/dbus
306 + )
307 + )
308 + X? (
309 + virtual/opengl
310 + x11-libs/cairo[X]
311 + x11-libs/gtk+:3[X]
312 + x11-libs/libX11
313 + x11-libs/libXcomposite
314 + x11-libs/libXdamage
315 + x11-libs/libXext
316 + x11-libs/libXfixes
317 + x11-libs/libxkbcommon[X]
318 + x11-libs/libXrandr
319 + x11-libs/libXtst
320 + x11-libs/libxcb:=
321 + )"
322 +RDEPEND="${COMMON_DEPEND}
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 +DEPEND="${COMMON_DEPEND}
332 + pulseaudio? (
333 + || (
334 + media-sound/pulseaudio
335 + >=media-sound/apulse-0.1.12-r4[sdk]
336 + )
337 + )
338 + X? (
339 + x11-libs/libICE
340 + x11-libs/libSM
341 + )"
342 +
343 +S="${WORKDIR}/${PN}-${PV%_*}"
344 +
345 +# Allow MOZ_GMP_PLUGIN_LIST to be set in an eclass or
346 +# overridden in the enviromnent (advanced hackers only)
347 +if [[ -z "${MOZ_GMP_PLUGIN_LIST+set}" ]] ; then
348 + MOZ_GMP_PLUGIN_LIST=( gmp-gmpopenh264 gmp-widevinecdm )
349 +fi
350 +
351 +llvm_check_deps() {
352 + if ! has_version -b "sys-devel/clang:${LLVM_SLOT}" ; then
353 + einfo "sys-devel/clang:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
354 + return 1
355 + fi
356 +
357 + if use clang ; then
358 + if ! has_version -b "=sys-devel/lld-${LLVM_SLOT}*" ; then
359 + einfo "=sys-devel/lld-${LLVM_SLOT}* is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
360 + return 1
361 + fi
362 +
363 + if use pgo ; then
364 + if ! has_version -b "=sys-libs/compiler-rt-sanitizers-${LLVM_SLOT}*" ; then
365 + einfo "=sys-libs/compiler-rt-sanitizers-${LLVM_SLOT}* is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
366 + return 1
367 + fi
368 + fi
369 + fi
370 +
371 + einfo "Using LLVM slot ${LLVM_SLOT} to build" >&2
372 +}
373 +
374 +MOZ_LANGS=(
375 + af ar ast be bg br ca cak cs cy da de dsb
376 + el en-CA en-GB en-US es-AR es-ES et eu
377 + fi fr fy-NL ga-IE gd gl he hr hsb hu
378 + id is it ja ka kab kk ko lt lv ms nb-NO nl nn-NO
379 + pa-IN pl pt-BR pt-PT rm ro ru
380 + sk sl sq sr sv-SE th tr uk uz vi zh-CN zh-TW
381 +)
382 +
383 +# Firefox-only LANGS
384 +MOZ_LANGS+=( ach )
385 +MOZ_LANGS+=( an )
386 +MOZ_LANGS+=( az )
387 +MOZ_LANGS+=( bn )
388 +MOZ_LANGS+=( bs )
389 +MOZ_LANGS+=( ca-valencia )
390 +MOZ_LANGS+=( eo )
391 +MOZ_LANGS+=( es-CL )
392 +MOZ_LANGS+=( es-MX )
393 +MOZ_LANGS+=( fa )
394 +MOZ_LANGS+=( ff )
395 +MOZ_LANGS+=( gn )
396 +MOZ_LANGS+=( gu-IN )
397 +MOZ_LANGS+=( hi-IN )
398 +MOZ_LANGS+=( hy-AM )
399 +MOZ_LANGS+=( ia )
400 +MOZ_LANGS+=( km )
401 +MOZ_LANGS+=( kn )
402 +MOZ_LANGS+=( lij )
403 +MOZ_LANGS+=( mk )
404 +MOZ_LANGS+=( mr )
405 +MOZ_LANGS+=( my )
406 +MOZ_LANGS+=( ne-NP )
407 +MOZ_LANGS+=( oc )
408 +MOZ_LANGS+=( sco )
409 +MOZ_LANGS+=( si )
410 +MOZ_LANGS+=( son )
411 +MOZ_LANGS+=( szl )
412 +MOZ_LANGS+=( ta )
413 +MOZ_LANGS+=( te )
414 +MOZ_LANGS+=( tl )
415 +MOZ_LANGS+=( trs )
416 +MOZ_LANGS+=( ur )
417 +MOZ_LANGS+=( xh )
418 +
419 +mozilla_set_globals() {
420 + # https://bugs.gentoo.org/587334
421 + local MOZ_TOO_REGIONALIZED_FOR_L10N=(
422 + fy-NL ga-IE gu-IN hi-IN hy-AM nb-NO ne-NP nn-NO pa-IN sv-SE
423 + )
424 +
425 + local lang xflag
426 + for lang in "${MOZ_LANGS[@]}" ; do
427 + # en and en_US are handled internally
428 + if [[ ${lang} == en ]] || [[ ${lang} == en-US ]] ; then
429 + continue
430 + fi
431 +
432 + # strip region subtag if $lang is in the list
433 + if has ${lang} "${MOZ_TOO_REGIONALIZED_FOR_L10N[@]}" ; then
434 + xflag=${lang%%-*}
435 + else
436 + xflag=${lang}
437 + fi
438 +
439 + SRC_URI+=" l10n_${xflag/[_@]/-}? ("
440 + SRC_URI+=" ${MOZ_SRC_BASE_URI}/linux-x86_64/xpi/${lang}.xpi -> ${MOZ_P_DISTFILES}-${lang}.xpi"
441 + SRC_URI+=" )"
442 + IUSE+=" l10n_${xflag/[_@]/-}"
443 + done
444 +}
445 +mozilla_set_globals
446 +
447 +moz_clear_vendor_checksums() {
448 + debug-print-function ${FUNCNAME} "$@"
449 +
450 + if [[ ${#} -ne 1 ]] ; then
451 + die "${FUNCNAME} requires exact one argument"
452 + fi
453 +
454 + einfo "Clearing cargo checksums for ${1} ..."
455 +
456 + sed -i \
457 + -e 's/\("files":{\)[^}]*/\1/' \
458 + "${S}"/third_party/rust/${1}/.cargo-checksum.json \
459 + || die
460 +}
461 +
462 +moz_install_xpi() {
463 + debug-print-function ${FUNCNAME} "$@"
464 +
465 + if [[ ${#} -lt 2 ]] ; then
466 + die "${FUNCNAME} requires at least two arguments"
467 + fi
468 +
469 + local DESTDIR=${1}
470 + shift
471 +
472 + insinto "${DESTDIR}"
473 +
474 + local emid xpi_file xpi_tmp_dir
475 + for xpi_file in "${@}" ; do
476 + emid=
477 + xpi_tmp_dir=$(mktemp -d --tmpdir="${T}")
478 +
479 + # Unpack XPI
480 + unzip -qq "${xpi_file}" -d "${xpi_tmp_dir}" || die
481 +
482 + # Determine extension ID
483 + if [[ -f "${xpi_tmp_dir}/install.rdf" ]] ; then
484 + emid=$(sed -n -e '/install-manifest/,$ { /em:id/!d; s/.*[\">]\([^\"<>]*\)[\"<].*/\1/; p; q }' "${xpi_tmp_dir}/install.rdf")
485 + [[ -z "${emid}" ]] && die "failed to determine extension id from install.rdf"
486 + elif [[ -f "${xpi_tmp_dir}/manifest.json" ]] ; then
487 + emid=$(sed -n -e 's/.*"id": "\([^"]*\)".*/\1/p' "${xpi_tmp_dir}/manifest.json")
488 + [[ -z "${emid}" ]] && die "failed to determine extension id from manifest.json"
489 + else
490 + die "failed to determine extension id"
491 + fi
492 +
493 + einfo "Installing ${emid}.xpi into ${ED}${DESTDIR} ..."
494 + newins "${xpi_file}" "${emid}.xpi"
495 + done
496 +}
497 +
498 +mozconfig_add_options_ac() {
499 + debug-print-function ${FUNCNAME} "$@"
500 +
501 + if [[ ${#} -lt 2 ]] ; then
502 + die "${FUNCNAME} requires at least two arguments"
503 + fi
504 +
505 + local reason=${1}
506 + shift
507 +
508 + local option
509 + for option in ${@} ; do
510 + echo "ac_add_options ${option} # ${reason}" >>${MOZCONFIG}
511 + done
512 +}
513 +
514 +mozconfig_add_options_mk() {
515 + debug-print-function ${FUNCNAME} "$@"
516 +
517 + if [[ ${#} -lt 2 ]] ; then
518 + die "${FUNCNAME} requires at least two arguments"
519 + fi
520 +
521 + local reason=${1}
522 + shift
523 +
524 + local option
525 + for option in ${@} ; do
526 + echo "mk_add_options ${option} # ${reason}" >>${MOZCONFIG}
527 + done
528 +}
529 +
530 +mozconfig_use_enable() {
531 + debug-print-function ${FUNCNAME} "$@"
532 +
533 + if [[ ${#} -lt 1 ]] ; then
534 + die "${FUNCNAME} requires at least one arguments"
535 + fi
536 +
537 + local flag=$(use_enable "${@}")
538 + mozconfig_add_options_ac "$(use ${1} && echo +${1} || echo -${1})" "${flag}"
539 +}
540 +
541 +mozconfig_use_with() {
542 + debug-print-function ${FUNCNAME} "$@"
543 +
544 + if [[ ${#} -lt 1 ]] ; then
545 + die "${FUNCNAME} requires at least one arguments"
546 + fi
547 +
548 + local flag=$(use_with "${@}")
549 + mozconfig_add_options_ac "$(use ${1} && echo +${1} || echo -${1})" "${flag}"
550 +}
551 +
552 +pkg_pretend() {
553 + if [[ ${MERGE_TYPE} != binary ]] ; then
554 + if use pgo ; then
555 + if ! has usersandbox $FEATURES ; then
556 + die "You must enable usersandbox as X server can not run as root!"
557 + fi
558 + fi
559 +
560 + # Ensure we have enough disk space to compile
561 + if use pgo || use lto || use debug ; then
562 + CHECKREQS_DISK_BUILD="13500M"
563 + else
564 + CHECKREQS_DISK_BUILD="6600M"
565 + fi
566 +
567 + check-reqs_pkg_pretend
568 + fi
569 +}
570 +
571 +pkg_setup() {
572 + if [[ ${MERGE_TYPE} != binary ]] ; then
573 + if use pgo ; then
574 + if ! has userpriv ${FEATURES} ; then
575 + eerror "Building ${PN} with USE=pgo and FEATURES=-userpriv is not supported!"
576 + fi
577 + fi
578 +
579 + # Ensure we have enough disk space to compile
580 + if use pgo || use lto || use debug ; then
581 + CHECKREQS_DISK_BUILD="13500M"
582 + else
583 + CHECKREQS_DISK_BUILD="6400M"
584 + fi
585 +
586 + check-reqs_pkg_setup
587 +
588 + llvm_pkg_setup
589 +
590 + if use clang && use lto ; then
591 + local version_lld=$(ld.lld --version 2>/dev/null | awk '{ print $2 }')
592 + [[ -n ${version_lld} ]] && version_lld=$(ver_cut 1 "${version_lld}")
593 + [[ -z ${version_lld} ]] && die "Failed to read ld.lld version!"
594 +
595 + local version_llvm_rust=$(rustc -Vv 2>/dev/null | grep -F -- 'LLVM version:' | awk '{ print $3 }')
596 + [[ -n ${version_llvm_rust} ]] && version_llvm_rust=$(ver_cut 1 "${version_llvm_rust}")
597 + [[ -z ${version_llvm_rust} ]] && die "Failed to read used LLVM version from rustc!"
598 +
599 + if ver_test "${version_lld}" -ne "${version_llvm_rust}" ; then
600 + eerror "Rust is using LLVM version ${version_llvm_rust} but ld.lld version belongs to LLVM version ${version_lld}."
601 + eerror "You will be unable to link ${CATEGORY}/${PN}. To proceed you have the following options:"
602 + eerror " - Manually switch rust version using 'eselect rust' to match used LLVM version"
603 + eerror " - Switch to dev-lang/rust[system-llvm] which will guarantee matching version"
604 + eerror " - Build ${CATEGORY}/${PN} without USE=lto"
605 + eerror " - Rebuild lld with llvm that was used to build rust (may need to rebuild the whole "
606 + eerror " llvm/clang/lld/rust chain depending on your @world updates)"
607 + die "LLVM version used by Rust (${version_llvm_rust}) does not match with ld.lld version (${version_lld})!"
608 + fi
609 + fi
610 +
611 + 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 + # Update 105.0: "/proc/self/oom_score_adj" isn't enough anymore with pgo, but not sure
629 + # whether that's due to better OOM handling by Firefox (bmo#1771712), or portage
630 + # (PORTAGE_SCHEDULING_POLICY) update...
631 + addpredict /proc
632 +
633 + # May need a wider addpredict when using wayland+pgo.
634 + # addpredict /dev/dri
635 +
636 + # Allow access to GPU during PGO run
637 + local ati_cards mesa_cards nvidia_cards render_cards
638 + shopt -s nullglob
639 +
640 + ati_cards=$(echo -n /dev/ati/card* | sed 's/ /:/g')
641 + if [[ -n "${ati_cards}" ]] ; then
642 + addpredict "${ati_cards}"
643 + fi
644 +
645 + mesa_cards=$(echo -n /dev/dri/card* | sed 's/ /:/g')
646 + if [[ -n "${mesa_cards}" ]] ; then
647 + addpredict "${mesa_cards}"
648 + fi
649 +
650 + nvidia_cards=$(echo -n /dev/nvidia* | sed 's/ /:/g')
651 + if [[ -n "${nvidia_cards}" ]] ; then
652 + addpredict "${nvidia_cards}"
653 + fi
654 +
655 + render_cards=$(echo -n /dev/dri/renderD128* | sed 's/ /:/g')
656 + if [[ -n "${render_cards}" ]] ; then
657 + addpredict "${render_cards}"
658 + fi
659 +
660 + shopt -u nullglob
661 + fi
662 +
663 + if ! mountpoint -q /dev/shm ; then
664 + # If /dev/shm is not available, configure is known to fail with
665 + # a traceback report referencing /usr/lib/pythonN.N/multiprocessing/synchronize.py
666 + ewarn "/dev/shm is not mounted -- expect build failures!"
667 + fi
668 +
669 + # Google API keys (see http://www.chromium.org/developers/how-tos/api-keys)
670 + # Note: These are for Gentoo Linux use ONLY. For your own distribution, please
671 + # get your own set of keys.
672 + if [[ -z "${MOZ_API_KEY_GOOGLE+set}" ]] ; then
673 + MOZ_API_KEY_GOOGLE="AIzaSyDEAOvatFogGaPi0eTgsV_ZlEzx0ObmepsMzfAc"
674 + fi
675 +
676 + if [[ -z "${MOZ_API_KEY_LOCATION+set}" ]] ; then
677 + MOZ_API_KEY_LOCATION="AIzaSyB2h2OuRgGaPicUgy5N-5hsZqiPW6sH3n_rptiQ"
678 + fi
679 +
680 + # Mozilla API keys (see https://location.services.mozilla.com/api)
681 + # Note: These are for Gentoo Linux use ONLY. For your own distribution, please
682 + # get your own set of keys.
683 + if [[ -z "${MOZ_API_KEY_MOZILLA+set}" ]] ; then
684 + MOZ_API_KEY_MOZILLA="edb3d487-3a84-46m0ap1e3-9dfd-92b5efaaa005"
685 + fi
686 +
687 + # Ensure we use C locale when building, bug #746215
688 + export LC_ALL=C
689 + fi
690 +
691 + CONFIG_CHECK="~SECCOMP"
692 + WARNING_SECCOMP="CONFIG_SECCOMP not set! This system will be unable to play DRM-protected content."
693 + linux-info_pkg_setup
694 +}
695 +
696 +src_unpack() {
697 + local _lp_dir="${WORKDIR}/language_packs"
698 + local _src_file
699 +
700 + if [[ ! -d "${_lp_dir}" ]] ; then
701 + mkdir "${_lp_dir}" || die
702 + fi
703 +
704 + for _src_file in ${A} ; do
705 + if [[ ${_src_file} == *.xpi ]]; then
706 + cp "${DISTDIR}/${_src_file}" "${_lp_dir}" || die "Failed to copy '${_src_file}' to '${_lp_dir}'!"
707 + else
708 + unpack ${_src_file}
709 + fi
710 + done
711 +}
712 +
713 +src_prepare() {
714 + use lto && rm -v "${WORKDIR}"/firefox-patches/*-LTO-Only-enable-LTO-*.patch
715 + ! use ppc64 && rm -v "${WORKDIR}"/firefox-patches/*bmo-1775202-ppc64*.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 audioipc
752 + moz_clear_vendor_checksums audioipc-client
753 + moz_clear_vendor_checksums audioipc-server
754 +
755 + # Create build dir
756 + BUILD_DIR="${WORKDIR}/${PN}_build"
757 + mkdir -p "${BUILD_DIR}" || die
758 +
759 + # Write API keys to disk
760 + echo -n "${MOZ_API_KEY_GOOGLE//gGaPi/}" > "${S}"/api-google.key || die
761 + echo -n "${MOZ_API_KEY_LOCATION//gGaPi/}" > "${S}"/api-location.key || die
762 + echo -n "${MOZ_API_KEY_MOZILLA//m0ap1/}" > "${S}"/api-mozilla.key || die
763 +
764 + xdg_environment_reset
765 +}
766 +
767 +src_configure() {
768 + # Show flags set at the beginning
769 + einfo "Current BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}"
770 + einfo "Current CFLAGS:\t\t${CFLAGS:-no value set}"
771 + einfo "Current CXXFLAGS:\t\t${CXXFLAGS:-no value set}"
772 + einfo "Current LDFLAGS:\t\t${LDFLAGS:-no value set}"
773 + einfo "Current RUSTFLAGS:\t\t${RUSTFLAGS:-no value set}"
774 +
775 + local have_switched_compiler=
776 + if use clang && ! tc-is-clang ; then
777 + # Force clang
778 + einfo "Enforcing the use of clang due to USE=clang ..."
779 + have_switched_compiler=yes
780 + AR=llvm-ar
781 + AS=llvm-as
782 + CC=${CHOST}-clang
783 + CXX=${CHOST}-clang++
784 + NM=llvm-nm
785 + RANLIB=llvm-ranlib
786 + elif ! use clang && ! tc-is-gcc ; then
787 + # Force gcc
788 + have_switched_compiler=yes
789 + einfo "Enforcing the use of gcc due to USE=-clang ..."
790 + AR=gcc-ar
791 + CC=${CHOST}-gcc
792 + CXX=${CHOST}-g++
793 + NM=gcc-nm
794 + RANLIB=gcc-ranlib
795 + fi
796 +
797 + if [[ -n "${have_switched_compiler}" ]] ; then
798 + # Because we switched active compiler we have to ensure
799 + # that no unsupported flags are set
800 + strip-unsupported-flags
801 + fi
802 +
803 + # Ensure we use correct toolchain
804 + export HOST_CC="$(tc-getBUILD_CC)"
805 + export HOST_CXX="$(tc-getBUILD_CXX)"
806 + tc-export CC CXX LD AR NM OBJDUMP RANLIB PKG_CONFIG
807 +
808 + # Pass the correct toolchain paths through cbindgen
809 + if tc-is-cross-compiler ; then
810 + export BINDGEN_CFLAGS="${SYSROOT:+--sysroot=${ESYSROOT}} --target=${CHOST} ${BINDGEN_CFLAGS-}"
811 + fi
812 +
813 + # Set MOZILLA_FIVE_HOME
814 + export MOZILLA_FIVE_HOME="/usr/$(get_libdir)/${PN}"
815 +
816 + # python/mach/mach/mixin/process.py fails to detect SHELL
817 + export SHELL="${EPREFIX}/bin/bash"
818 +
819 + # Set state path
820 + export MOZBUILD_STATE_PATH="${BUILD_DIR}"
821 +
822 + # Set MOZCONFIG
823 + export MOZCONFIG="${S}/.mozconfig"
824 +
825 + # Initialize MOZCONFIG
826 + mozconfig_add_options_ac '' --enable-application=browser
827 +
828 + # Set Gentoo defaults
829 + export MOZILLA_OFFICIAL=1
830 +
831 + mozconfig_add_options_ac 'Gentoo default' \
832 + --allow-addon-sideload \
833 + --disable-cargo-incremental \
834 + --disable-crashreporter \
835 + --disable-gpsd \
836 + --disable-install-strip \
837 + --disable-parental-controls \
838 + --disable-strip \
839 + --disable-updater \
840 + --enable-negotiateauth \
841 + --enable-new-pass-manager \
842 + --enable-official-branding \
843 + --enable-release \
844 + --enable-system-ffi \
845 + --enable-system-pixman \
846 + --enable-system-policies \
847 + --host="${CBUILD:-${CHOST}}" \
848 + --libdir="${EPREFIX}/usr/$(get_libdir)" \
849 + --prefix="${EPREFIX}/usr" \
850 + --target="${CHOST}" \
851 + --without-ccache \
852 + --without-wasm-sandboxed-libraries \
853 + --with-intl-api \
854 + --with-libclang-path="$(llvm-config --libdir)" \
855 + --with-system-nspr \
856 + --with-system-nss \
857 + --with-system-zlib \
858 + --with-toolchain-prefix="${CHOST}-" \
859 + --with-unsigned-addon-scopes=app,system \
860 + --x-includes="${ESYSROOT}/usr/include" \
861 + --x-libraries="${ESYSROOT}/usr/$(get_libdir)"
862 +
863 + # Set update channel
864 + local update_channel=release
865 + [[ -n ${MOZ_ESR} ]] && update_channel=esr
866 + mozconfig_add_options_ac '' --update-channel=${update_channel}
867 +
868 + if ! use x86 && [[ ${CHOST} != armv*h* ]] ; then
869 + mozconfig_add_options_ac '' --enable-rust-simd
870 + fi
871 +
872 + # For future keywording: This is currently (97.0) only supported on:
873 + # amd64, arm, arm64 & x86.
874 + # Might want to flip the logic around if Firefox is to support more arches.
875 + if use ppc64; then
876 + mozconfig_add_options_ac '' --disable-sandbox
877 + else
878 + mozconfig_add_options_ac '' --enable-sandbox
879 + fi
880 +
881 + if [[ -s "${S}/api-google.key" ]] ; then
882 + local key_origin="Gentoo default"
883 + if [[ $(cat "${S}/api-google.key" | md5sum | awk '{ print $1 }') != 709560c02f94b41f9ad2c49207be6c54 ]] ; then
884 + key_origin="User value"
885 + fi
886 +
887 + mozconfig_add_options_ac "${key_origin}" \
888 + --with-google-safebrowsing-api-keyfile="${S}/api-google.key"
889 + else
890 + einfo "Building without Google API key ..."
891 + fi
892 +
893 + if [[ -s "${S}/api-location.key" ]] ; then
894 + local key_origin="Gentoo default"
895 + if [[ $(cat "${S}/api-location.key" | md5sum | awk '{ print $1 }') != ffb7895e35dedf832eb1c5d420ac7420 ]] ; then
896 + key_origin="User value"
897 + fi
898 +
899 + mozconfig_add_options_ac "${key_origin}" \
900 + --with-google-location-service-api-keyfile="${S}/api-location.key"
901 + else
902 + einfo "Building without Location API key ..."
903 + fi
904 +
905 + if [[ -s "${S}/api-mozilla.key" ]] ; then
906 + local key_origin="Gentoo default"
907 + if [[ $(cat "${S}/api-mozilla.key" | md5sum | awk '{ print $1 }') != 3927726e9442a8e8fa0e46ccc39caa27 ]] ; then
908 + key_origin="User value"
909 + fi
910 +
911 + mozconfig_add_options_ac "${key_origin}" \
912 + --with-mozilla-api-keyfile="${S}/api-mozilla.key"
913 + else
914 + einfo "Building without Mozilla API key ..."
915 + fi
916 +
917 + mozconfig_use_with system-av1
918 + mozconfig_use_with system-harfbuzz
919 + mozconfig_use_with system-harfbuzz system-graphite2
920 + mozconfig_use_with system-icu
921 + mozconfig_use_with system-jpeg
922 + mozconfig_use_with system-libevent
923 + mozconfig_use_with system-libvpx
924 + mozconfig_use_with system-png
925 + mozconfig_use_with system-webp
926 +
927 + mozconfig_use_enable dbus
928 + mozconfig_use_enable libproxy
929 +
930 + use eme-free && mozconfig_add_options_ac '+eme-free' --disable-eme
931 +
932 + mozconfig_use_enable geckodriver
933 +
934 + if use hardened ; then
935 + mozconfig_add_options_ac "+hardened" --enable-hardening
936 + append-ldflags "-Wl,-z,relro -Wl,-z,now"
937 + fi
938 +
939 + local myaudiobackends=""
940 + use jack && myaudiobackends+="jack,"
941 + use sndio && myaudiobackends+="sndio,"
942 + use pulseaudio && myaudiobackends+="pulseaudio,"
943 + ! use pulseaudio && myaudiobackends+="alsa,"
944 +
945 + mozconfig_add_options_ac '--enable-audio-backends' --enable-audio-backends="${myaudiobackends::-1}"
946 +
947 + mozconfig_use_enable wifi necko-wifi
948 +
949 + if use X && use wayland ; then
950 + mozconfig_add_options_ac '+x11+wayland' --enable-default-toolkit=cairo-gtk3-x11-wayland
951 + elif ! use X && use wayland ; then
952 + mozconfig_add_options_ac '+wayland' --enable-default-toolkit=cairo-gtk3-wayland-only
953 + else
954 + mozconfig_add_options_ac '+x11' --enable-default-toolkit=cairo-gtk3
955 + fi
956 +
957 + if use lto ; then
958 + if use clang ; then
959 + # Upstream only supports lld when using clang
960 + mozconfig_add_options_ac "forcing ld=lld due to USE=clang and USE=lto" --enable-linker=lld
961 +
962 + mozconfig_add_options_ac '+lto' --enable-lto=cross
963 +
964 + else
965 + # ThinLTO is currently broken, see bmo#1644409
966 + mozconfig_add_options_ac '+lto' --enable-lto=full
967 + mozconfig_add_options_ac "linker is set to bfd" --enable-linker=bfd
968 + fi
969 +
970 + if use pgo ; then
971 + mozconfig_add_options_ac '+pgo' MOZ_PGO=1
972 +
973 + if use clang ; then
974 + # Used in build/pgo/profileserver.py
975 + export LLVM_PROFDATA="llvm-profdata"
976 + fi
977 + fi
978 + else
979 + # Avoid auto-magic on linker
980 + if use clang ; then
981 + # This is upstream's default
982 + mozconfig_add_options_ac "forcing ld=lld due to USE=clang" --enable-linker=lld
983 + else
984 + mozconfig_add_options_ac "linker is set to bfd" --enable-linker=bfd
985 + fi
986 + fi
987 +
988 + # LTO flag was handled via configure
989 + filter-flags '-flto*'
990 +
991 + mozconfig_use_enable debug
992 + if use debug ; then
993 + mozconfig_add_options_ac '+debug' --disable-optimize
994 + else
995 + if is-flag '-g*' ; then
996 + if use clang ; then
997 + mozconfig_add_options_ac 'from CFLAGS' --enable-debug-symbols=$(get-flag '-g*')
998 + else
999 + mozconfig_add_options_ac 'from CFLAGS' --enable-debug-symbols
1000 + fi
1001 + else
1002 + mozconfig_add_options_ac 'Gentoo default' --disable-debug-symbols
1003 + fi
1004 +
1005 + if is-flag '-O0' ; then
1006 + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O0
1007 + elif is-flag '-O4' ; then
1008 + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O4
1009 + elif is-flag '-O3' ; then
1010 + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O3
1011 + elif is-flag '-O1' ; then
1012 + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O1
1013 + elif is-flag '-Os' ; then
1014 + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-Os
1015 + else
1016 + mozconfig_add_options_ac "Gentoo default" --enable-optimize=-O2
1017 + fi
1018 + fi
1019 +
1020 + # Debug flag was handled via configure
1021 + filter-flags '-g*'
1022 +
1023 + # Optimization flag was handled via configure
1024 + filter-flags '-O*'
1025 +
1026 + # Modifications to better support ARM, bug #553364
1027 + if use cpu_flags_arm_neon ; then
1028 + mozconfig_add_options_ac '+cpu_flags_arm_neon' --with-fpu=neon
1029 +
1030 + if ! tc-is-clang ; then
1031 + # thumb options aren't supported when using clang, bug 666966
1032 + mozconfig_add_options_ac '+cpu_flags_arm_neon' \
1033 + --with-thumb=yes \
1034 + --with-thumb-interwork=no
1035 + fi
1036 + fi
1037 +
1038 + if [[ ${CHOST} == armv*h* ]] ; then
1039 + mozconfig_add_options_ac 'CHOST=armv*h*' --with-float-abi=hard
1040 +
1041 + if ! use system-libvpx ; then
1042 + sed -i \
1043 + -e "s|softfp|hard|" \
1044 + "${S}"/media/libvpx/moz.build \
1045 + || die
1046 + fi
1047 + fi
1048 +
1049 + if use clang ; then
1050 + # https://bugzilla.mozilla.org/show_bug.cgi?id=1482204
1051 + # https://bugzilla.mozilla.org/show_bug.cgi?id=1483822
1052 + # toolkit/moz.configure Elfhack section: target.cpu in ('arm', 'x86', 'x86_64')
1053 + local disable_elf_hack=
1054 + if use amd64 ; then
1055 + disable_elf_hack=yes
1056 + elif use x86 ; then
1057 + disable_elf_hack=yes
1058 + elif use arm ; then
1059 + disable_elf_hack=yes
1060 + fi
1061 +
1062 + if [[ -n ${disable_elf_hack} ]] ; then
1063 + mozconfig_add_options_ac 'elf-hack is broken when using Clang' --disable-elf-hack
1064 + fi
1065 + elif tc-is-gcc ; then
1066 + if ver_test $(gcc-fullversion) -ge 10 ; then
1067 + einfo "Forcing -fno-tree-loop-vectorize to workaround GCC bug, see bug 758446 ..."
1068 + append-cxxflags -fno-tree-loop-vectorize
1069 + fi
1070 + fi
1071 +
1072 + # Additional ARCH support
1073 + case "${ARCH}" in
1074 + arm)
1075 + # Reduce the memory requirements for linking
1076 + if use clang ; then
1077 + # Nothing to do
1078 + :;
1079 + elif use lto ; then
1080 + append-ldflags -Wl,--no-keep-memory
1081 + else
1082 + append-ldflags -Wl,--no-keep-memory -Wl,--reduce-memory-overheads
1083 + fi
1084 + ;;
1085 + esac
1086 +
1087 + if ! use elibc_glibc ; then
1088 + mozconfig_add_options_ac '!elibc_glibc' --disable-jemalloc
1089 + fi
1090 +
1091 + # Allow elfhack to work in combination with unstripped binaries
1092 + # when they would normally be larger than 2GiB.
1093 + append-ldflags "-Wl,--compress-debug-sections=zlib"
1094 +
1095 + # Make revdep-rebuild.sh happy; Also required for musl
1096 + append-ldflags -Wl,-rpath="${MOZILLA_FIVE_HOME}",--enable-new-dtags
1097 +
1098 + # Pass $MAKEOPTS to build system
1099 + export MOZ_MAKE_FLAGS="${MAKEOPTS}"
1100 +
1101 + # Use system's Python environment
1102 + PIP_NETWORK_INSTALL_RESTRICTED_VIRTUALENVS=mach
1103 +
1104 + if use system-python-libs; then
1105 + export MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE="system"
1106 + else
1107 + export MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE="none"
1108 + fi
1109 +
1110 + # Disable notification when build system has finished
1111 + export MOZ_NOSPAM=1
1112 +
1113 + # Portage sets XARGS environment variable to "xargs -r" by default which
1114 + # breaks build system's check_prog() function which doesn't support arguments
1115 + mozconfig_add_options_ac 'Gentoo default' "XARGS=${EPREFIX}/usr/bin/xargs"
1116 +
1117 + # Set build dir
1118 + mozconfig_add_options_mk 'Gentoo default' "MOZ_OBJDIR=${BUILD_DIR}"
1119 +
1120 + # Show flags we will use
1121 + einfo "Build BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}"
1122 + einfo "Build CFLAGS:\t\t${CFLAGS:-no value set}"
1123 + einfo "Build CXXFLAGS:\t\t${CXXFLAGS:-no value set}"
1124 + einfo "Build LDFLAGS:\t\t${LDFLAGS:-no value set}"
1125 + einfo "Build RUSTFLAGS:\t\t${RUSTFLAGS:-no value set}"
1126 +
1127 + # Handle EXTRA_CONF and show summary
1128 + local ac opt hash reason
1129 +
1130 + # Apply EXTRA_ECONF entries to $MOZCONFIG
1131 + if [[ -n ${EXTRA_ECONF} ]] ; then
1132 + IFS=\! read -a ac <<<${EXTRA_ECONF// --/\!}
1133 + for opt in "${ac[@]}"; do
1134 + mozconfig_add_options_ac "EXTRA_ECONF" --${opt#--}
1135 + done
1136 + fi
1137 +
1138 + echo
1139 + echo "=========================================================="
1140 + echo "Building ${PF} with the following configuration"
1141 + grep ^ac_add_options "${MOZCONFIG}" | while read ac opt hash reason; do
1142 + [[ -z ${hash} || ${hash} == \# ]] \
1143 + || die "error reading mozconfig: ${ac} ${opt} ${hash} ${reason}"
1144 + printf " %-30s %s\n" "${opt}" "${reason:-mozilla.org default}"
1145 + done
1146 + echo "=========================================================="
1147 + echo
1148 +
1149 + ./mach configure || die
1150 +}
1151 +
1152 +src_compile() {
1153 + local virtx_cmd=
1154 +
1155 + if use pgo ; then
1156 + virtx_cmd=virtx
1157 +
1158 + # Reset and cleanup environment variables used by GNOME/XDG
1159 + gnome2_environment_reset
1160 +
1161 + addpredict /root
1162 + fi
1163 +
1164 + if ! use X && use wayland; then
1165 + local -x GDK_BACKEND=wayland
1166 + else
1167 + local -x GDK_BACKEND=x11
1168 + fi
1169 +
1170 + ${virtx_cmd} ./mach build --verbose \
1171 + || die
1172 +}
1173 +
1174 +src_install() {
1175 + # xpcshell is getting called during install
1176 + pax-mark m \
1177 + "${BUILD_DIR}"/dist/bin/xpcshell \
1178 + "${BUILD_DIR}"/dist/bin/${PN} \
1179 + "${BUILD_DIR}"/dist/bin/plugin-container
1180 +
1181 + DESTDIR="${D}" ./mach install || die
1182 +
1183 + # Upstream cannot ship symlink but we can (bmo#658850)
1184 + rm "${ED}${MOZILLA_FIVE_HOME}/${PN}-bin" || die
1185 + dosym ${PN} ${MOZILLA_FIVE_HOME}/${PN}-bin
1186 +
1187 + # Don't install llvm-symbolizer from sys-devel/llvm package
1188 + if [[ -f "${ED}${MOZILLA_FIVE_HOME}/llvm-symbolizer" ]] ; then
1189 + rm -v "${ED}${MOZILLA_FIVE_HOME}/llvm-symbolizer" || die
1190 + fi
1191 +
1192 + # Install policy (currently only used to disable application updates)
1193 + insinto "${MOZILLA_FIVE_HOME}/distribution"
1194 + newins "${FILESDIR}"/distribution.ini distribution.ini
1195 + newins "${FILESDIR}"/disable-auto-update.policy.json policies.json
1196 +
1197 + # Install system-wide preferences
1198 + local PREFS_DIR="${MOZILLA_FIVE_HOME}/browser/defaults/preferences"
1199 + insinto "${PREFS_DIR}"
1200 + newins "${FILESDIR}"/gentoo-default-prefs.js gentoo-prefs.js
1201 +
1202 + local GENTOO_PREFS="${ED}${PREFS_DIR}/gentoo-prefs.js"
1203 +
1204 + # Set dictionary path to use system hunspell
1205 + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set spellchecker.dictionary_path pref"
1206 + pref("spellchecker.dictionary_path", "${EPREFIX}/usr/share/myspell");
1207 + EOF
1208 +
1209 + # Force hwaccel prefs if USE=hwaccel is enabled
1210 + if use hwaccel ; then
1211 + cat "${FILESDIR}"/gentoo-hwaccel-prefs.js-r2 \
1212 + >>"${GENTOO_PREFS}" \
1213 + || die "failed to add prefs to force hardware-accelerated rendering to all-gentoo.js"
1214 +
1215 + if use wayland; then
1216 + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set hwaccel wayland prefs"
1217 + pref("gfx.x11-egl.force-enabled", false);
1218 + EOF
1219 + else
1220 + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set hwaccel x11 prefs"
1221 + pref("gfx.x11-egl.force-enabled", true);
1222 + EOF
1223 + fi
1224 + fi
1225 +
1226 + if ! use gmp-autoupdate ; then
1227 + local plugin
1228 + for plugin in "${MOZ_GMP_PLUGIN_LIST[@]}" ; do
1229 + einfo "Disabling auto-update for ${plugin} plugin ..."
1230 + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to disable autoupdate for ${plugin} media plugin"
1231 + pref("media.${plugin}.autoupdate", false);
1232 + EOF
1233 + done
1234 + fi
1235 +
1236 + # Force the graphite pref if USE=system-harfbuzz is enabled, since the pref cannot disable it
1237 + if use system-harfbuzz ; then
1238 + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set gfx.font_rendering.graphite.enabled pref"
1239 + sticky_pref("gfx.font_rendering.graphite.enabled", true);
1240 + EOF
1241 + fi
1242 +
1243 + # Install language packs
1244 + local langpacks=( $(find "${WORKDIR}/language_packs" -type f -name '*.xpi') )
1245 + if [[ -n "${langpacks}" ]] ; then
1246 + moz_install_xpi "${MOZILLA_FIVE_HOME}/distribution/extensions" "${langpacks[@]}"
1247 + fi
1248 +
1249 + # Install geckodriver
1250 + if use geckodriver ; then
1251 + einfo "Installing geckodriver into ${ED}${MOZILLA_FIVE_HOME} ..."
1252 + pax-mark m "${BUILD_DIR}"/dist/bin/geckodriver
1253 + exeinto "${MOZILLA_FIVE_HOME}"
1254 + doexe "${BUILD_DIR}"/dist/bin/geckodriver
1255 +
1256 + dosym ${MOZILLA_FIVE_HOME}/geckodriver /usr/bin/geckodriver
1257 + fi
1258 +
1259 + # Install icons
1260 + local icon_srcdir="${S}/browser/branding/official"
1261 + local icon_symbolic_file="${FILESDIR}/icon/firefox-symbolic.svg"
1262 +
1263 + insinto /usr/share/icons/hicolor/symbolic/apps
1264 + newins "${icon_symbolic_file}" ${PN}-symbolic.svg
1265 +
1266 + local icon size
1267 + for icon in "${icon_srcdir}"/default*.png ; do
1268 + size=${icon%.png}
1269 + size=${size##*/default}
1270 +
1271 + if [[ ${size} -eq 48 ]] ; then
1272 + newicon "${icon}" ${PN}.png
1273 + fi
1274 +
1275 + newicon -s ${size} "${icon}" ${PN}.png
1276 + done
1277 +
1278 + # Install menu
1279 + local app_name="Mozilla ${MOZ_PN^}"
1280 + local desktop_file="${FILESDIR}/icon/${PN}-r3.desktop"
1281 + local desktop_filename="${PN}.desktop"
1282 + local exec_command="${PN}"
1283 + local icon="${PN}"
1284 + local use_wayland="false"
1285 +
1286 + if use wayland ; then
1287 + use_wayland="true"
1288 + fi
1289 +
1290 + cp "${desktop_file}" "${WORKDIR}/${PN}.desktop-template" || die
1291 +
1292 + sed -i \
1293 + -e "s:@NAME@:${app_name}:" \
1294 + -e "s:@EXEC@:${exec_command}:" \
1295 + -e "s:@ICON@:${icon}:" \
1296 + "${WORKDIR}/${PN}.desktop-template" \
1297 + || die
1298 +
1299 + newmenu "${WORKDIR}/${PN}.desktop-template" "${desktop_filename}"
1300 +
1301 + rm "${WORKDIR}/${PN}.desktop-template" || die
1302 +
1303 + # Install wrapper script
1304 + [[ -f "${ED}/usr/bin/${PN}" ]] && rm "${ED}/usr/bin/${PN}"
1305 + newbin "${FILESDIR}/${PN}-r1.sh" ${PN}
1306 +
1307 + # Update wrapper
1308 + sed -i \
1309 + -e "s:@PREFIX@:${EPREFIX}/usr:" \
1310 + -e "s:@MOZ_FIVE_HOME@:${MOZILLA_FIVE_HOME}:" \
1311 + -e "s:@APULSELIB_DIR@:${apulselib}:" \
1312 + -e "s:@DEFAULT_WAYLAND@:${use_wayland}:" \
1313 + "${ED}/usr/bin/${PN}" \
1314 + || die
1315 +}
1316 +
1317 +pkg_preinst() {
1318 + xdg_pkg_preinst
1319 +
1320 + # If the apulse libs are available in MOZILLA_FIVE_HOME then apulse
1321 + # does not need to be forced into the LD_LIBRARY_PATH
1322 + if use pulseaudio && has_version ">=media-sound/apulse-0.1.12-r4" ; then
1323 + einfo "APULSE found; Generating library symlinks for sound support ..."
1324 + local lib
1325 + pushd "${ED}${MOZILLA_FIVE_HOME}" &>/dev/null || die
1326 + for lib in ../apulse/libpulse{.so{,.0},-simple.so{,.0}} ; do
1327 + # A quickpkg rolled by hand will grab symlinks as part of the package,
1328 + # so we need to avoid creating them if they already exist.
1329 + if [[ ! -L ${lib##*/} ]] ; then
1330 + ln -s "${lib}" ${lib##*/} || die
1331 + fi
1332 + done
1333 + popd &>/dev/null || die
1334 + fi
1335 +}
1336 +
1337 +pkg_postinst() {
1338 + xdg_pkg_postinst
1339 +
1340 + if ! use gmp-autoupdate ; then
1341 + elog "USE='-gmp-autoupdate' has disabled the following plugins from updating or"
1342 + elog "installing into new profiles:"
1343 + local plugin
1344 + for plugin in "${MOZ_GMP_PLUGIN_LIST[@]}" ; do
1345 + elog "\t ${plugin}"
1346 + done
1347 + elog
1348 + fi
1349 +
1350 + if use pulseaudio && has_version ">=media-sound/apulse-0.1.12-r4" ; then
1351 + elog "Apulse was detected at merge time on this system and so it will always be"
1352 + elog "used for sound. If you wish to use pulseaudio instead please unmerge"
1353 + elog "media-sound/apulse."
1354 + elog
1355 + fi
1356 +
1357 + local show_doh_information
1358 + local show_normandy_information
1359 + local show_shortcut_information
1360 +
1361 + if [[ -z "${REPLACING_VERSIONS}" ]] ; then
1362 + # New install; Tell user that DoH is disabled by default
1363 + show_doh_information=yes
1364 + show_normandy_information=yes
1365 + show_shortcut_information=no
1366 + else
1367 + local replacing_version
1368 + for replacing_version in ${REPLACING_VERSIONS} ; do
1369 + if ver_test "${replacing_version}" -lt 91.0 ; then
1370 + # Tell user that we no longer install a shortcut
1371 + # per supported display protocol
1372 + show_shortcut_information=yes
1373 + fi
1374 + done
1375 + fi
1376 +
1377 + if [[ -n "${show_doh_information}" ]] ; then
1378 + elog
1379 + elog "Note regarding Trusted Recursive Resolver aka DNS-over-HTTPS (DoH):"
1380 + elog "Due to privacy concerns (encrypting DNS might be a good thing, sending all"
1381 + elog "DNS traffic to Cloudflare by default is not a good idea and applications"
1382 + elog "should respect OS configured settings), \"network.trr.mode\" was set to 5"
1383 + elog "(\"Off by choice\") by default."
1384 + elog "You can enable DNS-over-HTTPS in ${PN^}'s preferences."
1385 + fi
1386 +
1387 + # bug 713782
1388 + if [[ -n "${show_normandy_information}" ]] ; then
1389 + elog
1390 + elog "Upstream operates a service named Normandy which allows Mozilla to"
1391 + elog "push changes for default settings or even install new add-ons remotely."
1392 + elog "While this can be useful to address problems like 'Armagadd-on 2.0' or"
1393 + elog "revert previous decisions to disable TLS 1.0/1.1, privacy and security"
1394 + elog "concerns prevail, which is why we have switched off the use of this"
1395 + elog "service by default."
1396 + elog
1397 + elog "To re-enable this service set"
1398 + elog
1399 + elog " app.normandy.enabled=true"
1400 + elog
1401 + elog "in about:config."
1402 + fi
1403 +
1404 + if [[ -n "${show_shortcut_information}" ]] ; then
1405 + elog
1406 + elog "Since ${PN}-91.0 we no longer install multiple shortcuts for"
1407 + elog "each supported display protocol. Instead we will only install"
1408 + elog "one generic Mozilla ${PN^} shortcut."
1409 + elog "If you still want to be able to select between running Mozilla ${PN^}"
1410 + elog "on X11 or Wayland, you have to re-create these shortcuts on your own."
1411 + fi
1412 +
1413 + # bug 835078
1414 + if use hwaccel && has_version "x11-drivers/xf86-video-nouveau"; then
1415 + ewarn "You have nouveau drivers installed in your system and 'hwaccel' "
1416 + ewarn "enabled for Firefox. Nouveau / your GPU might not support the "
1417 + ewarn "required EGL, so either disable 'hwaccel' or try the workaround "
1418 + ewarn "explained in https://bugs.gentoo.org/835078#c5 if Firefox crashes."
1419 + fi
1420 +
1421 + elog
1422 + elog "Unfortunately Firefox-100.0 breaks compatibility with some sites using "
1423 + elog "useragent checks. To temporarily fix this, enter about:config and modify "
1424 + elog "network.http.useragent.forceVersion preference to \"99\"."
1425 + elog "Or install an addon to change your useragent."
1426 + elog "See: https://support.mozilla.org/en-US/kb/difficulties-opening-or-using-website-firefox-100"
1427 + elog
1428 +}