summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoonas Niilola <juippis@gentoo.org>2023-05-16 08:57:08 +0300
committerJoonas Niilola <juippis@gentoo.org>2023-05-16 08:58:05 +0300
commit2f48108a3883ae80cf748aa11eec1868e22231cf (patch)
treef2973c37f16e4973d41f701fdb2b6b1e39f479e6 /www-client
parentsys-apps/s6-portable-utils: Stabilize 2.3.0.2 x86, #906462 (diff)
downloadgentoo-2f48108a3883ae80cf748aa11eec1868e22231cf.tar.gz
gentoo-2f48108a3883ae80cf748aa11eec1868e22231cf.tar.bz2
gentoo-2f48108a3883ae80cf748aa11eec1868e22231cf.zip
www-client/firefox: drop 102.10.0, 112.0.2, 113.0
Signed-off-by: Joonas Niilola <juippis@gentoo.org>
Diffstat (limited to 'www-client')
-rw-r--r--www-client/firefox/Manifest299
-rw-r--r--www-client/firefox/firefox-102.10.0.ebuild1278
-rw-r--r--www-client/firefox/firefox-112.0.2.ebuild1409
-rw-r--r--www-client/firefox/firefox-113.0.ebuild1409
4 files changed, 0 insertions, 4395 deletions
diff --git a/www-client/firefox/Manifest b/www-client/firefox/Manifest
index 0e07de331c36..8a2a4caf608f 100644
--- a/www-client/firefox/Manifest
+++ b/www-client/firefox/Manifest
@@ -1,101 +1,3 @@
-DIST firefox-102.10.0esr-ach.xpi 466443 BLAKE2B b081a2a28186ba81cf9fc2b4749a34b02ce55ea8de4a81860cf20bc04f5b54b236b719717cfbe56666d0bde19dfdb25db76e4d1f0ec65c6a6ee2736ecb74d66e SHA512 d178890b9ac6740265f77e17f226d9974e5635af361fc237ab70e49cbc46d3113f6b55945c41f193dfba57ba9d702a5ffe0f84c1992134ba46b1ca35618e297a
-DIST firefox-102.10.0esr-af.xpi 429127 BLAKE2B 1bbd305fe05f34a9e677ea1bc85d2020557cde0998c1907534bacbdf9bbe83d4269a996b447184a536f41d973db7cbf6a7f1e220700c2e7876afcea964f6a3b7 SHA512 3d9e2690bf9abaebb98448864bd4e3eca01ad5be59f6be0ed16b4049d79574b325ec59c504e1e9df89ff820d9064cde8ed03c160baa52f88f29e5311c6902851
-DIST firefox-102.10.0esr-an.xpi 510484 BLAKE2B f2e6516c41c384ea5034d5e8ae4c4a92d7ac175c9543293c2bfe22d5e3cb70ef60512d5cd612f459ca742239df8117159ae4099775fc98430d3e4a9cd4cd512b SHA512 174ae302d19c95a75af320c40870ffe20946f1c6bf5359fe120c7633b73c7e3e93f378518cc7206d7c36e4e0fff97dd8fa0ce7ac8870cb6b681502c616f2ae6f
-DIST firefox-102.10.0esr-ar.xpi 578880 BLAKE2B d086879d719d599e911fcd3a8d0151a83f4ea3aa8a9fc2001a03a021da596856fdd33d2e92e6bb7939754b8d63921599e7cbe956fee5cce7bd5afa6d9d137da7 SHA512 f4505826f341bd1afcfc2430d41691c8056d37bfa60f36883dcc5cea82ed10e6c3da9e70ea2b2de7655dfa9db788640814d89d923cf12dc94d5656d7d7c19345
-DIST firefox-102.10.0esr-ast.xpi 498102 BLAKE2B 964442596e6e3d3c0afce33fa3576d3fd4ded4a1a4775897fda625a5e99d673ecc887e09a01ed8da9e451c6d40a5e67c8d0aac3f638c8fac41fe544f13ea029c SHA512 a034b3758d52f51d30cdc43265cb7edecd0eb7bde2bbba7dcc22e9831d8f9f734e54a2f8fb40ecdecbb6fb6daeccf32b73a5af30a2bd91ffffe0622a486870c2
-DIST firefox-102.10.0esr-az.xpi 500787 BLAKE2B 944e10d8f786f94073cde7d3ba3956073d05f518a5ca1aaef65f5d9acb9482b8967c7705e63dd5264bb493f2346e97c9169b0010a8ad83f5b118ad6cfa7b2368 SHA512 27a15be295eac1c5489c06821e0e3fc808429dd55eb6e3dc396a8fef85ad29a9ae71c87aad53ae50ab224d1ed7fe167e9adb4c92996520e7971866826ce9b333
-DIST firefox-102.10.0esr-be.xpi 666682 BLAKE2B 9832a3d0099190a0706a6700660993c3aa133dd539f2ffec7f5f1d263f7ba15a6005b8d5997d986e86368ccb4e340b8d446f47330a2cb8d382a11434d528b00d SHA512 161707973d47228830dad0281fe79c7f7cb31b1755158a0689200e36db431d40df085a02d5ea71945008cc6e1b14250870ddfb9f4aa5786510b7cc5082b94c23
-DIST firefox-102.10.0esr-bg.xpi 591337 BLAKE2B 2c3356f8a347c740c9a31ba5914a8fafb6ca55fe71c499efa4c2cb8347d61779e66f6e5c0aadec39d0d6afb970debd0be6a424d9266533b113ba6eff5059ceb7 SHA512 e5eb6cd1b7723197c7e5fbbf9c5d9ff6b1e99854ca21a7864ba0ac770a5c9be63abb57ea581bf7a9dceb0325497d211bdfe231b37a6b884bd223170749154e2a
-DIST firefox-102.10.0esr-bn.xpi 591684 BLAKE2B cb9c411e338c368fb00876a448ffe2eea29f62f14de1586b4abe87c80511373880dbef11e42d7b80a1dff90d64438323fb1b4329bb444e969a9b39fc2bcf12e9 SHA512 142ea0decb2759577208e90c8d70c7c976c5d14efbe57c29a7f2c8f0d212be950f72fca57507d401e4971b7df18efeeb921aa0f1759900dc1707928f58732a97
-DIST firefox-102.10.0esr-br.xpi 555853 BLAKE2B a787abdf5c1f7e142905e33ba114a401a65d36dae00c41ad4a203368cf6e539d82fdd68e32094b90b4a25051c8fe13bf020d22d3cc7da91f055dcd0caefb2195 SHA512 b6298f8192db598a14dc76e4600d33bc63efaa46e7efc94bf1a83e01f28a6b6addc01988ddeb1bc61156371d062e38d8b902ca49934f00a80f13df1096b3f086
-DIST firefox-102.10.0esr-bs.xpi 471729 BLAKE2B fc7f8426f46765a6dcd78c6a0ccee1f420c184b6c30a557137eb8ff7e36e0adf0e3e52f297277caa23386196a980eba89af31637591f046514cb4efc6cc40f00 SHA512 28afc0aebf7cebe6f0b3ec8061e1052a7e835fcafcbe8c39ef699a172a12d5b26f505423a053d87084d483cc14a76b351d3a4ed6e8e60e835051e1a5c91cac3c
-DIST firefox-102.10.0esr-ca-valencia.xpi 549192 BLAKE2B cb79579b9b61cd30b8af879f003077e381e07f270d011ba39563258f5254b7ee2d17f1acfa92d422b8c493def252b14bbb9af52b9b232691b6ac92cde330fb33 SHA512 49e70d28cb24c690bdc9667758662cc8ada4015c6b85b3b5b2fecbe1d143c5a2c11708d9ad38b1e88e07e175b5c50d7166338ea0a65bb5583678e89cc5cd23d8
-DIST firefox-102.10.0esr-ca.xpi 561930 BLAKE2B d46e280199e2c3dd16f44ed61e4bbe92393bdef658f6b3c130cb1b247e1cfcdc77ad84e5f89dcb2a1b6545915b6ab8adaebb284004ac0a14599811289c0a602f SHA512 f7ba629ece292849382f804c09d65271e9fc8c732c1f272c454895291f2dcc0af48e1f17db0a4729db8b53d2e8c613207f0cd796a76c3d360c147cc9c5b71990
-DIST firefox-102.10.0esr-cak.xpi 563841 BLAKE2B 5d1022b6fe89b6d6f04bafd041582ca5c83cdccb4581ca81ce22129d182aae7cdf021bf68c33ca2e90f3c75fb27ff940f5e0d7f0b89e47ad22746bba9942f6bc SHA512 90f4e55658c9f4341fa551a480f0b3ea45d3ed006567027a8bfcd2c34ae2b3afaab7d99bf93e807fc53b799a11b18574a92f3bd2b9416f63aeb72a1b1e92dafe
-DIST firefox-102.10.0esr-cs.xpi 599807 BLAKE2B cb90d6965b65d3a9bc20f2e7d77c681fb7f0c92144088d8d77848ed17259e2e8493d2a4088e98c6c63c01193b05dd8e47e8f6b8a00ec7ebc1a14b813e7c6bb74 SHA512 3db0646d54e5ecffebdad8b7154d15b2906909fecf35b80a9911dfcc36c2fc29cc7ca6382ec7444eb64d29adf96139e8f4efd28f5673e34c88461f3ea4ebb246
-DIST firefox-102.10.0esr-cy.xpi 579217 BLAKE2B a2b45ad1a064b6c47d090d7411e1940a9584c07bc646d2f60cc813ba83086478b7358b57c1ac6e36dba3c37dcfa12d311d0b321732dea3ba9aaafed517ff289a SHA512 6d3df7eb18e4f9f9941d2d4eec40b54b5496ab4575feb31cd22ffa7547b2db3a1972744a957920531cc10b27c96257e934ae9c8a6c523b75a29dbdb0a9085698
-DIST firefox-102.10.0esr-da.xpi 570515 BLAKE2B d8cdc29962b634efee24a451146bce045b638f585376c14dc7f24dc05fd1ca48c1e34342de486dc6589de8c35b5afbdef15ff9ebca10d57a8481062b48bc0e61 SHA512 f78957e28e71eec1f106b3b3d30bcc461e804d62631ea3cec2d2e30645444be1119b9f465fccda4e7bf2dd7b374bcaaf7b55b38bedd9f3e755fcb59eee87c2b8
-DIST firefox-102.10.0esr-de.xpi 591579 BLAKE2B 94c1fa4a493674c31c23f9baa2410c0fad275b7ffe9c52546aa867b47919938b47640226e70647039e7169efa9a66cf105890bc5700b9a57e55fc2a04e7aea7a SHA512 10b1575d6f9f7365b9e7be1648c50e52639c3800f6921cd7085d9c89f971003fa485b90223f92ad7a58138a55a401f29a64f8a14172aabc2c87e9263d915a902
-DIST firefox-102.10.0esr-dsb.xpi 600374 BLAKE2B be543399c75155619bb5d7ec961006645640e1808e7084a09c2222eb66e81380e1b0a6344ea1f65c08348d593a9cb05b64a565bc41e0a5c553f30fd1a8e7ec83 SHA512 dc61267ce6952c609a4848fb9d8f8587cf75d2594bdfd230b399dbf7a58015f5b91cbd11a015b7a09279fc52cd3ebe766d14ba5e402f3235b14fc392c3766553
-DIST firefox-102.10.0esr-el.xpi 681656 BLAKE2B c823110f1b12365e23a2c45ae6fe1daa66f9f4b61078bde89af711e5fb749c850e00631afa9fad204cc93f327e258b445f34d553ee915b9a4ff81d0b3c42f3b8 SHA512 0bf94570c51b3a1b765565c74e883941d66cb2f6c8d45d3ef016da9f6ed40a67fa675eaed0c4889a71c144302289c2787073c326406e73956b250d8063795d2d
-DIST firefox-102.10.0esr-en-CA.xpi 541064 BLAKE2B fb6f49ef42eb0e6269b9c43d6445dc024c6c2ef4041614285b56d870d0b7e3f21709c898157a0f7cc75e0748e1d21a9bdbb8c33911380f09bbb96f3d9110a4ac SHA512 bb2cfd5b235c4107bbf77cc2acd0537088683caf20e24e926b8c0412ee277dd85de2a0bb22843771cff08fc07b9074c3e7b9af08fc7f2f2e40f29ca50d7920ac
-DIST firefox-102.10.0esr-en-GB.xpi 543999 BLAKE2B 90d7b044b0f16fdf3658e7c0fdc245fa58bced8befee2c0fbe46c817bea5a17a3f8938178c985b8a884518b9ea81f5a3d1d64dd8bc70afa25cd320a7ff831ccf SHA512 5eaf262fdf513de492888ad286645276b6344d8ff2df6b078a1e366523c4194b95c4842173db32c8651de99f0cceef832b240b8252acfd9d6a4a6c3b90801f1d
-DIST firefox-102.10.0esr-eo.xpi 571442 BLAKE2B 40210f1f12c6af9dc35dc0027d9043ace0a465de006d849af3d577649d3a9d123ed66706d37cc97fd4deb007d9d35b2ee862981466a3d4ffcbfeccd12a58ec40 SHA512 b829f17edb8a760f201eafa03a0adc4b1a6d3d12724abe4230059dcbc4298dd010adeed410b14c48a6c04a61a6515e2263cabb21182707783c04a1270c68d02f
-DIST firefox-102.10.0esr-es-AR.xpi 584193 BLAKE2B ac9c6394dee02728da874cf0d9ed6d8f8d97a66387dd8f6e3264fd408675539b3c727f9187145b4ed822c4f13dcb9637bdccefc3ff37ba4e10311be633ef7793 SHA512 0021d74ea30e730a0d060c620bd476eb3cd3dd6ce69adea0ccf4d0a0fb99a87f1cff93f34769f6267a4ea922d3e81370a83b3e231c76e322ef8c01be34d5b57d
-DIST firefox-102.10.0esr-es-CL.xpi 583192 BLAKE2B d8fd095c9eae2726e3fccbf1d8cf901e9063aef349122451a11d18d1c236a7f665dc219e2ec18e1fbaa0ea0875126f219bff012f5398338f275577bd2482ffbd SHA512 01688a98a0c69bd72c7d4287bbeb7c8156be2fc33af8beba9b86d36c9f73ea95d403f7fdee1a62d1da51c36cf53ee0b5a55c439fbd78d0655b25274fb4797a88
-DIST firefox-102.10.0esr-es-ES.xpi 576080 BLAKE2B bc8fa0826a673e8807f56d2d3c7021058d818210169e2b574767f475d4f0937cdb0c1bef7fde62eb87dfb468370d148433345eee9db1f47b1313976515269453 SHA512 8966ec45738374f5f9e9cbb36daf6c259577722c06e8e306272df98c5765e3b5a91d5b2fcff05f6085b50e548480e49085b07b541880b33195147fa786736d08
-DIST firefox-102.10.0esr-es-MX.xpi 586655 BLAKE2B d5ade1aeb7f732576ee4ff1e594665a20654da1292924b8ab2b608a14ff411c737c61145876b460b09fbe2cf19f55e8e443e7a2432b32ed7e308672e77016788 SHA512 f212ac57660169c8b57b169af7fd735f3da543c34268081b44d14fd710b3639b33fef83067df0beafbdddbb4081b62a5feb95135e2858e65e88d6f736fe26fb4
-DIST firefox-102.10.0esr-et.xpi 543297 BLAKE2B 2bf93ecc36ef6f8dd5f789b96f5356ea8fb634cba9921f4586cc112adc40f381c364a7c3000b59a05ec532aae2a552608043e688b862c93a697366ee9ec01177 SHA512 6f5c48f45b217211107f2c037eca24dce462613c05f708de799687c75ec2b94531021490308aee4ef634ba7afb8f370073f73737195711807f016a85c0dd3fbf
-DIST firefox-102.10.0esr-eu.xpi 572527 BLAKE2B ba93a1686dc371e1e3d8130062795febe67d8315e52b95373b0e1375e2889eec809388720dc83c4b9bed3e35cb9ffc673988c0245306a263f91b78b287f1e1a7 SHA512 330a152c62f6b03d00b1f623f9ee1af8c0765e7f7b99a77729d2b84d9cd17990895443bd4ab63fed7b33d16c46c6506f095125056c4ea56a9eaf8a9237ec76ce
-DIST firefox-102.10.0esr-fa.xpi 583115 BLAKE2B 15e6c496144acbbb7b6278de47fa857175045568b402e1991fdc259c611725d0394ec7d63ec4d214db88fd794cf103d6c06c01727795310791e81d5c6ad7059e SHA512 49b873b0ce851d2371b0fc6b9491ef243868e2b60ee62b4dac1bc62350d369e84e2f7be93eb980e87435381a15d5c8fb0e9b937ec6eaf3bd463795e25faacd3e
-DIST firefox-102.10.0esr-ff.xpi 483129 BLAKE2B a7bb5a141922b21e222a94b6c3a714e721e3cc4adb8f36529054e84a898bacaf1a47cd59ff7bcb7d09c175bc7e25160a83e92a855f9584eaa70eba2cac1a01a4 SHA512 068fa8acb19a845316c5cb030e23ac4e640529a3500f2d12e57ba18821c3cca5484bf06b3427d922fa9ba2afc4120063d083de1eebb602d41e76b336d4aca196
-DIST firefox-102.10.0esr-fi.xpi 568233 BLAKE2B 8dde0eaa0ef2737638908ff04c598a8a400256df94f11ec73779adb20d350c30db69da825daa57db273421d25599ed88c66a4f4bec02bfcb842c22d82fde4c41 SHA512 87b8434083bd1480f18ba92d1d9a1246cc07d30aaff27f8ee29f091c3b9fbf2e473627ed1cea8b461533371310ed61093cba5f5052285688a6f1ca82e4aa9f31
-DIST firefox-102.10.0esr-fr.xpi 595536 BLAKE2B ea29fe50bb19b28e9a4ed7629a6ad4bfab7c5922f45ad51f9b58abd1f73685702387f746de21d72340c413b2f77e8e6af9b0659307fdcf997e28d9f6333dc6aa SHA512 961f58fef77e33ddb6311d7e97b939deb669c0fb8a40c610f4bceea081104ca9364342dc27e9e79684d84ff3d8390a1615ebb20e5451b79dfd12da3e20ed0979
-DIST firefox-102.10.0esr-fy-NL.xpi 580241 BLAKE2B ff7617594def0e24be829a940fb4b4027bdc598aab3d731e496408c1a7b82ef094056c86c9dfcc6c28f64ac8e70c2bf7f639e7ee33f13ca49ec88293124c14bd SHA512 9c78732af0584972c2e4cffe1a9dd96d1b04cdc3632154575c66d5ad732413d92d309ae0e4e4b6833fa4749ebf5ba4c9eca83211326581be9874d7cbac82e784
-DIST firefox-102.10.0esr-ga-IE.xpi 480692 BLAKE2B ce5a5ad43374590d2598f456f11e8394f97221c113f20018b291015bed1e81217428eb10b6785f467dcb71c477f64f77cddccff11073d97429af3ffae025fbab SHA512 d5ffa111abfdb08e976ca43a024a69c412c67e9f7cb28738631c6b8a0df5c0b1054cc50ea9fbcaa34c8228cb15a54c55619f7d64126e25aedd84222e0abca8cb
-DIST firefox-102.10.0esr-gd.xpi 557863 BLAKE2B 6e6b67f34733d37f07cbc9417f993c51c8a10747afee637f88516fb6aac3d39a016fba2adb72aa238ea2f1665d6e3eaeb24ec467ce633d09b81cee7fde693cdd SHA512 881d227b24ce38452a036090b321f3d074e5d7348b1967a3c607504b99ffbb3ca7190eb7d39621a9e4accca628ead51ef4fe1256de5184ad2b7cf7c5450b91bf
-DIST firefox-102.10.0esr-gl.xpi 550715 BLAKE2B 3a7565d4ee54db463c5e0c31e2bf8d92c1434a5977a15f0e9daa27f66de438e299c44fa232a196c59f3f932861413c6a98e27c7b6c0aa9f15279d91c15295bc2 SHA512 6e5b5889fe006f8e0af49d3ec57e9c8974d41cf22c564d60e107bb79f6a4d99aba9c1410da9bac5165085a5afab0446b299296a20316433929b133f6bc6c6bf3
-DIST firefox-102.10.0esr-gn.xpi 595703 BLAKE2B b37a59d888bd55c6b16f9a45dd05d39c11658a62a94aef2c0a195d074a6fab90332e26ebb7168e770230a8f2a33826c832dbc4bd0aeb68c55f5d47819e9b3305 SHA512 38ab3354d1eec28809aee08c5f579e742f413fed9512915422821f7986c6bf1cfc042de5775a1d6b00a265cf39eee2de7d4c0ebe6d5d46dda23221a7aed13aa3
-DIST firefox-102.10.0esr-gu-IN.xpi 541901 BLAKE2B 3e12ff1f4c2e20ac78917d25e850048f5234622146d2fc186963472c6f5718079377570fe626b361229624b33a4e2f877de982f0620baf36ac67f3ad5bac68a2 SHA512 607a00b72364ead71c8eaf78138e022f8a3ef23c2f509c80edb9d017b470efa66d0d93cda653659d1380499eb85a1e0a42921d81dd788619b596c69455ea3b53
-DIST firefox-102.10.0esr-he.xpi 591522 BLAKE2B 79d8edb630e9c80f2e8945726ccef88b8d3e70a7b69d3d094b7c4a77a3889fe04dc643e77c1f4954bf03ee325ec7ba88518e9a7cb26d8961b398fa7c72406210 SHA512 c0c8c520696d719480abfa30bd6c822656bc4c1d73e5836460288b95a228f340440a0a64b95c8de568cc9cbfa73c3abe2c05e51afc768e4aa9de9fb9694611fb
-DIST firefox-102.10.0esr-hi-IN.xpi 570423 BLAKE2B 68e8411f5a08cd39175a078ac0362277fa58af4272700fdd382fbd4c7656688605d01b2f27e911bfe60dc6a9bcabeec6b2f5bf87e49736a0601cd53f4ab6c207 SHA512 bd5b29356384236a236966c81fc008eafc240dc29675aa1e788b3e939f53833951de49649035526ac2bb02a5e39a80ebc6a6fdb308df2061c35b28e8578b7653
-DIST firefox-102.10.0esr-hr.xpi 555266 BLAKE2B 37a652d705f4a5f2f94add1b8d63291dffeff589f7f90dbef65540fadcada4e027a6bb28bb18910f9c3560cd418da6bc23db0a1c83e8c61d2c219acc097a68f6 SHA512 d9ddd57d4771a47bc92239f52d463434057f88f7694d69371edec5216e4968bf5e383c4ffcd73b14e25af9eebbfd07681290736ba77ffe0cc64f430f7be43744
-DIST firefox-102.10.0esr-hsb.xpi 599179 BLAKE2B d9dd76de985fb107fed11ce7b7e0595dba4d4c0827a579873216d3ba3473ba4566ecb4ab048fccd0443a4046fb461552fa0f47b9d821535357a329dd820cb8bd SHA512 759970b200e8fcde4d7521a0d2c43208fac88dc591de55d40b89d57400cde74b1ae217482ba1978bd1b17cb78c580da4c4f9d1f8b377f12766dbdd253fd6560f
-DIST firefox-102.10.0esr-hu.xpi 605250 BLAKE2B 1b370818a97b44c76360680cdd0605c6eb4b508ceafc5a2213ff8376d4a55023e0348fafaf9dfa7a7acef760a3a58db42832788c25bcf7d26def6f719d460a87 SHA512 5bbc82763d8e11455896d1ee27302c775aa69c41aa819cb3b21660849f9234865248b293c2d11dae04dd99898cc8b0f3136ef2f4acda06416a33650b344efc40
-DIST firefox-102.10.0esr-hy-AM.xpi 607096 BLAKE2B 246a297de96ca236654a1f88a054802bff605c78a6d954f8eb886d2d7f7bc5427d51110e23aebcba868303c7f7670a41d5341ae90c6dbaa2f6d858ebe131a3b8 SHA512 8a87d1033887684afbab37f150dd2e6571fa625d2eb23407e34662477b97cd8d1ae3a05fb39d1da3b858ea19bc74ea8dae1f3c601c98b5fa6f41a877a6334175
-DIST firefox-102.10.0esr-ia.xpi 567890 BLAKE2B 1dd17aba7a5428387d19acffa2e716588f448e893051860ad0b520ce80de3e6ddbdcef66ffe71928ae5779286d7402af2b0f57b7c6df541dd9ee039673eb67ad SHA512 274d3fc50d7c6a1d045b5719efeedc23b5dd1d711712afe345eef5c291641148f17999a9f457fbf7b350737ba174e927ed5ae7139139f296bd31c1395ee2d23a
-DIST firefox-102.10.0esr-id.xpi 564790 BLAKE2B de445deb1c032ac8c0ba786bb560aa3e60b8bb65d48f7e912525c472e4d6fd74bd0abf1276dd575b6793af60a49cba4e20f909af0754f43051c05a824a01a686 SHA512 8931b8c5279e0ed956622d0f780649c23340679f178d90e058334ed0d200e18647225235abb3c3253fa81c9583bbd0aa4b3f7246acc1254f36ed8d978addfd21
-DIST firefox-102.10.0esr-is.xpi 575735 BLAKE2B 4ebe8cd8055d32e581d28c2a2d97d985862122267e85848679e0da342654f9e932aea2f9644bb3a3fa2cdea2ceef4ef1b4fe60d6ec0c6b9a21d051b52c1d5ef3 SHA512 c58ffddef248498c329795f01250f062b494e3de487754b5bb088988d3442d108e9b5824a206d8c4db5df8e2729c58d3d656414ee8243edac5f4ea783088642f
-DIST firefox-102.10.0esr-it.xpi 505289 BLAKE2B 69c8d4764995d8309ab788f5371b9ddaa5f43bcb5c7b51f1e73658bfb917b9656fac9240f0a0ef110b5f2d0f1a39106446041b05f14ed4b9e9746709ab366d91 SHA512 0f84e366e6c367c41c498ba0444f14a4583569618c7aba1dad92026bf409ed49145463ae74d898ce5deb86d0d215771b5d49c646c3a75f62817904ae37937f14
-DIST firefox-102.10.0esr-ja.xpi 631477 BLAKE2B 5363c3c129751437d368681c26e6fdbb40f10a6470fb3632dd90b4375146f857e7227d7b7c872faa3e24fc77853091cad069778a60bbcf46b2715337ee98ecbf SHA512 88f145727f23605bb1cd7792a0126299b2be721d649c174b22c572de1196ce747280608e770492603926b7c9baec5e72c0b9b7bd27683658bbb9354973efdaf9
-DIST firefox-102.10.0esr-ka.xpi 635998 BLAKE2B 0e0df153df4cdee7eec5bac8e3ae51702788597c4f37a87f03df480104aadafe162eeaa878d8c07fabc15b249c107f9fa08eebaa666455f4677ef7a81ef7e5d4 SHA512 a8e1d2621def842cf45359af7c99c5b371646b238c7685189efd0122428b320b8b982f0cffeef755b6de68e05b8f3580116c9be9e44a45bc98e61f955b2376a4
-DIST firefox-102.10.0esr-kab.xpi 583635 BLAKE2B c51957ba283455d41f934ed9739d69fc6db57bb355434a760cd75cac4bc5d037e1d4645be1d7d9c55fff48f487285bcc92f9a3c947f049da81c6b2d6d25a42e9 SHA512 322ba06925c38d3a085ff6028e72d6eefa1826b8d87ef8b327e341ae0a0e18ac1267e1db3ef92a9a62cf0eb17b7d3003444475bd275fb62a3698102473f3cfb5
-DIST firefox-102.10.0esr-kk.xpi 658887 BLAKE2B 3c34368ef0fdfaf67de15f03adc31a745d9c6e3e43f746f1311795210e8b5c86f0da823e7b271d3ce782f2882f8ab92676721e68bbc0f4a58dcd4f0395e48d9e SHA512 909054b66a770238c0d801cb1bf20cb213b86dd913e657fbf891b09ddcc47da67fdb22cf25da5ed108cb543596950e22bb434f7b979b38eddcb62665a8ff0a2f
-DIST firefox-102.10.0esr-km.xpi 543905 BLAKE2B 128efc4e5fa3da71686dda25575060b0cab1a22b0525c2520b25b357d5512ca2a7c2b7695576e6f9ca69085f69d9604f4274ae97f431fbe18fc9e12803fca6e3 SHA512 48a57ab57f272e38ea753b570f2ae469524e15f40cae1c8e368536e19d4294c96a2f85a27d8dc1ee5c0b381a9dc455730bf19c734c89557de52f60b7d0381ca1
-DIST firefox-102.10.0esr-kn.xpi 508594 BLAKE2B 6505ead743c26051b7fe9c388106a87da7feb37572e4c4cb82870f3d79fe60f0da4d3790fe2de8880e6c7e101117fba3fbbf68e7b577d3c3caf98b8e36e429e5 SHA512 196fed7bf2a097160ed71dc6fe2ef9dc3f1a217634f4687ade09b5e53378dd17950b2a05a9d97b369ae9966ffc5d569b781d7350ded009c07b6b59f82b4e8d2f
-DIST firefox-102.10.0esr-ko.xpi 617294 BLAKE2B 09512b6cc8a8bf5f8f7969eeb0283effbb392c6c73dd840559f2f298d68a35c52f521c46505c0927fcecedf61764004ad0b2df6d9f3562c123825cb57d7538a7 SHA512 2cc99467169aa753908c20f0a85e30c0a68c9327322814845ebc249efddec83b633fbd19d2b5a7015635b10c535f39a86d470bdbfd6ddee165f06a7924e806fd
-DIST firefox-102.10.0esr-lij.xpi 480137 BLAKE2B 21456c84f6f638dc2900399a26e5a53ae78691549b91b59497f634c52072073c8583fd88a7f3c11cc58b093f3d8c093cbe900ac8b54d53597b8fbbc5057ae830 SHA512 da8f3082a369c95ac43346637d4f5a7eaebab47464684c5f0c02595c6d72f993208645e19c304b400665f5dd62cd2e8249b5b516d48aa93a8fcb557223ea2ab0
-DIST firefox-102.10.0esr-lt.xpi 574778 BLAKE2B e2743ebac76d61305f31d1a065d3c22583adaa5e5ff38343987c764306b28dcc7872528e5db5fd7189e814ea83249c6cb9f6bcb95633b4a33368bd03c9d3820e SHA512 a2b9c38b4773bdcc3e5080bdf44e891f118bca5aea573cc8d57ee52fd13a2b3fa60fd11bbda29b45f1816da3a9fd710966015094796be242b9ab6df8b05f9af6
-DIST firefox-102.10.0esr-lv.xpi 479294 BLAKE2B 9c8800eef512c263dd323167f74afa5425f9ea7fe2f19333eff93f4069d3413246ed59fb0f20797e623886425e52d918e7f5818207efab369240e5722fb91071 SHA512 f5c7e60d71bfbadf92ef50da53f81f7b52d9c3b0c60911d294ce19c1d5fcc53e79c5ceb7d7bb6b9c9a847b796f44aee4903fb039d7b1d5d685fc9c92212b9476
-DIST firefox-102.10.0esr-mk.xpi 497531 BLAKE2B b9951de49ade65055bbda68590c1371b98c94aa8abece859097a7f7eea350e99985a9f63dad8388b27a38e7e85d6ed723edfe6bed857637ae8c513c1919975d7 SHA512 649ba2219d0677f59dfd55f9ca14a5bbbba7b6b13021fe361e1263e0a5999b779d369beeb10c0ad2ad395bf95a523c1eef02d62c0782843ac088176b95a4698a
-DIST firefox-102.10.0esr-mr.xpi 543734 BLAKE2B b68ae30a97fef3039da63d8ce72c664db0ac107f9549c154d5c6b764a78a951e1d7d6be655ae909b95d0eac38ecbd4ddb453bdb012ae36e52bfe74f550c3be91 SHA512 2260e10f7133dcf09cd09e1a8c727955be19a68c6bb8dbda6cf42916ded53a54a4fdf33d396a7923f698586fdeed2266b8f025ec4e6992a5aa1c6c3371c01cab
-DIST firefox-102.10.0esr-ms.xpi 459032 BLAKE2B 735894e4e8d76a2876a7c7d6475af75267655dce8329118a1c1d128f84cc571382640693fded084abcce1fa123475af31529592e11011feba9a1abd502fc48fa SHA512 317a6fc18c0a6263ddc021681f48e414298e0c7310602501b97d4893e3637a66517499d3be9e9805bde89553fbbac9b4734f77b79e67fb4fcd60d269574a4ada
-DIST firefox-102.10.0esr-my.xpi 529936 BLAKE2B d46eea274507c2108ae0a25506e98a81de0efdf24e10247839e3834d1c63ef85b5e26c9a9ab290cbdc04a610ae3bd3730642bd1dd2f6a67a68f7e3e81dd7d317 SHA512 3b22f50fb4187fb64eec1f80902e6c9cc73a3c764090015649d6f0e96c4e5f85321b3ba2d5b7bba954572351ad52aec49f8deb06a10a26aaf45d8885e485d289
-DIST firefox-102.10.0esr-nb-NO.xpi 565281 BLAKE2B 8a3d4acbfe0f58ef0269f1c9e344dac59ae2786aec16a5a1f44d4600e76f393744d70688e436851c3a9c118100a4a5c99d262fcb069742fa862bf5029075f66e SHA512 0be1ac050424457e22f6e70c18a9f402d33e42c005d58f4da772dc956c2025f95a6f4787e49a66a7bc2529aec89a5ef0bdfbd34b384da1252cd33582beb2a15d
-DIST firefox-102.10.0esr-ne-NP.xpi 498088 BLAKE2B f2acce6cb75fb2566348d65dcd30ef0812e9b509eb5779378bf708f89bebcd2ee9ca37d7d1299470a5c37bb8cb4ae859ac5b02e5930cc1910e75c1fb89b97bb1 SHA512 770cad7c5aaa425f70abdcf74daa7f2dee6ce1590d898b6a1c981c4fa4351ded3cf8d949e7a15c4db10e9daa6a2ace3b3ee3059d6854e7662aa2eede5a81dffc
-DIST firefox-102.10.0esr-nl.xpi 573455 BLAKE2B 5d9f47c08f70ba9e859577954ebd20ee4133fd8ef18c20e3d32ed227450dc38605bbc91f1db16db691436adbc595bafcd2e778af29eaffe3f6fa4a69b5abd3de SHA512 2dad1683499e08bea8d202b768f70ee7ccfb6d20dda73b18992b8e096db062fc28dc289961544d581dbf596464bdd59816d8ea7ba47cc8eb5203939ddbf9a35c
-DIST firefox-102.10.0esr-nn-NO.xpi 566157 BLAKE2B 6a67e124d99649c6600e508f57d12bf1a4a410456f7a340209e60cb70a9550dde787cd198317f0ab7fe4913b656502773fd10679ec74fc9ffee2cec7fa3505f3 SHA512 f004ade4eee2f393367fe1a92fd5696c1faae7eff9199cc22e0772a28551f446d0825bb8b932a1f76b1b0c65a1dcecef389f94ecf37c17c2ea3a01beab9123fe
-DIST firefox-102.10.0esr-oc.xpi 591137 BLAKE2B bf46b5e600cd2a564dae4195fc6e46381d7c6f7684d960465520d467096eae98cb35dabe4d5243c29571adbb39e9b93c5b00be36fbb0f10aab7e5f814cd2b8fb SHA512 212680efd81f86625d6b5b99cc33c17ea39815f026b148e49edb620a51918f924958eff9912b71b7424e9d20dcaa7e9830632d1082ac1ba5d49ecd32cd8a6d85
-DIST firefox-102.10.0esr-pa-IN.xpi 648627 BLAKE2B e3046c3b247987198f79d3f646da82b607868294f4611c2eedcb0b47373cb2c074be0f6d6232e9a8f9d66b1bd839e6ede46fd7ffdfbb9b891349b174791957b0 SHA512 fb0797fbb02e990917fbf0690ae938fc457ec799d51f4a7c2a315c205d0fc07e3c555f6727cb531829c086916f07317fb649c7bfbe48f99b0a25b15ff3145821
-DIST firefox-102.10.0esr-pl.xpi 597077 BLAKE2B eeda8b70f8dc8c33fd45659c419446a85bfa7881c083d9c5388fe24116ce3c2a0debd4732235e8786d288e05489ef3d5ed1a4004a25c556ba3ba52548e6c372d SHA512 2222f5d67673dcaddbe590e260bf202d2005b60c5185bcf6458011b76430ed2aa1d7d331c26d3bb1bba2b8edc8dcf8ec5a031522323f9b7febc6e717cb2b6198
-DIST firefox-102.10.0esr-pt-BR.xpi 579015 BLAKE2B a618f142618bbd541aec5d2beb9818dd2059e80bc11d5153624731b1c26add70d9ad98b96da436f24c4ed1aa28b114adb2209d0003a66ab66467f4e4793f16aa SHA512 ddc3bd2937d5e8fb6448be055588d85aa41ed1a9082eea9e87d30c8645b40a5535a8c45b4d753da994b799ef116f778ff247f34eac80f7c642cf6024c901eaa6
-DIST firefox-102.10.0esr-pt-PT.xpi 582843 BLAKE2B 271f0298d122a6a8d84ce8a001f5f4332e7b992dbd359e5d1f9f7278c31fad520f853700f811710890185041a22434a9a8619eb5c2e718fb45ed38275c810195 SHA512 f2aa9cc019ad4142aa190608c53db2fa4a0b0513914721abcf62b12ff8e1e16305b05aa569007bdd8740c3a3fdcd15860eaa2a606556ba46124d7e558676190e
-DIST firefox-102.10.0esr-rm.xpi 571913 BLAKE2B 5813f34740528dcd9e2a4e011162932b7d4adaa7eef82ccafe0e49562fda230501605d1b96c42eecd254a29c4e5bedcd8b84ac1c820b889c1d21dda1110f7bc3 SHA512 bdab6adfaf7167cf97f2207a7d3b8a5ae25041f58e9ffa7a4672da637fa70c8452f9de1f1803107571cefec2ceed0c9255521396869fb1e67a4d8fc6f2577f51
-DIST firefox-102.10.0esr-ro.xpi 541918 BLAKE2B 71367df836a003861dcde6415d097d4a7c512de54f0959f9583938f31c59ff1566f48e7a1c4e17283299ea1750f4b3e08faf66b2938e57eabb97c68f71430361 SHA512 3589cf5c764df746add102ee23f2180a161a7deaec03e482e8b59169dd60e35c281a63b39a9da452f5f1f672564a64a79c79df376ea467189dce4099002b654d
-DIST firefox-102.10.0esr-ru.xpi 671123 BLAKE2B 4bae3b765cca8392028a7e706b758167834aea6ad1ef04ba8a45a41d94b3fec8c8172df9d7942afc31f7b607df3d1813ffba4c778678629c12d80595d00b0419 SHA512 ab392e4e87cc6e81bd943773c4c1ea64f4f533bb7fd999b3cc135636e1a3668e1cfe806dc649d4448750d15d3b4bd39cff115b52abcf910ce8b6864fccb9676e
-DIST firefox-102.10.0esr-sco.xpi 513232 BLAKE2B 1741533822059212703629e99e6f420e6835ebb37c1e5e5fbe4b20db3a49531dd3800698b2d3f37c0e9478ba9684d29611b9e97a91e7a9bd704f3fab7d851f79 SHA512 d39967ef3997e4694e89f740d5c13a1437dfa50f802bae9c799ebfcb6478717e3d84a32454b73b260fa07d1de93e025991a23c697ad8e075d33abd542062c82a
-DIST firefox-102.10.0esr-si.xpi 585626 BLAKE2B 3b8387ad161221f168179586530fc266d53047a78e49d32916047ad8518770fb6112b729afa9567f15c6bbdd74a10d420ad04f65e2ce2d77b49693020655489f SHA512 355ef503efaa29a2b74ee412155db4fe7daaad884b871c8b5400ccaedd8a2836097662fddc573b425ca29318c5212a54b04c66047f8f72c249de9b9979fb5934
-DIST firefox-102.10.0esr-sk.xpi 606121 BLAKE2B b756a5207cc3bb53839eff37b49f76adad2b77d7db97d4faab78dda23ac509409dbbfd8225ec913afc38ce0070eb4860f296cd329df31f54e14ad4933db63ae5 SHA512 2b38114d3bf8528643d0a6223f9ba1dd01905936f65df2c84c6047a0ced2745c6532dd65a161c07ba8cb49aaa386520e8518c120db35b42bf5f621f3499ed2dd
-DIST firefox-102.10.0esr-sl.xpi 577343 BLAKE2B 99b36a4a2196c226009abfbcd7e913270f4c8222f7ed4aa0f33df8ac907c157c79b51525ee7c318dd6cdeb25288178dba159334b0331571f926c02330599cca3 SHA512 18ee491755e3612bdaf52b2eb612b79ab1818ae1c4c6682862329e6aa160e0c51202a50bcac298ceb2470a502edecf0fd7a5d777ca44ec887471b68d3886334c
-DIST firefox-102.10.0esr-son.xpi 433050 BLAKE2B 31be6c5996c00660deff70719d7669173c201275d6cb629f396388e4c7365cf074a8691f7470b23bc170b1e992c7984e374574cad8714be453d9071b808cce14 SHA512 58524be38aa8bc64a1518e2796b3dbb0fcb72c16e5651aad55e03ce65af0589f0384d14341216e6292f2c3dab22e6de4ce3e26236c3261cd0484212ed2ff0ca9
-DIST firefox-102.10.0esr-sq.xpi 593409 BLAKE2B bcdb1d2cf2815eb00ae2e97f562a4f85244df35e7d5a6a823d2638552b6c92bcf846530ae2c95778212fc938c2ecb3a0baeb2b856b23e52fff8cfbb7b475d636 SHA512 093b1b2890ec44519cb5d2c4ac84d9e2c93374f6beb7daee4723969b1f39891efab3582c2fb0e7a23f7d3b43facabfcad4813eb8c13f002fff3747f3c187a31c
-DIST firefox-102.10.0esr-sr.xpi 635146 BLAKE2B fd75ac34de3ac2030c3f48fc883793aa7d4e992353e52b1b82cb87eefce0473a25f11e5b56275e2e4929c646ff9219fe98d3bf9070841043924aa29a4dba2ee5 SHA512 93776c52733e34814463b275001e3166302c42f8d1b7204e1550f30debbddf1ed65c4926842d5cfe450a46a11a98091844345ef0143e80a278a4eca91efdbe56
-DIST firefox-102.10.0esr-sv-SE.xpi 576053 BLAKE2B 3e3def3eaee5ba69cb40bf89962ac901c6467c0a8a70a972d9259f5d2bf21528d82ee43e8b17dfbcb107f0c96bbca7d8cb35f59a4243efa272f27c86274750ed SHA512 c6459edfa0e7bae0e12a1c10773faa631bef60d17d70ce52f2045373e0f15ba2c7f5d38f2c766360ec7ef1f9e6fc7c8b1b1081881af13ea471620093d17421fc
-DIST firefox-102.10.0esr-szl.xpi 527116 BLAKE2B cd9965cb9393348bd7e7b27a2a3817094f15d160129ab58fc23654ea37720f94daa7b3f69ee6817d1ff347e97f62b2fc21285ee88bcb508a7547ac80a34fe1c9 SHA512 94cb4d03af846609c03827deb9500c12439b65a85520f178631d84dd59fcd95d2dcb948a16aafbb95f5817bec345d26c3ec27234c269bb182c8f4293c4688ffd
-DIST firefox-102.10.0esr-ta.xpi 522074 BLAKE2B 03772b5a263e8a6d5f025fef3b37e0449b7edd749a0d6fc32d6d5383e89ccf78371f2304cc3223d164005932a44dd0f9c182a7dace60504f173257e65de10395 SHA512 0b28aaec37d1106f455434725efd5d3114d647d00ecec001a48ca358d9b44d08351ac8d180c754daa8beee7a0df3e5f2b3a1b18797073d021402fcda5e644746
-DIST firefox-102.10.0esr-te.xpi 568446 BLAKE2B ea1c866e79e027430d47a8a73ef775a57a4279951cd470a33ba64bc51879ee25b61a662027ccec4ed0431da55969b519b7a98ec11642f13d6c57d284bf711da1 SHA512 30c555fc4aa0922f410483ad167aee7b1cbb55f5c19e8280d5ed510867f09148b5cd2a2769c4138b04f6bfddb87d1a5319b31b88ddfe4ce244d40747e1be11d8
-DIST firefox-102.10.0esr-th.xpi 649496 BLAKE2B adef1351c0683df18acb8e1dcf7c027f0d5b2eb711128977a3735f7fca85e36d09641afef21584fb2eeb443bf9182698c54220861abfe1c8f4beb0377c3c0859 SHA512 eaeaba23718c610f10f4d60d1f07cf635b9bc901b9e871e2eb26ec1aae6c7f1b99964af1fecb3b87e2bfdf6812387c43375bcf2d2bde50eb7cf25e422f40759b
-DIST firefox-102.10.0esr-tl.xpi 532368 BLAKE2B d09c7e7ae2dbe6537b3dfe4478172f2e3a263ce4ae280823afc0afab36f83eb6f5974456ec634fd0d8079cbb4a771e9690e079a9a40c5b6619296021444ce4de SHA512 76eb6fb2910f6f8e7522a8aaefab5cc41020baf05d34fa8f3bcbfd08d277103f9ba6835bd2f1d991b34f1de929a91bd5cbc2f9f46f2bda98c8b02cb364c3f2ae
-DIST firefox-102.10.0esr-tr.xpi 590501 BLAKE2B 153c7771061eb411be132148a00960f493334ff304775a2d0064bf4c976eba6ebf481799032cef673bbe5222cd5d9fe731d87673a987406b2c2b7725c9e0af37 SHA512 6466747f2c3c092e9a713a600d70c542bde71a57c9dfb19d19830db2a71eb23872dbc9f41950b1351141e45d221be701a90ce625adf6b9d2d53eb9a260be297b
-DIST firefox-102.10.0esr-trs.xpi 497372 BLAKE2B 9cd5a09be29be142da4c85048e7db507a0a7b2595f5772eafdcb20861ee22cd4c7f3403dff456e7594ff38f4aaea0651149c329725c75b25ee21a06253662b10 SHA512 2094ff74af71dda82371517eebea1bf3486a788b57e6892c9b86aee45e4c733c1372e8b79297a6cb0a3f9ea523c0d8f339bd71dd16e599eb29de2f47f618bf5b
-DIST firefox-102.10.0esr-uk.xpi 664327 BLAKE2B df4a280eaca0d4b10a4d41a149d8fad5259552ceb85a16775f1472520e0a29dc5486f7635ebedd38945700ec27b80286fb1d268cf5ac0e1e7cd04fbfb3fbb0a8 SHA512 bc7c95a7b8b27c05a70be1a085608d2ceee234b9cb530d73c8e2eb5271b34e17dbf34bc80b6543df7d654977dcc0ad6342561d1a3c6a6c680b8569fb88a503bb
-DIST firefox-102.10.0esr-ur.xpi 569921 BLAKE2B 67abdd1549b29129eef8a493d34ef13d9c4498638f47453483f15b800b112c424e39d0ac9bff1f598744d73449909e4ddf295b2be4be2e0c9d3f5a2806826829 SHA512 b1de6ff3a3923521d948f152cbf2eda735ef91dcb8bb10586c444db22bb2bb5206153e0bf03cc80779ed7b1a6af59e98cada5cbf639f87e8404350c825bee463
-DIST firefox-102.10.0esr-uz.xpi 488881 BLAKE2B 9f6aed78836fe0dc64a1f7f86cab4b3c36b92644d92265c720fcd7b208acd00e3716b11fbb97a7f89de5a22eecd86c5a15a400bf0deacd1b8afa85167adb6210 SHA512 ccdb29494831df3e37c4b3a7a98d585f61e8651c8cc2ff7064abc6450146c8844ea9d2eca1e99632843856ad360492fe24faa8ab05368a82bf4cdcb6e89ae5ef
-DIST firefox-102.10.0esr-vi.xpi 611432 BLAKE2B a389fe9fcd4add0aad18e9fe23ec573742479b0c66e36c7a0a8dd0e29bace4fa227aef78a304b82f3fbf8ce575c3c7f1c0f66156ca150caaff7ffce50def0bf7 SHA512 4ee93654598c89f71b4aaa0b8bfd0e8927c2c784a00c665728aa28925c9fd990ccb16ffed39165e0afa06bc73870b576c0504538c6ca7e4dc4ed4d9a419a9ace
-DIST firefox-102.10.0esr-xh.xpi 427933 BLAKE2B f581ed920343e0b7c323a470c176dafdf0ab66404d391d7c818713d86521e9443c80282ada70492ddbf89423ade1937db278059085324272c9fcb96602097d2e SHA512 d24f803ce4935e8097ce38d0c1566b70da7a81bb5a5199d99c6315c0ba29f24bc81aabca60273028b6d1e379a025af801c64aee8fa6f962a6fe92d1d2170f7bf
-DIST firefox-102.10.0esr-zh-CN.xpi 613321 BLAKE2B 21bd7a9f4c549e4a443f066679660899e280016e2fe854e4a1bc4ede01efb407bd2012affa848120481eb2999920cae4ccbf4a1e6272871c5198e8ce59985f4c SHA512 230638b64c6b2b7fade5b0503d7f87f2c92c35963a1c861441196df196051073d0f7f94378c39ffae441ee5cff1cb37b1669b45ae73c39fc2aef059695c9ef75
-DIST firefox-102.10.0esr-zh-TW.xpi 614579 BLAKE2B f43efdbc63293629474fb02f5cae5c50d99fb3be58dc82eb3c41717402e86251c44381d721d50eb7747b527554bb0744dd1c5f7e07a92ec65ba77cad384422af SHA512 44cfa7aa39feeb383e51d482d42e9ea90da825022ef4557c81777468b1f8f51b4924f416c955bc0819d20101541fb548db9cab709857c76cdb113bdfbc27b67d
-DIST firefox-102.10.0esr.source.tar.xz 479026088 BLAKE2B b4d8eaa6d72b009d12b435781c360f043bca7554d8b069b8d858399ece03f20703d7e36427a3f92d0b801a94b1c3f132904f21e51ba4118116bbfa4e5668d651 SHA512 f2b53c35bdd22a3de6f32699b832babcbf499667197c02dd50cf0b6cd956e0f4471f420938c2ab72f0a0686ed99fe74e3184afe9b5f7169130879b8f8fd99f0b
DIST firefox-102.11.0esr-ach.xpi 466438 BLAKE2B 18deee55ae9b47fcc0957db25279bd55d43bee58f44020f9a8b2f6bc1828b54d44f00a0608d922b1255418a85ee4141c46de3ac7b8f2b8e3d67d4750fb6442db SHA512 3e1db667f60f3b7e978ff5750a8a873aa654141eb4181210c900f3c3a4e0181ef52d4eaa1aebd2f88641ae164f71d4e7bc5fb474c8970b6c8e77844ed48c2176
DIST firefox-102.11.0esr-af.xpi 429115 BLAKE2B f4b6545e0180299292191df7c510a9e8cc2f65290f4b4e6b6194ad84a2b72e716ad2e5dce664d0aa96a3cc55005abae4bf38a80c4a5260271ad53430d4ea5791 SHA512 de524c3d49447c975985154583c6632c57773509049ccda359b550a23867fd9c77065f5a6e64a8f1a46e0e899a8bccf2c3a8aadf836887063001213a651e859c
DIST firefox-102.11.0esr-an.xpi 510493 BLAKE2B fef68890756c1ba398c2919a6f0afc55af9291cda046a31377ee88c397f5869cd9f287062bab2eb075280477f1759f6049585ab19b7708ea6cf688ec7a7e3024 SHA512 c16e60ad78cd6277fb19824aa26ba454f713aa857ba38afb0c3c09bd3e7c01d1c7c7eef2bbf1cf8c11bd96b53810c702fc405a8971d1ea0049283b3d0561b060
@@ -195,207 +97,7 @@ DIST firefox-102.11.0esr-zh-CN.xpi 613304 BLAKE2B 4cee019e1f1a5d3bec4ccb77b17b9d
DIST firefox-102.11.0esr-zh-TW.xpi 614572 BLAKE2B f9d82541a8eb2b67427d1e18da1153568a5350e6d450dda7db8b6314c42f07832b750f8a379ebd6ff257aa8a4cfe4c9fea638922a5883a426f2817487637bda4 SHA512 c0ee2fd55ae94ef308df940ed9599fb8e4078a957cd1b8d4e0200401d911e8f746bd02da856316112dd037a51cd9f1a309270eb94fa6fb95bd179421db26b801
DIST firefox-102.11.0esr.source.tar.xz 477769716 BLAKE2B b19db1b35e6c652e2cd44ec5219bd5c42aacd55987962dbcaf50b5ec54d2ac5066290264f938ba3d45ef111779b9f27b06736ae7df11fa62478ab2179acfe723 SHA512 fdfed404c87f33001c0ab50f9899fa80c897fac645be8ed832e426f412aafbf1468b1c8301bad463b3f5535b6d6f2005a96a748b6e2d6bf5afbc3b5bc10983d6
DIST firefox-102esr-patches-10j.tar.xz 21744 BLAKE2B 326f206dfcd5b6ea2f06f5f537505e23d358f6d7930f7e72fd8e54af88d97172170999c246af888278143810df42be9414541e47feb48b60732565a4ee38579e SHA512 5efa50b221abedbb84c1b3d19d8ac089ac5752448e8c90c6aed9f43bf3eee876b7e7050a1678bca65f6b23734c4945b016bf059a3921ad7290b0150538111bbd
-DIST firefox-112-patches-06.tar.xz 18576 BLAKE2B f2e74ec4bdd2a9a3d7aa3cc925da450eb6f6af21840ea15c3d172f618c935667faed14a3239d1c3ea9a005cf9a4e336ecfc99c103039a3158d0303379353b343 SHA512 3b1fb6434b36fd63fb7d4d56aa9169a9112104e3f0c88de956c27ba285f7ed5df8393553616fcd035319f8ad533838a74dec48ee56797083acbddf6ed3cfafe8
-DIST firefox-112.0.2-ach.xpi 459578 BLAKE2B 1966937e0da3c725850d34556e2fa3166e5753000b7c6c9d5bd2565b75bd04505cac26b01642eeafca67e1ffa95e6125dc27dcddc72a753e225283c1f2343457 SHA512 daa42f8be4e36ba86b6ffc2c88bdf334de102c1c793a97c17d0bac9421c4ebec87677d7855d1cd31efbfefc7b1e3a5228f02e4a86e6dcf5354b77825ea28354e
-DIST firefox-112.0.2-af.xpi 423002 BLAKE2B 48a9542bbb1f599e27a7ae01198ac0bd42a0399489c46cfb3d2a07a8c280e9854edc6c24e41b5e8bc5bb924aaf55d57d7019b591bbea67d847d0c20a23067873 SHA512 df113c2287eeaafd4e5206a7384502b9ca2c7a6025e4a20b791ba938c7744eac93bdd7d1061aa4ac4050ef66ab6c87a37af1a0ba9fb49c1c5950d13a0a571aab
-DIST firefox-112.0.2-an.xpi 503905 BLAKE2B f414cd4c2e935fa5d71b709efd9b15990f71330e2811cf65d762345d389eb7b121dd53ce727cc4416e1bb3f8d0cb6f938303446741d0235038e2b66074924503 SHA512 f919b5433e1ef980b92b506d709f82731595537d18aff1c24fea2200e959633285bff17493a7848f84d69306b902ccb5861f19ffffdbf312dc072d42d3615ac3
-DIST firefox-112.0.2-ar.xpi 570943 BLAKE2B 552ef22b50e0993d2bace42b952bd7bfff610af40ae352564d8ab9320d48663d8d0f1424e488686c34e6f2a5b1fb9ed327df0b0c8b8790683945201b0db078fa SHA512 55c981cf00c6679685de4e157032bf4d321adc7b161b5232618caeada43185791cc5ee0b6c11d11334a38d1e958601d4f9dc314e75eaf73ceaa2eb24badd1d5d
-DIST firefox-112.0.2-ast.xpi 489818 BLAKE2B d9bd8779aac1421e5d9e5ed348cddcae0178fe6faf62573a11ad2e2acb3e91bc2da95ff737c0f2bc25635798d9642d41cbd69611ca568683d2d02418c84de090 SHA512 59a2092b5a35438268b5a3a60044e3d50260dcfb3a6f15ad88eee6b6cf0312fd5dde5260908930fbb3f19bedf05292847fb1e00ee919cedeb28e9c759890f585
-DIST firefox-112.0.2-az.xpi 492294 BLAKE2B c0baf6909aa02a509316d28c24c9e2e3f4050c059779c17d9ada2a1debb21fbecfcea1576f05ae18747bfd78efdc26bddae2e641a2d1acc24d94e35461bed9d6 SHA512 6469be57a8e2c9d7d1deda148665c395dd52b2899a0ae86179279a991321b58314b70facbf562e3da7cf112b2f562a60a2381dcbb55d40cce60d8b97dfa7681a
-DIST firefox-112.0.2-be.xpi 659309 BLAKE2B e1a15790e87a419b8fd3ecc5d3dc741e5775a00554fff0993598c171d5a8a4b6bda84b8aa4baad18d090168db1490a475caa9b9cd6b8eaeea80ec4898aaf6a23 SHA512 3f91e305d043ac3877f399ceaaf44336bd53cfd0f1a0d3077ab1243a6fad766f0631678c09dbd304047696fb62e54e4766e9e8cc88b5045611bfff8cb26e94ca
-DIST firefox-112.0.2-bg.xpi 588437 BLAKE2B 05cd75a960f6ca2e57741f742148452689049decebf09897445ee7d1b99fc37c9034dc70988b63f77ca44d9dc62abef74fcecd00407ec9963386eb98911f3dd7 SHA512 2b7b8d1d3c4876b9cc34458c96b60c958914be266f16580ae153370618fac3341b7a1cca6bd70afe71520b2174fbf9a2934e11881c77df5a34df15a50237ddb3
-DIST firefox-112.0.2-bn.xpi 582018 BLAKE2B 70412c52eafa000677f4b39c0ba894fc5293561837ce812450d46ef32476e5256b2aeaa6670408ee68f22fafeef57fb2c15b5e0cb34b3e51bd9ea14edfbef2b7 SHA512 d96c9b114b2ec3b4344f09a2929ba5677cefc092d81e27d39fe213fadd1d3af8ad299ff2887364e09b49c2bbd80dfb24a309d92aa5f023846f9259cb9f19fe8b
-DIST firefox-112.0.2-br.xpi 548361 BLAKE2B 01ff8a017c3b40cbc33a4248c918d19d535475cc8fda0060ec01d1cc7ae58423057270823204810e0010eb0954870f7acd01c73838245886a312ac2b8867b7c1 SHA512 e94ea6f82ceba1f37f99e76c7929aa3e7a025412fa5183857fe0922f75ea0fa328cde66f91528c4ec1acbd5cc98bf3e0ab4a1be468d7ed90fb8e66f6654dd7e9
-DIST firefox-112.0.2-bs.xpi 464487 BLAKE2B d8ec6bf16b1fda38b4ef9c633b661d1e473a60015b8f217197fe8178d1643d00d422674360529bee428c59068ab95e48ee9b0fcc64b81abd877de3c2b51b9b4e SHA512 2e2c10bd32efecf273b97032243a4ce1d9d87f58ac64a44af525630950ccc426eac35019538ba98061d5ce47f4a0f176b6a074aba1a3ef3a45f13449a353e6cf
-DIST firefox-112.0.2-ca-valencia.xpi 542850 BLAKE2B 7c1283db9fda3c1a50a874636dae07f77a8a4a741a9d5270326cbb7579acd810d542b06ad790eb8be49a98d3f5409128ad0ee58d8b1f0f0c1a4652cdb6fc1e86 SHA512 db1771da8a5d325fdd6edc632dd562db70712f1c13159b9c1a23d07f0679e2129fc41c4df9b263951e2e564ad8d0cdbf2183dbda40486295a8a45821a820f1f0
-DIST firefox-112.0.2-ca.xpi 558782 BLAKE2B 14e3d5bfd358edb32fa9193833bb5e96599722a7da5b648bb976cbe249ae5ea41843b6fd5e508a9fa1da2119626416e4dec60f063ddcc50a964cceea046d2357 SHA512 b566fa819820ed70da0cba9be17c3e4392dbd1df8b586a452f98eb02ef0c6d429b0297ed066d806f959d506b4c3c7e49e8526fe56a9114f3db3f3af55db1df44
-DIST firefox-112.0.2-cak.xpi 580308 BLAKE2B 480c5d5dde69318125d17a7e4dab5d55da90925d04efb58914bafa4cad57ed330c21e99d4b1c0afceb392cd0a7429e48837721774a6f40dd71aa351aef5fc6d6 SHA512 288fe25f870b96d8fc9c53441b3b7460d73e6ee4bd296406161843a45c4588d204b352b80ae2f0fd6fe9f95927f0cbf437cb844f56d8923cda8ccd349559067d
-DIST firefox-112.0.2-cs.xpi 594676 BLAKE2B 73e1196a4599e4508a5e1b6efdc381bd0c330445f7c310c37e6a655a1dd330a34a7704387b223288bcec548d7dafd8f0261174001ca8b992e4c0ce0e7f16ef33 SHA512 1e6d9ec919b1233efeedc940f07188a5e7b4ab1ad6a4cce0fd7fbe6fdf0ff9790259fc3509fa4758d4fa8035a24861c4e2ea0630d05c579ce586ffb56c0cd1de
-DIST firefox-112.0.2-cy.xpi 573570 BLAKE2B af169860dadbf1892770471d5c110f9311271ee2666d0f0abee7acc3b0b64f8adc13cb79393095a4a072fdd2241aff3cbc5dcb131edcc89b34622261e1c332cd SHA512 fd8dd2da398fe175fc773e5fd8a9ba9ee7816ba52d4cc68fffd2295ab6e2559ada12c48196315edecb2228c3d610dc3b0482c595ff3c995af4e9510d054f549d
-DIST firefox-112.0.2-da.xpi 563250 BLAKE2B d30597525f4bc6d30c05f167c2a08fc008055d45d6ec13ecca3dc7aa8d91a93970e9dc68d8e2739061c4c689111ef7385dd7f59b189b88e21e621bbacb14437d SHA512 773167c0153f9cd312520e53e00c74f26f1e9eedd9821b2bb2a025aea0fb7c3b5123449c3fa18a86de6973d691e9ca3974cace4b923f073c0202c984e67267c8
-DIST firefox-112.0.2-de.xpi 584800 BLAKE2B 9f1cb168ced40973aa2f1b603a63f112aa5cafdcde04d60d1796725d27fbc3e67a88d27658c3983ae9fef6e57d1e7b9933d8cb9d26645eb591c8d207b7e38ff2 SHA512 dbbcb9b25a0741bf4092b7196da22cae6d428ae6e840d72be5394dffc6d31642782ea552477f299d28ba711639d613ec74f34eaacbc752499bc3f8e8342e6c93
-DIST firefox-112.0.2-dsb.xpi 593183 BLAKE2B fa35bdbd2d75cb3b4125a9a44de16ef41613e7a17d72c4b268b5573ba02ee3ad555d61b2411ae4039958e8be7d888341a6e8a277c205ddd3972260f4d8cd7364 SHA512 9f54ef4a362eda342c0daea87f2d95db2cf899e85e1f2a79d55734ebe8aebe007ec51da095533f391a717ac1e618e2c05d9e69cad6dfd9f98a3cce7fd5d7061f
-DIST firefox-112.0.2-el.xpi 674362 BLAKE2B 1a2b8b2cc7dc6dbfdf6f402096e453d4fbb33f495a2b83b677a5101aa6e18bd2e9fa66ff4eaeef5d0b96f0b0950c4f8a4e10e89800a11469b76876fb19978d7c SHA512 f3a4e4ba576aaf90e86ecb409e4dabdb6c1c11685434ac93cb77b81ffe216a0db30e7e68abbc80be0de0edffc825dce3e217f53e486630405f367ece86815b51
-DIST firefox-112.0.2-en-CA.xpi 536336 BLAKE2B 763815515f755799f67638826ab3cdf050c8e5913deed766cf682e9b9053bc59a71482f1c8213abd8f98078744817e9b851b495a92fa80d74426a171bb364668 SHA512 9ed72ee1b74cae7449627c703d78f632dc7e95f4e54996f6ce29db0384646f04044634e48804eb1e2c1149b166bfa7c252e49b8494e1b134f4592587b0317f65
-DIST firefox-112.0.2-en-GB.xpi 538970 BLAKE2B 95bc01b274fac65a48381a1a523f51016b59542aa879fec1e56a517db4040f7e40e96c674fa79946f2c8169985bdad856da2b90f1299618a31e70ba3d7f39172 SHA512 b53552ad51971c067bd58aa308c50aa7315dd21472e1964836e41c6a49dad574d90e180da4fb386cd4705cb8c639342722dfa1c1969db626e4a1e6daef80aac4
-DIST firefox-112.0.2-eo.xpi 567003 BLAKE2B d1b07fd223c96e42c8a0078b73f3b3b587c5ac8d0dfa5b693b405cd9b6998bf4fac1bb58178e3351092416dcc8e8ff40972c6170bfd9983f0210bb1c5ab0b646 SHA512 f8f65d96950bf95d1267954f78151fd1b99896f1f19e070e360a41fba791a312a26898818d40b0f9863074b570be21174219c3b54c55b30a5c890a34829de27e
-DIST firefox-112.0.2-es-AR.xpi 578701 BLAKE2B cd8356b841324747f7ee90361ffbf4af44a6ed68454b2747aed0bdcea017967659ec1868e9d5be619362d8838b52dfb2110a86caa887dcac2a894cb73f5756bc SHA512 0dd31c4aea7ff3d1c8af2ecf5ee2a645d624e6a1f5cdf3a4a65d39ede00062d78abd8805a46c3d6571ded701aaffd54f744f7f6f0a7344aff15c6931e50f8d12
-DIST firefox-112.0.2-es-CL.xpi 577881 BLAKE2B 684a69a0b1cd57fb3368857ce29972710c8cd0fc66dd1a1031a21daeb7964f5211e898fc32e6dc2f6e504064940e5376464470ebcde408c6b110fe4813a27afe SHA512 1574fc120187e149f46c59c125fb726c9f5c508e55e01d07a91809e8c5e251c04e680c5dd1a893ac2899537cf69363b4cf6b7e8006dbe13483858053e1e5fec4
-DIST firefox-112.0.2-es-ES.xpi 571740 BLAKE2B dab5835e45d43516adfbc6e2633882fecfa4f6dd578236de73ebe76c0af7c87467b5f93e0b51dacf7af3dce9d51966a159720cab05b4d348aa51a62e4f5a9db1 SHA512 1e8e6cb62aa234c3c3a0ae5bf1eb730f03b388a80391a5229adadd179405f5c7cdb5e4cf00228d4a85b3d4e7c22cbe6f4401898ca9841aa803cfc8cb3b5b0ca1
-DIST firefox-112.0.2-es-MX.xpi 579869 BLAKE2B 470f043b520e8c212683f4ee1fee837eec16525598ec0bc733818ca5bd2135539ae2ebe342910d805b955274ae7ccb4d97e21293c13cdfc3f5f5d93c0f980a6b SHA512 52ed340da8b6003d9b7711b8558cec6bdb50f7cb06bd7d0959f7608d63b681b8f7cf5218adf36fb7e7fa4769db3d2b1b6ec9d417e737c50b2684e1a6b0c3d066
-DIST firefox-112.0.2-et.xpi 537334 BLAKE2B ca935216b7e3ef5f9e65fb5219296e0d74b1b3c61d5889c0d8ba6218f452780933bef8b0090732ed64aa7be1884762ec2fc40f20386a7a97079db683a53092fd SHA512 cebcb6008c3a1e66dac520840976c1ff7b7ccbf959a97f0189a2b060c50e76890e932e10e05a6ae37341948df9977007323937577d7ef6f6b00491408abbcf23
-DIST firefox-112.0.2-eu.xpi 565996 BLAKE2B ab4c44c9ee8716c8d7405f330f85029c19b4dd4b65e5bfa421280f14965da753ef57bd58f01ec0823f3a1efc5bdc93cc3da427b7b44ea9da352dc4078aba3f63 SHA512 28030cd321e94090810592e44ae639b4a6dd4b808fb4fa76b0799cba8b21a55505b0143b2fbe2283649c2cb216ee6b7143f4c9aeedc5fabc9bb19e27c39e68bb
-DIST firefox-112.0.2-fa.xpi 581817 BLAKE2B 1d27de81f0d52428731f05cd19b58a977ccd9e40f04930d8713bd9a15f235e09c2e2018adca9df7144efcb82723c123837e323bb89c635cce648a30014f15fe2 SHA512 a53b35b0b4a3398d5b5af358eb1533e3b4a150f4a089c29d8e4b298f320ba15b6d1fe7baa0c40f24fdd24f3028d41cde6cab9698f6678bf3d61ded1f0763bf20
-DIST firefox-112.0.2-ff.xpi 476573 BLAKE2B 9183a8f8129cdaf3930a3460a8b580d9e1b2baf90daba6c82bc23fe17bb188a9632f7a9a661f1049be24fadfcf38f2bb09d096ea12926194eeb382ddce98f89a SHA512 a345608dac29346a08776e12c7f6f37beb2e7caf22eeae6ed38bdabbea2ff46a3e5c320e38c5797f70d87e80ddcec0a41ac0fc920260dcd58bdb58fbb98883b6
-DIST firefox-112.0.2-fi.xpi 561256 BLAKE2B d98ad5d8dd9da6450b0c73614c9fdc295e35c9142013425a425b2d205ea037ecbafb6882c2f44efa056aea6f0eec1d0e11300cc60d1e971bac8a0bf131336e10 SHA512 3fd8f4272a6d59062e861d39cc40afa27542522a122378cd38fbedcc2515078fd762defdaf9e0fe9329a2ff9852f45149ba5df05203a865d3743dab68a0e6050
-DIST firefox-112.0.2-fr.xpi 589435 BLAKE2B 77207360e80656918d02fb379434b13ae13cd3f99b42c054974d3e84ccbbe1ba0c88d29f93c8bbe192517dbff2e00e9b8d5adffd34ffc48a145c0e06ab13bbff SHA512 ccefb935dff8fc0174e914dd6f487b3a2f21f19d5db3f0990c32fa6d17e9f04ed5e4bc52370c8586eb2c31a7124f0d3e7196878b80447362ec203ca49e2652ab
-DIST firefox-112.0.2-fur.xpi 583061 BLAKE2B 678b347c060b803b448ac245cbe51109e404f48efc2a2856f965818f27d63656d1e4c21ba5ea11a2825b7a5878536c340811ce864f57c1912c1c90ee0865b9a9 SHA512 51aea6c1a769113706205c5617b86cbf761910cf5ab2df7da2d5f2c5dd33c68a743034f6d3d0c4589a709d3f8c69ad73cd531e591f2cb5357fe9092a6a0f2707
-DIST firefox-112.0.2-fy-NL.xpi 574245 BLAKE2B 1a47c7880459258908fbc8bbdf4a69f426c8c970c50f1022b46b3813fe3f1ebbb0e56c07b2f710b8849faa2b335ae82fa82d27176c20f1ac3ea5eb24978494f5 SHA512 bee47a65d02b6594d764e35eb610de7906ab5ce37bb88a2f0ddc45146494bf5bdf867e959c3bbae5312d61be5fc325961c050c61ed906613e3fc23ac59a7488e
-DIST firefox-112.0.2-ga-IE.xpi 473216 BLAKE2B 95d02fb07534a6c0287da8be6daf7e7766068901de207c99bbdbc5bbd43083a1834309d2980a01d3b7a046dab35f1b17fc2bfec5bc530e75c128b6f85ca33bd1 SHA512 76b12357f296a0063f4508db5371a5b2dcf0024551a2e308683af9094c2ccf9bedb588e9b7023917013734092c3a746ed9b94a91163ddf1563fed68f6d11c122
-DIST firefox-112.0.2-gd.xpi 551292 BLAKE2B 9ffbe123a5cae8520da493890a891ab73a172cc18250a1b63e1cbe66a4d2ee3189201df037b1313738527b7db90c3ecf5523e94e3e1641095a82c0df49e66ae1 SHA512 b94d871e7f15d212d19d8c8f8143f9ef29511cbea6aa594512fdce4fd0b5f94cbe57b083675add23dd02bb5fda8c6545a533f70c640098950c9a1f1b33557913
-DIST firefox-112.0.2-gl.xpi 546190 BLAKE2B 64d82e002d2e94a731c8a426f08ec9c48ef47aed870257cdf29c8a6756d64b9102ba8e990a9d0cfa3e9be92fd22e771fcd084bc5785d71d735c931e938e1c220 SHA512 07de4ff1ca43f9bbd5cf06a634eb6dff4a6ed23ec2e3082083bde929feda05b834666a3944d5ca7b400caefe62ef5ee2f4ffbf97feeb56f6649916a1a5dca280
-DIST firefox-112.0.2-gn.xpi 589195 BLAKE2B bb7514afe94a09541384f8ff4cb1cc57e18ead5ba664751c857df2cd2234ec4489745d5fea5744fe9f3b3419f63cf0e23128d06de704852b8f6e8fc4563e04c5 SHA512 c1d3ddda3b6de56f4bb6ed89dfa2e518d9c8c4954f498be5d3706b5c23cf8dcb540d3195dbd75f34c57fc61f747f12e5955b5affa4d18d1fb0f2e85d017d6d47
-DIST firefox-112.0.2-gu-IN.xpi 531465 BLAKE2B 0f64ffeab543f5a0cdca61a53c7b7b9031c6e1b79ee6937549d80b34d7d9ff9defce8e14abd5f5cf30d51f95142309e9d490415f97ca2d60b912652257a71a49 SHA512 09af9181f5396a6b536370339064ef09fd6117432201b5d85db0125abf2595f9d7ae9038712d0f24890c7ea5126005f759749f0212b2700fcff7e08bb63206fd
-DIST firefox-112.0.2-he.xpi 582081 BLAKE2B 9a8cc56d0e42732655a50592e162c7fc4c6159a5d3117c5c5056c50f44d6dd20a27d2142fb3aa7a18426f66f335602d09586bd5d15e94e306f3fdef2120cc7f0 SHA512 12c9845628c10a7315c9f684fec70d872a86e9625481de3806ba3b2c3faaea2546bc31b9f441a7a7f6237fe92cd2e47dcb3b9eadc65f528c151929cd3a406ceb
-DIST firefox-112.0.2-hi-IN.xpi 560536 BLAKE2B 0c6403eeefde83ea333f342d3fbe09f16692efb1b29b83d2e8387c87c2f7f0f5f01c0cd246fdb61629733d2dc4b20fe721ebc7fc5bfbe3ab68abeda0946a21e0 SHA512 f8b865d092fe36c089d80392246027338a169d633106d3ae8528ef2f4db8ef7c668ca2c057adc4bce7f96edd96235c0e4a4b98b034616697d4d4c068f3dadefa
-DIST firefox-112.0.2-hr.xpi 549241 BLAKE2B b98c1497e4dbeded6fc17792b124eea483ee2e75b0d0d9c0a7fec5a04096c7b206edeb43adbe12e4a19a5749abc3336d2cd76d5fe301e698293e7ef3d0cd75bb SHA512 ef234da7e61f440517f834f81dbe60316850aa77aa3e5d3499c20bd4004a126068eb72dfcb5bc4d5994c99e1507b6463d8b2c55d8dd3646e7f68255801049431
-DIST firefox-112.0.2-hsb.xpi 594282 BLAKE2B 6c9bdc3b559188fa2855c95cc22171ad910704c79689a7bd59e22b3aeec33858e6eb98547460c42906e87559ec2c52e1cb17a77b17da71e0d3edad810a1257f6 SHA512 ec801b688bccb699df1c145dcd03ae1f7005bc1309f14c11b7faa4ed863522962b9c9f8ac30835907e08147755add8161208f9e161e4e72e56753af80628dac2
-DIST firefox-112.0.2-hu.xpi 599386 BLAKE2B a775095b9b2c50e9e25162929846ec32192b6e7847fc5b855e3b4007f7b62f2ff89a33c71bc0e4f43af3ed353396d0f3df166b76cd1721dda96eddbbff7a9c73 SHA512 dde57b5b0883915099c41b4487066cf85e998644a711b4c7b814e1dde4a342566c5238286b9f5ebad887fca42355dff931d2fc3bf97a1cf209f48c50f14af5fa
-DIST firefox-112.0.2-hy-AM.xpi 600449 BLAKE2B 23c2cb9e86806173866740c6c388b7e753d52de9cdbcdab09d385abff55d28cc54504486b4fe5e37947f600e714a26ce94216846663ba7a9003eb89cce905ad5 SHA512 f581f820291868125945f374a01acbcab15504e4613a28cab0f220ee84a4d2abcb959d73391ae6e9638e11cc158be5f9523c1d0392b3734ccaa421a976e07614
-DIST firefox-112.0.2-ia.xpi 562610 BLAKE2B 2080a6593bb418f3a79921878d27b495319bffde618fbfb66a59d438c511ca76616f61aa7d02552b7f2eb63ae165608401e064d5ab6c19f303bf5528cc72e8fc SHA512 ac2af205dc137646f5f37ed4cc65d66301cc67e253c946473fb637d968be8332fa54b8487e305378658044640b2931f0afed92af8bfc0cfd8c199d6129446bbc
-DIST firefox-112.0.2-id.xpi 558189 BLAKE2B 43cc3e3cee4a4835dfdcdae54a9dbd578fad7c792847c2eb49c93c9a8a219ef93e4c24bc3d23b155aa7dce55a3d6ba5e05a2b3ed63f8fa5f4e13abaa83680cb0 SHA512 4d2e910bd6aed858df330d78baf6ce2d45547353b1891908f01976187c82068738937a41c94337aa748f11eaf19c7c34df381dbb8c016fa3ded75a5e8c66cd20
-DIST firefox-112.0.2-is.xpi 569046 BLAKE2B e64f21883a63b2e75530ae98054d288388784f2850f0b084fead096b3a7272ad820c2558f2ed56c07cec9b168c4e65cce45ed96a29ba0c4e85ce6672ed53cf4e SHA512 0f80672d889702d2d06f96bb68fc4b8ff3c42e1058868de9b92502c5f80614c1b2d2cc289e7175cb83047c7531d2ec04bef3555b59d3528c402fe1c134ab3991
-DIST firefox-112.0.2-it.xpi 500350 BLAKE2B 5d1e39436c6d331800a85c6b3b4fc4e6eeca4f64ab2504b490d17afd81cb8a49c9de056c97c573d8ca1ab49a138b2f5576927eaef192ee62998756582123b8ee SHA512 0e262da1a1fd97b71e645d7b691f945ce96ce8065e897a229ba0131c24620bf45d35f20ca97620b72bd1d9c6000e7222b783602daa7779cbfd0476eba39ec501
-DIST firefox-112.0.2-ja.xpi 624645 BLAKE2B 8695f25209c3087df5e4f5262db9354eace77f6aa62f490c248d9500249c297bff6e6349f4d95d418ef13416ee3c74cc2549c2270afd49f66b7b9fd45c88c30f SHA512 a045ffddcf5cdcc8ea59557bb59f33be8c12134b031f8cb9aeb8ebf532b4e01b110d90a23e58a0684a0e5d5b7168263dccd6eb6f038cb7b5bc99eb2b2bf96b45
-DIST firefox-112.0.2-ka.xpi 628720 BLAKE2B b280fe4344c740ebb041c28410c7b4ea98cb04e0565888fc121cc6e08d88f6969e9909f95fa14704577b419896110a7bb8c6ed802c7acb595316efdf4dee3ed4 SHA512 f96c57fa16bc83fed9fdbadd66302238f7d972165cf165630909ca786fc77e871dd362bced43f0863b57046b4bb56015ad1a9ff036cacd0caef16cbc89c102c4
-DIST firefox-112.0.2-kab.xpi 580363 BLAKE2B b07a09e75148b5014cea0adb56a0cd7d8692b5d6b8a1d61d3117bd4043488885d4330dcd3d6b971bd1a4f24531e7dbc2130067e9bd0b6743cc3617611708e4a2 SHA512 df78f0a0764efdce2a6c16971073e6a8e6a50c9b24b2ae644273e4c2a2b8b990bc3e57e44bbb4e19ed0a8b901a8f5a98e75400ace7baca39f4320705f122941c
-DIST firefox-112.0.2-kk.xpi 650635 BLAKE2B 2eee39987da5ad891298329a76e09d1fca361a65fbbf2f12f63919b13dad1b57625c622e008907f6889525581721cc08a14fa8789cf9a25543bffd96ef94309b SHA512 d9f0287ea4a88ddc506c0fe67764f7c49e05f725e7db172f03c28b9f2c61b853107160f4757e183243bdd490bdf094dfa5e50f4377977bbc460af779a24a738a
-DIST firefox-112.0.2-km.xpi 533365 BLAKE2B d8feb19514fbd6da5dbe89c9727fde9ab32050e4c6c18a65aef8637137e45f05b28743b775a09c27679f0b0235b6bfe15bc35615376aa3d146711baea52ab482 SHA512 4bc41401840b31d90daba5b9678282aada762ce04ce136118c1948cf0ee517c06f6ea9366d2f3bd37643e60a58d7961bb0b4b1c12ac15d8a473d61f5efa3d189
-DIST firefox-112.0.2-kn.xpi 498732 BLAKE2B 73cf736e9d96ba3c785575821707c1e4718fca611447121a3b2947c51eff69fa030935bdaf4da85ebd99a709de652d42e2e0ef4bed064075b11a47cdb612cf57 SHA512 e14866ed5d75b282799d858f1e6aae3ac2d30b2529a5e871660cf4a9511900dcce4ce250bac6a241c5564267697bb6e5bb5b9c36447c15908b580c4ea727fe48
-DIST firefox-112.0.2-ko.xpi 609819 BLAKE2B 0fae7317fe1df4643e90a719e25a18db9b5d150a179fa78459840d5f59057ecb91e0cddf3fb2df913337aeec6571bdd36f74ac0144e90940ab988d3b29715809 SHA512 4d703b3c7177768da9dcf3a63e41119a4088a616bff2425518f826c48bd9777066f6e4b916a287fcdf4b037c97551a1abd412226534303bc5b93f68063fe795b
-DIST firefox-112.0.2-lij.xpi 473588 BLAKE2B 309ab02a765cec7de1adcc1cb0e99186e83d8a0d2e36dc0080bbc133a4843a3014f48883f14fb07ef4ff7559d54df8299cbe4830cef45f48250c6928e65b5e1c SHA512 ed61e21366b096aff81085781ff80ceb8e6f365f649d6aa2b2340721b148372d9ab04778852a9f804c56367654c571f08941521e7afdc22ab02392e57b7f2879
-DIST firefox-112.0.2-lt.xpi 569445 BLAKE2B ab91ef573abb29c266507a0c02ecbef3ecbcd1dffa603563474aea11e669e2d5c858d7acdd38fd048842199be5b8d1101d6281996a82bdce82e77775893a8e1a SHA512 5c12660f4181f126d4b18ac262296e5ff1357a6ab2b23f24f89b0849acb88a0c27126bd4e5c67ce78f386054b414705d58086371a683df377ce0d3188b7b4c89
-DIST firefox-112.0.2-lv.xpi 473270 BLAKE2B 87b45fd6d4b50db952c743f1037fda523ed87a939b1c09183b8c9e621e5624c6338be373e8e1727668ba5770340b676ee4e37854140acc6db452a4c4654dbc2f SHA512 0f91a199d45115aa159256ef297aead63f4c83bb3f18c06799c27c4abd84380d83bb4302778884017da6dfad289bec566dbb3834bef1245caa97729610b32d5b
-DIST firefox-112.0.2-mk.xpi 488933 BLAKE2B 70690c98915c3181c676eaebd1e9d14a36f8ca950c59fbe8dfa30301ebc3f0a1e6e98910dd44410f295ebf3b407853ab0c626adc6e482bc4234a2891bcd345f1 SHA512 11e985b5dd10dcb4e19aa1e351498490a4b6ff6011f526f4a054585dc99dd08055435e4791b448b26e4db1e1bdadd3ef338ebbdb7c173e9fe2c02388ec718c50
-DIST firefox-112.0.2-mr.xpi 533826 BLAKE2B d67951b35da5c9e94b7df9d56d11034dc6dfe9eac4c74d10b180bf407fea2113a46a5026c48bb23b56a2bb63efea39aecb5fd035cb9044a71a3f46b2fe9032f0 SHA512 163c881723c33ef06d8b77a6ed2ee0b3f3cbd603718652e6593756f9cf64c392ae4dede05a342bf1e230d8bf6938b53881ab27e75aa4add0770abfe120fce4b7
-DIST firefox-112.0.2-ms.xpi 452944 BLAKE2B b93964f1631ba8ee49ffd291a30b1071e1edb841e18af4b12acc2b19cdbfed5723002783d62bc96513b576315f14439a9f762ecb16c14f3f4982e361b6fb164c SHA512 c8bd34be9e51c9fd760c439df62132019a4a1fa733a87e737d7f0e0e39a66538b78fe3c401c85b748d23a1f539353384282246665e205c1635671395184e9e4a
-DIST firefox-112.0.2-my.xpi 519355 BLAKE2B 04736741afd1d295841f95c537ca83e53da01b170902a81ad11b292d6381e6cbbfed733dc05464cce6ab0d741e4c6c44284c091f42d2bafeedce3272ae1ccb2f SHA512 235b8e140610bcfa4d48e857ff58c9db019b2599dd603366a9056bf253f336be32db04b9e14ba917b9c6c79807a0b5fc8a002d3c5261d7cd2b67876721c4ab94
-DIST firefox-112.0.2-nb-NO.xpi 560422 BLAKE2B ec23a594c1ee4cca577eb05ba337b423ed56c85ed0a939eda5389d608a5ee93902d1cf3830e143fd1973c5a908a1ab66305b83ccfbe632da74c521f13b6c92fb SHA512 ab64454e2114d67fa1c5ab8383e07be523d5c2c6b56743e037d3e4fe81abcc6f7221f41da5123adc75857a8cf042d2fabf71e809b7e41eb582c5eba425f4b431
-DIST firefox-112.0.2-ne-NP.xpi 487134 BLAKE2B 92d7d71334d89ebca72bbbbf05592296c2bc8d89b596c511c13df12d24b9197cb3f9b0c86640e7fe14881bdd54f89766672f422b36878939161e80f9f06f0e27 SHA512 2481d221936665f3f63df0e345ce6d81542f393dee4869f85ee476495d16ceba40f2d9d57204cfdb4c17fc060cf78224fac70a625655c9c2794b346bacfedfe4
-DIST firefox-112.0.2-nl.xpi 568255 BLAKE2B 07529d7df901ba712b0e6a20aaaf157c3255ff67fe7dd608a2f2aba97c61a93caf73e8557791823b14afd7bd0b8b7ebf89323506406259d20b09f737478fa102 SHA512 2953568c6b3a963bd372a0efea0ac852f53fec8ac570859aa55b819f7e08def512452e2b703f2627ff2aea7c8751289384e8c50e03bee7a0dbb2f16dcf4c01a4
-DIST firefox-112.0.2-nn-NO.xpi 562946 BLAKE2B d2356c0caa683112a24c128d8f3a362c57c1382d7c6aec64d1d1973d75f17f96a49002cf1efc5c4ba1777abc72b0bbe42d21a778a758702de94060e78e106861 SHA512 ec0f604f3afbfd2c6ad5a924e5ebfa75c00589be9246da14df82a988867fb0fc2ee3d4832d3c7e785277847313d73fe8b4018bf4564a60a20e4073bdf4cff623
-DIST firefox-112.0.2-oc.xpi 584372 BLAKE2B 0fe5df5c9855f1aaa2ada582c04dee1071730f5245477e480d81fa486d37d352bdac7880fee01112d119df722c7fae153ea9e72abe3a920f20dd654875df5108 SHA512 81f48fc41ba0e86c1867a3bdf4fdd995ffddbc162f9df941a3ed8f9817afb212c1bdc8ee0206dd14c8cc9ac08b5fd9adf08efc3f20175a40fa51c2e123edab77
-DIST firefox-112.0.2-pa-IN.xpi 639403 BLAKE2B 763173ed380f39fa0e3d4bc107c761d21e47b91bec7c4c7c7a276bacf41db7e4b8e734781df4e26f4d3e47a1c4079702bed839ebbbf6b6d56f436bf27b61eeca SHA512 2d87a9c5b70386cf90f559e35ebe1c622e9a1c7e1201cca98157622818ae70c7ad2d907b47f0791a3c1133d08dbbdb3f3ced1335051c3618834c04f2860d26c0
-DIST firefox-112.0.2-pl.xpi 591984 BLAKE2B f92a173a714c4e23d9f5e8db3c0a835c05bf0a39a0fcf8d66a56a5b723d7c7f352258591622e3a550fe274da7cadea14f352a3a58476b4b17eb0ec8f1d1311b3 SHA512 f161cf77fa7a7fe6d3f1bbf2ce0c15c25cd1143254c3e454d3d6e077ec865f37615f5c5ce0d066cd513b57e6774d52e209f2d99083fbc99fa74902a557575dcb
-DIST firefox-112.0.2-pt-BR.xpi 572839 BLAKE2B 60629100e50ab374b58a4115cb9b396360d5c6eb9e6d697119f2e13bd13c5f43067710e1b177ce1c68de9b3db27ea876e5d147d84974c9bda87619924f3df52e SHA512 ce1296add6234545740306413ce720bbe02c90534b5fba9b8cb4faa1d8a6d8d1db78815272851a0bcd219abe271eeefe9d580f17e78b571ff106560dc2ea5c2a
-DIST firefox-112.0.2-pt-PT.xpi 578347 BLAKE2B 4291e79a058382003e2c66f963243d7c576e523c2bf72f7b71cda69fcf6fdcc6ecd3d037f6a5ef151ac330c8813d3c6fbdde26feb1031ee9fe2dd970bebf4b62 SHA512 2d610cf8665096d7ab1597d577324e1bd109e0e9262e698bd1ea324d78c38f411af32db8d4a68ade46e0261b9fbdbf5e62898525c8486c3ba16575f20edc3a90
-DIST firefox-112.0.2-rm.xpi 568722 BLAKE2B 69471af75295793f59fe8053c8470f163910dd5a1e27afc324b39a8cc59860001ad2e26cb9a6411640438aeaaca81788b75986c973679d48c024a904eed51cf4 SHA512 d3b539180bb3c955c2352a2b25ca674f1c99c495109fc7d95295ed373659039b5a95e7283efa29c567782ecbaa492ca362b7f5ca621a5da90096cdd23e04d20b
-DIST firefox-112.0.2-ro.xpi 537900 BLAKE2B e301496055c02771a9d1c5dcc9eb862f9dfaa7c3a541deb9ebbbdeab2dcd9950bbdda3fd8172179d5ab71f6efdf6eb6bfe3a973a3a7bf4ee1328d2a9483f8e52 SHA512 c36c4e1ca525416d9a753773ed40a0a53b54f4cc8e5c5f2fcc9f5a3a5d97abbf881361fa94adeea5959fe8189851280662a6dcc200dbd8c09a2d16dae629f9d8
-DIST firefox-112.0.2-ru.xpi 663831 BLAKE2B 569165d821a0d75f38d1a272abfabe1618661ac70ff6ea6e058b1bcb864293f613cb929bf2e9350c23edb7809759add96dfb7767538795cb3e81ba6bdabc6957 SHA512 472357324848dbf964341f1e8847e0c81139410d7461e6b078984bfcbb575acd12c929c780b7ec925281fd6910d6d5f9a4198ef23f60a42fa25238e24a3f759c
-DIST firefox-112.0.2-sc.xpi 547982 BLAKE2B acd8f72ded726916e0a2f79325effbbe13612ceae2746ebb640c4af0aafc2056dc562e2c9e07c62a617b7dddb81df534b6474a4a3040a7abd541ed53cc38f38e SHA512 583180ea383d78ed68be33272507137297da15502da8592a1b4034cbf3dc03e555a7b290c9c7f7ca8bfbf08787e0dc02029dc8e82b5c9e712babeeac33edf794
-DIST firefox-112.0.2-sco.xpi 507894 BLAKE2B 770da178aaa8ba0d7522063a5a8eb9e613443f44f138e1835384defd3a1c7d6fec51d09633fb61feaae4c8268ad54d02b488810521ce68a215da7703b4573f06 SHA512 60505cfb9e94c5792086201e6df55634a272f9cbbe7f468c6129e8f87208d3d643ace78df816122aa4f6d05f50bd6e51acd2eacd96d2aa92d24ca4b1155f4402
-DIST firefox-112.0.2-si.xpi 576302 BLAKE2B fe666f32b58b9e38f7f05012cd5243d132d12de058184c57ce89e1bca4d51d1336f268c5b04a70246eaf78be194714c70c85ef4d0d1ae39706adec97300a7041 SHA512 8fa173aaf441e401aa00662b5888b940cc57546fac294e11c3b724c17026202d96607a4fa241076c84b807b7cc6d75b2ac5a8b53d5f18c3f9f948e1b3974b0d6
-DIST firefox-112.0.2-sk.xpi 599875 BLAKE2B 7c3cfbc303044a720fe14ba00c45a709bec5006828a93d1f00169b38a0029a1f83eafbf5a10e90b4fff3b8814db526d26c2c21426032c0cc9b0ed574d00f4a84 SHA512 2135a1862c5e95e868cd3ddee5958e7d6c6be1c4bb4b6e6811f182142254941d780683be6c77e101ae1dfd405e0b9d00ce852aaa2857cd439854dec427baef95
-DIST firefox-112.0.2-sl.xpi 571226 BLAKE2B 43e85cef3b49172746f76b557c0b7738ee43fe7f100132cf022f9f463ceeaf25222c827144e6435cf96917f168f3592cc2a060f501ec48fcc858bcf1e2b9bd1e SHA512 5569637cb930fe0b5ac95576a143f18b36d3f4d5effa765529fd82bbd93c3c73ecfbfed7229fcf5c71924f55949aa4ca5623a7dd019bca1ece56881221a55015
-DIST firefox-112.0.2-son.xpi 424779 BLAKE2B 575632db38fa1bce228e52efccb2085bae748c2d3dbdf9bff61e1eca03e7e8a0ac01c05057848d0608dbb436a10bdd8f651588cb36b8e3fc41b3435dcf7b4119 SHA512 28a6c4deb1ef210cccaf813c6a842daa97f6ec33f6d041b2dc2f2f35ee2e6c6a3a519938f8aa410fde817764b5280e1f409694408c03a3e26ed0ea6bde8d52af
-DIST firefox-112.0.2-sq.xpi 587586 BLAKE2B 0b9e3db45fa66fad66814216c6c12e110af6181d6dfe1af6b176f469ea169f02608aa2efcaf1454a565a2ec95e6924e84dcc37bef6a92dcc2a5752c0ed84ec10 SHA512 4429a3c6e9a45bfba3b33be67ecb3b0ff10d812323f3542ddc9198b58a006d82bc72952a38b492e71e8d842c84dcb7342e9777fd223cc7353afd8568480828c8
-DIST firefox-112.0.2-sr.xpi 625892 BLAKE2B 08e781b00930d0a5bf832b3499a6db2c5f37730f30df1beb05a8aca67a09eaad26449bee2449fe1109842cc8fd130803ca9dac26cdb156c39d06f2d628a2d877 SHA512 58d1385966b65a2501863f584466f3b5f915409a3b6345f599b510413fc9fb32e896757357f07dcbb68b65fc734ceaa49be61f7a3aa69bf1158c2f1ed1da4506
-DIST firefox-112.0.2-sv-SE.xpi 570221 BLAKE2B 7137f3840c1681e4e953fe54face3d713aee531c6ce23ccd834c5e731423f9d2b3494241240e0036bd29e4ddd9d4e483898e8c3819b483e4f0e252d8be9a7ba7 SHA512 639541778a99b2a50435a91016e8d4d7f20bcb667a63b106394ec48cf8dd3794d5a2a36257a5de89577346ff9f0cbe12482b8821f1b948c7f495f25bb546f60f
-DIST firefox-112.0.2-szl.xpi 520797 BLAKE2B ed263818ad9fffdb50d6ea9ef54c77b358719c83472344eda55a1ee4c054fd266e695a94bab9d55b55cdc185663b12a98ebb52ac652aea9c4c1e2857275f748d SHA512 25770c684613929d1391f3cd7df5a55bc337021a8d74fcaf283a28f82c7b6bb1d2c74786811ffa70c6013161d57db014ed1ccd9137676cc581a96ea45f8a67e3
-DIST firefox-112.0.2-ta.xpi 510944 BLAKE2B 0009887ff9cdf27c8656598b8719068c8dfddba977ff1f2b2aea6cff5597f015d5c5e571353bf8309689059fba1f54ae695dee4418c4a63a0d7d1a3d9715a190 SHA512 9ac06c017edf286b5af8f933f1ea0fad076a480d6bd9f6e330fff48d5fa5753c8970013b0a11f892818ff6fefdf18a1dbc6a77ebbb17b8836232245e0287fe24
-DIST firefox-112.0.2-te.xpi 558897 BLAKE2B 14ded98393b2b5ae545efcb8c357a0a2b334d1d4ce2c0f99f929d6fdceb31d61d0d355a4421f58f0b5cc4a990a9972be69b73e7ca5f46859232344281c409787 SHA512 410707cb26dfe28906ad09429bc91235717c54914f747a5b338f2a38b005b609a2426a6333f49697473e04e8b20d345b5091ad9eb7b0f15492e4a1867cae8201
-DIST firefox-112.0.2-th.xpi 642640 BLAKE2B c180270d292cbdffeb15add0a73ec0300dcc8bbc1dd5fe59030287eb32eed3356038d9cd22160dc5e22c672c3f0adc1ccbd2ce4ae830a7de34f25c6e89e9cd2e SHA512 efc816d73122a390170f6ff607ca2a8a676dcc67b847b400e46a97df09db564905d48cea9b76db16720e10aad274ac852a129fbb0920fe6446acce8bd377b0a0
-DIST firefox-112.0.2-tl.xpi 530638 BLAKE2B 5eb26862268d75100697828411eb0c39172ec4fd6a4d247a1e06c6367068cb33248b5b91f4890e2ad74d2c2cca3230172b0b7849c837878259aa791c83d3fe0b SHA512 907eb7f995485137711c9df93e4beb63c73a4849a6ffa7264542ea839d116c031aa78a24b9a3b6ef341cc67241115652898327ecbf94ce0e2d83c7a8295224cc
-DIST firefox-112.0.2-tr.xpi 583015 BLAKE2B db143c0103a4db50e8ee7564c896d8cbfc3f2c798392d4727b58a21757a2f150759a86801bb61322b4ed23a44749cc8785726a317a59348cdd1b84d49c607449 SHA512 3715ca92dddba223797d6f6eec57386afcf9886d51cc2a68df0d1f014804000e4d86eb59add84a97c0f187c595ba5494dab29b2bc227ec66e52b1b99b207c75a
-DIST firefox-112.0.2-trs.xpi 489993 BLAKE2B 5af96a9d2f76d881c81f9ed50e3bbbe31b8639f2f0134f8490403c3ae1184bb6d6b86cec3748f40ddb44b911bc766e3b99778afb9f600a82420ac692091b981f SHA512 e4b5826d93fba384617ab2e40b939e84a203f55a471153cb71dab864645fd4de64ad1a0fc18491e5365740e7ccbca479d5849c537b2c6da30482275335f9c7d3
-DIST firefox-112.0.2-uk.xpi 657036 BLAKE2B 6a552ac1e8651befd2e2cf55dc66f783f63e7d8b4ce62af7e9ecad99937aee2cd3f8c82d3e14cbada9d8d421240c04b32ad324203e033cf13941e7cbf008fb42 SHA512 bae5f1dde3e0169a77c663fadba9c79abce62d8849bab6a6c7be2bc2dbb1c55c6eff34ebdfed2da3c657744c57652d8e201daf3c54690938938056abd46dfc26
-DIST firefox-112.0.2-ur.xpi 560836 BLAKE2B 59e8165201b701a4aa382c5f629506e9d63987724efb8c449aa18f8e3613d89ca48e0a6417be00ecddb79bdff7423b20ae3c3327a9cbe2b8c36d50f612f83230 SHA512 28d2121809a9215b15bfcd3282a57d0492e11b43e53d83e3d08b28cf8ff089c159339ab7f06417c6414bb228bdf7c5cc9f0c17314243648ed569dc5bfefdc517
-DIST firefox-112.0.2-uz.xpi 481183 BLAKE2B 9606da41a374760deb2fb7ba325ed850516f9489ac868b5ca99336570600c4e352a8af374000573a26b2c2c027a1c051a377da3c690224c59d575c2c49839ac2 SHA512 44179eced67343ec5c16fb73b7e62e5b3e01b2041512e11be697fc05a01b539b950d0e95bf83d864c1af76e0d54d8ff45358a93d527bde7ae4b50019ea35ba72
-DIST firefox-112.0.2-vi.xpi 606045 BLAKE2B 3bbe903ee1bdf1647d808ac5c227572d967252445acafd47924a29dfb77f92decee5d12b8268892243ec060433b5b737ae31dd055d84e537fa8c43b89aad6a36 SHA512 3f9de47f5318b042976eaea9e908a25dd53a5910fb466d999d4ac9c337caa78ee556c63885a0aeda90900bae7d7972b2ecdcf78734458841b68ec3a4182b5da5
-DIST firefox-112.0.2-xh.xpi 421619 BLAKE2B 11c0a9de0f8d6d6f3b151dd97498726caf302dfc69f61559ba39a89b817748de3f9783b22dddad4400b9e529e83b9a48cf89e3dfbfffc72210f2ee59e6995ddd SHA512 5dcf087ccddb117d657224657aa3106d05115676e303fa1f8d96200ec23f8ec888dfb0ab3f6ba2482932673b24972adb0dd1ea459cb19eab816f3bdb7f9a8ec3
-DIST firefox-112.0.2-zh-CN.xpi 605647 BLAKE2B 6a5eb68d464c440b06486c59621d7bed0839cb269ae5d893daa630911dfb15d66b79bfffe4a1a49e47161ffb0ca8e357dd74e7832ab0bdc59282cba778308f20 SHA512 0ef87ce09efe745e055bcb00820ff52c4862731b1d0e5b6e5a4223de31ef553e5f88b034aa03add59b1f8571862ae65ecb68cb050709cd96d89d96ed24be1502
-DIST firefox-112.0.2-zh-TW.xpi 607185 BLAKE2B df1adb4bb2e70b9810b509ba48dac3ca96629437d7b51237ee6162f2157463537fef1d89613542b5c6fda0db8945393b403e968f2cdd51478fbf87d33246871b SHA512 a6205a6a989ce2e9f9ab96669f088928034b3bb66ef3cc153d66580c277c6865239cc03ed38bc6480076d8d4f8b0c6c4e16c05ca79c58706340987d78207d802
-DIST firefox-112.0.2.source.tar.xz 504773576 BLAKE2B 44f2fae6c7260a1a6cad24ee31bbd52bc7efad15ac5b9f64f4bceabda7a371f20a490512cee324e53373b9a96fd218572c1478b76e5931383dbef00cc25743aa SHA512 2cd7adeb6c9a39ad4c5366982e0e58382d7f205e6f2cee02b8ec2867034d1c0c884eeeb870a35db35cba60fa9c84aea73f8c77cfd9f36b5146dde06464aaabd1
DIST firefox-113-patches-01.tar.xz 14160 BLAKE2B 46820caddb8c64ce66a3837081176ef30770145ad059eaba18f6eb14592a9b6bd38dd49b57b3d28f11ade90e397afa9232f85390b601a27a8788e0b8765e9cd5 SHA512 19fff6115c33906daf81a0e3a44cbfd9479689b7c5738f0fab730fff293d6a0a004a06d5fd32dafb85868c7e19bf0eac23acfd21000cf1d0b07de00ac5121b7e
-DIST firefox-113.0-ach.xpi 460930 BLAKE2B 9bd3c48571d77842655cc1837dac35c006e8ee3ce82c6b8d3665cd00516090eea2354e48e8ceec8f279e768c4332d1d8d777ecb059c12f79aad0b824ae97af00 SHA512 7d6d1934812d5b6e954c810db1a781589dd93663978a4e78f3018e643050f003005370fd336cc314895cc903c5588b1d318b8c39b18c438695dae63be21c8fbe
-DIST firefox-113.0-af.xpi 424035 BLAKE2B 22d3d9db00fb362be2d774beb0348f8e88842c753e29536df94c2e41de03515362d52e6005e7c7bd697fb1c5f8deff63b34b74d459b9dd9196f3d425604a94be SHA512 8b6c128e9e0274c74c5ccdceb7da31cdb3d5e9dd0c5f382403838ca0e6ab6ecb4105a214f9bc577aafc0809dfccdb0c7a6a2deb6e0cc369cad8579082d153d17
-DIST firefox-113.0-an.xpi 505339 BLAKE2B 254e559fbf3d48ee8be01d15f8fe0a183b175ec7c09d29fe69e8ce59d89c43c97efae4d4c1b2c2c50a64f367e3ef048cd5585637a4e4e6f2473980e9b749ad58 SHA512 6fc6c410cbafd6a1b00839950eda3623cdd4c69aa6de5c8235adebbd0effc08e04db75ef376e783ba3afb6084d86c0a4cda6e3c72451ddbd4f84b09e1e25f0e8
-DIST firefox-113.0-ar.xpi 572292 BLAKE2B 5bdd1ba0dd695c597d387a8020c9c368f52609b4b5a7820984e6e8bd7f26b9c9a336012dbbcbc5bc7e750c8ef419c5dcc1f448d79972600f2ad5c0be3911a042 SHA512 d3ae360dc4662443f8b5f9f331e43b8b4c49a1a27e2148011770d028275d9d17d35e07c007b623165655c1a67e87766364899eab841598b3adc419e28ea3b046
-DIST firefox-113.0-ast.xpi 491651 BLAKE2B 29dea16065b2da8401d65084003f7c6dd5d44996ceef9b8bb0ae4ac59e6ffeb03382e11012f1ac805982939a2eea26ea40a033418b0586827ecb911e8258138b SHA512 6b228f8c019d65715732d8c142d5801faa2facc1d8e764657681a39de0e9b50f33fa5dd138487dfd7aad1f413664f20d61f8d724c1e2a8f27e889b92de2c3bc9
-DIST firefox-113.0-az.xpi 493581 BLAKE2B 2ac593cbd81e3c5b6dd6156dfee7d0bd6b90dc4a0372463e757c24aaf67e4e540f2cefb6da4c060761128ae228a94b9ff58ea9e4d91bed127a7d4c216077352c SHA512 48cb140b1ba7e83d45806af727fc04d3f3cd459ca87907b030a0aa6e847a73f22415cfd95f117fe7db00339857387b9895f450d7cb28887da307fec5897b9668
-DIST firefox-113.0-be.xpi 665972 BLAKE2B 2f53dc9b23de47c6b9ad19a60ead0a5833e0d2f840130390327f181f8c9151a2e47343ac7b4ba48d237c98479dfadd3c4c3c289b96b03c6e3886ab35627efa08 SHA512 51f298784d3e23577e4a8165c508f6f1a5112d3f40e04cf988fb1923b9e214430fea25138bbc9c81cdd00eff692b8088a4350c9910a866b8f7433ece0e95b2bd
-DIST firefox-113.0-bg.xpi 589764 BLAKE2B eeb7ca42b016cd8f11f1cf76031d45d44e6a877d806825d46139876bb27c50a21e1d0ea8f997555541f0f49a6dfec9abf387417ebb197abf08e1dc1cacf35e25 SHA512 deaeddf87059b661f2ce2a8b073e96cfc46a0b2c3f131e999e45dc6c7c50cef62a1e73ddb3e761c0f6432658c5ec4f94d43e04afbcdea4d3833e563043222760
-DIST firefox-113.0-bn.xpi 583367 BLAKE2B 396108e55de561daf8c6a39772f717b77d7bcc5f51849a1c752bc5466f3a3dd0c779b520a9848b00309b841cf0393008892b2ff6da2943e785e7459ce605ed5a SHA512 26676712105dc2b62c6b01b2c5da797bc13668c04eef7e16a56266e172adcca0151c66dab6e951b43ebd6f7236dd715dd4a86fc1c88f43d374123e88d9f7d594
-DIST firefox-113.0-br.xpi 549637 BLAKE2B 3e12b1e01008e8cfb5eeba997b720a460a32e4ede6b534204c7aae47e81f466f0f7a5dc2bc6c4d1a5c535b4036ab27ccc378d47b28c455d905d0124fb7f4ad08 SHA512 e1fd60a1c84c92f271087a1ae4378227e615a4a774b280f96a7566f2784211d43cc2fa8772170d6588e083cbac0d9741c2af9129db712be7b808d896125b4b4e
-DIST firefox-113.0-bs.xpi 465664 BLAKE2B 48584444785e19731b054e7ee9d5c1050b3d69584bd92a4b82bd5496c05d3bec596b357caef8c758b3b94ac1c2aaf0f8208dc652a3e61ffac3a104005aa65908 SHA512 0c776196dd41d1c0f21e701a77c7354aeced2f27eba996d8dac0266ae4b8d2a98ad14889abf999771eb0b6531c135fbf4a7e1e54a4fa6fbf0eab49564d41b268
-DIST firefox-113.0-ca-valencia.xpi 544162 BLAKE2B c57ec40ccc5c8c502a0b3718072653abfc86c6477f6a5584239861133cd23cb28a205fdec006a13a2415473092ca67bb6555cca533f1f2735a00cac8df6f771e SHA512 10ffb54f4c360ab82b7d96cacdfe632d4c4c20dd30eec10f7b678b76f3734f8e37ac76799276aefcbc26fa018e6adcaf96179e52c94b7713f19bd77140be83af
-DIST firefox-113.0-ca.xpi 564159 BLAKE2B 5706e5dab3e44c52c3ac371239493a55ab7af85828d2c62028e48f6cfc8b37fdbd166b76ad9c9ee7b85694d32584961bd891b19f2e2b251e9c131f7f5be01a28 SHA512 8334ba6bf7eee5c074f81721037bfe0102e22db9e98311a129112ca27f5f09b22e52dcf90e742f1f998a2603bf259fa81149275e8e1258e0c1ac9696cf3a3101
-DIST firefox-113.0-cak.xpi 586890 BLAKE2B 8e04423add965372856ec1c5c5a44926ce360fb21be887f96d4389c54089f8e9f5e31d57de12be5bdd33055b19e5eb730ad0225abd069530c805e5c49e889e7c SHA512 41ca72cdafdbe19dc16f6a9cb13000316f47e9d9986c6e06b7cb9cae94219eeb264acdaed564666b4843afed9b1fe86b8917192169e4e76949742ee4d749a1ce
-DIST firefox-113.0-cs.xpi 599488 BLAKE2B ab4953b4611ef916c644ef3ddb8b0ee9b36090e92d44c65fd1eed31da6a7db3cdd84efb1cafa77078e3e2651a35a83ac374fe6c512351f10d41fd8d39cd2e953 SHA512 deb44d1fa843a4e71abdfaa0b32847c6674532a64bb392699d64f69cb0043b250a1135bcfd97492a02408bd53f3e2ceec2ad34d1af32735c1143124ed7984dc7
-DIST firefox-113.0-cy.xpi 579532 BLAKE2B f481227366e48c305fa582f1d0b1009c7c5a7e8f49e5739257dabccbdeddb971e21ab444c692885a21980a2171a837c93897bc917ea89d7f18c4f18e3705d8be SHA512 7a1b0bec7660ac39fe87ad0104c7a87c2de317ca5bb2e0537ca8a74a1bb6f6b6be78c3f7864203e2ffde1e178b3b974966be70c6a3f99c155aaf81272e5d7ef4
-DIST firefox-113.0-da.xpi 568089 BLAKE2B 35aabaaaa18c0db5438a2eb5cd9ede414ca8115196bd406e5a1cc2f75f244f465b4b65e3a4cc617d183f1b655ca7e1f2d827c98c6241de7b2db3445ec1db49f3 SHA512 1bf5270c46f0a2090b1d5a6f2d6294476a0bde93c1c5f76aec0f4cdf1efea55ec699cdf52383ec6bfcbc248a103b72429c051713c2c39b0e4a8c06c485ffd9f6
-DIST firefox-113.0-de.xpi 590617 BLAKE2B b638d9622d5b44bc5c855f129ba5374c1cb74995bed00129f0fd0bb52d3a9795f9be3d942e5eccd47e274e91dfaf7a8ebf308f2bb316ccb3fe5875efca075cab SHA512 600e0ea3aec8bc325725f4bd4da0b9747c11de5b8e806ebc3e70ee8f4dfc625b479c796b39f805ef24a5bb5c07cab4a5221c103dd2537d294666fefa36338c51
-DIST firefox-113.0-dsb.xpi 605167 BLAKE2B 28c2e60a04682b7a487bb00c826d941426b444dd1ea22d5f507898ea112e2f04722ed38b0a51775eaa58329b3b854d6a5ed69ef221a5a2b3c1896ca9e6c7ee58 SHA512 233c98bacc6d7fef5e15bbb8fd5578a3098e14974bf9acf041df0be022eed9770c4b053b0464f8edbe3fb446ce3c346f498e223a98a1ad9a2f70d2ceb9d5fcb8
-DIST firefox-113.0-el.xpi 678412 BLAKE2B 1ea3ec4c08aa5a7739520aa45da71e7fdb5164d293d82d4d07e86a0cc6d475a67ed1d815607b2ddc13dc47441b16542ab5be60aad2b9ee255038944aecb16218 SHA512 38147ca6a9b9c436aa95e584c9ba52e858fff74760ee1e2f5e4f03a43e6a967e71c276dd0bb17d0130f6a09985101bdfa79885830afc1f7b124e2316bcd5746d
-DIST firefox-113.0-en-CA.xpi 539611 BLAKE2B bb45c619b4b63eea5931edc407ca9824b69a63ab7fd07dff72937f26f7aab72246a3430b8f9c6905af116fa0a682df5af6ae1492b9da9b4514fbe1f9d141ee38 SHA512 1b6603b47a042fee2d7c4dfb72135dd3479c7f17a73623cf1aac47fab725ae6dd43c7258d53b7c0bc04176e1e538b57268f1713c73a9600e4b498dffdf1f210e
-DIST firefox-113.0-en-GB.xpi 544345 BLAKE2B 6264c6b2e38751285b5f350ef84ee3247193de47f08f958647d49bfda90f1f73a0bfb9289675b4868f9153e50369d247ec8f94d4a261854ec7026398470f4d21 SHA512 e2d08ccf4700321c9031ee6c31f69c1b7965388e2301564838d31ce17a9098bf24c750bef39b02c5fd6fe28907d2b8eb5d5048fd36742c445481c68ae8b5cc82
-DIST firefox-113.0-eo.xpi 572718 BLAKE2B 0d68a61d0f659f3ad7acf335b85c8c5c4da905f9f952233e882d839e6317c33a9787b49cd6036ffa3527b23360e17a4e8d59fb9e9dd8069a26cdaa1b0cbd4809 SHA512 42bf528f671c24a08a490344629bf4750f655231ca21e3d22252cfc02ab93795bca5c8a5c80c2678c77ef3c22a9172efa9901ac4fb245474147bba53ceafc757
-DIST firefox-113.0-es-AR.xpi 584471 BLAKE2B cc1651232fba05c1240d2abe6f231e66484eb9fa9607cd5d2375bcf557390bf2320e7bed863560189141729f6f49f1804ff8fb0f6b225845669aae68cd0653a6 SHA512 9b94cc422d5df3e65c812ac970ba310702c4a96ee9a602040736b6f73675ea890f00e202bfe913dea2cdecad710344cf7e988231cd6425f45de1d2d1f0587519
-DIST firefox-113.0-es-CL.xpi 583616 BLAKE2B 9ccc3c671580ff4c0782c57921428fcb2699406d589dc5d9688c1e06d2b0700e35696dc76890ff3b97bba01fedd9fd92dce9689ed0e61f08add48b2ae80aae7e SHA512 039cc765858c8eff4ec1e6b2e59e416b4216c872e2387afc30630dee1b5197b1a28891de9361597ef76b85bb08642f5d0c458421ee000f22c3a27b0560392c52
-DIST firefox-113.0-es-ES.xpi 576185 BLAKE2B 6090076bb9163d73d2ac8d17bd69ae48223af264e14088c4aea753a33848caf5952b84805997ff98632342d150e0e83f69270be477b25ef151b8f7e207685f4a SHA512 22ffaa94647410ece7c779f6c8907e2ab50582af540a910e9ece0c524e01c0678930f5239fad603f3b18b607ed4cfc41c258b1b3637a9827c6ca616908f11c90
-DIST firefox-113.0-es-MX.xpi 583078 BLAKE2B fd771392e18496be1af66899527368955f62a2869dbc23dbb8e4cad6e6b5ec915d5c6b6bb7b02ee5ddeb2cd6bfc07c41618b96b69a6fa6622e9e22315591b4f1 SHA512 22d032d9278b5de9ebe278d34deccf7fdd17be0efebb7f77b37c5c9dbe04bbac0f3b3e27a917323ccf578efba8398e36974db48bcea9bfd2d89f652ff6ae68be
-DIST firefox-113.0-et.xpi 538567 BLAKE2B 0004f1a9aa168f6a8da2ba0c14190a82b015f9cf97ac9d476e7905037830f655f659be55661fe5dbfa736ebca4ae8492bd2ba4b5745246e4e4e2b44878f3b452 SHA512 d5e25632ad36e64a4f41c54eb7ef87dbba19def3caac8212ee0d4b69f744e53e6c2a6f20df88c65d2f91f318d135cd2a69b95430da8cd5d9376e6ad5a860205d
-DIST firefox-113.0-eu.xpi 570060 BLAKE2B 5a02e75dde924608069f33ac27636d9c68298eb74ce9a587e42eb7ccb4869a33e4e82e202377eadb31729571ca1f19008396b5a3ce99884a8f436f222a27c802 SHA512 59bf4c1d3ef7b87a8500898d47534a907bbcb38e2227333cc137363774c113b11754c4eee253e808cdd2b95c057bdcfca49d4e5580e28cd389554a9eeddd75e4
-DIST firefox-113.0-fa.xpi 584243 BLAKE2B fa92694337fa63537775d2462a04e498ce780255bfc4e6e71e40140e363f6b7ee0511ac04a8509bff706d3372ee4ef340ea2d038092c55d42c17a01765981913 SHA512 5761923b792afdef3ed8974e2e8e0c6a4d505cffb881960824df4f56004a661741a31d4c55fe3be63022e6a2b7b4b0c94bd8784e0c4b7ce7e1617d5e937bfd04
-DIST firefox-113.0-ff.xpi 477768 BLAKE2B 91dd156756125c6cf44b3b8e9f42a3f1ae8d67e98e13a7344e15892e79241d97622e7114aab1edfc85fdc67251dc2ff38208d4b6d997398f93d252940a494733 SHA512 018bb5c61196c637cdb99da4be590a972e26101d9b3a6728c3783979fa4362cbb4a515d0d80ff316955997f98e61064eeb3ab07d70179d4e63003c6cf996d20f
-DIST firefox-113.0-fi.xpi 567994 BLAKE2B 634fef1ac62cd75a0a2baf2f5c45b03a3e51956bae966ddbea98d653ddb0bca767dd24c60e4299675ca2ccf7b55f10a80f40628d08b128c225e96e46c286bdf4 SHA512 5a1a037c78faf96cf441b0851fff8f427f9a29347b00deebd1b6d7399c2ca1bf5fd7dfa407c648b7280f839546d926984b775e3bb4ef4d0042b94dd0fa0d39f9
-DIST firefox-113.0-fr.xpi 595792 BLAKE2B 1d44fe2d080002a9adc2ff988b82584b145c93a914bcbc55e6f6462efc9b4d9bbb880b811da5bb19b152a652d390e58a4dfda615a5864a3dccd2bfdc594d27f8 SHA512 582fa9793b1bec4a72d8b99fa7569080eef49ccd5346f3d699b037c145905052b3d92126084433690fc5027f1492b4819c2ab9ab265e9f997fb76bc508ff99aa
-DIST firefox-113.0-fur.xpi 588903 BLAKE2B 1bff1f097ebcf5a96126da8e6885924c029e91761362c3245d2f91f4870e669767a31ded2e6744d0d57e751f5a2c27ef27bf1422c7ccdb2056f1fd1d5485faf9 SHA512 17a30e6420469ce39bfffece77ebd027ec7fac0c42030d90a8614a5532ad7df3d02bea7a445957ea07e1ac9cc6c42770f28ce4431307cf9478f341952a511158
-DIST firefox-113.0-fy-NL.xpi 578746 BLAKE2B 3b47bdb7e4f54bf37f441b382d7cbe43506a5ae0e9ed5c8cc29e98be90564a901be6c8ad7d6395f78164b0a400b010b6fcb3abdc9c4a5e1493a6a7f7850e71db SHA512 4c022d8f31caae31a0c4531001278f4d0a22917bf1a9f0cea2cf0c613d086422ddc5a1d80870eb44879931fb05f1122e5f9c3e666e3cfca9c2cbfcdc50e36aa3
-DIST firefox-113.0-ga-IE.xpi 474576 BLAKE2B 30a6463513b40098dfb5a6380eb74fddc135e834bfaf043d28c96e4404b0700c077eb454c45c61dc7b50d426f3321e7fbda792ed4ca9a51bab6a6c5b0cf42bb4 SHA512 3c66713e8ddcc97a9ce626450c5cdc6783dc6914e025f3928f6d9a2c588819156f755876b090c4b6d5e5cc6a7fabb4aef9a5f88a40b90b4b3d1bb7d5f76d6e0b
-DIST firefox-113.0-gd.xpi 560384 BLAKE2B b9ee84b7ed2b627597ea215ad0934641d63e30f6289b60083f0065ac9a6376e2429d65da120a7a12bbcf0620ce6c85bc43ed93cc5967cb2e5d3fb47b57014f13 SHA512 4038d3792d7870c97a338997f26409a8092342c7798e131627c1b6ae1f70577ef412abda14a03ea31643deaff70c8e068ed66cef2938bc7fd11bfc03f5daa3ec
-DIST firefox-113.0-gl.xpi 547677 BLAKE2B c1620ef69894fb83588118d2687dc2740ef9bc722cc8a30981088e8c7fceecd4fbd86a03a3841df8e73d46605e0a16a975735f0092cf3a5f95334a07b98babe8 SHA512 410eb8715b59b8a7b477b4a0fe05b415f476f16dd752f12dbb33a3ecd508700cfb36fab89f5c9e88cebb5ea19e803b4ca4558333a0ba4079b15f457c768091f7
-DIST firefox-113.0-gn.xpi 595118 BLAKE2B 0c02a993b8707be00ed607117862b09b914610074085cb4590122c9b3eaff961be8e459d9bb210d6d6358dc03a6b203870cffd3a930469811005d8b2798b29b9 SHA512 74c58624cec12613b84903d677bac55491d78d220086b7b44c005b9c07edee325b323e7e3cc31cc246cbc7702b1fd3a783c2ffea86d55d30528e42eea70bf9da
-DIST firefox-113.0-gu-IN.xpi 532728 BLAKE2B 678f400a8768918e82c9676931505fd834121cd6936519d4d34caec944cb54980729acc717b0f48a4fa1c78452dbbfd20ac44001e58cd305adcf9c83bf7f495a SHA512 415e5c0e2adb73868ca3ae6467f3859f9db6671e9b80bd4196182de1aacd42d30c01bb4ee13a06b7ec5662185a842172321226b9748ec4bc91754182dcbdfa60
-DIST firefox-113.0-he.xpi 589195 BLAKE2B abe5009b55500f41657290429c680a68ff70de876d51c544800ced9dfaf37b8d691cbcc967dddfe973fd2c9c53d4ea59ca4c48130f6683f06e0127a5c1c28d17 SHA512 8d637243746a43aa356255707e38920c404f45a433d9b3374ae9129adcdccfeec95a4ce8518e5545981afde47f5f79457f69c8dc8e74400510bf63fb6f852c47
-DIST firefox-113.0-hi-IN.xpi 561999 BLAKE2B a3ab0a20adf4ef31e5ee830aebbb09a2ad62343b2faa7cec6ba78e5c74d6e17fbdaeca9533534109fdf4181aae7e4a9c71d46743f63e712b4433513cb68a399b SHA512 38e9afff1db2cc9d0f081a36983f1d865ebc9ba6944d685d550f4a979c6e5f389714d52f22cf0655a019c2b754384f2799b9b73f4e8ef09910e7fbba4effd547
-DIST firefox-113.0-hr.xpi 550556 BLAKE2B 3e433edde0e79fa822f9f5839bee64b9940e17e67c0260541ce673a6dfff29b87efc20a0b708bbc523df6003c413601255ace0b73be953faaee5070ff9c07ae1 SHA512 e2f77a4a75db46bbf7f986b087df309612dbd26ae76de9209e51c99aa8180fe391c02ef0a6809cb18408c66ea55aab1a5965d2420c5a8196a3440bb308d02f99
-DIST firefox-113.0-hsb.xpi 601194 BLAKE2B e266aa5d5b3c1ddfd30f619fa641cbf3004aa502f4cd17c5a909dc86f19f45bf7270a8310cfef95b917ac0111b3e2b24238b08dd58fc1da2d09398344eabf522 SHA512 acda333def3f600de9071068ef0e126c45da4b71a648be3f5e58503cb2be4757e20cff5745680186a39a9f42e763b0104d051e2bc41a07efb5a15dfb366e98ff
-DIST firefox-113.0-hu.xpi 605475 BLAKE2B 56826c27400728d4b84d470a8fea3f3375aad870136c0f00707ae490ba1b323f7d90f64ec0134272c0797ffaeca8e946d580198e133b3c215ea907746c70d497 SHA512 a160fbfdff535675b3c5d7d5f843c45ce0b997d76c564da364a03af9c47da1ae8fac3a2dc2ed949fd1dec143146cc41c879e87da90f50e7ee9fab3078d8b3b3d
-DIST firefox-113.0-hy-AM.xpi 604436 BLAKE2B 96cbe968f7eb4df285ff04118340e303c61c64d04b0f76c48e6118c7035bd53c9baef07aae33b594a0ba1bea26ca981001a18ed410144a152dcb53bf24c4e381 SHA512 132d8086447b8a9eb0156dd6d61ea29ceb8128cfca3e4df68a81efc66779d4196121272b4609c76fdc2d024e8f213d03d2c9e9295cfbe4d318d083863dd71fa0
-DIST firefox-113.0-ia.xpi 568103 BLAKE2B 82f1ed18da5adb7424ac951cd5d774a5c45633efe2dfce62f761e6b855065f3eb98c21d6766032656000e3868e10ca91f203be9af93138088c4e44487b6d3609 SHA512 1e19c4f0b846c55286643b095028ee0c4f62d1e01879d3151509cc5bb57c5f6c2605a5a347e7ff971ea762aede0820cc234bfec41eb5c70233e315961cbc4c4e
-DIST firefox-113.0-id.xpi 559878 BLAKE2B f6fbc0ced530d9913bcf8b2ad00c87faf9b4eb7398e36b80ba31a9882b22f9973d5f1bc2a515f4597af673cdf0a094fa4cd398e5521185e176e314bea61a503f SHA512 47924c901fd148340b5cbac3419d8293176219d0679489f85c0ea59785be1462508c22e5417b7beee3e19248cbc7944b8f0cf78785d73f16bdf07179a97e2cb2
-DIST firefox-113.0-is.xpi 574434 BLAKE2B 5f2185137d049f60aa4c4628ac624ce3bd20c801a687367a9a5ed376cb122aa16c2055c61cb2841ddb7490a90ba11c2d5e8372d11e3da85d71a014d08ea239ec SHA512 52168f34b96eb7fbe779f2cbd0e4944773d10a8b273865f876fc552d8ddf2b2216d5527bb74313ec7ea9f9db9ce55c968ba23da129d76ec8794d7e1ce4cb329f
-DIST firefox-113.0-it.xpi 505906 BLAKE2B 49da74577af5ab947ff580022e2106393d48c30c2301c38e96787916639c35be79c99bf9943c807713cd76ddb4417531817c9a7cdbe09bbd7dc41adcbf105e65 SHA512 3e74f0991a11d62865db2cfe257138c067660047bf923b32646c575ded242aba29d60b1fa572b61c47e1021cc7818c302b128c3b2f07067d468e2c870b5f95f2
-DIST firefox-113.0-ja.xpi 629325 BLAKE2B 54ef4b2c0fb26196308e2f7da3ba3804fab8402fe865986b4034b52a7167ff34e4aebdbc79efe4ab7755e1f5343f9d76e2f13c64e7d37d7f8697e2691e2f9477 SHA512 b08c7f1a85b2bf879aa6b10890c5ae9364370b3566fc240fd7b83050b9f3f3d6eba2afcbade17299a53bc773cb7263708aa18965b790cee371a027d24db8481e
-DIST firefox-113.0-ka.xpi 631096 BLAKE2B 8689e648fe85e0947344b05e5e8f9afec8f07234ab7c9de5a85fd6bba5a40d3b2e5f5f6caca5c331fd7d456f2e12ac2c2711c452e367ba886a4769c0bbf95994 SHA512 588f3050b4af93b4cc3ddca0fc74fcc6f49f437cd86a8d58d812c8daaef6c193a8b766e5296a1717476c764d0313f716ea22fb12bcb96436abc98029d6a9bac8
-DIST firefox-113.0-kab.xpi 584695 BLAKE2B 18dd8159120fbfb552fa27a55bba3a3b6d1a330287ec107565ff1585ee393b3f81840bd393fa96e490044cd025e12992717d57ad9c8905df1243fc2c124c8ff8 SHA512 2f6cb976d7f257359a812234432a9927e67c81b222651f7793c5f4d176a3039f349d1bbb922888dd9af412f56e2f67b9b844221b5c101f388306b87a4cba1f0d
-DIST firefox-113.0-kk.xpi 654261 BLAKE2B 9f7f8225036f77d0eb7c068e0b8f863040eb06820b5d577040322a282b3b63e6e5655094292545b7d74c994fb97622dd2c7149f7ec2fbdb381d92229dff72c40 SHA512 4609ca9b80cedec5dead3211ca372e6b069b73f3444f8d1630c3d5cc34e5f9479cb7729a131c085e26f4974f8622bb74866f2ebbb9566143955c0cd8fd79b5e6
-DIST firefox-113.0-km.xpi 534948 BLAKE2B cbfe5972c79805ddec89b8201186fa5c9e3977b19a2f77b2b511562a5846e27cc209bfb6a29f5a28ce6d00b2d0b2666d6583281b811821240794c259626e5101 SHA512 dbecdf6f6b6bfd55882d08c06bdb8c695021a3024ce83614bb418015619f240df27f0c7c7b1c7dbfc648a935d853127050be082b84a2be27e61f3943fb1f4e32
-DIST firefox-113.0-kn.xpi 500355 BLAKE2B c803f2219ff44ffed303a956f5bbfae414896011cd07d7c9e481c355a687d98727cdddee9ea2850c52558bbea9e901d4a9d7c711cb66f23ca966dc74aaad5c4e SHA512 4fd340799064f8b2674568feb630b1f5699f0b57e00d6d89788de707a4e8f992feaf7fe3482e5e67282e921a946d48bae60079e3b7112f650f1289a7407a190e
-DIST firefox-113.0-ko.xpi 615951 BLAKE2B e8c2196cae109d9e6154443ae02fc5dd455ffaf8133bb772bf6364db0d7399046004b579d479b357410a3a62cfc70c71acc23814265230faaa68a9b206a719e0 SHA512 869c6039f5196ce892ece4234bb656688904c0955bbfa95238ce35498e5d79e4a38380bd7f778b9e1acf34d1390109bfe82a57252687bdbcb4dc9fa110199ca7
-DIST firefox-113.0-lij.xpi 474960 BLAKE2B f8ca41ec4e2cce35b95ec65d50057def22c5d97a0c10c1c39eb0119c77e166e5eb2d26b7dba3dbe2a6fb82f9d4074696e166d82b16bef72d7b27db9f7e5bbedd SHA512 d815fe6638b8eea6ebcf721c9ad3b84f783cdba66687e35e85f336378c722e17a44afb9f1b62bbd28aafebf45b50af5c38497a6387bd350d6d8e075c5f15c934
-DIST firefox-113.0-lt.xpi 570734 BLAKE2B a3b57a3c2f802a1538134ab7d8a375d84c679ded19b677d057d5486bf2623149d869c707046a6f01845f41121e7aa2135f1c2d430fa2e00961768b3f7f4f9ed3 SHA512 3daeac7fb6655cd80d2f4c40fe2603b42b57c0494bfe81a5cdee0b63255a56a6010ca6351b9ffce8520c89b07a235faa287a0ea60a873ff7d64eb62253ee0be8
-DIST firefox-113.0-lv.xpi 474350 BLAKE2B c5eb41dc8c2510712b86f7ce9d65ed50453b49d598e82f8c5f1a098c023b42e89f2ad274745c81b17037df6ccb536cb85228b944e26c4adc6d14881db8217e0c SHA512 4023ff676f7641c6ca298b465c5ca5b3520a9f4239855737b46c5d1baffcb833d7fae210317f6968475a3055d4be005fa0d22ee3f6242623c5b336c270e119d0
-DIST firefox-113.0-mk.xpi 490187 BLAKE2B c4a1ea2cb9ea767e987226e59c31b056108bff42e7b510333729977d38ea2dc958381a0e7ec86cf24e5a87e36feb416402a9ade249c432a66f11e78fc90f0aa9 SHA512 b57b2a075ac7fda323623fbc844008242fa21ee7b10330e8985cc65511deb9d6e67e7ecfc509847fc628d1b0929adba083c5d19546d31b2c0ddc78a5266da77f
-DIST firefox-113.0-mr.xpi 534957 BLAKE2B d4103bad56defe20e96ce951d9e2a03ac44dd2cca9a8509e8b157aa9a306c69bcc4e9c1ac0114f3f90ae13b088037dd9776c75c7298a5b312564035893aebd1e SHA512 0eec3aee11bd5057028a31e889d6d50488934ea2b50c7d3d3729016050bc3ae7545cafa0c35e9d7fdde1da59d04e5dd515455ecc852eb72b144be5d901ffb6c9
-DIST firefox-113.0-ms.xpi 454092 BLAKE2B fb322af636143b4d284f6fbefafdfedae84ba40a9f3552632d0dc93b1e496b149bdbae4848fe478dfc46f33c456a74cf7f4cf3e01320e31d660a834756e7e885 SHA512 f7d643ea3d8e73dcfd9f31554898a18b0a886a0f2fa7f7b228de00c3e993b657a5a6619613a2376133fd2f51b2c0658b6e5f48b2db811cc9ec157b2885ffbadb
-DIST firefox-113.0-my.xpi 520810 BLAKE2B bbc3d036912dca84b0a3dceb63593107253bb01f5af1e9213e654ec53b37b8b4ad3b404e81bd43dc4436ff6e24627f36be99cba222e9724cf7571ca965544d75 SHA512 f4942105e43b4b0970623c7a283283f28bb6b93045af1745d958d92025e60a319333ef64293223f41e0adb818f703a7937de532c5aa3ba768acd2a48a75e4a57
-DIST firefox-113.0-nb-NO.xpi 563835 BLAKE2B 7bfaa465749f442a0bc662a5f2cd5a504dc43b9c8d8b0248e410876d3677f8af8a03191b079bddce5dab382a8738ad9c1c6ae6e7a11790cd672d4aab96113984 SHA512 9c9d7e0d1d627936a114407b884f566a674dae6e350e2a798601bbea23963ab8427f743e42c56d97bbd1cf2fd7fd0c745a5fa168f28df90634517fa69fab8e4b
-DIST firefox-113.0-ne-NP.xpi 488587 BLAKE2B 83b0dd9487be0ff69b42d112ca18926929b536f52ec1c47fbae5493e1411629956773b3ff401dba4ce3eb17c17250aa8cd5b6b418c72289acfc78a67dfd9006c SHA512 0045bdabd1e5ea714bed06e1a3f626fcb03a612e195d9a6981af26b6704d1987aa2b5af8744e05d95b10de04b750a65a6f79df88738b70e55f2b2e9327a427a4
-DIST firefox-113.0-nl.xpi 572752 BLAKE2B 23c85ce4cc86248f7b6a250f9e59822fc5defa61539b88717c44d6f0c54895fc8e691e7a32fa1e710ad40465c540f5da60d40cf1c02d159db1ef6ee2d02a8c7e SHA512 a5493b11e1e3d7eee5c3c64f752ec95d23fc70f9d16f64a10f498a1298e596abff797fa1e314f6706192e16e83b69b25240238953533942f6e545c8ff4cb3404
-DIST firefox-113.0-nn-NO.xpi 568520 BLAKE2B 0bc79665ef8e1ae04ea4f24f7ba12475845fdc248a8104ba7b1947f61212bc4108b2947d4a59cb8f0a15632fe3c7c1d1d3c6c5878454bc6832a3261b6b368f2b SHA512 a8fb678eb53cc5f97169e990e0a12c9d4362dd2390fc6f03985f86357efc8c4072885f55d44607d281b34e7f938fbf55c47ac12bcd2f0dbd9eec88c2a67b7118
-DIST firefox-113.0-oc.xpi 589364 BLAKE2B b47ec57914a740719e8ce2413cfac6b1c91e7648a8e90f95f65ce3ef5b364b279d7f88ef2f8490bfd821098aadac8cfc5f7925d4bff130b8bdeafaad30ebe65d SHA512 3c81be2692c55936c7fac46ca3dd7404d29845c3ec744c07e213c0856d6e25e1e7f9f1bba4766a32b828abc12b9f02b63c088c923bf27a0b5b27113d5c779c49
-DIST firefox-113.0-pa-IN.xpi 647308 BLAKE2B 1ae2c530d0da2898e9b902c3b3d783a3cf5548c14edc737740c11050eac77e381f1361e051c47c72d91b7b8918f77382b06a0d222f39a886e22b3b2cd9dad25d SHA512 4551c15c2863ecd0fbaeab7d654f89532026755233089a0f55814fbb4c76553d18165caa7c27983505990b0de3f50dee234cee8d522f8248d659b2cdc43647a9
-DIST firefox-113.0-pl.xpi 598082 BLAKE2B bfbdadcfe0f96ef9ad4d986575f6d0e6abfff8b99be74de979900302c60d4914734f858e539dc22b9c52ea4ec0cfe8aea1c7443e1e63209efc73730995467110 SHA512 5f474d0e18adeaa37b5ed63aa6d945b0023d7d0df510d1057a57142946be9d956fc0f5c543fdf00a21117f6fff9d15ba14e86a9b58f66d3991df0715d0538657
-DIST firefox-113.0-pt-BR.xpi 578659 BLAKE2B d6a4a4563f7a4e4bba0aeaa192dfe55d4ab4a94b8743bbf66c457e08df1daa8297f1cbb2f5ff3732e30458c8964bc75e92491d00d3a77c08afa52134b8cb65fd SHA512 ff585db5500f3c0921412ae7ec5aae8f5f9a635419eb6bd73971a322ff307d9d6808ed65632985322ae8214dcde11fbb7ee466602695f26aa718916ea6ae3eb9
-DIST firefox-113.0-pt-PT.xpi 582998 BLAKE2B d69eb6e9b7ecdd460a95d9a304128d8a2b7f3ecb926bf85379f769eb0915af0a2944104ec41170c7ab46266ae29f59099128e8d1c70171dc5e39a2dd2ca4fa58 SHA512 ba6a3a4945dfb4f2fd09a05a4019bc5c5f2a1df57123c481b75b99c73fe46ae3ae3e734e4e08d8118ef2ea2e8fbe60b329314fadc193f64dee5138adcd5d31f3
-DIST firefox-113.0-rm.xpi 574482 BLAKE2B 3a67692e0e59088440db388bc4de417d3e1a77caa3e7ca4c4f4bbf30621067709376ead5969c2fa5825006802e6a4c5e52e7b425b020ff8b6395a798f7e0920a SHA512 ad1771f90f7b4f38871ae3d9f7561e360028728fb4e93bb543abe238a9a7df108beaf9c172c2c27a46d5cd8e72f5b45021c073d9756690ea5b95bdbebc54e200
-DIST firefox-113.0-ro.xpi 539283 BLAKE2B 152e69cf72e1ab5ad129832101c1e2b1820714e68958026267f0819cf8ac95443220309f3e522dd6befb5d399293e03c3bb751f5b513e2771ffcf4e225057415 SHA512 afe2ed3e8b2b9ca7bfe90eafff783096505f2f99ccb320b7af229334f3c787d864451a9b421cd604cba8a8e6467dd4138f644727acde6965d6d29c837f35eaf7
-DIST firefox-113.0-ru.xpi 670905 BLAKE2B 476e9c799eb86ded65633929e755354f066063d26de7d66df10570f24999cecfc9d51d75b194ba46cdca9b333d146e889cf15f17174294d3d9db56745089040f SHA512 7db6cdf9125356223ffc7c9fc5f509d94626d57cf3d751a1236cd4b52f36fff712a071f1a418ffbbbd51f3a9a5f6ea3563bb0561e6629b80ff43b47a1f46f476
-DIST firefox-113.0-sc.xpi 549540 BLAKE2B 95665c8f6de39354a8122abac79299001369b4f4cfc72081f571dbe34e6e8de00ea8d9fa16ba77ea7a009a067390d6ef81794f8840424003eaff8f760d3413b5 SHA512 fe2c44d109d33f8ef934e411fe3490e9543d1c0ef3bd31d4d4ad58e0ff57df28de41a30435dab91ae23d64fbf167c5f23d97504b33dec38355f83f562e44b08d
-DIST firefox-113.0-sco.xpi 509085 BLAKE2B dee0360383dabb22e4a4f44d291b0a42c9261104cea432a0ce573c0c10d878654e8e3f7bd315fec29ab5d637be20778ca26ed229dbe70c10ecc5bfa591bc295b SHA512 aee505029c78c70500208a49aa4360b79a2cf07ed7d383c47ada9d0ebc00166847a466a26ac17b847935878abac325adb5230be8a56e0fcd2321269dee258b4a
-DIST firefox-113.0-si.xpi 578765 BLAKE2B fdc4edb3ce8c1bce26c1e1c00680915aafcb4b456834db29af28b7764542c40c71e61285be5bf57d190f208790bcc84bfbed1e0f8292d278f6836300e3b9ff97 SHA512 b93af1ccd0e34a95866fcef2033a0a6b9b69a18dacdfcb4f9ec6dca30b8518bf5c32e086992df5360bc2d7ef56248b39dca7b4cdfed9ecf8b4e2dbd8cd44239e
-DIST firefox-113.0-sk.xpi 606278 BLAKE2B 29c2cba6e2c5ba71a593d52331e436480919903ede0ec23ccd9e55eccfed589d14f495bec8bbdddb4b6ddfa8a213ed66998ea6e5af4dcab0f82a1eed23040276 SHA512 c4e8ac551e0b1796e1c39ddccf897d87275cac1ca52ebbefa727f58a2ad6b767cd26ecf0ab894e07d6a627cdb6028b518eebb87b60bbbf0d48b42ef98e9dc333
-DIST firefox-113.0-sl.xpi 575401 BLAKE2B cbba74beb7889fb84179bef279280408511ab88f99bc684e0f1497736d3394e749b97f8aaf9f53680e4a1643426aa29673e2733a1129160622edb758c6558217 SHA512 60396eacd80f7f2340cc11252642791ca915374bd8bc691253bada19449c251bf4332ddad3b60295c19994de0693c3cc7f52866dd2aeb6ce19c7fa97bd95c7e7
-DIST firefox-113.0-son.xpi 425942 BLAKE2B dc98259d3118bfdf4ec140ca1d33cdf43373908b9c003c2598f09d49893c0a38e1c7a74b66e996a8e0129e0d28aa6477a0f9369afdaa9d9a91ee3590f25e8c21 SHA512 605338341d5b6b10b965be1ac12fe7907603c639150550ec94e6a5d9b96577f2b2924c21185b3ea95e7b5b021c29c10f680db7fd75ece3a4b887a6dd7e93b6b5
-DIST firefox-113.0-sq.xpi 589368 BLAKE2B 277450ab7b7854ff663883ba05b271aca4022be192c638617e9a399cb3f80c73c2eff1b1303c901569f1c6ff20cbde28eac3ae633c3881b6fa84d51c541f8ae7 SHA512 d75f4374b92e2841cbc8c993492536fde6766d3690dfb9964dd00f254194e80b437aa2d6e611c1c52df25e5f912e220f500388cbf446ed465045687996b9b378
-DIST firefox-113.0-sr.xpi 633729 BLAKE2B 5740c1b5b79547d8c4cfd9590d7b9f554cbef8792a00bd390a8ca36724cab9cb9bdfe2a40bd950b8c9c65b20d7a333cfbb8484a03e3119da8766be9383353001 SHA512 95c7d7453a7c2180920b6e4e9522dfe3cbb31c370689ab55007f81558afc540f1557fa21adff529336dd9c11cff3911c5dcf62a546e9c748ac7771f69edfae88
-DIST firefox-113.0-sv-SE.xpi 575934 BLAKE2B 72aba7d294f8a96f5cfac2ad35be5cf818967ffe0bb9ade4fb6f4f2f70429039705478168b68f4c0c5677b7ce5084d288d748e9925db134064532e38b7936b2f SHA512 93c23a2b024c68dc494397de8c0efee69060262be34850308573f024a8aef60bfec14fdba98bab4720444040c32fdd915f648656a4ff92d20aeffbd76eaba5c2
-DIST firefox-113.0-szl.xpi 521952 BLAKE2B 872bdf6eab29af7c7e97837b5e9884193f6b38e605636fae8889928194f21e964acc2a5c54fb63a5f9279ce967bda2376097c572b10ace914633b52370077350 SHA512 c870bfcb7108c7b2f81687d7be23121d29bb4dc61af66c9389345cc6fcd3bbadd094ac706ec24111e673bb7d7e34953ef93b11e71042211171d9e3056e2ce7fb
-DIST firefox-113.0-ta.xpi 512532 BLAKE2B 5e0a2582e03eef08b826fd8382cadd722fb1aa4f77fcd8a0f48804cc3f50fcb286f70ffa9b1bf2cdc1809006f4b52abba80d47b4ec7096b8bf89850f82f7e9a1 SHA512 44dd75047f6274c3b97dd612f2116d65d31b8f04a726b7d2eb6309f9306c4c6e04226f42372a33042842b82de9444a74f15143636f7d9aa08ba7c59dabd8626e
-DIST firefox-113.0-te.xpi 560983 BLAKE2B 96c98c3651bcc1aa7f6cad8bd48a0e3184c47ef63f84e681e70280e6b56fbf56cfb977b9aba113534d007f68e272ee18881d5e59ca1a40dcd081815051d68240 SHA512 743ab5036536025b43d0d368188befc1111bac4b17b24c601417635e0772b36b4fdc0a8a5ed67072b225015ea9b1c8eefe31161aed5323dac0ced7e829a720fc
-DIST firefox-113.0-th.xpi 644419 BLAKE2B fc016d9b066d39e92371a622e58b52e16f2f134d9d05660c1319b5ad4efdad710e8335ca35bccf1fdbfdf284a96a09fb6fecde0cac58dd57e2e5e1cbee027aa3 SHA512 c06c545fe8418a7e75db31c4cb9df31cab5d16ca7ae820241e8e724f9be73fe435cfdb1fe25c26f6d87c8a8b3598c944f4dfb2e8fb75dd0b8f4443191286829c
-DIST firefox-113.0-tl.xpi 531914 BLAKE2B dcd6d0f13d5abfb147297acb608adf399434136af38bb82b0297eaae7e69da9d8405cbf6fbf7b0b1d4c7f9bc927dac45d1814eecc548f753070ea314f6a0d619 SHA512 f59376420fc483196d3943e9dcb3620c50a8f82fd0f6c86741089fc228810ffa9953ffcd545f69f2463a3856ea206cb03679fd942e5d377281e9ce9afa7a5c76
-DIST firefox-113.0-tr.xpi 589100 BLAKE2B 20330decc5f6df32bd372ed3dfe831661c7d4e9e9c1d0fb23519e086c3eb87899485745d3ac122521fe6e83aaaa49dfb6d322809d1391db775349f9ce010dccc SHA512 86172226b4be0c1ab1d7d7dcc05e84ca7e7aa716ea78a9e2bb62c459e9bec466c1cf0e268a51fc85e1087028bdaf7198bd9fe3c990296f3969d9b77304d3c6fb
-DIST firefox-113.0-trs.xpi 491604 BLAKE2B 9aed08c6af67a48058a57588c64b9f325f2d15066e41eacc919cdc56e20f071c1c3cbb23b993ecf34f4108c8f1ab5dee6c2d51278cfc5b7cbb3b3cfb6e4d3cd7 SHA512 faf9dca7f1f3bf4b8ef0f89bec485540b5fb7861ec5d9a7d410991d9657a21a6501c709401e7c8a097cf9268d7919ccbd08ce01a226e3c0cc881ae85ac50f90e
-DIST firefox-113.0-uk.xpi 663985 BLAKE2B d5911f4f0183f608d1440dc046a8458292ab318a525e79e7adbd521a222a97cf713c23dfc3bc1298c9ce364ff35a7b86ff1adecfb0eab96a2f8cf3dea93e3e34 SHA512 67a45393efa8dd3297cda70257d8c2222f9c86c01318c89002d5293a788141006d924a5a2ea332e6276cb09cde7497b24af864ca994a1a1208057817f032a55c
-DIST firefox-113.0-ur.xpi 562146 BLAKE2B 8ddfd95775e06e6d98877bf8df825da696ac2380c6432c98719523d6a6c277e6c7112d7d29af54aaad65d4154c1b5bc5766f7eabe32bdaf00d21dddf0a0b8088 SHA512 8b1ed924f9051aee2e5415f7227ba30ff2670fe1b8f7c0fc85bc0af972defc66834863fe2f987c40e875bda95af975753d41ec3be00fbfc89a0a303213f40e4b
-DIST firefox-113.0-uz.xpi 482174 BLAKE2B 5b7116638e9f0ee4108ca8648cbe82b3d4b52bd54a7b000ef314d67d99552f43e0019909b68a114a12b18297b21574f64eb9798c9fe0086debe981e3c52fa4f7 SHA512 472efb2663bec773fa052fc5b6d4773e95de8b1ba6f5a0e1515b0fa1e763954ab8a9f017a8f947746d3400c5a8d010ed8410e7441ce5771f5c77e8563194d983
-DIST firefox-113.0-vi.xpi 612249 BLAKE2B 5f4c3761c0c0897462488312829097bf7b849880d4aec0d24459ad68c81909616f1af0b9a98371977e5aeb9d52c390dacaea8968434836286c8eee928d0e2750 SHA512 a70318d0d1896cfe5edd2eaf7bfec684a404a220c5d70258648b12bd8fd02ccba5d271e8ed952264775f63db942a40b8d0d05f5ae26007e8b5a095c3a05562bc
-DIST firefox-113.0-xh.xpi 422782 BLAKE2B 1ab73e467f71bb9a569226c04b538815b9db9bc647ead603dac3ef69746508fbb5440b6c8cd018a8cd00b01994c6e3a09e3679bf54c2f1c9d60df7abd30cf373 SHA512 c590ba4ea3c06ec6bea0d2700a4ef632390f8893c37b6b0996b1212d6ed4c9a7e4cfd49a982fcedcd48518740e974f79097165be71829c545e086875cd152463
-DIST firefox-113.0-zh-CN.xpi 611658 BLAKE2B cd8b24c7a8b3fe81176f2ee5e3ae39be69896bdf71f709a8ad7332bb46ee2d9c9110ba0ca681c6972eae86338906691b5c6caf94871da58cd36e0341dcf1c674 SHA512 d5a24cff452c1d97679060c5abf0b158ed1fe3f859ae47a391af0719d4a8b9c832ccfecffa1ada2e09bcdf766188d42b51bc4a3022b549bf6ce0f2923e158061
-DIST firefox-113.0-zh-TW.xpi 613181 BLAKE2B 1f1d513bdc1bbee9d7500110aaabf6dd864541bb6e875b79a7067b3a393bc24aae9abb4c44e6146485192effb0a94db6d4f078174c013d9b471284e817e02eb2 SHA512 f0ecde9845601504bb2f323d5cb872c525be89b434b3cbdd2b8d013a81cba5d57a1b1b9f378d8e0705a6df0715d0612a259f1ae70d06015b2843f1c326cf6eaa
DIST firefox-113.0.1-ach.xpi 460938 BLAKE2B 9b0f52e9e7ca34054d4478f9f654a4612c8ec439aa8da00ba389f175453a78cd4fe9703fa803ce0292fe09ce7907a5ae21091d9333abc61f286b1b39369033f9 SHA512 b8dea2aca103e99e648b76e34051a89eabb3c03e206a7d7632481b32ac622a019046d94693f39d7759fd4da28e1f61544043cb0401fd9e81fac1d2313608226c
DIST firefox-113.0.1-af.xpi 424031 BLAKE2B be16167f496815fedc58ddd1817ca48f9ad5f8b97e2e5095143c160d2874c5c68791aacfc459d0a78e260970090de0ca9e05dab3619d10ebd2b470f0895b6f14 SHA512 b98c5e4c9bb8f267ef09f7c8945b30aa2d4be918d5340e67d9cefd45e72e877c651827c2972d33bfccb93b2193cd0ee951f7f2f4c4b34d0ae373b58e1a815ec3
DIST firefox-113.0.1-an.xpi 505343 BLAKE2B 80c3b1dbec0dc5ef34e52f167576537f7bbe2e74c651b25e12620155f38747adf8c4c7fb5df072f54dc98525cf7480f2d38b7542a1dfeac01520589be31dd004 SHA512 8d6fccb70f0f760c623d57a6a7525c26c1a9dacacba902be9a853884af66426a2a152f029577ab6168812ca5e8e00179f46a9baa0bc3be28c9394732756ddbe3
@@ -496,4 +198,3 @@ DIST firefox-113.0.1-xh.xpi 422788 BLAKE2B 17750f9f0cd5f44996783f0f1b1afcb08c391
DIST firefox-113.0.1-zh-CN.xpi 611653 BLAKE2B bfd688d17409f3effdb01c904c432ca53a6cc91aa5a0f527288ca5ced8130d89b94ca1e18fca68093d62d7c8439f8b7fc8c8c539688d231e6ac2a63626254dba SHA512 a7106640cc65385a0bc5996aaf35d390ad4e1be7fb7650d0bb6b25fc73b4df899170d1872ba452f0737948419ac102d468168ff156493bad2f6a747339e7646f
DIST firefox-113.0.1-zh-TW.xpi 613183 BLAKE2B a80f74253f92c6d5213e20a419d3974928645340b3855c9f40abbe63d0be45e39537ce45ff8e2858383c4ac530176138d11d90a3ba0501b82e30e3bc17a65516 SHA512 6bb4ca9953ee36e25409667ac156f22eda6a0ec38dd0e2d7d826d3890691280562e589addf9764370430eb946cdb3ee8c58b838c464396c8e7c6592379f7501c
DIST firefox-113.0.1.source.tar.xz 502785808 BLAKE2B d87c98d29f9a29568a818bdbaf12a690ff60e16bb4b8f2a97c83280692533d04b089d015dca5b20fd0a03ca3763ef4a3b438f7105cbe877fda6044cc2c462a08 SHA512 67d6b777d138ef55dd813a15a483d0588181f3b83ba8da52bf6c1f10a58ab1d907a80afcfc1aa90b65405852b50d083f05032b32d3fdb153317f2df7f1f15db3
-DIST firefox-113.0.source.tar.xz 499018844 BLAKE2B 1506901352ea84b8016080aa81a0f431b8620c64c0c54364ec56d1878b6413ad965c2d9f39a9bb06d2356c206702283400918b4fb0fa3dac380360f54e60b146 SHA512 96b0f0774083270f4fcce06085b177ced25ba05da7291d777f1da1d5bbad30721bc6363b76e06ccb64fc092778c8326a426a8bfdfa3cbaafd4f1169b924744a5
diff --git a/www-client/firefox/firefox-102.10.0.ebuild b/www-client/firefox/firefox-102.10.0.ebuild
deleted file mode 100644
index f15f0ded016d..000000000000
--- a/www-client/firefox/firefox-102.10.0.ebuild
+++ /dev/null
@@ -1,1278 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-FIREFOX_PATCHSET="firefox-102esr-patches-10j.tar.xz"
-
-LLVM_MAX_SLOT=15
-
-PYTHON_COMPAT=( python3_{9..11} )
-PYTHON_REQ_USE="ncurses,sqlite,ssl"
-
-WANT_AUTOCONF="2.1"
-
-VIRTUALX_REQUIRED="pgo"
-
-MOZ_ESR=yes
-
-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,whissi,slashbeast}/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 x86"
-
-SLOT="esr"
-LICENSE="MPL-2.0 GPL-2 LGPL-2.1"
-
-IUSE="+clang cpu_flags_arm_neon dbus debug eme-free hardened hwaccel"
-IUSE+=" jack 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+=" wayland wifi"
-
-# Firefox-only IUSE
-IUSE+=" geckodriver +gmp-autoupdate screencast"
-
-REQUIRED_USE="debug? ( !system-av1 )
- pgo? ( lto )
- wayland? ( dbus )
- wifi? ( dbus )"
-
-# Firefox-only REQUIRED_USE flags
-REQUIRED_USE+=" screencast? ( wayland )"
-
-FF_ONLY_DEPEND="!www-client/firefox:0
- !www-client/firefox:rapid
- screencast? ( media-video/pipewire:= )
- selinux? ( sec-policy/selinux-mozilla )"
-BDEPEND="${PYTHON_DEPS}
- || (
- (
- sys-devel/clang:15
- sys-devel/llvm:15
- clang? (
- sys-devel/lld:15
- virtual/rust:0/llvm-15
- pgo? ( =sys-libs/compiler-rt-sanitizers-15*[profile] )
- )
- )
- (
- sys-devel/clang:14
- sys-devel/llvm:14
- clang? (
- sys-devel/lld:14
- virtual/rust:0/llvm-14
- pgo? ( =sys-libs/compiler-rt-sanitizers-14*[profile] )
- )
- )
- )
- !clang? ( virtual/rust )
- app-arch/unzip
- app-arch/zip
- >=dev-util/cbindgen-0.24.3
- net-libs/nodejs
- virtual/pkgconfig
- amd64? ( >=dev-lang/nasm-2.14 )
- x86? ( >=dev-lang/nasm-2.14 )"
-
-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.79.2
- >=dev-libs/nspr-4.34
- media-libs/alsa-lib
- media-libs/fontconfig
- media-libs/freetype
- media-libs/mesa
- media-video/ffmpeg
- sys-libs/zlib
- virtual/freedesktop-icon-theme
- virtual/opengl
- x11-libs/cairo[X]
- x11-libs/gdk-pixbuf
- x11-libs/gtk+:3[X]
- x11-libs/libX11
- x11-libs/libXcomposite
- x11-libs/libXdamage
- x11-libs/libXext
- x11-libs/libXfixes
- x11-libs/libXrandr
- x11-libs/libXtst
- x11-libs/libxcb:=
- x11-libs/libxkbcommon[X]
- x11-libs/pango
- x11-libs/pixman
- dbus? (
- dev-libs/dbus-glib
- sys-apps/dbus
- )
- jack? ( virtual/jack )
- libproxy? ( net-libs/libproxy )
- pulseaudio? (
- || (
- media-sound/pulseaudio
- >=media-sound/apulse-0.1.12-r4
- )
- )
- sndio? ( >=media-sound/sndio-1.8.0-r1 )
- 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-71.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= )
- wayland? (
- x11-libs/gtk+:3[wayland]
- x11-libs/libdrm
- x11-libs/libxkbcommon[wayland]
- )
- wifi? (
- kernel_linux? (
- dev-libs/dbus-glib
- net-misc/networkmanager
- sys-apps/dbus
- )
- )"
-
-RDEPEND="${COMMON_DEPEND}
- jack? ( virtual/jack )
- openh264? ( media-libs/openh264:*[plugin] )"
-
-DEPEND="${COMMON_DEPEND}
- 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 ; 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+=( 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+=( 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}"
-}
-
-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 ; 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
- # 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
-
- 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
-
- # Clearing crate checksums where we have applied patches
- moz_clear_vendor_checksums bindgen
-
- # 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 ..."
- if tc-is-gcc; then
- have_switched_compiler=yes
- fi
- AR=llvm-ar
- CC=${CHOST}-clang
- CXX=${CHOST}-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
- 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
-
- # Set Gentoo defaults
- export MOZILLA_OFFICIAL=1
-
- mozconfig_add_options_ac 'Gentoo default' \
- --allow-addon-sideload \
- --disable-cargo-incremental \
- --disable-crashreporter \
- --disable-gpsd \
- --disable-install-strip \
- --disable-parental-controls \
- --disable-strip \
- --disable-updater \
- --enable-negotiateauth \
- --enable-new-pass-manager \
- --enable-official-branding \
- --enable-release \
- --enable-system-ffi \
- --enable-system-pixman \
- --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.
- if use ppc64; then
- mozconfig_add_options_ac '' --disable-sandbox
- else
- mozconfig_add_options_ac '' --enable-sandbox
- fi
-
- 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
-
- 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
-
- if use wayland ; then
- mozconfig_add_options_ac '+x11+wayland' --enable-default-toolkit=cairo-gtk3-x11-wayland
- else
- mozconfig_add_options_ac '+x11' --enable-default-toolkit=cairo-gtk3
- fi
-
- if use lto ; then
- if use clang ; then
- # Upstream only supports lld when using clang
- mozconfig_add_options_ac "forcing ld=lld due to USE=clang and USE=lto" --enable-linker=lld
-
- mozconfig_add_options_ac '+lto' --enable-lto=cross
-
- else
- # ThinLTO is currently broken, see bmo#1644409
- 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
- # This is upstream's default
- mozconfig_add_options_ac "forcing ld=lld due to USE=clang" --enable-linker=lld
- else
- mozconfig_add_options_ac "linker is set to bfd" --enable-linker=bfd
- fi
- fi
-
- # LTO flag was handled via configure
- filter-flags '-flto*'
-
- mozconfig_use_enable debug
- if use debug ; then
- mozconfig_add_options_ac '+debug' --disable-optimize
- else
- 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
-
- # 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
-
- # 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
-
- ./mach configure || die
-}
-
-src_compile() {
- local virtx_cmd=
-
- if use pgo ; then
- virtx_cmd=virtx
-
- # Reset and cleanup environment variables used by GNOME/XDG
- gnome2_environment_reset
-
- addpredict /root
- fi
-
- local -x GDK_BACKEND=x11
-
- ${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}-esr.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
-}
diff --git a/www-client/firefox/firefox-112.0.2.ebuild b/www-client/firefox/firefox-112.0.2.ebuild
deleted file mode 100644
index 2813d365df47..000000000000
--- a/www-client/firefox/firefox-112.0.2.ebuild
+++ /dev/null
@@ -1,1409 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-FIREFOX_PATCHSET="firefox-112-patches-06.tar.xz"
-
-LLVM_MAX_SLOT=15
-
-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 wayland wifi +X"
-
-# Firefox-only IUSE
-IUSE+=" geckodriver +gmp-autoupdate screencast"
-
-REQUIRED_USE="|| ( X wayland )
- debug? ( !system-av1 )
- 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: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
- )
- wayland? (
- >=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.89
- >=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-72.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= )
- wayland? (
- >=media-libs/libepoxy-1.5.10-r1
- x11-libs/gtk+:3[wayland]
- x11-libs/libdrm
- 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-lld ; 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() {
- use lto && rm -v "${WORKDIR}"/firefox-patches/*-LTO-Only-enable-LTO-*.patch
- ! use ppc64 && rm -v "${WORKDIR}"/firefox-patches/*bmo-1775202-ppc64*.patch
-
- 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 ..."
- if tc-is-gcc; then
- have_switched_compiler=yes
- fi
- AR=llvm-ar
- CC=${CHOST}-clang
- CXX=${CHOST}-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-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
- 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
-
- 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
- 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-flags '-flto*'
-
- 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
-
- # 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
-
- ./mach configure || die
-}
-
-src_compile() {
- local virtx_cmd=
-
- 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
-}
diff --git a/www-client/firefox/firefox-113.0.ebuild b/www-client/firefox/firefox-113.0.ebuild
deleted file mode 100644
index 00e00080656d..000000000000
--- a/www-client/firefox/firefox-113.0.ebuild
+++ /dev/null
@@ -1,1409 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-FIREFOX_PATCHSET="firefox-113-patches-01.tar.xz"
-
-LLVM_MAX_SLOT=15
-
-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 wayland wifi +X"
-
-# Firefox-only IUSE
-IUSE+=" geckodriver +gmp-autoupdate screencast"
-
-REQUIRED_USE="|| ( X wayland )
- debug? ( !system-av1 )
- 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: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
- )
- wayland? (
- >=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.89
- >=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-72.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= )
- wayland? (
- >=media-libs/libepoxy-1.5.10-r1
- x11-libs/gtk+:3[wayland]
- x11-libs/libdrm
- 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-lld ; 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() {
- use lto && rm -v "${WORKDIR}"/firefox-patches/*-LTO-Only-enable-LTO-*.patch
- ! use ppc64 && rm -v "${WORKDIR}"/firefox-patches/*bmo-1775202-ppc64*.patch
-
- 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 ..."
- if tc-is-gcc; then
- have_switched_compiler=yes
- fi
- AR=llvm-ar
- CC=${CHOST}-clang
- CXX=${CHOST}-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-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
- 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
-
- 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
- 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-flags '-flto*'
-
- 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
-
- # 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
-
- ./mach configure || die
-}
-
-src_compile() {
- local virtx_cmd=
-
- 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
-}