summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoonas Niilola <juippis@gentoo.org>2023-04-11 12:52:04 +0300
committerJoonas Niilola <juippis@gentoo.org>2023-04-11 12:52:04 +0300
commitad0bb230a41447e97ebe64e88783acaecde2cc86 (patch)
tree7b65ab5e5a0b8942c2244a920deee8e2bd350cf3 /www-client/firefox
parentdev-libs/nss: Stabilize 3.79.4 x86, #904149 (diff)
downloadgentoo-ad0bb230a41447e97ebe64e88783acaecde2cc86.tar.gz
gentoo-ad0bb230a41447e97ebe64e88783acaecde2cc86.tar.bz2
gentoo-ad0bb230a41447e97ebe64e88783acaecde2cc86.zip
www-client/firefox: add 102.10.0
Signed-off-by: Joonas Niilola <juippis@gentoo.org>
Diffstat (limited to 'www-client/firefox')
-rw-r--r--www-client/firefox/Manifest98
-rw-r--r--www-client/firefox/firefox-102.10.0.ebuild1278
2 files changed, 1376 insertions, 0 deletions
diff --git a/www-client/firefox/Manifest b/www-client/firefox/Manifest
index 9b7012f8499b..82890b8192b5 100644
--- a/www-client/firefox/Manifest
+++ b/www-client/firefox/Manifest
@@ -1,3 +1,101 @@
+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.9.0esr-ach.xpi 466442 BLAKE2B 31f9631e4257b0c9b740c11429c1d038d25482e596c4053ee37087995ed308fc57bc77502d9ffc5bcf6986220ebc5dd7aed6a72e8269582d4c1567ac02d149ea SHA512 596b7388115d8dee354a5d80c96abf7f14fd33d1f592f7ed1d0cee620a6d0573a947212b1d694972efaf58d1cfc0265503b406903eb2a74c73fb8333f2f32922
DIST firefox-102.9.0esr-af.xpi 429117 BLAKE2B 6146a1edfd641770c5b0c9265ed32831cbc83df0dffb055557ce5c4fc1eeb08b5457ebfe4a39ef0f2069fcd548a73ad56c4e6399180fe7b62d845f194f7c7416 SHA512 41c35a08d87d2289916532ecffa598ac8595bea1812b42f51f71c0594c661f6aaa211660fbeafbb57a514bad86983e08da740c58d475dcb2b314af757425daa3
DIST firefox-102.9.0esr-an.xpi 510484 BLAKE2B fbc9117ebbaae78dab3dfdb3253cb09ee87cebcc1bd09a0ceb2c62f8f98aba35c8d9d5f15ae456d0f974715abfe0cdb5d161affc1801a7d10487d4bb5c9db0ba SHA512 8ff42fe5c664a676cc448655a6bd283e2fbed7dc8a31bff7416da27809d78f9f2216b7384fa37fa517c6f1818e40a33668a72768a3947a1e3af9c840dded1c11
diff --git a/www-client/firefox/firefox-102.10.0.ebuild b/www-client/firefox/firefox-102.10.0.ebuild
new file mode 100644
index 000000000000..ee6d67c5562b
--- /dev/null
+++ b/www-client/firefox/firefox-102.10.0.ebuild
@@ -0,0 +1,1278 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+FIREFOX_PATCHSET="firefox-102esr-patches-09j.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
+}