commit: 36d848103cac133db7c5b8ebf619dbdefdbd81aa
Author: Joonas Niilola <juippis <AT> gentoo <DOT> org>
AuthorDate: Thu Oct 10 13:46:23 2024 +0000
Commit: Joonas Niilola <juippis <AT> gentoo <DOT> org>
CommitDate: Thu Oct 10 13:46:47 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=36d84810
www-client/firefox: add 115.16.1
Signed-off-by: Joonas Niilola <juippis <AT> gentoo.org>
www-client/firefox/Manifest | 100 ++
www-client/firefox/firefox-115.16.1.ebuild | 1393 ++++++++++++++++++++++++++++
2 files changed, 1493 insertions(+)
diff --git a/www-client/firefox/Manifest b/www-client/firefox/Manifest
index 85faf41cc948..b6890b848927 100644
--- a/www-client/firefox/Manifest
+++ b/www-client/firefox/Manifest
@@ -98,6 +98,106 @@ DIST firefox-115.16.0esr-xh.xpi 414950 BLAKE2B
152db7e63f9b4882ced06824dd97752e2
DIST firefox-115.16.0esr-zh-CN.xpi 657110 BLAKE2B
25bf61a14ed6c9722d1258e7ec00a6923a5f1c3968769440e1ebd6a7784576495da5ba5bd0012026281d51c561ddd9d199ef9b4864be72c2ebba90b3aa546154
SHA512
1a39f0b4ff5f7795b277ea3b1691162db9bcd26dd8d3da260a50349687245ecb1e5486afb17ce7508e66dfb5b5dd67a50b56f97b4196911f42b8549aad86ed91
DIST firefox-115.16.0esr-zh-TW.xpi 659312 BLAKE2B
7f1c0266bced59f5252e6b3d6c56e4d0554065c9729073db87c9a6fdfd4d14c80e9945b2d760b6c64329e92f0aeeff20fa9b0e4c9e0ccae96b8308c0d07567b2
SHA512
c5d165b36c86d3f0334c461c7af9a53eea8394890a6ec067bf03b4708d04d5360a6e69d5542bd51a3678a1c44bef12a927d4f0abce22fa6736396d6624c2de63
DIST firefox-115.16.0esr.source.tar.xz 515133700 BLAKE2B
9501b617b346d56f6de975f88974be6fdc3d4a901b2a1b952b6bbf6cc46384084260078d23c52bedff83a65bec4ea5ec78c3bcaac86c78d0b44e796317534840
SHA512
b6f93ec3d6acac5df177253c65b833c017e65ed6e78e96ff029098443928d291f6f67164aedb83d80aa28ee9dee305086597798238d3330e35183030e53e3550
+DIST firefox-115.16.1esr-ach.xpi 459026 BLAKE2B
f3e2901c1f278e9fca3a16a63fef505bfdb596adf8ebdaf0593eebb0f5e5573206ba9c77774e6e6e083768db0afa9b4d76d30d8070cdd19727852b73ef2f1f7e
SHA512
0817a743dc45bc156cde5e534f4bb833186c05c8ec6868203a9a7224a5ef5918f696c95b75a327460c2c8987adae1f8f74d34a14229ad55ef2015c17574726cd
+DIST firefox-115.16.1esr-af.xpi 415186 BLAKE2B
3f3866c05c921ca82be8772b7792509aa77486a1a26e6fb5c15dbe26846ec354ffdc5df3650b11b1688a81af9e3e2a3a627d63cc74ce79ef13317898dfe2de33
SHA512
5296973fb877cf590e5423841924020ce31baa1ea525b0ef5219ca1c201b9077540e48320d39ae3ba20d9d0b3942820a4cb00fcb7682a0e1d18bbfae566e0031
+DIST firefox-115.16.1esr-an.xpi 499581 BLAKE2B
f4f80a2663218d28998dab411433b01313ad589e42ec8a51164bde3fec48d3f523c313e27c4e09e8e7709231a1140d9911af4e7b03840ed44b539463c58db637
SHA512
312890679936b4e3b82d71c7afeebc185eb93094be0f82a69ea7195b336ea543fb904c55b7b97b14f21d99567a8983a2c55d72befee5a1f4e6c068c5d0775f51
+DIST firefox-115.16.1esr-ar.xpi 606284 BLAKE2B
d846b62bb68f2c6fda9cbb1464580ca439128bd471059587d2eabd1888ddc003625303f9cc05e2b12588b09c9f5d847c802531214c394db42cfa50c662e3b39c
SHA512
4979771f49105f564d638f60a135be69526a234ba05ed7fc5a940282e2f5f77850954c590782ec244394881f8ad4df83ea60d165c4937627f3d2ff598a87ca62
+DIST firefox-115.16.1esr-ast.xpi 491343 BLAKE2B
40d92c64b6eaaa69208df385331d295479e24e28a2ef0f27c04bfcfe50dbe02f598f647ef3f33ccb2e8d4a739b40b944812de48c063e42b6dad057e6214da6e6
SHA512
de552de272296a113d2eb02fc46b75d6b38e39efedbbff732dbcf7a7a7df757a26d5ef8873d35c6f23fa240298171bf83538b7393bd8906fb76dbac182212cb1
+DIST firefox-115.16.1esr-az.xpi 486077 BLAKE2B
94fe24dad3486066f9dc7eca551c2f41d0a8b8108f6e213124b6639f48d8e2da1b03e7a6c6f368b53580f9158338e48054749e7d0896a60b7c4fb9b714f96b35
SHA512
2f54f7ab157b2eab3e8f1eaa32a4711e71b6c16de2724ad5f835af1aa65c4f04256e8a9853d1583bc6af41fc583d821064359d152e7e277f2293a9501b013f27
+DIST firefox-115.16.1esr-be.xpi 715646 BLAKE2B
d1ebfefa9b5e0c99cb344194fddc98b9539784984bb4f4d7fc0f9cc2788777b52d565940fd9c50dd156ad348c51044e630f60004b4e7e74462f78f80869f8968
SHA512
7ebd230753a21d25f49a9f423a95a8dda42c0c65df43dcc1bba531ed567848205fa6d386ebbeaf8761e04c14cdd1306afb622410d4c593974a997afba23bdf89
+DIST firefox-115.16.1esr-bg.xpi 600405 BLAKE2B
6e8676fb9e3a966733d1fb9a9e3f410b150a0dfdd491c4c2c8c86da876439b66632e5e2df011200eb988106772d66aabd62d3213378384fe76e7f3999fdacc18
SHA512
654f041662831e278ab29be9533d203b50c8973cd14fffe3ad31337ba31e5d78687e250cea4a23830031c1abc02ba038900455c493a7ca94bfb7f44c57cebaa1
+DIST firefox-115.16.1esr-bn.xpi 576358 BLAKE2B
e9be7cf9b779fe1f3f27814f6110381312331a029bcf0f963e25fd17a1e53df3d588e955a69ca94c62313da4a2123b9fea3a4cae0ad5a1935ab335b6b705b136
SHA512
059539d153281f0fe10f7939e15cee903dc074c2d053bfa9aa815b501565786de3d874fb7b110944f84431cbea32e52841631759fa3b2ee4c16431727c8bfa7f
+DIST firefox-115.16.1esr-br.xpi 585011 BLAKE2B
6cb9a0ee46b780aff7cba85e00cb83b7f5afc4c47c751dabc3d8b26734dd3f4a837e2de506db36ff2e093da6746a41d37fa0c96ace2ab8d4e99f70e31cc94112
SHA512
67f0069f50900c0ce6f7e3ca4028fd02bca37e3c50f73b1210f91c6af89d96be8323b6f2c8f89e924c2e50cf28acd011ce0a207470bca1b917ae5bf21b7c2112
+DIST firefox-115.16.1esr-bs.xpi 496787 BLAKE2B
aeec5d75d388fca8b6ae0a745a3ee49be1c3fab54bc7db33bea12aa375acd91656c7f2ac9db761d5b9d22dc360783c495bce013be6af1da405f76d083084e18b
SHA512
7f769506a370bd89b2fd31f4beee31c84d971b776e002729aabcd72523c89fda4ff03b8b5b51c8111065517dfbd480fc86ba97e6e1b396b01dcb3329066fb1b5
+DIST firefox-115.16.1esr-ca-valencia.xpi 539256 BLAKE2B
14ce549beabe60556ff110ca0b7da22c524f1a651aaf37da07e9da590f7379554287de80d706a3fd56a60ff860fa036ad9a8dd1f4e8899d6ef7d2722b2e5604b
SHA512
f03300106d9a6160e2a414dd5dfa98309e21754d1bce48712966a5b44e9a60e39cefb4b839d50cd34f54a94a971ffc4ab0739dadf58d481ca112825ae1b9e01a
+DIST firefox-115.16.1esr-ca.xpi 591042 BLAKE2B
0d9628d083e012849e41983e05206691b5eb4fbc4a0a07a81586d5f9ac82314144718e9279afde28ba12801341076043ce268e54da19fcae3aeb95d4d99e216c
SHA512
e4dca906ea93832a0bd177c3b18a4bb29da36fb7e2a2294fdc4dff69a6650a17551b19130c7ed6f79fca1930bba4adac7dc0e00ee25888d392fc9238c96ebcb6
+DIST firefox-115.16.1esr-cak.xpi 586720 BLAKE2B
c2403f8ff139d45961253e1f3215656cfe20ce1f4246eade94412f7384088dd8519ee241144e9ac337e3876e50ec33cf7e39f0cdd6aaa91cde631a1c5171abd0
SHA512
46f6cf280cad7c9c454c63c630cc7921912145d694f018439b8e0948c6d4ae04b1ce05292f2a870029ba421492ce9439353fe765812825a8a8d461cf68dc2962
+DIST firefox-115.16.1esr-cs.xpi 659578 BLAKE2B
71fd5cc6476f465d4bd44437911e251d06cf95d10ae08b16e0ff6d9c0e9e36515e1d1bf56508d38855e878ec7a72501cf4865c2620ce9dd42e6ca82e2ddb7445
SHA512
41c7c0004c18fd359f20db98e89982a0016be8bc110474892785267e40ba1dd6963e4b74e359e72ca61e52ef04e12fb31232332ac94101e203b38ac034532e5b
+DIST firefox-115.16.1esr-cy.xpi 622577 BLAKE2B
391abba9dd7d3c79c3291c317e5e058d0afddbe042d9c9fb7f893bf8073b28e0be7e0ac32c5ca4ac5d71afcd10914addf9957773fa50c6cd7e5991cda4be48ea
SHA512
cc04c4b8cfae4d0f5356b8e98ac9db57d9988c06c7385bfb6b50fe1c27dea5ade8a98b43b8fe111433737bb72e9668a40e5233dadee94ab81fa351486490b4a9
+DIST firefox-115.16.1esr-da.xpi 611167 BLAKE2B
44e2867c9294afe94736dde65c2fcac56f6f0020dd734ac8898d6d1ac723293e6b9c34a7c0fb95736d0b0c4adf8324600b6fcd85f5f580b4d6dfdc394e1649c2
SHA512
1e42ff8dcf69c5b99afd8afb7fc62c746b2ddd9f9a5c6536255bdea6b94e9f015aeba0de4805c87ae117f34eb066d358ca6a7cb527cab2a36836dbffc87d47e1
+DIST firefox-115.16.1esr-de.xpi 632369 BLAKE2B
2de7c85164432ff3767e2010952bc8ee3fa38d985aaee6da49c2ef2952c0ad4a2eb2bb0dc060193a738a9702c47eede1ce4acf7126b698bd6e84bd9129a731ce
SHA512
65bdf35cc8037bc13400ad1bb82a65a99525889bd1426d333643afb56ca4c45cd974cb1389067efec439e048384851ad06a270e3bc478d65a48cc8a71eb36c25
+DIST firefox-115.16.1esr-dsb.xpi 651466 BLAKE2B
d7fcee8f4241a9b9410de4f371c32d52032583e38564c9b0c9eef29f8affa525ba4e8e47dfe43f0c410226b377866a64fccbe858150002f84c1c193297ae8118
SHA512
397d6be896f6f2ce3fe5292169c343ab0b32e0ec335d65c39b94a5ccd4c88b02112f9de4bb130be76b1fe705e0411608c2570961ae2ecd3c87b8acdb35927232
+DIST firefox-115.16.1esr-el.xpi 734616 BLAKE2B
b18d91d0cc471ea34d146c11cdabd66cc71acaa24f2abe0381f7e6fc8f592ebfddf610f9b8f033b4ac1af435489ac5e2f0b961f7309a7ca4b39b196507189c5a
SHA512
5fa5a9f168080263677b9e9ac0d8ca68db22a4d9f09ff30095d715e6c141a2b329786ccc8bba6dcc2c0d260d4286de570841cf6bb967eea19f16b5fbf9f49557
+DIST firefox-115.16.1esr-en-CA.xpi 584136 BLAKE2B
e05f25517c8760d483d3c80fed83258768f358826f12a1a99f8cfb11960288e52319a6401077fadfb27843cc3365ab61434a640bbabd4f33948855ed4d3651ab
SHA512
c4899cb6c129061d096422a2512fb0eac0b7905eb4192e0a4de2af10bef7c02c79d31aa1d356f41abdd461a1e9e453933961b87375040aaff248fab69bb8fb6c
+DIST firefox-115.16.1esr-en-GB.xpi 585203 BLAKE2B
57ff4413c5b803522d91b5db67cb79baf8701bfae4f93d76eaee612bf4b212fe77eb59759a0670ad9e4081a0010fb27e49523a0dab4ec2a72f1a6fd505743b96
SHA512
873ae7ab32eeb37bee1298320c9045e1f8a0b4fb3cfe39b3d1251f80d3c212722c822d999c81415cfa82b7d05b654d2ca8812dc98bb5af83eaa97ebefc897d7f
+DIST firefox-115.16.1esr-eo.xpi 613402 BLAKE2B
60d2aa2e173519e92851cb3bdebb4ebd0b0a621d3fc9df8c832718ff079807668dcddfd7586da2591531a313b67e4f4adbb46c3e81b384fe921022b0aa96c2f3
SHA512
70fb38e92dceb9615dc8cc84b339d5b91cc0d46b138301070c04921a47cd3171d8ca0c0a994724fb31c7e2aeb095a25f742ad35e7de97cb0edb9c3923c44bcbb
+DIST firefox-115.16.1esr-es-AR.xpi 628379 BLAKE2B
670649b2bdd9a2752111eb181608f22f836ae9bd1eb0f50c2d9d4530eb14f558aa033cfcb33a56063a7053fbc4112251790eecc78d76639c19a0e45ce4669e0b
SHA512
c93d38f5035d680103cff3ed10b4767d99a88d53fe9eb04a6d9f9065ea94cce53be3225bd9cadfd61534700e5427e163fac4cd0b2dfe8c51912a35a23c438a33
+DIST firefox-115.16.1esr-es-CL.xpi 627711 BLAKE2B
74d9e36f4841435f9e81f9a99b4c60e1e0835e4c3069ddf9317df4a56ea9098a51615fc2f9c1270f24539aade9d42319ccccc9c27b8a15775483a44646d59c37
SHA512
79a67851f695c0f0522252ec6ac1233099a0c06b5f43ee646bd73555f7ed6c440c8472db501c96182f8b36bdc7641eef485d2f3d11c921e33ec2bf20747cb107
+DIST firefox-115.16.1esr-es-ES.xpi 621479 BLAKE2B
3007a707cfae92fb5de73c9c20a58cacf68ebc3cbc4dbda65b98430bb0245c2d99c0cb9a8d0be0dc96a08bbaa41bcda95ee01f8f8439a71188c9d76ed80151ee
SHA512
3c3e5b10cd8f66a35ec45470d7ac15b0f8172e7e5b2b86d47fb02dd64ace4abf1b8a334a526048288b15631d827bd56f9508b4e1294c7472fb22b06f2350e93e
+DIST firefox-115.16.1esr-es-MX.xpi 597930 BLAKE2B
4c676f89a9675ac4897c321cdb55fb93c802cb3af31003ee1f8d4ece667f8f351cf00e1691b38f449e33f51ecf72b2ea62806a42dede978f9276d9aa869e954a
SHA512
0d6905b7201a6248015a5a0f81b3962f8ee59a695119d9e231c233ca91c86a7e6c71d14392f30584b55ea7c5e348e56a0ac18d34c97b090ed5caa5e29e41a40d
+DIST firefox-115.16.1esr-et.xpi 533020 BLAKE2B
8d00c2a05283b20424b0ceda25176c5ff351e04563f32a09c08a8f0dbb53419307a3aaa20db10bc0dda90ff4590522205f82e9540fbf1ec31a6d5c1d51df26ba
SHA512
2c32bcc3acc05b8a59da202fb24fb94acd34d8be4c3a6327a760cba2634211224f3eb6ab1c6ad9cfc85837abe84a54f55b8ddcdbea5e0bae53b69b830c121474
+DIST firefox-115.16.1esr-eu.xpi 594649 BLAKE2B
899bb425faa7c138a168c86fa33759039b64f3317737d1c315160e286b8cab2aaaf205dca6d2ed3b6bfad3fc4628db3cbf5ef8c6f2022b701c0cabea6492005f
SHA512
a2cb6338c9104aa187a2d4fe5ad393a469dca9129995b8d5bf9a1331831950763c67e1166fde3ce8d321d463601c0c031c5f0235384dd06ea7da8c6ff8381060
+DIST firefox-115.16.1esr-fa.xpi 584358 BLAKE2B
d84bd7ef0768829713e2a65dd7ab68d10c8bbab04946dbd8e5b7dffc5212ee9f73757c48599dbe2a18923358a36599f57a943e0254f20ebc3cf6fc3a9dd2235b
SHA512
bd0e1ef2ecce3d0859af3a57831c482fae36ceadb7c038e63c6b6101295b6678e98a1666c0db2c3e9bf5ca34e700efc6d72e4883c2592ac66a580e9ca1a94c94
+DIST firefox-115.16.1esr-ff.xpi 471730 BLAKE2B
ebe860d8db2fbe0fc64f870bb9dfd2feaa80464ba3c0b0165fda71e566a117b6aecd5399cb6fb26bea43612219e2f6283cffb1d34102c5dca65b970f2c6c4f55
SHA512
d6002ebdfce007dbf68cf6a19ad042a5fbf19dde2e6557d74a3baa1d7c644801f6cc61d03a47ef5aca562314f850c0988713690126278e809af2dd33651f88a9
+DIST firefox-115.16.1esr-fi.xpi 604631 BLAKE2B
cd4ea0b0ec70cd7d523499d81d5835c6875d19d670f41085ed5d597a9dd64d23a56b22fb8b5e160767df25f58861b83f1129cbc29d6b2255b6529604ed9f98ab
SHA512
d067edf43962b0bf42a7868da0420c14980e5c56a22646d925caebf5d1c9d3dd2e88c0030d38335f38762454b22e87501aed2e961ced455217e3aabc1a9da653
+DIST firefox-115.16.1esr-fr.xpi 640839 BLAKE2B
9c99a4ceeed24bb79359c8e0db357e6d2206c434b9e4f5a81500657ff59d23e932559872398caba780cfdd7e84f68d712b7c864d1acd6c69ead744cf04180f8b
SHA512
af3f7d66c2c15aa4b0b6789d701504c33825b5cc94f0bc29c78c5eee4e77226c3e0f213babc239a1808c1535b83475a9bfa2d88e685974567ea0033113e37fb5
+DIST firefox-115.16.1esr-fur.xpi 634497 BLAKE2B
74774e2da70fb510d404b8878edfd1419488961e207961e9cd0e6a4c82275ae7c9802a59a76532e13ec424b6f9f7ec58b877942d4975b6ad55d43f226c541390
SHA512
aee3bdc7c2a6ddf48593dc2f975a42d71509295afc6d57ef759803c8a8ce9ad47f4666e599f8a346c10a0936d60d770dbc83f5c1e5092a5179984471c0a78416
+DIST firefox-115.16.1esr-fy-NL.xpi 624083 BLAKE2B
75482166a0c949457b0cdde5b89229af56ca4ce3454fe9006d3f70f24c889a52e960945daad01f750e35d3571c3ecebb484e025ed56a062cde3fbe300c69b13b
SHA512
2c32f7786ef6e06a4953b2f7bdb03be9624eec19d637a241e3dd0b8dc71c8ddc97a6d552f2ad6db08ff6ca9b59b4a949b52954d06344c21469d339df64f28219
+DIST firefox-115.16.1esr-ga-IE.xpi 467647 BLAKE2B
7cd9336268f585fe601529b59493f1e64af24a2985437be65f41b70bbfffa2c1734cb33670421f5ae75f2c9c62f383f06c5c04eb2afe31a59fe54c8348140459
SHA512
5efde4f3baf97cddc5a31d546e2a0b02e720c9f97d81681ef4af5600f7a5ec8ef6b81f1367f93ea0999f2274c1be640c43d8d871ef559134804f69f460ae1181
+DIST firefox-115.16.1esr-gd.xpi 589973 BLAKE2B
5b91c2ec3f81d985bab62c13c0adc79b8b676f88ce504d9ebd9737cd7d381cb517d4f666883286b4c2f8cfea97423f1055d1924d59edecfda828ddeb04e39dd8
SHA512
598b1442aeb4750fcda61fe3b2e3c1be676c4c4e180143db46a851368a023d2e77b84a8437b428db20f686e1cf62a6dc6e7725bd540273b976f79121ec776285
+DIST firefox-115.16.1esr-gl.xpi 599974 BLAKE2B
819acd9b4739a670418e161e51077657ec13d547dd666eb65dd09b5c47414e097c597e7b014108be5368a25daa75f60868453d3ab6a4a508437ffa927ede554a
SHA512
dba0a9b19270a754bada9bc32c1c12aaf52c18bd46bc6488f82fd87536412f75f208ad02245ca1ac109fc8cb27b90db6c30a7e3c287869fb65fe12dface20ad0
+DIST firefox-115.16.1esr-gn.xpi 637891 BLAKE2B
c9e3859efad4bb86e12b44941191411671e12fe771501bb77cf78564284574846b957f26e50fe09d9729e8388b5b9fb3babc2decefc46f62a5406d62b2263689
SHA512
5d6fde884dbf339787de2a49892c608a35ce7777893855217f8bdadc54fd53bee3ac69f75f6cbaa59961eb07cdf07d198b87db277d51ba81209fedd1ee78640e
+DIST firefox-115.16.1esr-gu-IN.xpi 523390 BLAKE2B
016c4c8ea2a05aadb75a9f640a022659f067e5530b7dbb669e3ca170514966147cd2fe868854acca3794859d1b0bc8b3251bbda5c78286a450b2c1fcdf6dde86
SHA512
29a32a7c3b79d0114faa5b30af18220880f6eedd0a5bfdccdcb62b584fe74db668c3ca26739ac259f8659e05305364b336bf94b80dbdf941a51e68c605ab6b0e
+DIST firefox-115.16.1esr-he.xpi 629100 BLAKE2B
d13d70f959a7778311845dfffd09ec27d6972fccb364ab75ec25c2deab5410915505fbc2640575693e1344e750c4002e2341138406f4f740941c261507107d64
SHA512
ba65855220425fce68ac40156c8ae760b764f58c724559997512c8520768ea003d777ef412bbc27bd51ffb7617dc8eed089cd3ba7ab6f5949ef1ad665bc4de36
+DIST firefox-115.16.1esr-hi-IN.xpi 561253 BLAKE2B
08949d0ebcde8dff0d41d58c42fe2fc18634bdaff03e4452aad4e8f006b1a6eeb287bb3a84476d7177eebb78d735a998aaa9f974e11dd280669d0d965ee3b624
SHA512
e719c11acd87d483029115d325dae4d72c322c27830eeb3fc108a8f904d2ea0ede2e2dc110fe0d0a8d271cf6116fdef44334dd82a7d7af1a14680633cc9b253a
+DIST firefox-115.16.1esr-hr.xpi 554535 BLAKE2B
2f5a394fcd90a43c62413d697ffeb687f767e6fd5ce73b0c3877ccd5ba7ad3ee21cfce5cb5796cbda5639eb00f1e33c369fbb184616a61d20f762b1512f8b0f4
SHA512
77926389d58383c944b105e602289d2cbbddfa667e3c210cbf337b0347570e5a93274e20750633975a68310dc0316e7e3bb0827de76860363c6c1449d8d5b213
+DIST firefox-115.16.1esr-hsb.xpi 647511 BLAKE2B
59df58c370c315b158134f401789c06194e496fbf146aa0813baf50ea7d0da7de65faedbe875cdba2c7d60be8b1527373b0ee5e37258b4aa167806b6f88d8794
SHA512
552a61259d9ac6310a06a4d93d82cfd08c17bc865fb497777fe30c492df2986c6a0ffb7b7f58852e38390919c099cf8b222a4807c207f52b97675312f7203064
+DIST firefox-115.16.1esr-hu.xpi 649863 BLAKE2B
863e7084843eacbba897b06485e3a2c24be34e7ef3f9800feb43cd7cb2dbb5632283a89a42b75e05d35d552805299de96871f60fec5c9ed6b259588c0cb71e1c
SHA512
fc14552e97f45ad1511f7a54bb24a8cb377099ad26e42d40d62e822401de77306b92f2b7826f0b8ac96b0b7d313e5ee64019985d9baf17e8552e109d0c7dcbc4
+DIST firefox-115.16.1esr-hy-AM.xpi 647647 BLAKE2B
55009ff12907a742d8fb3b2d3c212442e57ad8fcd0076ad315290ad05ad57bfc72dd52c6559fbbb2829f844209c2c71d93aa27433929942de38faffd9c5452ff
SHA512
0ae7c22ef800dd65bd3387c09636d16c0944ac04c51dcd0de99980a93b531def98092ca953a23552c4fec7b698a1fe3ccfeb7a6d9d4d8375eb0d4475b3cecbff
+DIST firefox-115.16.1esr-ia.xpi 610842 BLAKE2B
69ca214afbd25a81c864dce32d4f996092933f9c660fc923e053d1256b76e18c146ca31c6a084e7cb5b32dfba965bdf68d5f21818edb75cd4fa428a57c849721
SHA512
46adbc1409f6292c1ad1ec1e8992643764d796563232caf94e81f9720ba5d16a668b872e0261ae2e53e14221c477e2302712d1cfc50399bd86ee708cdbd15020
+DIST firefox-115.16.1esr-id.xpi 573424 BLAKE2B
64b314dea9ab608f5a9cc3a3c5ed83d2c99ab003ef97114fb0f0ee0320be68015120b78ea34b699b01fd2012c453271ab6cfa0ef51a309a896288873fe01d022
SHA512
1a4c5b2986312b571e4ce3de650553094b70d31271797785801a5f7045e2adec26e82add24d874e4753e45bedb0f19c17d50a374d9124934a8c264ce7c7a1abd
+DIST firefox-115.16.1esr-is.xpi 611649 BLAKE2B
63b9928161f29ba563c2e4891f18bb16b7ce7115f2b71cdc2ff7a73af312148c857eedb6f8dfcdec099807eb715b1c4af7e574469c3331123573d7fe9093fad7
SHA512
ce71308555025476cf4ad58ab691318c4f59e6ee7397f7c351ddec470ae8798298a0a4cb9b5a3d61422c5af9e3e59b58c5562675b24baa125ed22b4d977617fd
+DIST firefox-115.16.1esr-it.xpi 567124 BLAKE2B
9a931ce1a86bb1c30597687686414ce65a6946f35098494589865939b7a69db1ac3a35564e45be3ba372de857ec34eb0dfb8ad9147df3b1bff71f2d49f0ea027
SHA512
352ad02c398c4f1962d7c75f06fe28fe3b831cbd3ddcfdba63c2328dcd9c7dbaeacddc5d5f458c343550106222f4ea9de6053d71e9c5c8dc1c7cc7ad5072b8c0
+DIST firefox-115.16.1esr-ja.xpi 676022 BLAKE2B
438849214eca2f3d5873b156158f8540a4c4ac34c7adc52d50ebbd0a4be9b3111ea89abd245da28c60cc6fe0b55c34e4bd9329ad1b4e4e5c668c617b7eb91c99
SHA512
0ff28a3f4b798e3c4b2c20ab6b788cdb7c998911de40d353122fd0114beff872c97a0151afaf74c28d1e9b34c7fb0ca67631542d5fc364c185699eae5319d475
+DIST firefox-115.16.1esr-ka.xpi 657999 BLAKE2B
698a18aa91527934c3ee19ef9a861e4f6c389988649efe791e8b1433c51b88bc8ea3921b9cc9a150e0e2c96b61d9d47fe50012efafae4a3319f94e139978bb38
SHA512
16387fb345a9b710297246e0cf677464fcd512e3c39778dabc9f993080d80ccc7d36a67330d14161c761edbc67b7da182f362bd4426879f79ccbba6e2f6bcbb8
+DIST firefox-115.16.1esr-kab.xpi 604023 BLAKE2B
2186eee2f4e57d2acd2815bc5771415a3bdbe0fd2346bfb18307932139f74150ddeffc98e5cfb0adfce366fc0ddc8c797c9ebe16ea89ce1f12d012442771c6d0
SHA512
e49549a4c588546f6dea8e8ac2c5328abd97619e94c10af00153d8eb6efa8f27dee8d4150bdedd9b890d396cb2d809a6366bcebae6bf1030df077f726a7708ad
+DIST firefox-115.16.1esr-kk.xpi 709062 BLAKE2B
70a92c54c9409a89828ea7b9657fd6afce2ef3061388d2d85dcba4914a32d40d40e34d63caf1a3b06bd07b9a937452d1749dfe24e0189a544e60798a745d7e18
SHA512
c1308eca05f6de826b4c8fffec4224d27d3119171365ca35657aad4964fbb6d4f33d93b6c375da03dd689651f66c9e2638b14cafa850b1ad8764be8ce852f202
+DIST firefox-115.16.1esr-km.xpi 522323 BLAKE2B
7cceaa87cd3c09089a1d7d3ca86bf1ae10d2c8411baea4dc8bfe45124d8faf76d8bca092d45e763be5618e49ecac9011542a1cc9b4231572f11a0f6d49491507
SHA512
fea2f498033fba1442658e3cde01660f86db736b68f6a357600adf394a2530ccd7e6af69d8dc3aac1b43adc87ea2623e8f28f05b71c28e9cfc7b0728d8d694de
+DIST firefox-115.16.1esr-kn.xpi 488204 BLAKE2B
85a572a4012ed85ce9070ab327c7fabb0bb2953f70ef89b561431881623138425d8428ae16712bee06751222bc1060c3c51b340b529e2b8d40795740fc087caa
SHA512
d50663ba2bc8d1cfeca47e2da2e33d7e955882db1f0396d20b81c0ffd6d9115e54a1797e6bc3ca1d32bedc4b3cb10d1fd7157344a33895aeb31865231e532b8c
+DIST firefox-115.16.1esr-ko.xpi 662466 BLAKE2B
d0f9ab607db54c14174f226c32e6ef2f1b9271b077519e65b0a08a1c27f34cac6ac3469c5551d42828f7d5b3efb158f607f1ad2b805b99807a8be97506d800e2
SHA512
7e66c810f2a219afec83edbb46b0da8b0825947ea8d64e986d21450cccd28c8df9a0eecf8c43933f54323911fee32256b94f642c206eba18c5989ca1dddb39a1
+DIST firefox-115.16.1esr-lij.xpi 479124 BLAKE2B
a02f7e8e25354a75ee8beb1cb03a46724e33c3ab31a747d96b7ffb7c70aa560308afa64eda375b54b0897834b3ca43eaeaedd76dfb051538beb94945af854571
SHA512
b0e704232400aa147ce24c5f3aeb579701c8656acf1f14fbbb5c1a9575e2d62701fa14f49b0412342735d97a7cdcfcdf5942ea8a262dd0cd67ba7a05479b252b
+DIST firefox-115.16.1esr-lt.xpi 566218 BLAKE2B
8056d83ed2c6457d9c82d270a668b0cc7f30aa7a18542fd9071eb6b1985de43cccba0ce191db606ea6a11158cf3e92622cdba72aabf69a8cc20b45fa04e0ce97
SHA512
202839c85e666375ac524dee26fc7d8385f22f08cce23abd4ed6271fbb2005ff09c2388643cb45e180e0d921ab9407ca7e55adf6dc2eae62f4916c58c6e63bf2
+DIST firefox-115.16.1esr-lv.xpi 568803 BLAKE2B
c7511a18e156d828fcfe3fa8dda00d8bc3740e1db40ecabd48320623031c3090265bcce5a86f08721dd360b2cb666f4b5fc2eea3db5144c12c516e4aa0a638d6
SHA512
8ba7959d29c932e7d09fbbdce313992e3eceede845ced7642b31c23e8d1c5c486e3a5343cab0136c385b82aa9e44073de553fc5f5971f5b3aeba831362de086e
+DIST firefox-115.16.1esr-mk.xpi 490534 BLAKE2B
51707b8f3b42ee80d0bdcef8b81207ab29b76453c8ddc04c90f9c6c6d19fe60f60656af99f600ff9f83db029f998bcc459aead6ec6eebaa534d2d6ba5d7df2cd
SHA512
b5c451ba312a8a1361dfc8a664a1551de6fde89455ea9e2f6303ed7a2b9b88b5d064d389b6682cdb0b93be638325e51ebf21cb172e5367c916552c4e01b23bb0
+DIST firefox-115.16.1esr-mr.xpi 526880 BLAKE2B
547677b78d3fb0e7d7f0f475f52edf43c853fdf9ad7c1587a3d3d8cea3383347cf6f10b859e7e58d522fe202d0fc60c1e2d119cc69da0111c43d3bde6d45528a
SHA512
66daca60e4746b4b37d4360afe6f5bffdf3494ec7796995bfb4b0f6b04bca4002ed6e993573bda576738fd38bf7a360d828c267d0773ba19307fc186f872b2f2
+DIST firefox-115.16.1esr-ms.xpi 445501 BLAKE2B
7efc1f2f4297060e274be66c4309b9a32f1cb9938de974ab2baba3019155a068222bb0dbdafb34d345ffe4d053c72dc040e4466fc96d4be4c198aa669f444f96
SHA512
ebddccc714ffcd5243b8f6b97f49b6d23b1949954115225770fbb9e3d0800a6b9238261335b92502e8191e2678b2250c5efd8d906b2258c65a7a5d08ee8de1cd
+DIST firefox-115.16.1esr-my.xpi 514922 BLAKE2B
6a532f5624d97bb8535219b024fe269eafd6d0cbae72067c1091994e37e2328277cf7bf08795bcb48e0b1de2364dc8ca1cbc3a76be6661225f86a92fc93b8125
SHA512
c3aea17bd2497efa997c8dd08e6d59887aee4d52d19d7378385573ec21ce9450d0a5b6ebcb53dc8cd8b354dbacb4cf042068224a786e805cbe6f015a9b048978
+DIST firefox-115.16.1esr-nb-NO.xpi 607313 BLAKE2B
292802e4d8c94f9a14cbf66419100c6d714a582164713651a0564f70f8593b42150907b23dc973d05d770ed3f108fc3dc1bf81c627712f268c3ffd1a3c6c4a05
SHA512
a957ae3638156c79506da0aae36adc30e75d059b7f9ff17afbd9ee1a471ce39e724d55bbf50935e5577a136a4d1234c4046d32223009cafee608b35143a16bc7
+DIST firefox-115.16.1esr-ne-NP.xpi 506997 BLAKE2B
e84e65d643397e2113a64c98d4944c1ea93aad1b9e33672b4f47a924f9afeec99070fbd7c37c37e8b861e0e4de6122a4cd872731c19b6718c1da63ed7a25f68d
SHA512
ab9ee80402f4e89ac9981ae2b459c03e51bed0d77843f6d4925036a901b2ab6b08417b3224584cd88aa8ca1a5f3b41bf1e6f049ab1e8520a35876185ce0e29f5
+DIST firefox-115.16.1esr-nl.xpi 617752 BLAKE2B
7e92c22cc41d08923c74157c720dedfb0393208c4d0be5e1b247ce22a273480a9f94a97bb8cc5bce54f74b09354b689799483f3b5166521e9c5537cd336f51e2
SHA512
375cf0fbe56d6caf0b2ca46d5c930cdb5d6bdc1d735b22bce69a625e778b2de86ca7ff01fdd26fa5da2ff7a1d519253b093cbd1d6983e1aeaebc877a455a794e
+DIST firefox-115.16.1esr-nn-NO.xpi 609738 BLAKE2B
f02b8dbb34b7d7a3dcb389fdcf4f5fe692f7465053253f85a72a4932390cb49511046cd2333db9e9a12e02ca78064f79fad82b7a301f482957c4cd082afb5bdf
SHA512
9dbbfd80dfaad9549394ad3df4cf69389c4d0c09e20ec983dab21464a07768528d9fc9558f13d5dca633a673576b685599eb3cce35ee7a054396a47fb80eda8f
+DIST firefox-115.16.1esr-oc.xpi 607914 BLAKE2B
2c0563d38e28451f4098facc6c6bbe75813e66594ffc88bcbfa76c4661d796f99bee5a62b45a5243a337888817018d64a9523e1405b245496afd1d7a7a50abc1
SHA512
86f24148b2c98288ed47ef650408cafc8ee7ac5a01b8d18a6d76904cc782d5e5716b8f88ccec1bac17e135f262b4c6761644d7819bae0eaeacde60e5b7f8915a
+DIST firefox-115.16.1esr-pa-IN.xpi 687702 BLAKE2B
29603b7fd61ef8316851edaf6eba9560580f82f5a75b374c38b7e3282bdd83103a3efe7ea3216653598964a30cc2219ed761540d734eb6a7abe76476d5b39adc
SHA512
85edb96bf0d6feac755e1aeba3b0973a328825358a3844eea43631de143cf34fd32d32f954cea3a7f82150bc1ad3250fb8aed4f8d06a793725ec1bb89d9cd3c9
+DIST firefox-115.16.1esr-pl.xpi 636469 BLAKE2B
47b8973a05df7ac01eefe51011afe8e5a5aa60cadbbf6f00edb96e2db7fa3dcae9216e13806647f67b56f65ebbabc0435f576e92160882ca7182629658a12a19
SHA512
16f4433cad3c5ba024d7b27b10b961a27b0dc8c7bc172e647cd36c695952b1c595566403f413ef5830cbc04a84042ecbe42ce0d7a48d7697b6a172f8c6d44383
+DIST firefox-115.16.1esr-pt-BR.xpi 622530 BLAKE2B
b31333ae19763a7def4e4f988e07595c6621733c393f6f5e999079d0866d3b8fc95cd1f66c36f5c10b9b7daf0e406095e6bc0a32d3f174babfab97f1fb6459d2
SHA512
f36357ada9e57068a89b7ccc1ad9d5c2e5772e0c41345f8c4e511d82820f8e604c21a61e95482c4dea5247f0338bd1344963fd85f802e31e689dad8280ebf994
+DIST firefox-115.16.1esr-pt-PT.xpi 626582 BLAKE2B
8a4cee845b1f50c979afd0ca5fd03348e96fa744c9759fad471c58a277a2b4d250cb89b352ec2b926141116e14c85531dfe551f18ef0fb78f0bb5348808f0654
SHA512
82bf8a3348f552b9a5dad86989a08872031230dbaef4201009920c853d08b30fa0c025b1856f5cee1eb7814664b6bba14cf0457050ff9644abadee9f20f86093
+DIST firefox-115.16.1esr-rm.xpi 617344 BLAKE2B
6c8efb3e890129c919dc5117a0c040057f98f5af1ac63e3243b6a7ae12cfa17b643dfd601fa0c07a2c3b296e735ca9b0bb9fbe63cd50cdce8da94fc82ee134b6
SHA512
867080438bc274fd4e1f85cb2b1dc18b9837e4dc7f3ce4cbc54f6639364057c2753e4f28d2204a7f03bb98dd6bee29d58c0fa2416686f90a18a47034331ad668
+DIST firefox-115.16.1esr-ro.xpi 543540 BLAKE2B
faece563c42aa6be9adcae9b504dcf71c5a3003de51d1906130ce942cfa3fd97574acc42aab669e1796f986a3cfa30422d4d44da83e1c73b59b16ede081973d4
SHA512
9b4668c2d4a3a52a5cd72555f76618a647994f5f1350db9af130202dddcd5ade766731998b73d525490ca642fe91bbdd1eb0dae94e81eb8a808ca6392daeec57
+DIST firefox-115.16.1esr-ru.xpi 721754 BLAKE2B
30308a6113ccd1ceda078cfba00c0f834f0bef87c858a22438a41b976f1399428b26ea75aa377cd8a2b487f4e56abd6df5f323f1cdcdf3ff35f315a548fd192d
SHA512
104c6e50da3244e3484a0adf4e38b1ed0543e83ca16ad788d5b1aa222e609c17d35a57d35e5b695dd22a6d058ad85bf05ba09401b4ad27af4383f8f2aa797416
+DIST firefox-115.16.1esr-sc.xpi 582736 BLAKE2B
89a48b15688b63bff297f8c62377c35f9a10c2af1e1e974b2cf7f3e27e0df5eff8b4d0e784f3caecfeed8f70990eae99a916b75fe408b1ec3f0a5d89491bcf32
SHA512
116723e847793b736f872bd616f06a2adb9b529e14df88a9c3aba8a95a271cc1d810ea699d73d748b93e61e310877074e26ca58649c3bc98514cdb9fc153196e
+DIST firefox-115.16.1esr-sco.xpi 505667 BLAKE2B
36eaefafcaa52be24e4ad50394ae564643df9f3fc86b74982d0ef9713e5635a5bab0b872a8e9744420920d25c3c871e368d8a03598d1844a452e3a6eff37046a
SHA512
41cc0da8fd90fe73c56ce68c0dd281525c271fecd41362ce715639fc610b12913eead9467c855295a8d7923b8455e06e6fae5a6679d0adc9671c682b82fec86e
+DIST firefox-115.16.1esr-si.xpi 606446 BLAKE2B
aa8c1c75cd2d4572c6f83899caeeab314b257c7cd0960b598b60f8a8e970d5416876493e3e9bcf8839e6bda7b16d8de857b6033ae54e0d99c4264db486b4569b
SHA512
8f1570c82b9f8c8179407bd5d18b1caa19ea7c9e25a2530aed91bc1a7a05cf2b7fc8c9b4bcd7d2c205ff801d018968a7883d5df3a9f17659abdc9a403a8263b5
+DIST firefox-115.16.1esr-sk.xpi 652365 BLAKE2B
e8cc6d0d8bcb2b083da7b99d8126581416708e78ff0e6e2e7c0d1beafe41cb28eeaf13ba9004af248f9429731f6723299191573569208a2a959662b6206652c5
SHA512
485d736d0b2ed574d585c1bf7d1436f4017bc0adb21192602760b18ad82e09f440b7cd14e14c929690ba5e087503fa2be17eea78718966c9d0c4d3bffe68719e
+DIST firefox-115.16.1esr-sl.xpi 615214 BLAKE2B
36ece0a16d7e81d6630c022cd8236b11c040e7bcb868588b1648c855c9dcb1f7c86bdf080821ff0246a441e2979e1e0d0abd0cdbf774ec34cf2035c5548bbe2b
SHA512
5751d0f92f587fecede5c54f09c8dbab9f9d78f817714782d382ee5c38d41c4f9393697c9eaacaa1b12d6153a248d9d1e2a553e34a3f7c2020f2eaf2dfa56726
+DIST firefox-115.16.1esr-son.xpi 413680 BLAKE2B
b88d7c8ab66ef8be7193b89436738dcbf9b1609b24c359de102bbbffb5a7bd3efee0d204f2dab9b18e3228fd970cf44008687df3ea1e3b7cec47083c34d6c71c
SHA512
9d418c8db388ac75229c25c1fce888a615ead7bd977aef619f66ab80bc4ec03ea8052e9c16517309633e91ca4a82a2692e57e991a1dbbbb50a389229cc50d145
+DIST firefox-115.16.1esr-sq.xpi 636154 BLAKE2B
a7b05e2d9dbbbd659fa60b3f084b4f7fe736aa0f2aab94883bbbb65a85f627ae27130a45cd9fdd9d9b1076490dc7e640ba8d2aff438261a81d24c8d7a9d14f41
SHA512
2a4219cc1349bc05ba61655bf798b7f1eedfcf9c12874a0d7ee8ef437245008de32435cef7d7c025327156597fb6b1af4b5000885325a1a0b96d4bf8ae9d0e51
+DIST firefox-115.16.1esr-sr.xpi 633256 BLAKE2B
1279de01fa75618fa0c3e0f6e407f34417ff1a167484723413d2dacd9786f1a9225eb638d952a40fd4fb1d9526ccde3b48384995c223449625eed1341cc79414
SHA512
3e929089d35a63acf03cdeeadd53164855378336fe12d3e616e35755d540b2ee5645b13ec234081933fbfae7ecb59a252056f2b3e9fef137528c8f55be4c8e4f
+DIST firefox-115.16.1esr-sv-SE.xpi 619430 BLAKE2B
92736946b687549936614bf12ec816ab787fceb881aa6c64b42321a6fed8584ac6058f779ee5ff4003608540fd03143902242d57d2e1d2e9ee5d12853513ad5f
SHA512
f36c57a74d7768eb9ea4ca5597e0c3b4fa48fc1e28cd5c4c2c28ddabb5cc825b12b3730b6ebf3f02491aa963b9f267d985a1b7c38748c590dba35a271f2bb11f
+DIST firefox-115.16.1esr-szl.xpi 521043 BLAKE2B
88af36106892ac6e1c2159c03915bc02742add697bb3777f90e218cbf6a53f1ef939d77f652daa7f668a3b59e91b18e84659c169f70d5548733b4cc3cefff8af
SHA512
3e94c081f3463f8398b27f237ad659844fc03b8ae34b32eb696b409786ada001cec644995f1779a95c93f09400fd95db79793bfb29fb231ca826bbf3bf925905
+DIST firefox-115.16.1esr-ta.xpi 503629 BLAKE2B
45d6f750412eabea2348514b0cec0f09caa0c5a63b7bc0611cbc8f8ede63e0e205a82c652425576388764b4b823a9df4efdb0dea40251e4372f9ff10d43d354e
SHA512
62d8274e664f76d4258417f1f150896592e882b9df787e4a61f7015af57ca55ab3e7e8824efd258b2b24f733b7b48ce6e1cc44ec07fc79a2ddcdbad1acefe7b7
+DIST firefox-115.16.1esr-te.xpi 556763 BLAKE2B
a4721ddde20d84625c6fde83281b2302a629b6a1df6b4ed994c275da39c9a4e86c903adfc4b2372e97c21f0b747f92c4411f03fd1610888f260805b0d0c5155e
SHA512
956a9946dc6eddc83c5aff9f99ccceab27104060973d9214f8ac8065138843824c40c42a2a4a89cdd0e183d31afa0d4a8709adb93dd3462438159b83ab11745b
+DIST firefox-115.16.1esr-th.xpi 693428 BLAKE2B
86145452ddfca2540963d19b3d76ba021403cf2aa06e77fae01682ce13ff1e7a8e6daaba2f9965dab14c0fa9841fc02f2d78cc728d341a591c26b110f68fb65d
SHA512
0ed330ed39654999a4042ade510a85c4941bb32f8dd67219e75c3ab1df871385cc224fd88545ace6bdea2eeb6325624ca2762be92588fc5801dab47b4759d919
+DIST firefox-115.16.1esr-tl.xpi 527799 BLAKE2B
6130242ccec81479dfd1fe0ad63c4912294251d43b8ce4c00dada3db4f2bc9d0b1d261942503b8ce70590f5e691c6c9a82bafddde8795fcf6f4e9883852b2907
SHA512
557525018c5f48260521a2ca19d90bea165a179870483277296d91c97f609dc5f2db5c5751d5748f67106d9367af5f2aa90f18ebfb33488dfa3f2679b3251daf
+DIST firefox-115.16.1esr-tr.xpi 631876 BLAKE2B
77cd6b27b56a4684aef2a84eba6f649900e6912589129e00f194eeaf1ecc96bea8b5d0bfab6808aaba5944c2f5338eaad42f0c740401d429b543f115e7fd9b4e
SHA512
533fefae4084b87e2d94bf1efdae08b6438152d85cda42678ac05417c35df0837752d4a60d7f3fc64aad6f666b4afed292d55c65ce6d5e37070abcd0d346f378
+DIST firefox-115.16.1esr-trs.xpi 498677 BLAKE2B
cd7bafa356a94c43fc4fabb8714ed08cfa490450a8ac4554d7faa4294949e88d65c50353cada6b6d95f6093a6b2f3ebb223a1f7f2c31fd8679e931c0875e5a4e
SHA512
b4e42a68f9305ce388c0c8324b2c329a7a8b59c88be40c8c253f9ad5b3c5c847c8638c94cf187feda0761ee174e2f8f85065d0244d27fc4dfa2899e4f72c3b4d
+DIST firefox-115.16.1esr-uk.xpi 707286 BLAKE2B
32b3c63b1093ca231cabe2b7eb112074cf1aa3a9349f3af74a43e8a5307f3597ee52a51bfbe2a963518bbc84343a1fc4ff9cc5599436043b497e224b1b299ef7
SHA512
8bcb683f7d03e0f889d8e7a0d3bb41a73ad5da93cf1c37405a1034460bd7f33d5cb30eac650b168f1dbfde975d3a75b2a72a750590a5b074d01acbcfede2a8f6
+DIST firefox-115.16.1esr-ur.xpi 554818 BLAKE2B
5ec5e6b90b9fddde4bffaa651716febf9bd6a41ea6132117f0f1e5bec50f488410d80e48a522f643fa9c0837b5bb12f3760e0af42ca1ddb70751940f6022ad1e
SHA512
f1607fe39b7d9eeba7c24c21005ca1f8822c2aca373984b4507b3d49470a09dc1f15e26b4cc3ab5132370ce4ca7dfa8bf7d264729c491db38ac8f32031bd9060
+DIST firefox-115.16.1esr-uz.xpi 474680 BLAKE2B
276c659e735b74174f195dba6dfbf24aacf8206c287fa84ce0339c89120848ebe1422e81c8a26543efe5e6d4f99d87079f063058318d7fb0cf5fc40c912b83c6
SHA512
66d6dedbaa0979bfce22cc9d4fd40e24797c80fa708fde0425aed3f4ce1bde55e7c563f6a31b7c907da5a4d3a3b001006e77716a55db836acb0630b0573c32d2
+DIST firefox-115.16.1esr-vi.xpi 654018 BLAKE2B
2cc9e553801ca02ca3de325ce95b48976bf44a96d8f57ac73100d093b8b51533d165a550e7c4b49666e48c9d735904e09fcb95d1375351b706046681aeb900a9
SHA512
a2d380ccea37a6454b9042ad74baba07381dde9a73a884ff23b3ab229382ddd28e81b2e44010e4d4819e373369054ec2ff8a7fae2f0661eb296ff0418b676f2f
+DIST firefox-115.16.1esr-xh.xpi 414954 BLAKE2B
3841a27d12d6ca8fbcd928db244105591bf07378250ead2ca5570c82629d7f438d076b08bf93685f05876c97beb53dcfa58a9b66a04033a38827411b52949ce9
SHA512
38b3b6145e4b0bb35797c3fd1f7f186651d3a884ca413fd2adeb90218b4e8d9c9138dacb7bb9298712562625124bcd86754a3b7dd83e6bcced952124a7f3af9b
+DIST firefox-115.16.1esr-zh-CN.xpi 657113 BLAKE2B
52a87cd7414d045671e62170aa5d3ba13dc5ff8619b4ff0cc74dc66f449040f5544e94b9708f9fe2e08ee5961a7f311e875cfd2afe24569018c553248143eed6
SHA512
a61ef369b40ab986c49804ef3505d63fc1784af72329c895c60333fb374ffd15403f4b246f8997b07766495e299071308da2a02464054ba30bf88b2a2e9e3bab
+DIST firefox-115.16.1esr-zh-TW.xpi 659318 BLAKE2B
ef23402128f4e23c1f4eb37318879a153f8fc5b475bfdfb1419c5dfc4566b8d8621ce55cc0f620e03e03a2aa01ecfa4e154ec2066d0277236c1515d4d6e0f7e9
SHA512
c9eb45af2360532245d4383214fdca71188099f03a6b7ef568a017db42164664849f2d3226c3c558473666bed076336b6c150e865587c2768c2705371a0ba891
+DIST firefox-115.16.1esr.source.tar.xz 514949380 BLAKE2B
e54beb7036c89283fec40bbff1087cfdba5b1040d4655f7469aa4743d158bb2749dbeda15f950e47b42bd30c31e248c2ca690ac920007c04cd810bbda5abbdbd
SHA512
eca42b3494fdab73e67d5c8e8b76520729adb75b5cad85172953dba56b225b0f05dcfea70fe8cc3e1bf1cd3d7103159cc20095d5480bb1b0e6d3ec90588988a8
DIST firefox-115esr-patches-13.tar.xz 51360 BLAKE2B
a048bfadba989ebbd4c6e3df97d303d6853844e66ed92f5f5f322acf18866218b91d52dbbece63827de283eef855c932d67e329c8d93200aa83f11268a5d1b2f
SHA512
186ec72323e621362dcef1bc67c476716aff97dfad701faa9220a7302e798d3cb4ed90d5ea59e3e92f016be29875bb5219787635db99a8848b7c76e4e2e09e90
DIST firefox-128.3.0esr-ach.xpi 465019 BLAKE2B
8062efbfb6f97dec0fb55c67af89a2ca4cf27361ce0601dc59300afcecec704ff8d4af69df0d02751fd488912ad715a3816f283491e9a92accff1e332f800597
SHA512
c435f4f63e4b8d77493c1bb2600e2e7a90a5b1771484773556ab51555943f594593e41ec76bcae35bddaefc8672832c3f16eec1702d5351933811c458537897d
DIST firefox-128.3.0esr-af.xpi 418349 BLAKE2B
9b7f97915b248c61280224615624c808a1f9f4428233b3955f7d57b630d8b7633c0b84eba774bd5dc3b716f4810446068cff5845356c67c72f5e8ba52f07e4ee
SHA512
b07b753e88358519c00bf114ed8c4e271bb78cb8fd210894a820729e7543c96176d3530585b823130a31f18ff888f0d60c26435d735a6eb77cfeb75b1d848eb0
diff --git a/www-client/firefox/firefox-115.16.1.ebuild
b/www-client/firefox/firefox-115.16.1.ebuild
new file mode 100644
index 000000000000..31b6c0937aff
--- /dev/null
+++ b/www-client/firefox/firefox-115.16.1.ebuild
@@ -0,0 +1,1393 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+FIREFOX_PATCHSET="firefox-115esr-patches-13.tar.xz"
+
+LLVM_MAX_SLOT=18
+
+PYTHON_COMPAT=( python3_{10..11} )
+PYTHON_REQ_USE="ncurses,sqlite,ssl"
+
+WANT_AUTOCONF="2.1"
+
+VIRTUALX_REQUIRED="manual"
+
+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 readme.gentoo-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}
+)
+
+DESCRIPTION="Firefox Web Browser"
+HOMEPAGE="https://www.mozilla.com/firefox"
+SRC_URI="${MOZ_SRC_BASE_URI}/source/${MOZ_P}.source.tar.xz ->
${MOZ_P_DISTFILES}.source.tar.xz
+ ${PATCH_URIS[@]}"
+S="${WORKDIR}/${PN}-${PV%_*}"
+LICENSE="MPL-2.0 GPL-2 LGPL-2.1"
+SLOT="esr"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
+
+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 +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:rapid
+ screencast? ( media-video/pipewire:= )
+ selinux? ( sec-policy/selinux-mozilla )"
+BDEPEND="${PYTHON_DEPS}
+ || (
+ (
+ sys-devel/clang:18
+ sys-devel/llvm:18
+ clang? (
+ sys-devel/lld:18
+ virtual/rust:0/llvm-18
+ pgo? (
=sys-libs/compiler-rt-sanitizers-18*[profile] )
+ )
+ )
+ (
+ sys-devel/clang:17
+ sys-devel/llvm:17
+ clang? (
+ sys-devel/lld:17
+ virtual/rust:0/llvm-17
+ pgo? (
=sys-libs/compiler-rt-sanitizers-17*[profile] )
+ )
+ )
+ (
+ sys-devel/clang:16
+ sys-devel/llvm:16
+ clang? (
+ sys-devel/lld:16
+ virtual/rust:0/llvm-16
+ pgo? (
=sys-libs/compiler-rt-sanitizers-16*[profile] )
+ )
+ )
+ (
+ sys-devel/clang:15
+ sys-devel/llvm:15
+ clang? (
+ sys-devel/lld:15
+ 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 )
+ !elibc_glibc? (
+ || (
+ dev-lang/rust
+ <dev-lang/rust-bin-1.73
+ )
+ )
+ amd64? ( >=dev-lang/nasm-2.14 )
+ x86? ( >=dev-lang/nasm-2.14 )
+ pgo? (
+ X? (
+ sys-devel/gettext
+ x11-base/xorg-server[xvfb]
+ x11-apps/xhost
+ )
+ !X? (
+ || (
+ gui-wm/tinywl
+ <gui-libs/wlroots-0.17.3[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.90
+ >=dev-libs/nspr-4.35
+ media-libs/alsa-lib
+ media-libs/fontconfig
+ media-libs/freetype
+ media-libs/mesa
+ media-video/ffmpeg
+ sys-libs/zlib
+ virtual/freedesktop-icon-theme
+ x11-libs/cairo
+ x11-libs/gdk-pixbuf
+ x11-libs/pango
+ x11-libs/pixman
+ dbus? (
+ dev-libs/dbus-glib
+ sys-apps/dbus
+ )
+ jack? ( virtual/jack )
+ pulseaudio? (
+ || (
+ media-libs/libpulse
+ >=media-sound/apulse-0.1.12-r4[sdk]
+ )
+ )
+ libproxy? ( net-libs/libproxy )
+ selinux? ( sec-policy/selinux-mozilla )
+ sndio? ( >=media-sound/sndio-1.8.0-r1 )
+ screencast? ( media-video/pipewire:= )
+ system-av1? (
+ >=media-libs/dav1d-1.0.0:=
+ >=media-libs/libaom-1.0.0:=
+ )
+ system-harfbuzz? (
+ >=media-gfx/graphite2-1.3.13
+ >=media-libs/harfbuzz-2.8.1:0=
+ )
+ system-icu? ( >=dev-libs/icu-73.1:= )
+ system-jpeg? ( >=media-libs/libjpeg-turbo-1.2.1 )
+ system-libevent? ( >=dev-libs/libevent-2.1.12:0=[threads(+)] )
+ system-libvpx? ( >=media-libs/libvpx-1.8.2:0=[postproc] )
+ system-png? ( >=media-libs/libpng-1.6.35:0=[apng] )
+ system-webp? ( >=media-libs/libwebp-1.1.0:0= )
+ wayland? (
+ >=media-libs/libepoxy-1.5.10-r1
+ x11-libs/gtk+:3[wayland]
+ x11-libs/libxkbcommon[wayland]
+ )
+ wifi? (
+ kernel_linux? (
+ dev-libs/dbus-glib
+ net-misc/networkmanager
+ sys-apps/dbus
+ )
+ )
+ X? (
+ virtual/opengl
+ x11-libs/cairo[X]
+ x11-libs/gtk+:3[X]
+ x11-libs/libX11
+ x11-libs/libXcomposite
+ x11-libs/libXdamage
+ x11-libs/libXext
+ x11-libs/libXfixes
+ x11-libs/libxkbcommon[X]
+ x11-libs/libXrandr
+ x11-libs/libXtst
+ x11-libs/libxcb:=
+ )"
+RDEPEND="${COMMON_DEPEND}
+ hwaccel? (
+ media-video/libva-utils
+ sys-apps/pciutils
+ )
+ jack? ( virtual/jack )
+ openh264? ( media-libs/openh264:*[plugin] )"
+DEPEND="${COMMON_DEPEND}
+ X? (
+ x11-base/xorg-proto
+ x11-libs/libICE
+ x11-libs/libSM
+ )"
+
+# Allow MOZ_GMP_PLUGIN_LIST to be set in an eclass or
+# overridden in the enviromnent (advanced hackers only)
+if [[ -z "${MOZ_GMP_PLUGIN_LIST+set}" ]] ; then
+ MOZ_GMP_PLUGIN_LIST=( gmp-gmpopenh264 gmp-widevinecdm )
+fi
+
+llvm_check_deps() {
+ if ! has_version -b "sys-devel/clang:${LLVM_SLOT}" ; then
+ einfo "sys-devel/clang:${LLVM_SLOT} is missing! Cannot use LLVM
slot ${LLVM_SLOT} ..." >&2
+ return 1
+ fi
+
+ if use clang && ! tc-ld-is-mold ; then
+ if ! has_version -b "sys-devel/lld:${LLVM_SLOT}" ; then
+ einfo "sys-devel/lld:${LLVM_SLOT} is missing! Cannot
use LLVM slot ${LLVM_SLOT} ..." >&2
+ return 1
+ fi
+
+ if ! has_version -b "virtual/rust:0/llvm-${LLVM_SLOT}" ; then
+ einfo "virtual/rust:0/llvm-${LLVM_SLOT} is missing!
Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
+ return 1
+ fi
+
+ if use pgo ; then
+ if ! has_version -b
"=sys-libs/compiler-rt-sanitizers-${LLVM_SLOT}*[profile]" ; then
+ einfo
"=sys-libs/compiler-rt-sanitizers-${LLVM_SLOT}*[profile] is missing!"
+ einfo "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'
+
+ 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
+
+ # Clear tons of conditions, since PGO is
hardware-dependant.
+ addpredict /dev
+ fi
+
+ if ! mountpoint -q /dev/shm ; then
+ # If /dev/shm is not available, configure is known to
fail with
+ # a traceback report referencing
/usr/lib/pythonN.N/multiprocessing/synchronize.py
+ ewarn "/dev/shm is not mounted -- expect build
failures!"
+ fi
+
+ # Google API keys (see
http://www.chromium.org/developers/how-tos/api-keys)
+ # Note: These are for Gentoo Linux use ONLY. For your own
distribution, please
+ # get your own set of keys.
+ if [[ -z "${MOZ_API_KEY_GOOGLE+set}" ]] ; then
+
MOZ_API_KEY_GOOGLE="AIzaSyDEAOvatFogGaPi0eTgsV_ZlEzx0ObmepsMzfAc"
+ fi
+
+ if [[ -z "${MOZ_API_KEY_LOCATION+set}" ]] ; then
+
MOZ_API_KEY_LOCATION="AIzaSyB2h2OuRgGaPicUgy5N-5hsZqiPW6sH3n_rptiQ"
+ fi
+
+ # Mozilla API keys (see
https://location.services.mozilla.com/api)
+ # Note: These are for Gentoo Linux use ONLY. For your own
distribution, please
+ # get your own set of keys.
+ if [[ -z "${MOZ_API_KEY_MOZILLA+set}" ]] ; then
+
MOZ_API_KEY_MOZILLA="edb3d487-3a84-46m0ap1e3-9dfd-92b5efaaa005"
+ fi
+
+ # Ensure we use C locale when building, bug #746215
+ export LC_ALL=C
+ fi
+
+ CONFIG_CHECK="~SECCOMP"
+ WARNING_SECCOMP="CONFIG_SECCOMP not set! This system will be unable to
play DRM-protected content."
+ linux-info_pkg_setup
+}
+
+src_unpack() {
+ local _lp_dir="${WORKDIR}/language_packs"
+ local _src_file
+
+ if [[ ! -d "${_lp_dir}" ]] ; then
+ mkdir "${_lp_dir}" || die
+ fi
+
+ for _src_file in ${A} ; do
+ if [[ ${_src_file} == *.xpi ]]; then
+ cp "${DISTDIR}/${_src_file}" "${_lp_dir}" || die
"Failed to copy '${_src_file}' to '${_lp_dir}'!"
+ else
+ unpack ${_src_file}
+ fi
+ done
+}
+
+src_prepare() {
+ if use lto; then
+ rm -v
"${WORKDIR}"/firefox-patches/*-LTO-Only-enable-LTO-*.patch || die
+ fi
+
+ if ! use ppc64; then
+ rm -v "${WORKDIR}"/firefox-patches/*ppc64*.patch || die
+ fi
+
+ if use x86 && use elibc_glibc ; then
+ rm -v
"${WORKDIR}"/firefox-patches/*-musl-non-lfs64-api-on-audio_thread_priority-crate.patch
|| die
+ fi
+
+ # Workaround for bgo#917599
+ if has_version ">=dev-libs/icu-74.1" && use system-icu ; then
+ eapply
"${WORKDIR}"/firefox-patches/0029-bmo-1862601-system-icu-74.patch
+ fi
+ rm -v "${WORKDIR}"/firefox-patches/0029-bmo-1862601-system-icu-74.patch
|| die
+
+ # Workaround for bgo#915651 on musl
+ if use elibc_glibc ; then
+ rm -v
"${WORKDIR}"/firefox-patches/*bgo-748849-RUST_TARGET_override.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)"
+
+ # Workaround for bgo#915651
+ if ! use elibc_glibc ; then
+ if use amd64 ; then
+ export RUST_TARGET="x86_64-unknown-linux-musl"
+ elif use x86 ; then
+ export RUST_TARGET="i686-unknown-linux-musl"
+ elif use arm64 ; then
+ export RUST_TARGET="aarch64-unknown-linux-musl"
+ else
+ die "Unknown musl chost, please post your rustc -vV
along with emerge --info on Gentoo's bug #915651"
+ fi
+ fi
+
+ # 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
+
+ # Clear cargo checksums from crates we have patched
+ # moz_clear_vendor_checksums crate
+ moz_clear_vendor_checksums audio_thread_priority
+ moz_clear_vendor_checksums bindgen
+ moz_clear_vendor_checksums encoding_rs
+ moz_clear_vendor_checksums any_all_workaround
+ moz_clear_vendor_checksums packed_simd
+
+ # Create build dir
+ BUILD_DIR="${WORKDIR}/${PN}_build"
+ mkdir -p "${BUILD_DIR}" || die
+
+ # Write API keys to disk
+ echo -n "${MOZ_API_KEY_GOOGLE//gGaPi/}" > "${S}"/api-google.key || die
+ echo -n "${MOZ_API_KEY_LOCATION//gGaPi/}" > "${S}"/api-location.key ||
die
+ echo -n "${MOZ_API_KEY_MOZILLA//m0ap1/}" > "${S}"/api-mozilla.key || die
+
+ xdg_environment_reset
+}
+
+src_configure() {
+ # Show flags set at the beginning
+ einfo "Current BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}"
+ einfo "Current CFLAGS:\t\t${CFLAGS:-no value set}"
+ einfo "Current CXXFLAGS:\t\t${CXXFLAGS:-no value set}"
+ einfo "Current LDFLAGS:\t\t${LDFLAGS:-no value set}"
+ einfo "Current RUSTFLAGS:\t\t${RUSTFLAGS:-no value set}"
+
+ local have_switched_compiler=
+ if use clang; then
+ # Force clang
+ einfo "Enforcing the use of clang due to USE=clang ..."
+
+ local version_clang=$(clang --version 2>/dev/null | grep -F --
'clang version' | awk '{ print $3 }')
+ [[ -n ${version_clang} ]] && version_clang=$(ver_cut 1
"${version_clang}")
+ [[ -z ${version_clang} ]] && die "Failed to read clang version!"
+
+ if tc-is-gcc; then
+ have_switched_compiler=yes
+ fi
+
+ AR=llvm-ar
+ CC=${CHOST}-clang-${version_clang}
+ CXX=${CHOST}-clang++-${version_clang}
+ NM=llvm-nm
+ RANLIB=llvm-ranlib
+
+ elif ! use clang && ! tc-is-gcc ; then
+ # Force gcc
+ have_switched_compiler=yes
+ einfo "Enforcing the use of gcc due to USE=-clang ..."
+ AR=gcc-ar
+ CC=${CHOST}-gcc
+ CXX=${CHOST}-g++
+ NM=gcc-nm
+ RANLIB=gcc-ranlib
+ fi
+
+ if [[ -n "${have_switched_compiler}" ]] ; then
+ # Because we switched active compiler we have to ensure
+ # that no unsupported flags are set
+ strip-unsupported-flags
+ fi
+
+ # Ensure we use correct toolchain,
+ # AS is used in a non-standard way by upstream, #bmo1654031
+ export HOST_CC="$(tc-getBUILD_CC)"
+ export HOST_CXX="$(tc-getBUILD_CXX)"
+ export AS="$(tc-getCC) -c"
+ tc-export CC CXX LD AR AS NM OBJDUMP RANLIB PKG_CONFIG
+
+ # Pass the correct toolchain paths through cbindgen
+ if tc-is-cross-compiler ; then
+ export BINDGEN_CFLAGS="${SYSROOT:+--sysroot=${ESYSROOT}}
--target=${CHOST} ${BINDGEN_CFLAGS-}"
+ fi
+
+ # Set MOZILLA_FIVE_HOME
+ export MOZILLA_FIVE_HOME="/usr/$(get_libdir)/${PN}"
+
+ # python/mach/mach/mixin/process.py fails to detect SHELL
+ export SHELL="${EPREFIX}/bin/bash"
+
+ # Set state path
+ export MOZBUILD_STATE_PATH="${BUILD_DIR}"
+
+ # Set MOZCONFIG
+ export MOZCONFIG="${S}/.mozconfig"
+
+ # Initialize MOZCONFIG
+ mozconfig_add_options_ac '' --enable-application=browser
+ mozconfig_add_options_ac '' --enable-project=browser
+
+ # Set Gentoo defaults
+ 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-legacy-profile-creation \
+ --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
+
+ 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-lto
+
+ mozconfig_use_enable debug
+ if use debug ; then
+ mozconfig_add_options_ac '+debug' --disable-optimize
+ mozconfig_add_options_ac '+debug' --enable-real-time-tracing
+ else
+ mozconfig_add_options_ac 'Gentoo defaults'
--disable-real-time-tracing
+
+ if is-flag '-g*' ; then
+ if use clang ; then
+ mozconfig_add_options_ac 'from CFLAGS'
--enable-debug-symbols=$(get-flag '-g*')
+ else
+ mozconfig_add_options_ac 'from CFLAGS'
--enable-debug-symbols
+ fi
+ else
+ mozconfig_add_options_ac 'Gentoo default'
--disable-debug-symbols
+ fi
+
+ if is-flag '-O0' ; then
+ mozconfig_add_options_ac "from CFLAGS"
--enable-optimize=-O0
+ elif is-flag '-O4' ; then
+ mozconfig_add_options_ac "from CFLAGS"
--enable-optimize=-O4
+ elif is-flag '-O3' ; then
+ mozconfig_add_options_ac "from CFLAGS"
--enable-optimize=-O3
+ elif is-flag '-O1' ; then
+ mozconfig_add_options_ac "from CFLAGS"
--enable-optimize=-O1
+ elif is-flag '-Os' ; then
+ mozconfig_add_options_ac "from CFLAGS"
--enable-optimize=-Os
+ else
+ mozconfig_add_options_ac "Gentoo default"
--enable-optimize=-O2
+ fi
+ fi
+
+ # Debug flag was handled via configure
+ filter-flags '-g*'
+
+ # Optimization flag was handled via configure
+ filter-flags '-O*'
+
+ # Modifications to better support ARM, bug #553364
+ if use cpu_flags_arm_neon ; then
+ mozconfig_add_options_ac '+cpu_flags_arm_neon' --with-fpu=neon
+
+ if ! tc-is-clang ; then
+ # thumb options aren't supported when using clang, bug
666966
+ mozconfig_add_options_ac '+cpu_flags_arm_neon' \
+ --with-thumb=yes \
+ --with-thumb-interwork=no
+ fi
+ fi
+
+ if [[ ${CHOST} == armv*h* ]] ; then
+ mozconfig_add_options_ac 'CHOST=armv*h*' --with-float-abi=hard
+
+ if ! use system-libvpx ; then
+ sed -i \
+ -e "s|softfp|hard|" \
+ "${S}"/media/libvpx/moz.build \
+ || die
+ fi
+ fi
+
+ # With profile 23.0 elf-hack=legacy is broken with gcc.
+ # With Firefox-115esr elf-hack=relr isn't available (only in rapid).
+ # Solution: Disable build system's elf-hack completely, and add
"-z,pack-relative-relocs"
+ # manually with gcc.
+ #
+ # elf-hack configure option isn't available on ppc64/riscv, #916259,
#929244, #930046.
+ if use ppc64 || use riscv ; then
+ :;
+ else
+ mozconfig_add_options_ac 'elf-hack disabled' --disable-elf-hack
+ fi
+
+ if use amd64 || use x86 ; then
+ ! use clang && append-ldflags "-z,pack-relative-relocs"
+ 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 tc-ld-is-mold && use lto; then
+ # increase ulimit with mold+lto, bugs #892641, #907485
+ if ! ulimit -n 16384 1>/dev/null 2>&1 ; then
+ ewarn "Unable to modify ulimits - building with
mold+lto might fail due to low ulimit -n resources."
+ ewarn "Please see bugs #892641 & #907485."
+ else
+ ulimit -n 16384
+ fi
+ fi
+
+ if use pgo; then
+ # Reset and cleanup environment variables used by GNOME/XDG
+ gnome2_environment_reset
+
+ addpredict /root
+
+ if ! use X; then
+ virtx_cmd=virtwl
+ else
+ virtx_cmd=virtx
+ fi
+ fi
+
+ if ! use X; then
+ local -x GDK_BACKEND=wayland
+ else
+ local -x GDK_BACKEND=x11
+ fi
+
+ ${virtx_cmd} ./mach build --verbose || die
+}
+
+src_install() {
+ # xpcshell is getting called during install
+ pax-mark m \
+ "${BUILD_DIR}"/dist/bin/xpcshell \
+ "${BUILD_DIR}"/dist/bin/${PN} \
+ "${BUILD_DIR}"/dist/bin/plugin-container
+
+ DESTDIR="${D}" ./mach install || die
+
+ # Upstream cannot ship symlink but we can (bmo#658850)
+ rm "${ED}${MOZILLA_FIVE_HOME}/${PN}-bin" || die
+ dosym ${PN} ${MOZILLA_FIVE_HOME}/${PN}-bin
+
+ # Don't install llvm-symbolizer from sys-devel/llvm package
+ if [[ -f "${ED}${MOZILLA_FIVE_HOME}/llvm-symbolizer" ]] ; then
+ rm -v "${ED}${MOZILLA_FIVE_HOME}/llvm-symbolizer" || die
+ fi
+
+ # Install policy (currently only used to disable application updates)
+ insinto "${MOZILLA_FIVE_HOME}/distribution"
+ newins "${FILESDIR}"/distribution.ini distribution.ini
+ newins "${FILESDIR}"/disable-auto-update.policy.json policies.json
+
+ # Install system-wide preferences
+ local PREFS_DIR="${MOZILLA_FIVE_HOME}/browser/defaults/preferences"
+ insinto "${PREFS_DIR}"
+ newins "${FILESDIR}"/gentoo-default-prefs.js gentoo-prefs.js
+
+ local GENTOO_PREFS="${ED}${PREFS_DIR}/gentoo-prefs.js"
+
+ # Set dictionary path to use system hunspell
+ cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set
spellchecker.dictionary_path pref"
+ pref("spellchecker.dictionary_path",
"${EPREFIX}/usr/share/myspell");
+ EOF
+
+ # Force hwaccel prefs if USE=hwaccel is enabled
+ if use hwaccel ; then
+ cat "${FILESDIR}"/gentoo-hwaccel-prefs.js-r2 \
+ >>"${GENTOO_PREFS}" \
+ || die "failed to add prefs to force hardware-accelerated
rendering to all-gentoo.js"
+
+ if use wayland; then
+ cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set
hwaccel wayland prefs"
+ pref("gfx.x11-egl.force-enabled", false);
+ EOF
+ else
+ cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set
hwaccel x11 prefs"
+ pref("gfx.x11-egl.force-enabled", true);
+ EOF
+ fi
+ fi
+
+ if ! use gmp-autoupdate ; then
+ local plugin
+ for plugin in "${MOZ_GMP_PLUGIN_LIST[@]}" ; do
+ einfo "Disabling auto-update for ${plugin} plugin ..."
+ cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to
disable autoupdate for ${plugin} media plugin"
+ pref("media.${plugin}.autoupdate", false);
+ EOF
+ done
+ fi
+
+ # Force the graphite pref if USE=system-harfbuzz is enabled, since the
pref cannot disable it
+ if use system-harfbuzz ; then
+ cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set
gfx.font_rendering.graphite.enabled pref"
+ sticky_pref("gfx.font_rendering.graphite.enabled", true);
+ EOF
+ fi
+
+ # Install language packs
+ local langpacks=( $(find "${WORKDIR}/language_packs" -type f -name
'*.xpi') )
+ if [[ -n "${langpacks}" ]] ; then
+ moz_install_xpi "${MOZILLA_FIVE_HOME}/distribution/extensions"
"${langpacks[@]}"
+ fi
+
+ # Install geckodriver
+ if use geckodriver ; then
+ einfo "Installing geckodriver into ${ED}${MOZILLA_FIVE_HOME}
..."
+ pax-mark m "${BUILD_DIR}"/dist/bin/geckodriver
+ exeinto "${MOZILLA_FIVE_HOME}"
+ doexe "${BUILD_DIR}"/dist/bin/geckodriver
+
+ dosym ${MOZILLA_FIVE_HOME}/geckodriver /usr/bin/geckodriver
+ fi
+
+ # Install icons
+ local icon_srcdir="${S}/browser/branding/official"
+ local icon_symbolic_file="${FILESDIR}/icon/firefox-symbolic.svg"
+
+ insinto /usr/share/icons/hicolor/symbolic/apps
+ newins "${icon_symbolic_file}" ${PN}-symbolic.svg
+
+ local icon size
+ for icon in "${icon_srcdir}"/default*.png ; do
+ size=${icon%.png}
+ size=${size##*/default}
+
+ if [[ ${size} -eq 48 ]] ; then
+ newicon "${icon}" ${PN}.png
+ fi
+
+ newicon -s ${size} "${icon}" ${PN}.png
+ done
+
+ # Install menu
+ local app_name="Mozilla ${MOZ_PN^}"
+ local desktop_file="${FILESDIR}/icon/${PN}-r3.desktop"
+ local desktop_filename="${PN}-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
+
+ readme.gentoo_create_doc
+}
+
+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
+
+ # 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
+
+ readme.gentoo_print_elog
+
+ optfeature_header "Optional programs for extra features:"
+ optfeature "desktop notifications" x11-libs/libnotify
+ optfeature "fallback mouse cursor theme e.g. on WMs"
gnome-base/gsettings-desktop-schemas
+
+ if use hwaccel && has_version "x11-drivers/nvidia-drivers"; then
+ optfeature "hardware acceleration with NVIDIA cards"
media-libs/nvidia-vaapi-driver
+ fi
+
+ if ! has_version "sys-libs/glibc"; then
+ elog
+ elog "glibc not found! You won't be able to play DRM content."
+ elog "See Gentoo bug #910309 or upstream bug #1843683."
+ elog
+ fi
+
+ if use geckodriver ; then
+ ewarn "You have enabled the 'geckodriver' USE flag. Geckodriver
is now"
+ ewarn "packaged separately as net-misc/geckodriver and the use
flag will be"
+ ewarn "dropped from main Firefox package by Firefox 128.0
release."
+ fi
+}