summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoonas Niilola <juippis@gentoo.org>2023-08-17 12:16:34 +0300
committerJoonas Niilola <juippis@gentoo.org>2023-08-17 12:16:34 +0300
commit8282ad68d79e95724306dfd4cd597c5bab7b71d3 (patch)
tree3dc28a92485ca5d0e73c6e90d30285573d441829 /www-client
parentsci-physics/pythia: update SRC_URI (diff)
downloadgentoo-8282ad68d79e95724306dfd4cd597c5bab7b71d3.tar.gz
gentoo-8282ad68d79e95724306dfd4cd597c5bab7b71d3.tar.bz2
gentoo-8282ad68d79e95724306dfd4cd597c5bab7b71d3.zip
www-client/firefox: add 116.0.3
- include latest upstream vaapi/hwdec patches from upcoming 117 and 118 releases. Closes: https://bugs.gentoo.org/911941 Signed-off-by: Joonas Niilola <juippis@gentoo.org>
Diffstat (limited to 'www-client')
-rw-r--r--www-client/firefox/Manifest101
-rw-r--r--www-client/firefox/firefox-116.0.3.ebuild1466
2 files changed, 1567 insertions, 0 deletions
diff --git a/www-client/firefox/Manifest b/www-client/firefox/Manifest
index aa2d183d22b3..12569d99036f 100644
--- a/www-client/firefox/Manifest
+++ b/www-client/firefox/Manifest
@@ -297,6 +297,7 @@ DIST firefox-115.1.0esr-zh-TW.xpi 597818 BLAKE2B e56d1306d9a0ca2638d6ff3ef5c8553
DIST firefox-115.1.0esr.source.tar.xz 507060904 BLAKE2B 4da0535e05e193d0d7509790f3a6b0f8dd4dd809bdfab14da357ef06ce2b665d89a5620994393d6bdbe6a8fba1db55157063b7760fdd2e75f2bddca86f9992b4 SHA512 b2abb706fef2f1aa9451e7ac7c2affa0cc92cf2b0c6629f106a94c62017476380c7b6f406861fa468f60ea898d8402f534ad74844eb3932741fbd981cec66592
DIST firefox-115esr-patches-04.tar.xz 14608 BLAKE2B 78143b2ed2f0c71bef84c26ebbb9f29912e6d8bb2f513cf95f5d97203efb556cb339bbb1f61666300786eb5b1f93294816481a0396bd8acc497c9f51b138376a SHA512 f6b07b9f94a79c766b864c4f73044dfd6aea5faf16e742202ca78f4f6e0399a71fc3dcf4d40d4dd67d3f13612c26a5e1a5f845e6892901c0ee6168aabf131f79
DIST firefox-116-patches-03.tar.xz 24768 BLAKE2B b62547c1ca9230bf1f6a0474743e695c8e6f4cbcc7d2d23ee983a95ff38af4483881a59f90cf0035660a223457dede19c984f4c5bda2528a23dd2d7d25b5b22b SHA512 f69eafd5a0f07a91baaaeb141a2110077e627f3e3d34db69e9fd45de9044ce8e84dd183920799cb2714ab74acafe159c7275b85b4f778b4502fb2bcaecefa175
+DIST firefox-116-patches-04.tar.xz 28448 BLAKE2B 542af3d9dfd02a7d89157afd66e13984f7e4c3073eb560eb76872eccb183cc61f46b8304dabc24218693016eb94c4050e4042f9dd48471a900fdda2ec1545ef0 SHA512 61653fd8cdd9815c5c3c95b9ca45655822d318e81cad2c45cd166c5fab88ec1c6232ed3b54bd47b6bbd0971f5be9c9025947bdf4d46b97598005d503262bc383
DIST firefox-116.0-ach.xpi 440323 BLAKE2B 56d55907cde8e61f0be7c4e880d9548e0f9660f465d33fb61afaa50d1b440bdec76a9a6091885edb58677335941c3755f240c99a0937113003c7ec07a2306695 SHA512 7672d3ab4f5fb6adc14830ac99d3e704b3391e392ce6af3e97375ada2ad675caf5ea1d0b42d311e3fc0a1628ada8c76284d38aeed74c89aee05cbc4c29e3502c
DIST firefox-116.0-af.xpi 401616 BLAKE2B 9115ce0800aefdb2184556fb92f3a1ee28ab82dc0c77c8b913ca7933253a4ab7f478016ac38e063c20479235a8341fcae4bdd35eac713d0720b4343dd862e59c SHA512 4e8569dac354d5b899cd7e38552d5281045bf2b2dbd7dcd8861d5a48169aef8e0a9b12a251f976006d8833a23d32391adeee27986de6d3eddd101001ea6dbf88
DIST firefox-116.0-an.xpi 482309 BLAKE2B aeeff77edd86406fbb613696043dfbd080bf1ccb8717ee9d1fe65f338dd26d251a9417b4c5461a9466c905cad888dca03761e123a409f87257a0d6bfea32fa92 SHA512 b79674baccdb978697993c403f1a4ab514e570829962159443a351982e360d62ddb91575dc4eecdda8755623746fc82f916286b8ce3f002be2e78f058e8e1205
@@ -396,4 +397,104 @@ DIST firefox-116.0-vi.xpi 596611 BLAKE2B e282057e43e821ccdcae2c11c4966fc403d45c9
DIST firefox-116.0-xh.xpi 401650 BLAKE2B dce3add055f8e5ca785c05b1b110980668d11e0b4d3cc26569aec77b84441c992e4f8e4e55bb804561aa2e230ae5d6875ed85d9acc45b0ddc3f5423133bd33cd SHA512 e4a466326376e785587faa0497501e1bf0e8cb235027ba0144047eebd2e62defc60990050c7b8bd490dd539439a2485b2ab793c84c4e8dfddcdaf5dd425dd09f
DIST firefox-116.0-zh-CN.xpi 596066 BLAKE2B 133b239fd1cad0d5e7db5b0f861a9afda6abba16238149d2055f66f07aecc9b23959edc5e43bea0c7f00798bbd3efccbc47c1b74fff263e6490e4f55fc43908e SHA512 427a1e063e986503fae1849cec5124158237526a4a265e616235e77984343e883936ff1569b198a6ec20a5d48cb19b5edf12976ddc3c8a69e598acecd494976a
DIST firefox-116.0-zh-TW.xpi 598593 BLAKE2B 6633c9ffbfa988f1345c67e3b4cea06bf90714ea6960f12f6beef3c5cd2fb085f0a27a5cf2addab28e645e156bf0f518faaab4be63e3603210b916275f0d1c1d SHA512 c3f901183ab89bb8e01034dc328522163d131dd847be330ea099018bfb32abcbdd748bfd8763079605ee4b3cc0c65b3fd7a39fc853fa3b93b25dcd32d74d7641
+DIST firefox-116.0.3-ach.xpi 440326 BLAKE2B 56cc69127cd3b8abe717bc2a6636dd41ef76fa8e0cf69fdca067bdf14bd9926584207383e040c7eef527ae7be3f0f05f0a30b608550f6432bd3d46cb98a06a8c SHA512 4d45e59a30d7fd47366c3102472a15fd385ce9d1ff314eb91df45f0683d319a9ea0b9c6fbc261015f017f1c30728a6e6b3a8da9d49b7972abc0350d604fa5672
+DIST firefox-116.0.3-af.xpi 401615 BLAKE2B f3f77e3b4476525bc25c9fde7570afc28c62072ea7f3e3c44e0afd2619762eff5563d4ede3b99a4ffdc328eef4375245e405ba2499841f56291485d423dd6755 SHA512 a4ae9689730d18a039b849a5e19c06821a36b59db89d838f0dbec5fbb75c8b17578cc5ba162d1b0976c7d770df352d6619a6660d2f9d372d222e99179888a3ca
+DIST firefox-116.0.3-an.xpi 482299 BLAKE2B a793e3d151b8b475599b3e929109571a32a7a839cf5800dc160a3fcf9ae60f660ce644e7062be4037f2719a44df0bd5e65a538a6064a385b5fa05b8f07b2dfae SHA512 fef7b7064e8516e92ad1c67aa8e37a2470de830d9716127e6bfe1afc2a58148e86a632fb841920b038ffeccd99bbf803c1123ed219d2c72e0ed07c843a7e9641
+DIST firefox-116.0.3-ar.xpi 549034 BLAKE2B 59fe6248489d1656759a50bcab7322f74a89805a742834b417b477855f0b0f60febcd2784f12ee9761cf03add3588d971b33043ef870292e7ec51721d8296e46 SHA512 7491c0efd5e29699e6fb7def53d2b27a8df91ec44c44f5fa5dd9c57643746ffbf80eaddd451ca1e449c8030a6e85b0c84ee9c7cf656453c61a6266c6ee8ef313
+DIST firefox-116.0.3-ast.xpi 476771 BLAKE2B be7af8de78cd91c678733df85836ee932783d735df513922fc6d7ab8fb14f256a9a9f1f50f33e6c4944f068efe965402531ec628645758f8904e2db4903f0cb2 SHA512 08878c5044f0d62463f9a5f28142bd20713d4aee27e2b72dcf01df106134b7b612fc37b18d04452f34f46b4d4452b649f82a746889fad9661b1595f780e6ae3a
+DIST firefox-116.0.3-az.xpi 470081 BLAKE2B c9aeb606676a7a7e102b5f351c6ecd245b9261d2f3be741dcdb98a4b5fdda3199ee8085f2eb7b1aaa85cd69acdae55303952a4116208c1828597408bf8fd6b23 SHA512 1476a57088b5b8106bfeca3cf047552e44fe3d8ecb09c377b84f86fd7215926d5a8b798fd46fa72333cbca5337ef210d83097c5f04d2f862514bd1e8d338f8b5
+DIST firefox-116.0.3-be.xpi 647172 BLAKE2B 4eef46ef48eb8c74f7689013ec56d46b653353e24068c1df92f8325b5bbd20ec22fe38ab566a1989b15843006f0ac771a368058da4323153e7b2c7663a12b557 SHA512 b8a82d48fe4230c630518d94e1d94c5ad3ef6b5f309632bc55d7d3439bd371587897979117c249cbd95c7eee0a44818ecb47c227f6e0e5ec945ffcfcbcb91921
+DIST firefox-116.0.3-bg.xpi 563683 BLAKE2B 7e2487f19f39de9ddf09bf4615caf80dc3ed14a6084b4920475195ea839d7c53e9a64907418687daefdf227de6d6f54e11dd957c4793519ccbfdae3bd7a7e92d SHA512 a605d56f963f99ccb1e2b5d1f58ce3d03a2d010569b6fc802a88e102442924e13b0a7a2b48c60c288f02ab460a6672c471a06fae45eefeca93b328ad4c0c975c
+DIST firefox-116.0.3-bn.xpi 557961 BLAKE2B 6b300d8d48d1309051f70232fbc202b05f4f0a8339fe4fa657f51213596a2691a9a790d70d09547936e258437624e71c96db39b3892a186561a38ecf80685bdc SHA512 17fa0b41742d853ca0d65982c96d8c382df81605a857a3d9b74cb8226114b7930da02d71d81e09fc9c855a22cf7e46615c0df460bc959168a08e9dd8548e4a7f
+DIST firefox-116.0.3-br.xpi 533892 BLAKE2B ed3d3526945b53c6d3f94f07a5a8af222cf7ed6006a0264733cf04d305d15bbead574926f0861e16db9363250d38cfd041a3f8eb4516e543a25ce5db2d430262 SHA512 06c70ebd1f42a2fb5b083d5c20499e95cecb64db05f3a69c764d19b2d29e9e81efad32247841f251da0b6d3ce4297dad2b580563453a17e15bc51193ab7cd35a
+DIST firefox-116.0.3-bs.xpi 440601 BLAKE2B 6335ec28e6117fe297e60795f5251e0980afeaa01ce71ca0d4930cbcc6fa9b00df744f15e5b40da567afa3f04e693a431131eea07509b1fb6f5c02031f20bd3c SHA512 d194a41f30deaba93909cae8f051b5565ef2ca97be9157bc2b304562894c6824474978d9dd4f7b3ddfab0baa6997d5318b1c78580c0e9e4b1a3b4172acbe4680
+DIST firefox-116.0.3-ca-valencia.xpi 521443 BLAKE2B 2c48ee8536e2d71f0f9a37a383c7ceffa2a7a516b1465a9ff6237563f1b67e173dafc8607791b2979eb164aa34ca5040b7e28ce87e920ef90b88ca7e9bf2a525 SHA512 4adfdc2b51d9dfb6bef56bcc64cb0acf3d3f764150c468390fd55b1ae17a9454c7e3bb1c915c1dcce17aefe182ab06cbaaea2ab78b6ba9d5560598bce9ad1c4c
+DIST firefox-116.0.3-ca.xpi 544950 BLAKE2B 2f81af8e51c9150f96b000b20df3fbfc1897e39a11c4715ac6ff46fcf8763c12b3d1c735e667a15a5a374406af82c0d9186befe2d43552fef97477a8c5523ad2 SHA512 e4aff6168eae6f5b4523d598e43abd53f3f7523804d9698a8a142b7f214a378eb310d7725d91e0bb154738fa4f323de58801039d05d3ac98de9b861c176486aa
+DIST firefox-116.0.3-cak.xpi 564109 BLAKE2B df9a89d67edbc7f23e542198c2de0de87072a3a1a03f96b2a3eb3c675166c259f5496c5c5b553df8e06d9c1234f15b4f1bcd52688794afca53c3de9e8abcfef4 SHA512 f37d5213f4422d510cd8491fd5abf0fd433df807c68d5c4d3e99626cb25ea8ec3dbb795b7e648b8c0711d0d1be235f9cd3d00944e21d146b0aae571a9483b09c
+DIST firefox-116.0.3-cs.xpi 592436 BLAKE2B 1ee91b71e5312b27dd7671f07b13b7cf4efb0a97a4ff0982703a7253c1ecaeaa2340e0a06f93caabf689a3064466beaa0a9d0e123e2b7d3a7b862d631f41bcf6 SHA512 55a143c77105d46661e284514a4c21980d6a03a3eba0ca2c5384d4116b13df997cc36fea2af0d2d9c9d539b9515c25f6f4abb987f37972794247769072f34717
+DIST firefox-116.0.3-cy.xpi 565918 BLAKE2B b1e3f857183fc3ad671a102c208bef5cb7dfbb353b982956e404cf149897ccf848ffd8beb0e34da25bbc35a3b864993ea3df14eefe7bec44dcd7044750dc73d0 SHA512 3030404afaabc3ba28d5e41cccc0c0fde6c1065c09bde2737bd14028e8f200eff82381b5afb1836e7c7c94e622cea0749b3b649f18b3e6c55c4e8099fb8e33bc
+DIST firefox-116.0.3-da.xpi 553382 BLAKE2B 55d9860bd2d92eb7254cba51ab22241f666b5b28c761d6bebd687a471bc1b00a42c1dc9af7ef4fb3654a8ed030b6ff75e183466e39b07f44cba628f32013842e SHA512 2aa23ac68451d4325612fd09080dfcf1b85832cb7c468c2c09213cb2a6dc8964f95a402415bca11740647ab8ac44c7e4ab63915380d1b82c93af45547e75c05d
+DIST firefox-116.0.3-de.xpi 574188 BLAKE2B 349f2fd0bb18273987772fd726520155d90b7fe2f1f6b9b3112fea3f781449a693ef0663c92affdb3cedc198bf3291dd6ec6d9fa34d926928994e2606359e093 SHA512 62a6e9dd015f88e834d64dfab061800ea1a4d689d350673678c363afd190f9a1e5ec47fb84780203a20759c60f9c95d7bec938bd858b6e625655edd6114ab495
+DIST firefox-116.0.3-dsb.xpi 589660 BLAKE2B 3326dad19953422b920acafd900de357695fbb6eb6d3d49b5a932d8636a97b46fef29ce0ca27b32ad29f50ce6405a8e9c2f8440df416c47f34cb8ce262f8f6ed SHA512 39862959c28003d13cf1f594c37011fbf8236c732b7070658c55cf74017c146ddd4032fd33c4774e10e6d2084b17882f2427afca5f4e18c8f50f075c5ab3435e
+DIST firefox-116.0.3-el.xpi 663124 BLAKE2B f637710e22a0cd04853e60465acd95d9e5e61eb8ad8a981f2e01d0e9ccb73bbb9f0f1ec5f7e7bdb85854c2fc1b4e352a4dc7bf19fe748cec17fa79babd667daa SHA512 c7628fbe978d0e5256f53abe976e579fa334058b6d43bf8ca95ff248894aadc6fa464187dd06bd8df3f1473b067a2ee515ed70e75a292612f78f40278ab2ae00
+DIST firefox-116.0.3-en-CA.xpi 518977 BLAKE2B ed4826f6fcd3e0cffe08c7c73efba1dfea47ebbc0937405991ceea736117131da3a84157623f620f4fc1715a729574e8e1b04588d4d726f86dcd8ad1f72f2b21 SHA512 14ab9d9f19164d873184497160df877e9e7d0d2e6100e1fecf8919e3b50b628b356a3aafdee172da323847136f4f823eb1b165341fd06ae95b6edfdc3dcbc377
+DIST firefox-116.0.3-en-GB.xpi 531554 BLAKE2B 4fbc3a14ecb4b17ade7465d37fc02f7456439a0368b2cce46e7d792e6c8783efd819c723a52d79046cda15ef4ebd9eef84b65d87fa9a94e244de7e7c93afca6b SHA512 123e2e3c15c6e32d3eba1204b50bbd191bf7a92eaa3bc47f6bf9d64546c790729ebae977fdcaa95c8e50aa3c295e89a06c260912b60f629b7a4322d0c4686396
+DIST firefox-116.0.3-eo.xpi 555847 BLAKE2B 4097ed5b9d85578fcb4773ace700b4e462c352fafade9bb43ea1cb3356a63f5d6121cda1fc36c9cb874a8457f5b95fbf4b93e743c86bf9b650a1ffdfb5e69276 SHA512 0d5d277cb01edaa9c2bbcc3237ca9b11897323841df5c136b49dc4e4f172b1a3becb18dfa15f164cd4c4e2ccf12ae3becfdf7b5abf0176e0a88bde6e0da398af
+DIST firefox-116.0.3-es-AR.xpi 569187 BLAKE2B 99e4986ef765eeff3728583de256d508ff73936b620f0c406376659a6fb241c71dff3c68b1da3d6528cb49dee1c39fb25597ad6280944e2361f9ef2992a031ba SHA512 bb710bf949ef56f15c7adf324f910320caef89aac96fe2e567158aad03e4135b1fc043e321e01e99e4a364bb83e2914c0ce42be22ed2e00461de342ed8f00d23
+DIST firefox-116.0.3-es-CL.xpi 568875 BLAKE2B d2c62df5ac891f76dca6b571f0ef351bfca5451d2a1800b293809bff844d2f0a3bc3727421d1385255f7064c611b24e9bf356dbe8671ecee026cf5d4d1afe391 SHA512 20ded969dfd5623af4508fa33a3824e5407f8f69660f2ace1352fdb86eed20b8e921ced43db5ed4822582d2b2a9232c94358c183ca571a159c7f367032e6f371
+DIST firefox-116.0.3-es-ES.xpi 561400 BLAKE2B f7ead7be38cac6d9c85ef47d0f60497991f65697bc290f2175413567df7613f118406d55d2afd6fb4586546d7052bfd25ff0678c19e9288029cdfc92fa704415 SHA512 9714765397a4ef7364d0adea995e6fefadce51a3d3736268a3a4bf8d89fc168c59e6e63a9ac7208a403835573a0e0bf6f884e41269e4e133c805da44e0229bc7
+DIST firefox-116.0.3-es-MX.xpi 564993 BLAKE2B 265fb958b429f11f0ee2d076879e60b7f6863dbb0def6a51a218f703daf4910ce36782824c96b89a3b8df6336f45d438855771d36561c0877374a9a78640a09d SHA512 8c3905dceb6ac72c7529c287411f945e2552ffc417cbb949ac1c0ca2bc6aa161aa9c855836993937aed9bcd2ee7edee56610e1ee5c8c32c80724aeaa83516ca8
+DIST firefox-116.0.3-et.xpi 515643 BLAKE2B ffaf154b3f5ab1ae0cbbbf7b2f4d903f95236d5fb73ec54d48885565b1ac50853d81455dfb9ca9e85184a80f95cac1dafb025caa425dc06ed7f6c065f78af820 SHA512 8f4f0ee8a7fa352d4d920f6eed1db65bc50e8cb550b3ec9a1b77cd6be53f8dab4af847080424391a093920c962a8e7a19f8b6869659e172a3df3f6e24a510415
+DIST firefox-116.0.3-eu.xpi 551058 BLAKE2B ee171febdffd5f047f6a1ab6bd7f16090f1fb4733df09123bd32c8d339da5c5e949d35da14e32357ffa76f33302286b35d0970a8ecb5cd9bc4a84669461649a1 SHA512 c2b04bf89bbd34dd2b1cc155c14936af6e5aaadf6a577149ec55c0b959582c9438907bae0ac5ce3c30e292a5d3aa195a7ad9063e2be58e7412f5a9d5239427ee
+DIST firefox-116.0.3-fa.xpi 564001 BLAKE2B 1f8ed43b5c77f57ab1e7c2633904acd8f155394c784031afd36fbf5f116e9e70fc7c77e24babe78ce05f324eb8b0e40c7f7a7f5bb68d1ecd0f6b0a2bfdcd8e53 SHA512 0fb993247d093c1d6d400c2e1da575062db27e9bb64d2cd115b7095daff3170faa64001680758a039b58831510d9e5f54fd23c44caf6f4ed018f67f64b271059
+DIST firefox-116.0.3-ff.xpi 456415 BLAKE2B 29e0aae2b6fe45c0ac0fdc21a17f4ca504ef6dd1fb3039dbfcb7c8267eb636493fa1388a1eb574bf180e67d0b605c0c5fb8bcca1b6cdb9e89f219932c7922578 SHA512 1e760a529ecd8f1f3995f1d2498a8937c5ee80e5fee0e5027f5612fafead40b40d8b73e78646e490bfbd7485cc1d0c1f15aba5417f9905d4f48ee620e731cd33
+DIST firefox-116.0.3-fi.xpi 552856 BLAKE2B 6c77a4afecac3fa4bb5b362015cfe497d584b338ace3517b6da73139e822c7ac48794153f2a8d934f096151912df92709211404f1d9389ce4e12e80c30c649d9 SHA512 b9f1fd6364ed4423836cd8041a04726b880b162a29e31fdc59839166a48ece5830e4875f8accb6ed2c830ef4bd9cc9dbc5e95156d0ea86ebc69a18faa946f3d1
+DIST firefox-116.0.3-fr.xpi 580221 BLAKE2B a41f4c6e321469bb99946ae2cb93abebe08e68dab571bdde06924d88472ec1da2430887b6328635941c36d09f723fbd67a34b60515acb266d55f7dc718ad2d3a SHA512 733d5d82e5df79609c533105df3bb2d061044169b34f056dbfae87726ee20d62b321f57ea5e6e20c17f10dfb4ebb54da60a4ae247a2b0b91c9f6c78606700362
+DIST firefox-116.0.3-fur.xpi 574348 BLAKE2B ae2a1c3d9d84a1d708b4f7ed7b721e6a1f50d99471a5a6219bbce17435a1b0a307f87554bf79c4db866ff00964dceba5ef811ef40992543c2dcfdd6ea108836c SHA512 0837c59d63d350d569d2133816b8fb03d4f1c45c07712169f630aa584711f3e2664c58f09a1b62dd7b4b27c5041ff947b957efd291bf04a790930f44b27f05f4
+DIST firefox-116.0.3-fy-NL.xpi 564302 BLAKE2B e1f1712985401c1d0f6586e5578060f2d9235bdc2f0235f82253357be9cef61646859724c96db318e704430e79882d97de8c6bdb72bd73e5c7668cd151991417 SHA512 6aed9de5f055d7861aef5949f0d74f01ececfc8d25f787cb0e7b142e363a61b0e7f07d28e9bb4bdf36ce6b783d9411e373226bdb25e8955d59b5c28da7bbc19d
+DIST firefox-116.0.3-ga-IE.xpi 453548 BLAKE2B 8ac2f4a3a509a70cfb30ee541c2770df187bd68b113a5e0c4f2696c0c361b792d7d806009aa63d08a39e91b78ca053c43ee5bbe49966e6a731f973aa830b107a SHA512 518d6dd962933c0f3b668a7a68fd6b00133de2b39f0d1bd034e83c5e357b7bf51d81b148602d0a4d10de332bd149efc92c8db92d052d54514b201a8217734801
+DIST firefox-116.0.3-gd.xpi 566657 BLAKE2B 2d68b98b7efe719f046b828742a597b7e627f7b79633cff15c00628b5f951cdc9cfc8a8f6c44652bc9355e56d8f77572172413f40f3d502308a36b04e2dcef1b SHA512 fb94e661d643e3dc29a916e89db0dd528bafcbe9a6cbfbd59fee1ff972c0b0394c10aca0141dec8715fb5a4b11ebd04afac9251092790659a2659eca849361e1
+DIST firefox-116.0.3-gl.xpi 565974 BLAKE2B 088850b68c0f1a464d5b431554b43c06069929eb48270434cbd2761a4033ff3eda61ed7a981a14572f1d09e1b4618b520d72633bc09f1e0cfb4e36f2f042a48a SHA512 d5124310ac427cc212fa344bd05debed0b71763bdf8b7035e02fca2ff9721c3e1ec7ee9475b7a00fec0e03f59fea3e86522c2c27644455fe5ee0d8ff14fac30c
+DIST firefox-116.0.3-gn.xpi 578274 BLAKE2B 145740aafd55af6bbd2ce9a4f3356ed73468c8fb4da4efc0a7bf45c409acbc48d021394b2092175dabee76fcff9c1d1bbf2005c9ea391fb89a35de614b6e958c SHA512 764bb158f84cc036134c0717dd3609e8f33930a32ebed31e0d60d734b7628f2c8bfc42ef8882022e322d5bce9900ff25a49c66eb1ca0acfbed4fda5763423a43
+DIST firefox-116.0.3-gu-IN.xpi 506019 BLAKE2B 1603bba3a9c58cc9b88bfa0aa3d1dcb3d88df97abc3da14150435de21907b6c1ae155fe74128e5f744a9dd0ec202746c58e21b5220489249d44ab45990c603e7 SHA512 feb89366ca67f8391d883f43c437eabb88ecd5498612fb6f74cf4b67dfba37bfd747f334f11fb82a8918da9e4c6b9942291434e811c669c921d4204fcd4c3fe0
+DIST firefox-116.0.3-he.xpi 575333 BLAKE2B 49c817226050254aee0c6adb05aefa69517fd94863c069ba1c4319fd6a26491864b251931664d0062d2fd53f2d1c1cb3e8a7d5371328e9725acfe5c15998ec85 SHA512 52a4291ad7f0b7c3db5274ac17a969efe895566769a0eab93e45db6261475b36f95e7d8d05bee477f32a580bb2f49087d44ebd17f04b30df95d9ff0e2b22c70e
+DIST firefox-116.0.3-hi-IN.xpi 538291 BLAKE2B c24311bed8c47bc43f2d1ba21c9957625036d617d58d57ed1ae7688260795bbce88e7f077b170f60f1d78a872b0b9808d82d175cdbb2b29df496ddb0f5097747 SHA512 e244f4ee72e4034711920161f99bec008cd1fab46436e875ca6d284c8c6140ab7487616fd6962436ed7450a9e84fd386f83238b7ed155d4f2154390522478d8e
+DIST firefox-116.0.3-hr.xpi 531478 BLAKE2B 23142495eb4eed02d9d5441f772df0fcc9f9eb674360787bb122c8dc647cf00810654a80aa2a35bebd07679a275d1ec281c9fdf09e73b1efd551b3df39f8ac3a SHA512 83ce34204b455aa3edabb53c926242622da2c10bbb5468c70b954a99950e7d75f9e6c62df0ac10835bef11699f98bbdf5ddb178d8c2813a29de41e32337560fd
+DIST firefox-116.0.3-hsb.xpi 585842 BLAKE2B 2f8e606edb8bc6c19553fd6bb37f957d78dd173b6b0a87e1ce08555475db80ff3c616273e96d2981c88716463f79a4e6e860babf166a7384c40c78fd70e9ea70 SHA512 766bf742011fcc27fc15c647265f8176ca67b886785c69e8401442a8e0cba6633f365b80d8a24c7b57cda1aa50e625112317d3b3155f5c83d37ff98c997da68c
+DIST firefox-116.0.3-hu.xpi 588342 BLAKE2B 45dc60b09f5380eb795843fc08e46034036b39db6d5bd28cd7e2f2e039cee272c863c7ba3c252b90beaf89c2b2750c3a4585d43dd21fa9614f633efa5ff6c192 SHA512 6cd9f62410f5e1afdd886bac7df8db01c707baa3a792ea86ba8fd7fc23952e5bfe9a1969755a30de1bd4135a2583d262028711a2d7110c4cb6afee69a78771e4
+DIST firefox-116.0.3-hy-AM.xpi 578720 BLAKE2B b60095a36438954d0638731b49d9d8dea86a0bfffee303d3bb33e5090b1c08668eece0cbc6f077c8f51a299437d9d9c57739e5858debf62ddc3c4747b21a7372 SHA512 fb5c40238aa0af7eb2d2e4b7bc85976ea47b1802bba771be9cd8ec29c4868d44c59ce625cea6cdeb5c7b9be864b4ca40b0a3e10fce280849732d75068a15f9e3
+DIST firefox-116.0.3-ia.xpi 552439 BLAKE2B 51ba6d1f948e4e6f5bf51bea9be539d8270f4ded3b40c2f3109ec920f93e960682fe15775dfd20446d730e24baf998a4ec9295e4d2078ae49d6cd0d793ef5413 SHA512 93e238788b9a7efd607c6d14ad6c50c862ac37b706c91a150240edecd6b5a9a2777c1024e5d831c13c0f0a0aeeb688acc1d4166e97a1043b60116ae7da193fe2
+DIST firefox-116.0.3-id.xpi 537287 BLAKE2B 0a2b5f5cdacf322f0da5c56a4cb122e30b8a8e83bae929c715d9c2157067392466e3ebb6a44c9e3472962b85222de7ce7b2228212b5d5389a666783adcbed3a1 SHA512 940bc961694e672894c9426ddfbb30105a16dd361fff777c0adc96ae1297174094ac8eae17223ecf2f282a2e557e6ceafc21fe3bb8d6ead971de442915a34662
+DIST firefox-116.0.3-is.xpi 561612 BLAKE2B 29f8b49f85619c00971cae9fa434a7a723d44b7359f57ba5b614cfc880ef8baa3368a61d340b76ce52ccd4a31d77ec107ba0c5990843efe0b16fa664a5587915 SHA512 43686a3db4ba3ca715cc2a12a607aa76a14c7094fb9da093459cbfb8234b619e3813ce446ab45f00baff47242c87bc11f9c8e8f9600d3096f941974728b7f6f0
+DIST firefox-116.0.3-it.xpi 508070 BLAKE2B f1501e2c277fefbe98a29e4b9e5eb0a60820728f88d81b409efcf91061d444bd7e442c533e13e94f096adde5ae2d1e42f8bbdc12d9cd004dcb877e595639ecd7 SHA512 9c628e40e45fe45072fa2c52ab06b147e016fd114b8d691cd4aa79e40499d45f456ec4e4a4052de8631798f122d94d2aa69ee10157151a9508a516b2e5e1055a
+DIST firefox-116.0.3-ja.xpi 629672 BLAKE2B b2724f3e1fe9663ddf52a417687ea7006841fd612b9be5f6a7ef67c6f417e66c5f495f77df636c2ee38b7a16b777beeeecd9c19d98dbefeceb65285a797e9ad6 SHA512 221337f241d750a4b3dccd985859345248cc1b5451f3f97b7150cb9367c9b5a9737bdc539075de93ad395cb8220f63c5e8858eb0dfed072af6155847fefd572e
+DIST firefox-116.0.3-ka.xpi 610434 BLAKE2B a1c5c827ef45e2e3b2ca55eae72ab6131293044d478208078068a6e6930ba5962f3f5776c7f54a898ca8741923471882e76070718703bc3d42aa743ba69f70a1 SHA512 d8175a22ff1e1943a7be59d4ef0fca44d17a13d6ba216522eab15d746416a8364bff6a84099d8ca09c50cf7cc385325906d60518bfb0bf414ca781f7bdeed9c5
+DIST firefox-116.0.3-kab.xpi 562159 BLAKE2B ca5678fa2d81728b0fa95970250c37fabb37e7dfd16fe8d0618f820c3a9bb90e412916958254edb7c9c2dd2300bfffbf1d46da9cc5512938d1426e86790b09d4 SHA512 e421e07880e48011e69979e288224b74bb61af25b50537038f146e0f0d3c312d9556591719a00cd9fe3352488c426a74aa8538abe02912747a670c78fffe237e
+DIST firefox-116.0.3-kk.xpi 640661 BLAKE2B 4c5d0eb0c4a7d4aeaed0b61434e649ef815a370fc6c8aa994216e20dfa7387a43e1a83526f7489e01c68f2d1c484e3d2180ec17a28f9f3f21ab9c403a480bc29 SHA512 e0c1b17b1894d7db6cdc45a560cce51c7ad149a151c246df90074969d00b3c2e2b7e71a02d56a9b7d69bf163b70ca13736b2234c3c969b64162d13064e0c3c06
+DIST firefox-116.0.3-km.xpi 507449 BLAKE2B 7a8a9450f7ae4dfd95a6bcc67ecf9b86026f1800b8b262928caca74e6a822e2a8efc103ae1f53d3e8c60560029d1274912a776b973050b13da99f3101236f082 SHA512 6a0b6c5dcd177f7d3bf1d7c1ae97f5b09d4cb7a25bc7edd52c3f2108ef0e71197ca0175fab26fcf18ec3a8a6884cad4586666fa7668c4eb47318af1891205140
+DIST firefox-116.0.3-kn.xpi 473019 BLAKE2B ec6e4f3d0ead194fe548c0d66efd057a099f4da97d1fb04116751b911eeb1c9945f83ed9ac6f438ed8305a58dd27504b156f5bf258a30c6986eee1b9e06b5297 SHA512 46d319993da12ea8cbd9a19295974569b697c4507dd9d7480217cfe63445719d472693b97ebd38fc171c554b03388615fdaadd898a89d26017de545b84ec1924
+DIST firefox-116.0.3-ko.xpi 601082 BLAKE2B b0deeade317c92bbbd1d53ad1a3a1e6cf45de56ada31111198c15492d4ab53e94168b398319f40de72262c16c6674559b246bcba949a39b4c5bb5b17d7866222 SHA512 e8d89a2260f5ee0f8dc0f3547a9bc34a1886d30cea58210b07d351a681a4990dc7df36cb8cb910ef50edcef44bae10541e9b9c50e2ae541335d828dba1254a64
+DIST firefox-116.0.3-lij.xpi 463107 BLAKE2B e3ff920e92bd9eb81121b35750a7445ce1662a39d4188cf46f98286f85d0e0ade33e79ca4d4d23dfbff19b7d43f09059711a186f484e3815378a2c7513c79b95 SHA512 0ff8160557dca8a04a2dc4bc6d3f3392c0fa4c23d68e7a4b54ce68a8c63235c4c93de619fc071dd8be21de075f7ad82eb323e5ca02a28cb4275da7f619eb1f00
+DIST firefox-116.0.3-lt.xpi 547788 BLAKE2B c1fa8f4505ffeb8171f723f65ac5de4eba3dcde9c176de8e9476fdd58a24f5be8bfdf8126e266eba6d5d27348b4974bcf64b4b8542bfe1c0fb3d1e8e1b4239c5 SHA512 fc1da4466aa8947c4695789491c2e192e337cb8b193e2f1cf8883c32529ad9d2d68bcb357e4fbc15a4dad3040d232c2312e07b23db7e17c44e3cdd563fec1ea9
+DIST firefox-116.0.3-lv.xpi 450077 BLAKE2B 4d49e4ab43d26aaa6f1c084131c0d0c7f7cef4cbad8f73d7e870bb7b165aadce2769812021523f69f48d13f96154a478b6b1c52093583796cec459119d7ffe6a SHA512 cadd852c00ac5dc163a423ccaaee15e5229c2d62d6362288681cb51e9d8198d9968db0dc7c875cf9abccbb428e15d5ac07686e775198646e431e363fb8f28a91
+DIST firefox-116.0.3-mk.xpi 469356 BLAKE2B 436d787e0e68681a4d906f8b77f2601396a9db984c48ea78055cfcb17ee9b1eb224778a909bf253b1f9e97576a06a9fb0643e0c19cab95eb2d89661d989c71eb SHA512 a492672b3155cf44c6a3cd642b86398f7414d31b4b3dde4106fa89dd95dab07f1250789b831618e8fdcfa8c101c529b9970ff72a14975ad534b22f46236a5162
+DIST firefox-116.0.3-mr.xpi 510122 BLAKE2B 0f6758018580b5df019c8c86f05bfebab5a238e02d54d0034184f499a93306be02ef52e3f8d4b47cee97ab50f4386b6c0b9d3c0a5b6d10cb056be983f7bef903 SHA512 5b3704c6ba140fa58c9b3ea1313ac254617f72232a59ccbb5b08ad9222dfe6a2d22ff333f8cd47f613ca67e1cbcfdf8e3fbefe5a959d9fedbd4151d5ccbb36cb
+DIST firefox-116.0.3-ms.xpi 430634 BLAKE2B 27e4b09338a17a051596ab5803191b84fbf579497b63e271e291bdc63710a6083cb752724669d6739888357447583cb930454231e84032a67488aafcb493b78f SHA512 e59c3648b24b3b3d255a28e2baf0a1aec9ad31e44658a27f9c94be05e3f7616293f43cb25234fb0e3f163fc609a4b8fcc426e32c42621daf057a82315c03b771
+DIST firefox-116.0.3-my.xpi 492895 BLAKE2B f2ca0618e9c3a7a1abf35e2620852c6c9eaff3ae93c1cb2c45b3197852c41c8ffb8f2067fcfb86fc315b597e7bf087f31a64be174999725430dcc42e393863ee SHA512 c86787ca1ddbed34e81c07bc592aeb53c3379bd168baad024102da828524f3771189e32544cc6aa063f7c404c6e7ead56a41e3a3b9281844e7e79f143e93b1e9
+DIST firefox-116.0.3-nb-NO.xpi 548992 BLAKE2B fecd88ed07fdb74c407e64725fa70af2d930e5ff5fadbd911c27163b8972f047d506d93d9b16ead166be75f41dababbc802c55bb6731cbb257d9129fb835aedc SHA512 e69c298b2a122b6e3f458b4239a6a5706b525df97b12f007b9c34bfd97401a1e05ec9fab2a23bf5b4a2e0d0aa8ffba90d42c48f0bd947ae9ea449f22507fabf4
+DIST firefox-116.0.3-ne-NP.xpi 468343 BLAKE2B 208361f3546ab7b1adafa0f1a93aacdfcb9eb5b3592ddb1158c55dcd870102086b14428c217e2e1056ff95ee49790ca58f7c37c810266be82b2b7e2084611ff7 SHA512 92d96ed5ad8cf2a4a6aa18ac5878506cdcb7c55c3b9662ed719d45a6bedabf744e33afd5e2db8d97015e3ac1dbebba9be0b4ead00b365c76ef230012b3770aea
+DIST firefox-116.0.3-nl.xpi 558565 BLAKE2B 4109ffc9b1b0d4954d4c38fc119923814b8247302d7acfed5ff22274697e5b344a1ac8f0d3c925b76039922280a6d2f6e69283d26ea2d68306cdc69716046060 SHA512 662f431d3c06d93fafe20848c68a8a2e1a69a858255dd5ad22a91d238ee3995db43414cb1f3464e2e199075301466b43b5c7703d0cb3af20f559a13b0c931d11
+DIST firefox-116.0.3-nn-NO.xpi 551411 BLAKE2B 9bea957aa05b39d3de5be5e3b2afb8e9d5bb85cfb27ca124dd2021ddff9d1c694596d5d62b88a7818f481e63cc52e35eea170fbc899661b89d6862a0c22d10d9 SHA512 dd1982fdac9b359ea2b7799dd80dd7f9acd0bcb7d777a0df2079a2a1eb36dcdce4ceb959064ce83bb707b872bdf986648d7fec1df59f0d55408998440a27211a
+DIST firefox-116.0.3-oc.xpi 571607 BLAKE2B faa5e8c9a3e8c849bbd52ba776d698f7f6e42246cf78aedd5f7fb734fef3269f4216465458d4fda0463e9ab8417c061a35659da039b2c99d1dc49915ecc4747a SHA512 00366866e1e2b9225328f334f7f397b9e159cd976f87d9895656a1bc9a8041d77462be4440bdb2e770eaa1ec1666e006fabd5e864193cca836d967c02d595e3c
+DIST firefox-116.0.3-pa-IN.xpi 626851 BLAKE2B 506fa0bed1c56e6b81cf131dda9b78279f0971c6951bfc10c71b74b2a5c5742f339bdba7af6076defe93cdefad2199e618bea362b1d80392060103836580aead SHA512 0f797185a52715b15580aee97bdbc7d49713ee53ece93b29539d387895baa9c6665bd771b7dd6c88c430b7486a0302c222e9582a0f6931f90afbaa2b94320a17
+DIST firefox-116.0.3-pl.xpi 579286 BLAKE2B 6e88159c0cdb31524fba805ee8e34edc54950124a5962a3e2bbb5efeba65ce9323f511d719641fd7a08a07495382349fed413a97f46a9eb29bb8865902e5c49d SHA512 69bfe916d9e26ca0b56afbe23381d4954ba6d6bcdf7e1e5df440d9212f4f74562acc99ca0f6ca65d9282b220198abde027969c504b49be5552bb8a090010286a
+DIST firefox-116.0.3-pt-BR.xpi 564547 BLAKE2B 9479176f7e7fa850534d4e686c107af021ac8fd034b2627ca7bb7d37830937bb29f326d8fe1603a08a97572f44a6e7e2f369dd38b308ecc907f6096109905663 SHA512 32b533c8ed5638719bd30c8eddd11a6b021cef19ad97b36da01b157b253ffb65c1dad210e1f3902ed0c7376da22ff6a8ab6588194f040989aae34548059bf65b
+DIST firefox-116.0.3-pt-PT.xpi 568408 BLAKE2B 0a4d23e9517804e53c1a13910613d8c2cc1aa9c9e583fe7242d804e3bda8f544d731bb799fc9b938072fc6816f892b253b4e00776b5504bed481523f3166da9e SHA512 1f98e8946c545b2841ebf7ad9ef6598479bcb0e1398a27288fc439b2e7186d46b3b7ca0d2abee52d1b9fa4d533483d61bac3a8e035d8038a1200db79fbc48abf
+DIST firefox-116.0.3-rm.xpi 558035 BLAKE2B 4933fb3d0695310ee88dd4a9cf1fc6556beeead454435e3e2a544f49b4373d041d08230e0df216a5f033840e95289dbb20844b6cb6db7464042ba8e453cd657f SHA512 98a09cf4ff707db03eccbd318ebb84cecd38b95643b195b42280f490d443ee3eb63c2550de3b7b55d2d53eeda145bb4c4c8b46a440256037200bab703c3c4229
+DIST firefox-116.0.3-ro.xpi 524304 BLAKE2B 3ad46fa1381fd4b27a89963f8c4931de76f1df9a480c5690d66309183d1ec41c6ed3338d51311dda942bf3ed2786c85a54136fbd1981f418ac89db256344240d SHA512 b4ae3e19ce0d6a248c12b9d674aedf779c3f552d9bd94bddd4a5a22813f8c469f4f6c63e05e9549f36116c973bb82d2b6222d7eb0b373ee1d340f828824225d6
+DIST firefox-116.0.3-ru.xpi 653097 BLAKE2B af50c738ce39b32ac7100f7573f9b525b836a3ad2f50bc887e63aaa3b6b1b13c69f538f6a0350a2deb7d645190c4b7f9eb54fc2046aca9ca4a8d5830be01c74e SHA512 8dad12507051eb578503a38179c861da69c86995383e529cf774f8761b8273d2e9dd55a83f5a586e9cce220cf0d928a8b9e3815df2964ee9739a3a504e35e73b
+DIST firefox-116.0.3-sc.xpi 534520 BLAKE2B 4b48b586e55f6c25acf1e630d75f4a361f3c3fe4808ff036fe003c86967d58203872aa7cbd6e3c38360b9a7919844195165be08cc8e3807865dac6f288472134 SHA512 f21d1333c5c6741a2bed8c068c6fc88db0547a77b04faf6f64ad647d20a8536a1334b9482263e417a2acc7a84bf1e6f2a6a8f94196537c51f8f3aa0160ebbad8
+DIST firefox-116.0.3-sco.xpi 489054 BLAKE2B c0766dabf1666688a5c9e69be747c3d1b126ea714b6f30d9bc1ccda1a81d8456585c4d270c15c813617cf9389c0942859c748daf287920611abfa13a24c5ec21 SHA512 e115023ad7d312217452e63cb0ca62530ab3b84c3155ad0d66e0ebea2891f2e49d2917e39dd43d41775bf9ae7d60945e8d4f55676ba33cc9261395823155a3e4
+DIST firefox-116.0.3-si.xpi 574164 BLAKE2B db35e075f91cf297cc041467ab1d8d877155ae69895379191d92830cc87850d27dc96e9300ad2afee830be01a97137993613c5089391de445c3205475bd35375 SHA512 51cfa9cc44269b58fc04dfba1742efd262c6a389f0c109b7688f7ed46c1e9fdf06299b5fca8cfe0293f75cdc213c9a2016484454c6c722e07699ffd14b0cbea5
+DIST firefox-116.0.3-sk.xpi 590368 BLAKE2B eaa479f097510578b1af04469520672fbdef2ccf3eff17be8d49b1a3c5995775650e13ab5d407bba920ede7d09fc94e4ad4e590fcf88e1012c88256f1a7cbc35 SHA512 7c14b8afb23a49a404b9eb68f6b5da6819cff0a921e22fd1122ddfd531e591551c0222b4a866eb49b08fbca93b67111e910f520acb62aa3f322e46ad9d1c19a3
+DIST firefox-116.0.3-sl.xpi 562027 BLAKE2B f15a01674d6b63f2dd86e974a14a8e518a439852f4f34a6c4416b40ada80b0656fc39a61ca4c1eb943fba2f72e99a18bb6377b6866c1e2b6851cb69282fd18cd SHA512 191cb381a828e4f3475a826c4490f344f49b73296c11bc30d794b06d8344dd83cd575d29ff9fcbaa98cc5869776574fefead511f3c548a48f6c989deb2e44ff1
+DIST firefox-116.0.3-son.xpi 400196 BLAKE2B cdbf07ac3d514500c01e0928e6f600c9500c5767a3d88bf0ca344fb765109ca4e82f5b44d417bbc3291f34fbb40a2d837e6082862b4f69c2285e235eabb5806f SHA512 1d29e8965d1da5b26dea7e431c2f9b8e6fc94a15e4d0b0b2b521398a3e15d9dd8a02f76eb0f473cb1c1d5c8b4c696730ad1a3f132293c92a3228238effd24bf3
+DIST firefox-116.0.3-sq.xpi 564007 BLAKE2B ab7f380d982eebee7c8844852d1171ef82d3128779d1457f8094cc3482579b2098c37a0b1e65f865a1aa9753490a1ca3e52b66d64d6efd1c39d257d6cab2b2a7 SHA512 19cc604eec48e9487a17e738166f4f86c15212f4d055d1a6a307ca4989e2c2a3606fb030c0f7134e10abde1ee21ad54788c0a7ff6d76032064a30085da8f8a6c
+DIST firefox-116.0.3-sr.xpi 613455 BLAKE2B d4bfcc1398ad06fde39a76e2acd3f37c37e5a3d7f7df61d9727a23e53d5cb227cd454703b03ca7344f42a36ff6f038034a2dbe2fdb8d660519e2cd90614ed3b5 SHA512 f1e54c27b36096d4168ef47a8024258057d3881722b8f240fc3e7c57ed6a85820be2fb9b8843966ddcdc9750ff7ebf6cc967ccb788b342eaeb0c92eae9dc0519
+DIST firefox-116.0.3-sv-SE.xpi 561740 BLAKE2B b692951bcf92ccb49c99f972a26e7724e1a8722b12950024ed475f54c445076e1146eea134c85d56d5d927828347aedce206a2e5b4a011dc119504af8fb97fc7 SHA512 1367701e2861cf1cf9c143a192a4b044b1bb7e9f8c7a1543be167e84e897c3f043014164ea7241009d04f675f859159bdf37185d6032f792ed8627f881b3f0b4
+DIST firefox-116.0.3-szl.xpi 503524 BLAKE2B a26c6d30fd467e3b8f2800763b361525f41c0674e4a10fde6299c8dae91469bc7d1a018840c39842fa0f8b5e5b27850c46f81c35e4707f278c85244620d41c9b SHA512 8da5004f16639aa755b56de556e31cd5bda3815debe364d0fc86e8914e0bdcd504ddc6e6ec1f8ad498d0a8e76aaeb9f6c9e6f7df2f15b19826073a7606e1f8c2
+DIST firefox-116.0.3-ta.xpi 488083 BLAKE2B d80003e9f24a7fda2956796e0407bb10263552fbb21b660d48ce55003c5f01088c62b6c084ce48907ebc59bbcab483e27184e6e812c91cf39186c1e01776e745 SHA512 264c0038d52f77586c5da3489b669c5bdf607792c6e6cac7172a56b50035c03b6c4a73553f44bbca7ab38c3e4edfdda6d82df90f8639fce5587d33e06536cc19
+DIST firefox-116.0.3-te.xpi 535417 BLAKE2B 8421209156ace575c2a11110ffcf2f17b00243648e5094d1e6ce23490620c08f208c6a19c9fdab99829f74042d9fb329ceac8db4c5d5a7b013e6b5b9acc717de SHA512 1e53f16fefd1b57af03e0c6ee695d92ae56ccf8b0162d8e270d2f0b5b235b700c20c2e278f63a1b59cc84b3dc8ada312dcced4d86f6b47d8699df23e6c1ac3bf
+DIST firefox-116.0.3-th.xpi 631488 BLAKE2B 365ac72ad8328e8bfe7ff0939792bba07996b9d909de43a86464353be69ebaa080c6eae551904df3c665bc5a1fca150d3a0b18ae1c8839bf1472368969586df4 SHA512 e88ca08136fd59382289852aaa1c48cd9b7dc4a2047a533fd6f7b64d2463c03fb098128a2084a95438fb4644ae41fceb89484b28d766f18ba3c9950f73de8c7b
+DIST firefox-116.0.3-tl.xpi 510942 BLAKE2B 9126d7e7e441f5791ed75333add2268c0ae8ff1ffe447b55f37cc19a9a0a63343a8e2434934627d12ff883678f5887fbf2198332b739b5090d2f37dd6b415871 SHA512 7a709e6d76472f27c0efa32d111a36b331701fa94ad02f99274bd8faa7bd1832ca415141510a405c043530e5c24b0057b4c8d324223d8fc9803eed0bb53add4f
+DIST firefox-116.0.3-tr.xpi 573422 BLAKE2B 7a27ac2c0e38187e92d1b3f493f44c9e07274dce997a361b7f9c318ef01248339f3823ca7afd4a4711b412d099b8750dbeac07d4e71a4b161ed80ba223269a09 SHA512 ff8bf885b3b3a05fe8217ef8666631b0e7050cd121b42f0b8e001caddf1f6ff720131daf3cf2adc0b63c71952d1305583618644581a5ebd1fbc6162eceaa87ab
+DIST firefox-116.0.3-trs.xpi 481282 BLAKE2B 19930d43a15763de494b77a9674bd992b00fdc81738dcd80f4eb0eab4a3b4f0cf56a0ba71db2a0722872c5727f381ca929e76f8c418e4c059d7894517646ccee SHA512 9dceabe5d45d4e991493b68240936ff031d6846660d1568e7c67a3c62cf9b02aeedc070ee9b2a3de0380336cf12eebc4869c877c0682e9b665251e4b0337790e
+DIST firefox-116.0.3-uk.xpi 644400 BLAKE2B 1de3f17da4f3da4031dbf5fa52f7e28fad099f7c690edf87aeade2223b2b40a6dbd72b9537f9751adb94016717b76599c9db81cbcf11fae39f7f879b7a60095e SHA512 8d723bdb0e08713a5d7dd18b69e6c8d5dbf0eb71b78d198b0863dbe4faa004c79391eec9b9fefb1991db296aeafeac07776ce30c9ff8e88c44f06ad83925be05
+DIST firefox-116.0.3-ur.xpi 538191 BLAKE2B 7e01804f5112d949e453d0e3e9b2a76d02975e4f2fef59980f7163514ede9c6b23f337ed115b1ae5870f225a2efd9e358a946a667220a65840dde45a7152526f SHA512 96ed6f6dab7386250e4aeb1ad9bd189ee97b1a15f57db4c0f862d43744f870352a5f040ecdbff1e67ccba36400fdaa2acda2ae9a7ea7982e399ee1f3c3ae2886
+DIST firefox-116.0.3-uz.xpi 461090 BLAKE2B 9d288ba406c6370b3e95bee71fa50f5e729cf0c2d9a2e915fb74015ce687bf8993dda96b84db67c341b16c879d017eb6545d2e2e7845b2625ac4a3240107e68d SHA512 a3ff074743f1b1d0e01df001b6c982bfee3bb7b4e53755c069be1b316a3d8a325e64b1697328f74c68c8ab2c3253dda49e73d3f7f9bac853d9799a01f51bd4e1
+DIST firefox-116.0.3-vi.xpi 596616 BLAKE2B fb75d03eabb99f6ed60079fd5f509495950a4c3a5725971e4af8f642bd2f47ef98cfedb6a4b81a73f2d3c69293c10c71feeb6f277c587c2149715136c386b5da SHA512 2350b0cd726ad4f36e666333892fdd1850c97972e17d8138827a0c4fc31553784e8f4acc39cb6232baef92eeaca870f32f1a3d60e9ed4ee997fdde8a9fa70977
+DIST firefox-116.0.3-xh.xpi 401664 BLAKE2B 1de763b5c8827217095f304d7800d3dabf78e197f6559aec9775d69c89c340137636e4db952cc5e9045cf5d78dfc7ee3de76e33c246db40b798115a49a9497b7 SHA512 a4ded42cbabfa12b9236a699a52d27bd7083e118ce683a59cf3a200b9c70aa3333238d1729f19c03001bf97793102882c3fbf88e82f79b3b27d6d653b8a536c2
+DIST firefox-116.0.3-zh-CN.xpi 596069 BLAKE2B adead5cae90fab7daada7a6d6ac29fefa8e2706e5316b22d9a2af6da70bfe43c8c0dc1776ede6c4840ac974b363f4b0b7282bcadf46dc7372ce845be10eccbbf SHA512 1ea142d55ee2eba534738e5fa8eaaa4b869e6e0c33f153b2becaea558ee196805b20bbaabece433af3fbfa5b667820f948cba57edd76eb7ed4b21cc9645f65f2
+DIST firefox-116.0.3-zh-TW.xpi 598589 BLAKE2B fc7879a838e63711402b457f951033789be486c1980ee3cf0bd47c60524622f6e4cddc54102a04fd046bb14e14c1a80c78aa1dd33db333272e64029c6dad8e06 SHA512 ac20f5fc22d469f8ba7550e7029884ac4733f33cd0b7d1ec89723072ce99625fcb2fb40535ae9972a0cd7ce4f6bb6349952f785c44b00384abbc2ef5929ec330
+DIST firefox-116.0.3.source.tar.xz 520884220 BLAKE2B 371ff2db5516059b6df21dc4c9350db9f829f6932fb401d7eec2570771aa12919e9a6b1636bb969d9a0ceddf9ab7f8535c9136287847893431143c6e9cb80551 SHA512 194c50e9ba5a918c37fbef8cd72ffb98e5e9f51955d8172b6666a758b5f20777ca0a7f79dff0328305fb6dafefb102ab002e326f47d0965a4dc6d3e9287c42b9
DIST firefox-116.0.source.tar.xz 515487160 BLAKE2B 844f37e6f1f0947771a5e9a629ad44c04733906cb5922d5541ec12c4193dee4307cd435c381a97ce4ff20be1f31200a0c13c6e33a0308fcab9ce16b1327723c1 SHA512 4370c65a99bf8796524aca11ea8e99fa4f875176a5805ad49f35ae149080eb54be42e7eae84627e87e17b88b262649e48f3b30b317170ac7c208960200d1005d
diff --git a/www-client/firefox/firefox-116.0.3.ebuild b/www-client/firefox/firefox-116.0.3.ebuild
new file mode 100644
index 000000000000..f99be60d5c07
--- /dev/null
+++ b/www-client/firefox/firefox-116.0.3.ebuild
@@ -0,0 +1,1466 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+FIREFOX_PATCHSET="firefox-116-patches-04.tar.xz"
+
+LLVM_MAX_SLOT=16
+
+PYTHON_COMPAT=( python3_{9..11} )
+PYTHON_REQ_USE="ncurses,sqlite,ssl"
+
+WANT_AUTOCONF="2.1"
+
+VIRTUALX_REQUIRED="manual"
+
+MOZ_ESR=
+
+MOZ_PV=${PV}
+MOZ_PV_SUFFIX=
+if [[ ${PV} =~ (_(alpha|beta|rc).*)$ ]] ; then
+ MOZ_PV_SUFFIX=${BASH_REMATCH[1]}
+
+ # Convert the ebuild version to the upstream Mozilla version
+ MOZ_PV="${MOZ_PV/_alpha/a}" # Handle alpha for SRC_URI
+ MOZ_PV="${MOZ_PV/_beta/b}" # Handle beta for SRC_URI
+ MOZ_PV="${MOZ_PV%%_rc*}" # Handle rc for SRC_URI
+fi
+
+if [[ -n ${MOZ_ESR} ]] ; then
+ # ESR releases have slightly different version numbers
+ MOZ_PV="${MOZ_PV}esr"
+fi
+
+MOZ_PN="${PN%-bin}"
+MOZ_P="${MOZ_PN}-${MOZ_PV}"
+MOZ_PV_DISTFILES="${MOZ_PV}${MOZ_PV_SUFFIX}"
+MOZ_P_DISTFILES="${MOZ_PN}-${MOZ_PV_DISTFILES}"
+
+inherit autotools check-reqs desktop flag-o-matic gnome2-utils linux-info \
+ llvm multiprocessing optfeature pax-utils python-any-r1 toolchain-funcs \
+ virtualx xdg
+
+MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/releases/${MOZ_PV}"
+
+if [[ ${PV} == *_rc* ]] ; then
+ MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/candidates/${MOZ_PV}-candidates/build${PV##*_rc}"
+fi
+
+PATCH_URIS=(
+ https://dev.gentoo.org/~juippis/mozilla/patchsets/${FIREFOX_PATCHSET}
+)
+
+SRC_URI="${MOZ_SRC_BASE_URI}/source/${MOZ_P}.source.tar.xz -> ${MOZ_P_DISTFILES}.source.tar.xz
+ ${PATCH_URIS[@]}"
+
+DESCRIPTION="Firefox Web Browser"
+HOMEPAGE="https://www.mozilla.com/firefox"
+
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
+
+SLOT="rapid"
+LICENSE="MPL-2.0 GPL-2 LGPL-2.1"
+
+IUSE="+clang cpu_flags_arm_neon dbus debug eme-free hardened hwaccel"
+IUSE+=" jack +jumbo-build libproxy lto openh264 pgo pulseaudio sndio selinux"
+IUSE+=" +system-av1 +system-harfbuzz +system-icu +system-jpeg +system-libevent +system-libvpx system-png system-python-libs +system-webp"
+IUSE+=" +telemetry valgrind wayland wifi +X"
+
+# Firefox-only IUSE
+IUSE+=" geckodriver +gmp-autoupdate screencast"
+
+REQUIRED_USE="|| ( X wayland )
+ debug? ( !system-av1 )
+ !jumbo-build? ( clang )
+ pgo? ( lto )
+ wifi? ( dbus )"
+
+FF_ONLY_DEPEND="!www-client/firefox:0
+ !www-client/firefox:esr
+ screencast? ( media-video/pipewire:= )
+ selinux? ( sec-policy/selinux-mozilla )"
+BDEPEND="${PYTHON_DEPS}
+ || (
+ (
+ sys-devel/clang:16
+ sys-devel/llvm:16
+ clang? (
+ || (
+ sys-devel/lld:16
+ sys-devel/mold
+ )
+ virtual/rust:0/llvm-16
+ pgo? ( =sys-libs/compiler-rt-sanitizers-16*[profile] )
+ )
+ )
+ (
+ sys-devel/clang:15
+ sys-devel/llvm:15
+ clang? (
+ || (
+ sys-devel/lld:15
+ sys-devel/mold
+ )
+ virtual/rust:0/llvm-15
+ pgo? ( =sys-libs/compiler-rt-sanitizers-15*[profile] )
+ )
+ )
+ )
+ app-alternatives/awk
+ app-arch/unzip
+ app-arch/zip
+ >=dev-util/cbindgen-0.24.3
+ net-libs/nodejs
+ virtual/pkgconfig
+ !clang? ( >=virtual/rust-1.65 )
+ amd64? ( >=dev-lang/nasm-2.14 )
+ x86? ( >=dev-lang/nasm-2.14 )
+ pgo? (
+ X? (
+ sys-devel/gettext
+ x11-base/xorg-server[xvfb]
+ x11-apps/xhost
+ )
+ !X? (
+ >=gui-libs/wlroots-0.15.1-r1[tinywl]
+ x11-misc/xkeyboard-config
+ )
+ )"
+COMMON_DEPEND="${FF_ONLY_DEPEND}
+ >=app-accessibility/at-spi2-core-2.46.0:2
+ dev-libs/expat
+ dev-libs/glib:2
+ dev-libs/libffi:=
+ >=dev-libs/nss-3.91
+ >=dev-libs/nspr-4.35
+ media-libs/alsa-lib
+ media-libs/fontconfig
+ media-libs/freetype
+ media-libs/mesa
+ media-video/ffmpeg
+ sys-libs/zlib
+ virtual/freedesktop-icon-theme
+ x11-libs/cairo
+ x11-libs/gdk-pixbuf
+ x11-libs/pango
+ x11-libs/pixman
+ dbus? (
+ dev-libs/dbus-glib
+ sys-apps/dbus
+ )
+ jack? ( virtual/jack )
+ pulseaudio? (
+ || (
+ media-libs/libpulse
+ >=media-sound/apulse-0.1.12-r4[sdk]
+ )
+ )
+ libproxy? ( net-libs/libproxy )
+ selinux? ( sec-policy/selinux-mozilla )
+ sndio? ( >=media-sound/sndio-1.8.0-r1 )
+ screencast? ( media-video/pipewire:= )
+ system-av1? (
+ >=media-libs/dav1d-1.0.0:=
+ >=media-libs/libaom-1.0.0:=
+ )
+ system-harfbuzz? (
+ >=media-gfx/graphite2-1.3.13
+ >=media-libs/harfbuzz-2.8.1:0=
+ )
+ system-icu? ( >=dev-libs/icu-73.1:= )
+ system-jpeg? ( >=media-libs/libjpeg-turbo-1.2.1 )
+ system-libevent? ( >=dev-libs/libevent-2.1.12:0=[threads(+)] )
+ system-libvpx? ( >=media-libs/libvpx-1.8.2:0=[postproc] )
+ system-png? ( >=media-libs/libpng-1.6.35:0=[apng] )
+ system-webp? ( >=media-libs/libwebp-1.1.0:0= )
+ valgrind? ( dev-util/valgrind )
+ wayland? (
+ >=media-libs/libepoxy-1.5.10-r1
+ x11-libs/gtk+:3[wayland]
+ x11-libs/libxkbcommon[wayland]
+ )
+ wifi? (
+ kernel_linux? (
+ dev-libs/dbus-glib
+ net-misc/networkmanager
+ sys-apps/dbus
+ )
+ )
+ X? (
+ virtual/opengl
+ x11-libs/cairo[X]
+ x11-libs/gtk+:3[X]
+ x11-libs/libX11
+ x11-libs/libXcomposite
+ x11-libs/libXdamage
+ x11-libs/libXext
+ x11-libs/libXfixes
+ x11-libs/libxkbcommon[X]
+ x11-libs/libXrandr
+ x11-libs/libXtst
+ x11-libs/libxcb:=
+ )"
+RDEPEND="${COMMON_DEPEND}
+ jack? ( virtual/jack )
+ openh264? ( media-libs/openh264:*[plugin] )"
+DEPEND="${COMMON_DEPEND}
+ X? (
+ x11-base/xorg-proto
+ x11-libs/libICE
+ x11-libs/libSM
+ )"
+
+S="${WORKDIR}/${PN}-${PV%_*}"
+
+# Allow MOZ_GMP_PLUGIN_LIST to be set in an eclass or
+# overridden in the enviromnent (advanced hackers only)
+if [[ -z "${MOZ_GMP_PLUGIN_LIST+set}" ]] ; then
+ MOZ_GMP_PLUGIN_LIST=( gmp-gmpopenh264 gmp-widevinecdm )
+fi
+
+llvm_check_deps() {
+ if ! has_version -b "sys-devel/clang:${LLVM_SLOT}" ; then
+ einfo "sys-devel/clang:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
+ return 1
+ fi
+
+ if use clang && ! tc-ld-is-mold ; then
+ if ! has_version -b "sys-devel/lld:${LLVM_SLOT}" ; then
+ einfo "sys-devel/lld:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
+ return 1
+ fi
+
+ if ! has_version -b "virtual/rust:0/llvm-${LLVM_SLOT}" ; then
+ einfo "virtual/rust:0/llvm-${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
+ return 1
+ fi
+
+ if use pgo ; then
+ if ! has_version -b "=sys-libs/compiler-rt-sanitizers-${LLVM_SLOT}*[profile]" ; then
+ einfo "=sys-libs/compiler-rt-sanitizers-${LLVM_SLOT}*[profile] is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
+ return 1
+ fi
+ fi
+ fi
+
+ einfo "Using LLVM slot ${LLVM_SLOT} to build" >&2
+}
+
+MOZ_LANGS=(
+ af ar ast be bg br ca cak cs cy da de dsb
+ el en-CA en-GB en-US es-AR es-ES et eu
+ fi fr fy-NL ga-IE gd gl he hr hsb hu
+ id is it ja ka kab kk ko lt lv ms nb-NO nl nn-NO
+ pa-IN pl pt-BR pt-PT rm ro ru
+ sk sl sq sr sv-SE th tr uk uz vi zh-CN zh-TW
+)
+
+# Firefox-only LANGS
+MOZ_LANGS+=( ach )
+MOZ_LANGS+=( an )
+MOZ_LANGS+=( az )
+MOZ_LANGS+=( bn )
+MOZ_LANGS+=( bs )
+MOZ_LANGS+=( ca-valencia )
+MOZ_LANGS+=( eo )
+MOZ_LANGS+=( es-CL )
+MOZ_LANGS+=( es-MX )
+MOZ_LANGS+=( fa )
+MOZ_LANGS+=( ff )
+MOZ_LANGS+=( fur )
+MOZ_LANGS+=( gn )
+MOZ_LANGS+=( gu-IN )
+MOZ_LANGS+=( hi-IN )
+MOZ_LANGS+=( hy-AM )
+MOZ_LANGS+=( ia )
+MOZ_LANGS+=( km )
+MOZ_LANGS+=( kn )
+MOZ_LANGS+=( lij )
+MOZ_LANGS+=( mk )
+MOZ_LANGS+=( mr )
+MOZ_LANGS+=( my )
+MOZ_LANGS+=( ne-NP )
+MOZ_LANGS+=( oc )
+MOZ_LANGS+=( sc )
+MOZ_LANGS+=( sco )
+MOZ_LANGS+=( si )
+MOZ_LANGS+=( son )
+MOZ_LANGS+=( szl )
+MOZ_LANGS+=( ta )
+MOZ_LANGS+=( te )
+MOZ_LANGS+=( tl )
+MOZ_LANGS+=( trs )
+MOZ_LANGS+=( ur )
+MOZ_LANGS+=( xh )
+
+mozilla_set_globals() {
+ # https://bugs.gentoo.org/587334
+ local MOZ_TOO_REGIONALIZED_FOR_L10N=(
+ fy-NL ga-IE gu-IN hi-IN hy-AM nb-NO ne-NP nn-NO pa-IN sv-SE
+ )
+
+ local lang xflag
+ for lang in "${MOZ_LANGS[@]}" ; do
+ # en and en_US are handled internally
+ if [[ ${lang} == en ]] || [[ ${lang} == en-US ]] ; then
+ continue
+ fi
+
+ # strip region subtag if $lang is in the list
+ if has ${lang} "${MOZ_TOO_REGIONALIZED_FOR_L10N[@]}" ; then
+ xflag=${lang%%-*}
+ else
+ xflag=${lang}
+ fi
+
+ SRC_URI+=" l10n_${xflag/[_@]/-}? ("
+ SRC_URI+=" ${MOZ_SRC_BASE_URI}/linux-x86_64/xpi/${lang}.xpi -> ${MOZ_P_DISTFILES}-${lang}.xpi"
+ SRC_URI+=" )"
+ IUSE+=" l10n_${xflag/[_@]/-}"
+ done
+}
+mozilla_set_globals
+
+moz_clear_vendor_checksums() {
+ debug-print-function ${FUNCNAME} "$@"
+
+ if [[ ${#} -ne 1 ]] ; then
+ die "${FUNCNAME} requires exact one argument"
+ fi
+
+ einfo "Clearing cargo checksums for ${1} ..."
+
+ sed -i \
+ -e 's/\("files":{\)[^}]*/\1/' \
+ "${S}"/third_party/rust/${1}/.cargo-checksum.json \
+ || die
+}
+
+moz_install_xpi() {
+ debug-print-function ${FUNCNAME} "$@"
+
+ if [[ ${#} -lt 2 ]] ; then
+ die "${FUNCNAME} requires at least two arguments"
+ fi
+
+ local DESTDIR=${1}
+ shift
+
+ insinto "${DESTDIR}"
+
+ local emid xpi_file xpi_tmp_dir
+ for xpi_file in "${@}" ; do
+ emid=
+ xpi_tmp_dir=$(mktemp -d --tmpdir="${T}")
+
+ # Unpack XPI
+ unzip -qq "${xpi_file}" -d "${xpi_tmp_dir}" || die
+
+ # Determine extension ID
+ if [[ -f "${xpi_tmp_dir}/install.rdf" ]] ; then
+ emid=$(sed -n -e '/install-manifest/,$ { /em:id/!d; s/.*[\">]\([^\"<>]*\)[\"<].*/\1/; p; q }' "${xpi_tmp_dir}/install.rdf")
+ [[ -z "${emid}" ]] && die "failed to determine extension id from install.rdf"
+ elif [[ -f "${xpi_tmp_dir}/manifest.json" ]] ; then
+ emid=$(sed -n -e 's/.*"id": "\([^"]*\)".*/\1/p' "${xpi_tmp_dir}/manifest.json")
+ [[ -z "${emid}" ]] && die "failed to determine extension id from manifest.json"
+ else
+ die "failed to determine extension id"
+ fi
+
+ einfo "Installing ${emid}.xpi into ${ED}${DESTDIR} ..."
+ newins "${xpi_file}" "${emid}.xpi"
+ done
+}
+
+mozconfig_add_options_ac() {
+ debug-print-function ${FUNCNAME} "$@"
+
+ if [[ ${#} -lt 2 ]] ; then
+ die "${FUNCNAME} requires at least two arguments"
+ fi
+
+ local reason=${1}
+ shift
+
+ local option
+ for option in ${@} ; do
+ echo "ac_add_options ${option} # ${reason}" >>${MOZCONFIG}
+ done
+}
+
+mozconfig_add_options_mk() {
+ debug-print-function ${FUNCNAME} "$@"
+
+ if [[ ${#} -lt 2 ]] ; then
+ die "${FUNCNAME} requires at least two arguments"
+ fi
+
+ local reason=${1}
+ shift
+
+ local option
+ for option in ${@} ; do
+ echo "mk_add_options ${option} # ${reason}" >>${MOZCONFIG}
+ done
+}
+
+mozconfig_use_enable() {
+ debug-print-function ${FUNCNAME} "$@"
+
+ if [[ ${#} -lt 1 ]] ; then
+ die "${FUNCNAME} requires at least one arguments"
+ fi
+
+ local flag=$(use_enable "${@}")
+ mozconfig_add_options_ac "$(use ${1} && echo +${1} || echo -${1})" "${flag}"
+}
+
+mozconfig_use_with() {
+ debug-print-function ${FUNCNAME} "$@"
+
+ if [[ ${#} -lt 1 ]] ; then
+ die "${FUNCNAME} requires at least one arguments"
+ fi
+
+ local flag=$(use_with "${@}")
+ mozconfig_add_options_ac "$(use ${1} && echo +${1} || echo -${1})" "${flag}"
+}
+
+# This is a straight copypaste from toolchain-funcs.eclass's 'tc-ld-is-lld', and is temporarily
+# placed here until toolchain-funcs.eclass gets an official support for mold linker.
+# Please see:
+# https://github.com/gentoo/gentoo/pull/28366 ||
+# https://github.com/gentoo/gentoo/pull/28355
+tc-ld-is-mold() {
+ local out
+
+ # Ensure ld output is in English.
+ local -x LC_ALL=C
+
+ # First check the linker directly.
+ out=$($(tc-getLD "$@") --version 2>&1)
+ if [[ ${out} == *"mold"* ]] ; then
+ return 0
+ fi
+
+ # Then see if they're selecting mold via compiler flags.
+ # Note: We're assuming they're using LDFLAGS to hold the
+ # options and not CFLAGS/CXXFLAGS.
+ local base="${T}/test-tc-linker"
+ cat <<-EOF > "${base}.c"
+ int main() { return 0; }
+ EOF
+ out=$($(tc-getCC "$@") ${CFLAGS} ${CPPFLAGS} ${LDFLAGS} -Wl,--version "${base}.c" -o "${base}" 2>&1)
+ rm -f "${base}"*
+ if [[ ${out} == *"mold"* ]] ; then
+ return 0
+ fi
+
+ # No mold here!
+ return 1
+}
+
+virtwl() {
+ debug-print-function ${FUNCNAME} "$@"
+
+ [[ $# -lt 1 ]] && die "${FUNCNAME} needs at least one argument"
+ [[ -n $XDG_RUNTIME_DIR ]] || die "${FUNCNAME} needs XDG_RUNTIME_DIR to be set; try xdg_environment_reset"
+ tinywl -h >/dev/null || die 'tinywl -h failed'
+
+ # TODO: don't run addpredict in utility function. WLR_RENDERER=pixman doesn't work
+ addpredict /dev/dri
+ local VIRTWL VIRTWL_PID
+ coproc VIRTWL { WLR_BACKENDS=headless exec tinywl -s 'echo $WAYLAND_DISPLAY; read _; kill $PPID'; }
+ local -x WAYLAND_DISPLAY
+ read WAYLAND_DISPLAY <&${VIRTWL[0]}
+
+ debug-print "${FUNCNAME}: $@"
+ "$@"
+ local r=$?
+
+ [[ -n $VIRTWL_PID ]] || die "tinywl exited unexpectedly"
+ exec {VIRTWL[0]}<&- {VIRTWL[1]}>&-
+ return $r
+}
+
+pkg_pretend() {
+ if [[ ${MERGE_TYPE} != binary ]] ; then
+ if use pgo ; then
+ if ! has usersandbox $FEATURES ; then
+ die "You must enable usersandbox as X server can not run as root!"
+ fi
+ fi
+
+ # Ensure we have enough disk space to compile
+ if use pgo || use lto || use debug ; then
+ CHECKREQS_DISK_BUILD="13500M"
+ else
+ CHECKREQS_DISK_BUILD="6600M"
+ fi
+
+ check-reqs_pkg_pretend
+ fi
+}
+
+pkg_setup() {
+ if [[ ${MERGE_TYPE} != binary ]] ; then
+ if use pgo ; then
+ if ! has userpriv ${FEATURES} ; then
+ eerror "Building ${PN} with USE=pgo and FEATURES=-userpriv is not supported!"
+ fi
+ fi
+
+ # Ensure we have enough disk space to compile
+ if use pgo || use lto || use debug ; then
+ CHECKREQS_DISK_BUILD="13500M"
+ else
+ CHECKREQS_DISK_BUILD="6400M"
+ fi
+
+ check-reqs_pkg_setup
+
+ llvm_pkg_setup
+
+ if use clang && use lto && tc-ld-is-lld ; then
+ local version_lld=$(ld.lld --version 2>/dev/null | awk '{ print $2 }')
+ [[ -n ${version_lld} ]] && version_lld=$(ver_cut 1 "${version_lld}")
+ [[ -z ${version_lld} ]] && die "Failed to read ld.lld version!"
+
+ local version_llvm_rust=$(rustc -Vv 2>/dev/null | grep -F -- 'LLVM version:' | awk '{ print $3 }')
+ [[ -n ${version_llvm_rust} ]] && version_llvm_rust=$(ver_cut 1 "${version_llvm_rust}")
+ [[ -z ${version_llvm_rust} ]] && die "Failed to read used LLVM version from rustc!"
+
+ if ver_test "${version_lld}" -ne "${version_llvm_rust}" ; then
+ eerror "Rust is using LLVM version ${version_llvm_rust} but ld.lld version belongs to LLVM version ${version_lld}."
+ eerror "You will be unable to link ${CATEGORY}/${PN}. To proceed you have the following options:"
+ eerror " - Manually switch rust version using 'eselect rust' to match used LLVM version"
+ eerror " - Switch to dev-lang/rust[system-llvm] which will guarantee matching version"
+ eerror " - Build ${CATEGORY}/${PN} without USE=lto"
+ eerror " - Rebuild lld with llvm that was used to build rust (may need to rebuild the whole "
+ eerror " llvm/clang/lld/rust chain depending on your @world updates)"
+ die "LLVM version used by Rust (${version_llvm_rust}) does not match with ld.lld version (${version_lld})!"
+ fi
+ fi
+
+ python-any-r1_pkg_setup
+
+ # Avoid PGO profiling problems due to enviroment leakage
+ # These should *always* be cleaned up anyway
+ unset \
+ DBUS_SESSION_BUS_ADDRESS \
+ DISPLAY \
+ ORBIT_SOCKETDIR \
+ SESSION_MANAGER \
+ XAUTHORITY \
+ XDG_CACHE_HOME \
+ XDG_SESSION_COOKIE
+
+ # Build system is using /proc/self/oom_score_adj, bug #604394
+ addpredict /proc/self/oom_score_adj
+
+ if use pgo ; then
+ # Update 105.0: "/proc/self/oom_score_adj" isn't enough anymore with pgo, but not sure
+ # whether that's due to better OOM handling by Firefox (bmo#1771712), or portage
+ # (PORTAGE_SCHEDULING_POLICY) update...
+ addpredict /proc
+
+ # May need a wider addpredict when using wayland+pgo.
+ addpredict /dev/dri
+
+ # Allow access to GPU during PGO run
+ local ati_cards mesa_cards nvidia_cards render_cards
+ shopt -s nullglob
+
+ ati_cards=$(echo -n /dev/ati/card* | sed 's/ /:/g')
+ if [[ -n "${ati_cards}" ]] ; then
+ addpredict "${ati_cards}"
+ fi
+
+ mesa_cards=$(echo -n /dev/dri/card* | sed 's/ /:/g')
+ if [[ -n "${mesa_cards}" ]] ; then
+ addpredict "${mesa_cards}"
+ fi
+
+ nvidia_cards=$(echo -n /dev/nvidia* | sed 's/ /:/g')
+ if [[ -n "${nvidia_cards}" ]] ; then
+ addpredict "${nvidia_cards}"
+ fi
+
+ render_cards=$(echo -n /dev/dri/renderD128* | sed 's/ /:/g')
+ if [[ -n "${render_cards}" ]] ; then
+ addpredict "${render_cards}"
+ fi
+
+ shopt -u nullglob
+ fi
+
+ if ! mountpoint -q /dev/shm ; then
+ # If /dev/shm is not available, configure is known to fail with
+ # a traceback report referencing /usr/lib/pythonN.N/multiprocessing/synchronize.py
+ ewarn "/dev/shm is not mounted -- expect build failures!"
+ fi
+
+ # Google API keys (see http://www.chromium.org/developers/how-tos/api-keys)
+ # Note: These are for Gentoo Linux use ONLY. For your own distribution, please
+ # get your own set of keys.
+ if [[ -z "${MOZ_API_KEY_GOOGLE+set}" ]] ; then
+ MOZ_API_KEY_GOOGLE="AIzaSyDEAOvatFogGaPi0eTgsV_ZlEzx0ObmepsMzfAc"
+ fi
+
+ if [[ -z "${MOZ_API_KEY_LOCATION+set}" ]] ; then
+ MOZ_API_KEY_LOCATION="AIzaSyB2h2OuRgGaPicUgy5N-5hsZqiPW6sH3n_rptiQ"
+ fi
+
+ # Mozilla API keys (see https://location.services.mozilla.com/api)
+ # Note: These are for Gentoo Linux use ONLY. For your own distribution, please
+ # get your own set of keys.
+ if [[ -z "${MOZ_API_KEY_MOZILLA+set}" ]] ; then
+ MOZ_API_KEY_MOZILLA="edb3d487-3a84-46m0ap1e3-9dfd-92b5efaaa005"
+ fi
+
+ # Ensure we use C locale when building, bug #746215
+ export LC_ALL=C
+ fi
+
+ CONFIG_CHECK="~SECCOMP"
+ WARNING_SECCOMP="CONFIG_SECCOMP not set! This system will be unable to play DRM-protected content."
+ linux-info_pkg_setup
+}
+
+src_unpack() {
+ local _lp_dir="${WORKDIR}/language_packs"
+ local _src_file
+
+ if [[ ! -d "${_lp_dir}" ]] ; then
+ mkdir "${_lp_dir}" || die
+ fi
+
+ for _src_file in ${A} ; do
+ if [[ ${_src_file} == *.xpi ]]; then
+ cp "${DISTDIR}/${_src_file}" "${_lp_dir}" || die "Failed to copy '${_src_file}' to '${_lp_dir}'!"
+ else
+ unpack ${_src_file}
+ fi
+ done
+}
+
+src_prepare() {
+ if use lto; then
+ rm -v "${WORKDIR}"/firefox-patches/*-LTO-Only-enable-LTO-*.patch || die
+ fi
+
+ if ! use ppc64; then
+ rm -v "${WORKDIR}"/firefox-patches/*ppc64*.patch || die
+ fi
+
+ eapply "${WORKDIR}/firefox-patches"
+
+ # Allow user to apply any additional patches without modifing ebuild
+ eapply_user
+
+ # Make cargo respect MAKEOPTS
+ export CARGO_BUILD_JOBS="$(makeopts_jobs)"
+
+ # Make LTO respect MAKEOPTS
+ sed -i \
+ -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \
+ "${S}"/build/moz.configure/lto-pgo.configure \
+ || die "sed failed to set num_cores"
+
+ # Make ICU respect MAKEOPTS
+ sed -i \
+ -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \
+ "${S}"/intl/icu_sources_data.py \
+ || die "sed failed to set num_cores"
+
+ # sed-in toolchain prefix
+ sed -i \
+ -e "s/objdump/${CHOST}-objdump/" \
+ "${S}"/python/mozbuild/mozbuild/configure/check_debug_ranges.py \
+ || die "sed failed to set toolchain prefix"
+
+ sed -i \
+ -e 's/ccache_stats = None/return None/' \
+ "${S}"/python/mozbuild/mozbuild/controller/building.py \
+ || die "sed failed to disable ccache stats call"
+
+ einfo "Removing pre-built binaries ..."
+
+ find "${S}"/third_party -type f \( -name '*.so' -o -name '*.o' \) -print -delete || die
+
+ # Respect choice for "jumbo-build"
+ # Changing the value for FILES_PER_UNIFIED_FILE may not work, see #905431
+ if [[ -n ${FILES_PER_UNIFIED_FILE} ]] && use jumbo-build; then
+ local my_files_per_unified_file=${FILES_PER_UNIFIED_FILE:=16}
+ elog ""
+ elog "jumbo-build defaults modified to ${my_files_per_unified_file}."
+ elog "if you get a build failure, try undefining FILES_PER_UNIFIED_FILE,"
+ elog "if that fails try -jumbo-build before opening a bug report."
+ elog ""
+
+ sed -i -e "s/\"FILES_PER_UNIFIED_FILE\", 16/\"FILES_PER_UNIFIED_FILE\", "${my_files_per_unified_file}"/" python/mozbuild/mozbuild/frontend/data.py ||
+ die "Failed to adjust FILES_PER_UNIFIED_FILE in python/mozbuild/mozbuild/frontend/data.py"
+ sed -i -e "s/FILES_PER_UNIFIED_FILE = 6/FILES_PER_UNIFIED_FILE = "${my_files_per_unified_file}"/" js/src/moz.build ||
+ die "Failed to adjust FILES_PER_UNIFIED_FILE in js/src/moz.build"
+ fi
+
+ # Create build dir
+ BUILD_DIR="${WORKDIR}/${PN}_build"
+ mkdir -p "${BUILD_DIR}" || die
+
+ # Write API keys to disk
+ echo -n "${MOZ_API_KEY_GOOGLE//gGaPi/}" > "${S}"/api-google.key || die
+ echo -n "${MOZ_API_KEY_LOCATION//gGaPi/}" > "${S}"/api-location.key || die
+ echo -n "${MOZ_API_KEY_MOZILLA//m0ap1/}" > "${S}"/api-mozilla.key || die
+
+ xdg_environment_reset
+}
+
+src_configure() {
+ # Show flags set at the beginning
+ einfo "Current BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}"
+ einfo "Current CFLAGS:\t\t${CFLAGS:-no value set}"
+ einfo "Current CXXFLAGS:\t\t${CXXFLAGS:-no value set}"
+ einfo "Current LDFLAGS:\t\t${LDFLAGS:-no value set}"
+ einfo "Current RUSTFLAGS:\t\t${RUSTFLAGS:-no value set}"
+
+ local have_switched_compiler=
+ if use clang; then
+ # Force clang
+ einfo "Enforcing the use of clang due to USE=clang ..."
+
+ local version_clang=$(clang --version 2>/dev/null | grep -F -- 'clang version' | awk '{ print $3 }')
+ [[ -n ${version_clang} ]] && version_clang=$(ver_cut 1 "${version_clang}")
+ [[ -z ${version_clang} ]] && die "Failed to read clang version!"
+
+ if tc-is-gcc; then
+ have_switched_compiler=yes
+ fi
+
+ AR=llvm-ar
+ CC=${CHOST}-clang-${version_clang}
+ CXX=${CHOST}-clang++-${version_clang}
+ NM=llvm-nm
+ RANLIB=llvm-ranlib
+ elif ! use clang && ! tc-is-gcc ; then
+ # Force gcc
+ have_switched_compiler=yes
+ einfo "Enforcing the use of gcc due to USE=-clang ..."
+ AR=gcc-ar
+ CC=${CHOST}-gcc
+ CXX=${CHOST}-g++
+ NM=gcc-nm
+ RANLIB=gcc-ranlib
+ fi
+
+ if [[ -n "${have_switched_compiler}" ]] ; then
+ # Because we switched active compiler we have to ensure
+ # that no unsupported flags are set
+ strip-unsupported-flags
+ fi
+
+ # Ensure we use correct toolchain,
+ # AS is used in a non-standard way by upstream, #bmo1654031
+ export HOST_CC="$(tc-getBUILD_CC)"
+ export HOST_CXX="$(tc-getBUILD_CXX)"
+ export AS="$(tc-getCC) -c"
+ tc-export CC CXX LD AR AS NM OBJDUMP RANLIB PKG_CONFIG
+
+ # Pass the correct toolchain paths through cbindgen
+ if tc-is-cross-compiler ; then
+ export BINDGEN_CFLAGS="${SYSROOT:+--sysroot=${ESYSROOT}} --target=${CHOST} ${BINDGEN_CFLAGS-}"
+ fi
+
+ # Set MOZILLA_FIVE_HOME
+ export MOZILLA_FIVE_HOME="/usr/$(get_libdir)/${PN}"
+
+ # python/mach/mach/mixin/process.py fails to detect SHELL
+ export SHELL="${EPREFIX}/bin/bash"
+
+ # Set state path
+ export MOZBUILD_STATE_PATH="${BUILD_DIR}"
+
+ # Set MOZCONFIG
+ export MOZCONFIG="${S}/.mozconfig"
+
+ # Initialize MOZCONFIG
+ mozconfig_add_options_ac '' --enable-application=browser
+ mozconfig_add_options_ac '' --enable-project=browser
+
+ # Set Gentoo defaults
+ if use telemetry; then
+ export MOZILLA_OFFICIAL=1
+ fi
+
+ mozconfig_add_options_ac 'Gentoo default' \
+ --allow-addon-sideload \
+ --disable-cargo-incremental \
+ --disable-crashreporter \
+ --disable-gpsd \
+ --disable-install-strip \
+ --disable-legacy-profile-creation \
+ --disable-parental-controls \
+ --disable-strip \
+ --disable-tests \
+ --disable-updater \
+ --disable-wmf \
+ --enable-negotiateauth \
+ --enable-new-pass-manager \
+ --enable-official-branding \
+ --enable-release \
+ --enable-system-ffi \
+ --enable-system-pixman \
+ --enable-system-policies \
+ --host="${CBUILD:-${CHOST}}" \
+ --libdir="${EPREFIX}/usr/$(get_libdir)" \
+ --prefix="${EPREFIX}/usr" \
+ --target="${CHOST}" \
+ --without-ccache \
+ --without-wasm-sandboxed-libraries \
+ --with-intl-api \
+ --with-libclang-path="$(llvm-config --libdir)" \
+ --with-system-nspr \
+ --with-system-nss \
+ --with-system-zlib \
+ --with-toolchain-prefix="${CHOST}-" \
+ --with-unsigned-addon-scopes=app,system \
+ --x-includes="${ESYSROOT}/usr/include" \
+ --x-libraries="${ESYSROOT}/usr/$(get_libdir)"
+
+ # Set update channel
+ local update_channel=release
+ [[ -n ${MOZ_ESR} ]] && update_channel=esr
+ mozconfig_add_options_ac '' --update-channel=${update_channel}
+
+ if ! use x86 && [[ ${CHOST} != armv*h* ]] ; then
+ mozconfig_add_options_ac '' --enable-rust-simd
+ fi
+
+ # For future keywording: This is currently (97.0) only supported on:
+ # amd64, arm, arm64 & x86.
+ # Might want to flip the logic around if Firefox is to support more arches.
+ # bug 833001, bug 903411#c8
+ if use ppc64 || use riscv; then
+ mozconfig_add_options_ac '' --disable-sandbox
+ elif use valgrind; then
+ mozconfig_add_options_ac 'valgrind requirement' --disable-sandbox
+ else
+ mozconfig_add_options_ac '' --enable-sandbox
+ fi
+
+ # Enable JIT on riscv64 explicitly
+ # Can be removed once upstream enable it by default in the future.
+ use riscv && mozconfig_add_options_ac 'Enable JIT for RISC-V 64' --enable-jit
+
+ if [[ -s "${S}/api-google.key" ]] ; then
+ local key_origin="Gentoo default"
+ if [[ $(cat "${S}/api-google.key" | md5sum | awk '{ print $1 }') != 709560c02f94b41f9ad2c49207be6c54 ]] ; then
+ key_origin="User value"
+ fi
+
+ mozconfig_add_options_ac "${key_origin}" \
+ --with-google-safebrowsing-api-keyfile="${S}/api-google.key"
+ else
+ einfo "Building without Google API key ..."
+ fi
+
+ if [[ -s "${S}/api-location.key" ]] ; then
+ local key_origin="Gentoo default"
+ if [[ $(cat "${S}/api-location.key" | md5sum | awk '{ print $1 }') != ffb7895e35dedf832eb1c5d420ac7420 ]] ; then
+ key_origin="User value"
+ fi
+
+ mozconfig_add_options_ac "${key_origin}" \
+ --with-google-location-service-api-keyfile="${S}/api-location.key"
+ else
+ einfo "Building without Location API key ..."
+ fi
+
+ if [[ -s "${S}/api-mozilla.key" ]] ; then
+ local key_origin="Gentoo default"
+ if [[ $(cat "${S}/api-mozilla.key" | md5sum | awk '{ print $1 }') != 3927726e9442a8e8fa0e46ccc39caa27 ]] ; then
+ key_origin="User value"
+ fi
+
+ mozconfig_add_options_ac "${key_origin}" \
+ --with-mozilla-api-keyfile="${S}/api-mozilla.key"
+ else
+ einfo "Building without Mozilla API key ..."
+ fi
+
+ mozconfig_use_with system-av1
+ mozconfig_use_with system-harfbuzz
+ mozconfig_use_with system-harfbuzz system-graphite2
+ mozconfig_use_with system-icu
+ mozconfig_use_with system-jpeg
+ mozconfig_use_with system-libevent
+ mozconfig_use_with system-libvpx
+ mozconfig_use_with system-png
+ mozconfig_use_with system-webp
+
+ mozconfig_use_enable dbus
+ mozconfig_use_enable libproxy
+ mozconfig_use_enable valgrind
+
+ use eme-free && mozconfig_add_options_ac '+eme-free' --disable-eme
+
+ mozconfig_use_enable geckodriver
+
+ if use hardened ; then
+ mozconfig_add_options_ac "+hardened" --enable-hardening
+ append-ldflags "-Wl,-z,relro -Wl,-z,now"
+ fi
+
+ local myaudiobackends=""
+ use jack && myaudiobackends+="jack,"
+ use sndio && myaudiobackends+="sndio,"
+ use pulseaudio && myaudiobackends+="pulseaudio,"
+ ! use pulseaudio && myaudiobackends+="alsa,"
+
+ mozconfig_add_options_ac '--enable-audio-backends' --enable-audio-backends="${myaudiobackends::-1}"
+
+ mozconfig_use_enable wifi necko-wifi
+
+ ! use jumbo-build && mozconfig_add_options_ac '--disable-unified-build' --disable-unified-build
+
+ if use X && use wayland ; then
+ mozconfig_add_options_ac '+x11+wayland' --enable-default-toolkit=cairo-gtk3-x11-wayland
+ elif ! use X && use wayland ; then
+ mozconfig_add_options_ac '+wayland' --enable-default-toolkit=cairo-gtk3-wayland-only
+ else
+ mozconfig_add_options_ac '+x11' --enable-default-toolkit=cairo-gtk3-x11-only
+ fi
+
+ if use lto ; then
+ if use clang ; then
+ # Upstream only supports lld or mold when using clang.
+ if tc-ld-is-mold ; then
+ mozconfig_add_options_ac "using ld=mold due to system selection" --enable-linker=mold
+ else
+ mozconfig_add_options_ac "forcing ld=lld due to USE=clang and USE=lto" --enable-linker=lld
+ fi
+
+ mozconfig_add_options_ac '+lto' --enable-lto=cross
+
+ else
+ # ThinLTO is currently broken, see bmo#1644409.
+ # mold does not support gcc+lto combination.
+ mozconfig_add_options_ac '+lto' --enable-lto=full
+ mozconfig_add_options_ac "linker is set to bfd" --enable-linker=bfd
+ fi
+
+ if use pgo ; then
+ mozconfig_add_options_ac '+pgo' MOZ_PGO=1
+
+ if use clang ; then
+ # Used in build/pgo/profileserver.py
+ export LLVM_PROFDATA="llvm-profdata"
+ fi
+ fi
+ else
+ # Avoid auto-magic on linker
+ if use clang ; then
+ # lld is upstream's default
+ if tc-ld-is-mold ; then
+ mozconfig_add_options_ac "using ld=mold due to system selection" --enable-linker=mold
+ else
+ mozconfig_add_options_ac "forcing ld=lld due to USE=clang" --enable-linker=lld
+ fi
+
+ else
+ if tc-ld-is-mold ; then
+ mozconfig_add_options_ac "using ld=mold due to system selection" --enable-linker=mold
+ else
+ mozconfig_add_options_ac "linker is set to bfd due to USE=-clang" --enable-linker=bfd
+ fi
+ fi
+ fi
+
+ # LTO flag was handled via configure
+ filter-lto
+
+ mozconfig_use_enable debug
+ if use debug ; then
+ mozconfig_add_options_ac '+debug' --disable-optimize
+ mozconfig_add_options_ac '+debug' --enable-real-time-tracing
+ else
+ mozconfig_add_options_ac 'Gentoo defaults' --disable-real-time-tracing
+
+ if is-flag '-g*' ; then
+ if use clang ; then
+ mozconfig_add_options_ac 'from CFLAGS' --enable-debug-symbols=$(get-flag '-g*')
+ else
+ mozconfig_add_options_ac 'from CFLAGS' --enable-debug-symbols
+ fi
+ else
+ mozconfig_add_options_ac 'Gentoo default' --disable-debug-symbols
+ fi
+
+ if is-flag '-O0' ; then
+ mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O0
+ elif is-flag '-O4' ; then
+ mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O4
+ elif is-flag '-O3' ; then
+ mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O3
+ elif is-flag '-O1' ; then
+ mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O1
+ elif is-flag '-Os' ; then
+ mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-Os
+ else
+ mozconfig_add_options_ac "Gentoo default" --enable-optimize=-O2
+ fi
+ fi
+
+ # Debug flag was handled via configure
+ filter-flags '-g*'
+
+ # Optimization flag was handled via configure
+ filter-flags '-O*'
+
+ # Modifications to better support ARM, bug #553364
+ if use cpu_flags_arm_neon ; then
+ mozconfig_add_options_ac '+cpu_flags_arm_neon' --with-fpu=neon
+
+ if ! tc-is-clang ; then
+ # thumb options aren't supported when using clang, bug 666966
+ mozconfig_add_options_ac '+cpu_flags_arm_neon' \
+ --with-thumb=yes \
+ --with-thumb-interwork=no
+ fi
+ fi
+
+ if [[ ${CHOST} == armv*h* ]] ; then
+ mozconfig_add_options_ac 'CHOST=armv*h*' --with-float-abi=hard
+
+ if ! use system-libvpx ; then
+ sed -i \
+ -e "s|softfp|hard|" \
+ "${S}"/media/libvpx/moz.build \
+ || die
+ fi
+ fi
+
+ if use clang ; then
+ # https://bugzilla.mozilla.org/show_bug.cgi?id=1482204
+ # https://bugzilla.mozilla.org/show_bug.cgi?id=1483822
+ # toolkit/moz.configure Elfhack section: target.cpu in ('arm', 'x86', 'x86_64')
+ local disable_elf_hack=
+ if use amd64 ; then
+ disable_elf_hack=yes
+ elif use x86 ; then
+ disable_elf_hack=yes
+ elif use arm ; then
+ disable_elf_hack=yes
+ fi
+
+ if [[ -n ${disable_elf_hack} ]] ; then
+ mozconfig_add_options_ac 'elf-hack is broken when using Clang' --disable-elf-hack
+ fi
+ elif tc-is-gcc ; then
+ if ver_test $(gcc-fullversion) -ge 10 ; then
+ einfo "Forcing -fno-tree-loop-vectorize to workaround GCC bug, see bug 758446 ..."
+ append-cxxflags -fno-tree-loop-vectorize
+ fi
+ fi
+
+ if use elibc_musl && use arm64 ; then
+ mozconfig_add_options_ac 'elf-hack is broken when using musl/arm64' --disable-elf-hack
+ fi
+
+ # Additional ARCH support
+ case "${ARCH}" in
+ arm)
+ # Reduce the memory requirements for linking
+ if use clang ; then
+ # Nothing to do
+ :;
+ elif use lto ; then
+ append-ldflags -Wl,--no-keep-memory
+ else
+ append-ldflags -Wl,--no-keep-memory -Wl,--reduce-memory-overheads
+ fi
+ ;;
+ esac
+
+ if ! use elibc_glibc; then
+ mozconfig_add_options_ac '!elibc_glibc' --disable-jemalloc
+ fi
+
+ if use valgrind; then
+ mozconfig_add_options_ac 'valgrind requirement' --disable-jemalloc
+ fi
+
+ # Allow elfhack to work in combination with unstripped binaries
+ # when they would normally be larger than 2GiB.
+ append-ldflags "-Wl,--compress-debug-sections=zlib"
+
+ # Make revdep-rebuild.sh happy; Also required for musl
+ append-ldflags -Wl,-rpath="${MOZILLA_FIVE_HOME}",--enable-new-dtags
+
+ # Pass $MAKEOPTS to build system
+ export MOZ_MAKE_FLAGS="${MAKEOPTS}"
+
+ # Use system's Python environment
+ export PIP_NETWORK_INSTALL_RESTRICTED_VIRTUALENVS=mach
+
+ if use system-python-libs; then
+ export MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE="system"
+ else
+ export MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE="none"
+ fi
+
+ if ! use telemetry; then
+ mozconfig_add_options_mk '-telemetry setting' "MOZ_CRASHREPORTER=0"
+ mozconfig_add_options_mk '-telemetry setting' "MOZ_DATA_REPORTING=0"
+ mozconfig_add_options_mk '-telemetry setting' "MOZ_SERVICES_HEALTHREPORT=0"
+ mozconfig_add_options_mk '-telemetry setting' "MOZ_TELEMETRY_REPORTING=0"
+ fi
+
+ # Disable notification when build system has finished
+ export MOZ_NOSPAM=1
+
+ # Portage sets XARGS environment variable to "xargs -r" by default which
+ # breaks build system's check_prog() function which doesn't support arguments
+ mozconfig_add_options_ac 'Gentoo default' "XARGS=${EPREFIX}/usr/bin/xargs"
+
+ # Set build dir
+ mozconfig_add_options_mk 'Gentoo default' "MOZ_OBJDIR=${BUILD_DIR}"
+
+ # Show flags we will use
+ einfo "Build BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}"
+ einfo "Build CFLAGS:\t\t${CFLAGS:-no value set}"
+ einfo "Build CXXFLAGS:\t\t${CXXFLAGS:-no value set}"
+ einfo "Build LDFLAGS:\t\t${LDFLAGS:-no value set}"
+ einfo "Build RUSTFLAGS:\t\t${RUSTFLAGS:-no value set}"
+
+ # Handle EXTRA_CONF and show summary
+ local ac opt hash reason
+
+ # Apply EXTRA_ECONF entries to $MOZCONFIG
+ if [[ -n ${EXTRA_ECONF} ]] ; then
+ IFS=\! read -a ac <<<${EXTRA_ECONF// --/\!}
+ for opt in "${ac[@]}"; do
+ mozconfig_add_options_ac "EXTRA_ECONF" --${opt#--}
+ done
+ fi
+
+ echo
+ echo "=========================================================="
+ echo "Building ${PF} with the following configuration"
+ grep ^ac_add_options "${MOZCONFIG}" | while read ac opt hash reason; do
+ [[ -z ${hash} || ${hash} == \# ]] \
+ || die "error reading mozconfig: ${ac} ${opt} ${hash} ${reason}"
+ printf " %-30s %s\n" "${opt}" "${reason:-mozilla.org default}"
+ done
+ echo "=========================================================="
+ echo
+
+ if use valgrind; then
+ sed -i -e 's/--enable-optimize=-O[0-9s]/--enable-optimize="-g -O2"/' .mozconfig || die
+ fi
+
+ ./mach configure || die
+}
+
+src_compile() {
+ local virtx_cmd=
+
+ if tc-ld-is-mold && use lto; then
+ # increase ulimit with mold+lto, bugs #892641, #907485
+ if ! ulimit -n 16384 1>/dev/null 2>&1 ; then
+ ewarn "Unable to modify ulimits - building with mold+lto might fail due to low ulimit -n resources."
+ ewarn "Please see bugs #892641 & #907485."
+ else
+ ulimit -n 16384
+ fi
+ fi
+
+ if use pgo; then
+ # Reset and cleanup environment variables used by GNOME/XDG
+ gnome2_environment_reset
+
+ addpredict /root
+
+ if ! use X; then
+ virtx_cmd=virtwl
+ else
+ virtx_cmd=virtx
+ fi
+ fi
+
+ if ! use X; then
+ local -x GDK_BACKEND=wayland
+ else
+ local -x GDK_BACKEND=x11
+ fi
+
+ ${virtx_cmd} ./mach build --verbose || die
+}
+
+src_install() {
+ # xpcshell is getting called during install
+ pax-mark m \
+ "${BUILD_DIR}"/dist/bin/xpcshell \
+ "${BUILD_DIR}"/dist/bin/${PN} \
+ "${BUILD_DIR}"/dist/bin/plugin-container
+
+ DESTDIR="${D}" ./mach install || die
+
+ # Upstream cannot ship symlink but we can (bmo#658850)
+ rm "${ED}${MOZILLA_FIVE_HOME}/${PN}-bin" || die
+ dosym ${PN} ${MOZILLA_FIVE_HOME}/${PN}-bin
+
+ # Don't install llvm-symbolizer from sys-devel/llvm package
+ if [[ -f "${ED}${MOZILLA_FIVE_HOME}/llvm-symbolizer" ]] ; then
+ rm -v "${ED}${MOZILLA_FIVE_HOME}/llvm-symbolizer" || die
+ fi
+
+ # Install policy (currently only used to disable application updates)
+ insinto "${MOZILLA_FIVE_HOME}/distribution"
+ newins "${FILESDIR}"/distribution.ini distribution.ini
+ newins "${FILESDIR}"/disable-auto-update.policy.json policies.json
+
+ # Install system-wide preferences
+ local PREFS_DIR="${MOZILLA_FIVE_HOME}/browser/defaults/preferences"
+ insinto "${PREFS_DIR}"
+ newins "${FILESDIR}"/gentoo-default-prefs.js gentoo-prefs.js
+
+ local GENTOO_PREFS="${ED}${PREFS_DIR}/gentoo-prefs.js"
+
+ # Set dictionary path to use system hunspell
+ cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set spellchecker.dictionary_path pref"
+ pref("spellchecker.dictionary_path", "${EPREFIX}/usr/share/myspell");
+ EOF
+
+ # Force hwaccel prefs if USE=hwaccel is enabled
+ if use hwaccel ; then
+ cat "${FILESDIR}"/gentoo-hwaccel-prefs.js-r2 \
+ >>"${GENTOO_PREFS}" \
+ || die "failed to add prefs to force hardware-accelerated rendering to all-gentoo.js"
+
+ if use wayland; then
+ cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set hwaccel wayland prefs"
+ pref("gfx.x11-egl.force-enabled", false);
+ EOF
+ else
+ cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set hwaccel x11 prefs"
+ pref("gfx.x11-egl.force-enabled", true);
+ EOF
+ fi
+ fi
+
+ if ! use gmp-autoupdate ; then
+ local plugin
+ for plugin in "${MOZ_GMP_PLUGIN_LIST[@]}" ; do
+ einfo "Disabling auto-update for ${plugin} plugin ..."
+ cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to disable autoupdate for ${plugin} media plugin"
+ pref("media.${plugin}.autoupdate", false);
+ EOF
+ done
+ fi
+
+ # Force the graphite pref if USE=system-harfbuzz is enabled, since the pref cannot disable it
+ if use system-harfbuzz ; then
+ cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set gfx.font_rendering.graphite.enabled pref"
+ sticky_pref("gfx.font_rendering.graphite.enabled", true);
+ EOF
+ fi
+
+ # Install language packs
+ local langpacks=( $(find "${WORKDIR}/language_packs" -type f -name '*.xpi') )
+ if [[ -n "${langpacks}" ]] ; then
+ moz_install_xpi "${MOZILLA_FIVE_HOME}/distribution/extensions" "${langpacks[@]}"
+ fi
+
+ # Install geckodriver
+ if use geckodriver ; then
+ einfo "Installing geckodriver into ${ED}${MOZILLA_FIVE_HOME} ..."
+ pax-mark m "${BUILD_DIR}"/dist/bin/geckodriver
+ exeinto "${MOZILLA_FIVE_HOME}"
+ doexe "${BUILD_DIR}"/dist/bin/geckodriver
+
+ dosym ${MOZILLA_FIVE_HOME}/geckodriver /usr/bin/geckodriver
+ fi
+
+ # Install icons
+ local icon_srcdir="${S}/browser/branding/official"
+ local icon_symbolic_file="${FILESDIR}/icon/firefox-symbolic.svg"
+
+ insinto /usr/share/icons/hicolor/symbolic/apps
+ newins "${icon_symbolic_file}" ${PN}-symbolic.svg
+
+ local icon size
+ for icon in "${icon_srcdir}"/default*.png ; do
+ size=${icon%.png}
+ size=${size##*/default}
+
+ if [[ ${size} -eq 48 ]] ; then
+ newicon "${icon}" ${PN}.png
+ fi
+
+ newicon -s ${size} "${icon}" ${PN}.png
+ done
+
+ # Install menu
+ local app_name="Mozilla ${MOZ_PN^}"
+ local desktop_file="${FILESDIR}/icon/${PN}-r3.desktop"
+ local desktop_filename="${PN}.desktop"
+ local exec_command="${PN}"
+ local icon="${PN}"
+ local use_wayland="false"
+
+ if use wayland ; then
+ use_wayland="true"
+ fi
+
+ cp "${desktop_file}" "${WORKDIR}/${PN}.desktop-template" || die
+
+ sed -i \
+ -e "s:@NAME@:${app_name}:" \
+ -e "s:@EXEC@:${exec_command}:" \
+ -e "s:@ICON@:${icon}:" \
+ "${WORKDIR}/${PN}.desktop-template" \
+ || die
+
+ newmenu "${WORKDIR}/${PN}.desktop-template" "${desktop_filename}"
+
+ rm "${WORKDIR}/${PN}.desktop-template" || die
+
+ # Install wrapper script
+ [[ -f "${ED}/usr/bin/${PN}" ]] && rm "${ED}/usr/bin/${PN}"
+ newbin "${FILESDIR}/${PN}-r1.sh" ${PN}
+
+ # Update wrapper
+ sed -i \
+ -e "s:@PREFIX@:${EPREFIX}/usr:" \
+ -e "s:@MOZ_FIVE_HOME@:${MOZILLA_FIVE_HOME}:" \
+ -e "s:@APULSELIB_DIR@:${apulselib}:" \
+ -e "s:@DEFAULT_WAYLAND@:${use_wayland}:" \
+ "${ED}/usr/bin/${PN}" \
+ || die
+}
+
+pkg_preinst() {
+ xdg_pkg_preinst
+
+ # If the apulse libs are available in MOZILLA_FIVE_HOME then apulse
+ # does not need to be forced into the LD_LIBRARY_PATH
+ if use pulseaudio && has_version ">=media-sound/apulse-0.1.12-r4" ; then
+ einfo "APULSE found; Generating library symlinks for sound support ..."
+ local lib
+ pushd "${ED}${MOZILLA_FIVE_HOME}" &>/dev/null || die
+ for lib in ../apulse/libpulse{.so{,.0},-simple.so{,.0}} ; do
+ # A quickpkg rolled by hand will grab symlinks as part of the package,
+ # so we need to avoid creating them if they already exist.
+ if [[ ! -L ${lib##*/} ]] ; then
+ ln -s "${lib}" ${lib##*/} || die
+ fi
+ done
+ popd &>/dev/null || die
+ fi
+}
+
+pkg_postinst() {
+ xdg_pkg_postinst
+
+ if ! use gmp-autoupdate ; then
+ elog "USE='-gmp-autoupdate' has disabled the following plugins from updating or"
+ elog "installing into new profiles:"
+ local plugin
+ for plugin in "${MOZ_GMP_PLUGIN_LIST[@]}" ; do
+ elog "\t ${plugin}"
+ done
+ elog
+ fi
+
+ if use pulseaudio && has_version ">=media-sound/apulse-0.1.12-r4" ; then
+ elog "Apulse was detected at merge time on this system and so it will always be"
+ elog "used for sound. If you wish to use pulseaudio instead please unmerge"
+ elog "media-sound/apulse."
+ elog
+ fi
+
+ local show_doh_information
+ local show_normandy_information
+ local show_shortcut_information
+
+ if [[ -z "${REPLACING_VERSIONS}" ]] ; then
+ # New install; Tell user that DoH is disabled by default
+ show_doh_information=yes
+ show_normandy_information=yes
+ show_shortcut_information=no
+ else
+ local replacing_version
+ for replacing_version in ${REPLACING_VERSIONS} ; do
+ if ver_test "${replacing_version}" -lt 91.0 ; then
+ # Tell user that we no longer install a shortcut
+ # per supported display protocol
+ show_shortcut_information=yes
+ fi
+ done
+ fi
+
+ if [[ -n "${show_doh_information}" ]] ; then
+ elog
+ elog "Note regarding Trusted Recursive Resolver aka DNS-over-HTTPS (DoH):"
+ elog "Due to privacy concerns (encrypting DNS might be a good thing, sending all"
+ elog "DNS traffic to Cloudflare by default is not a good idea and applications"
+ elog "should respect OS configured settings), \"network.trr.mode\" was set to 5"
+ elog "(\"Off by choice\") by default."
+ elog "You can enable DNS-over-HTTPS in ${PN^}'s preferences."
+ fi
+
+ # bug 713782
+ if [[ -n "${show_normandy_information}" ]] ; then
+ elog
+ elog "Upstream operates a service named Normandy which allows Mozilla to"
+ elog "push changes for default settings or even install new add-ons remotely."
+ elog "While this can be useful to address problems like 'Armagadd-on 2.0' or"
+ elog "revert previous decisions to disable TLS 1.0/1.1, privacy and security"
+ elog "concerns prevail, which is why we have switched off the use of this"
+ elog "service by default."
+ elog
+ elog "To re-enable this service set"
+ elog
+ elog " app.normandy.enabled=true"
+ elog
+ elog "in about:config."
+ fi
+
+ if [[ -n "${show_shortcut_information}" ]] ; then
+ elog
+ elog "Since ${PN}-91.0 we no longer install multiple shortcuts for"
+ elog "each supported display protocol. Instead we will only install"
+ elog "one generic Mozilla ${PN^} shortcut."
+ elog "If you still want to be able to select between running Mozilla ${PN^}"
+ elog "on X11 or Wayland, you have to re-create these shortcuts on your own."
+ fi
+
+ # bug 835078
+ if use hwaccel && has_version "x11-drivers/xf86-video-nouveau"; then
+ ewarn "You have nouveau drivers installed in your system and 'hwaccel' "
+ ewarn "enabled for Firefox. Nouveau / your GPU might not support the "
+ ewarn "required EGL, so either disable 'hwaccel' or try the workaround "
+ ewarn "explained in https://bugs.gentoo.org/835078#c5 if Firefox crashes."
+ fi
+
+ elog
+ elog "Unfortunately Firefox-100.0 breaks compatibility with some sites using "
+ elog "useragent checks. To temporarily fix this, enter about:config and modify "
+ elog "network.http.useragent.forceVersion preference to \"99\"."
+ elog "Or install an addon to change your useragent."
+ elog "See: https://support.mozilla.org/en-US/kb/difficulties-opening-or-using-website-firefox-100"
+ elog
+
+ optfeature_header "Optional programs for extra features:"
+ optfeature "desktop notifications" x11-libs/libnotify
+ optfeature "fallback mouse cursor theme e.g. on WMs" gnome-base/gsettings-desktop-schemas
+
+ if ! has_version "sys-libs/glibc"; then
+ elog
+ elog "glibc not found! You won't be able to play DRM content."
+ elog "See Gentoo bug #910309 or upstream bug #1843683."
+ elog
+ fi
+}