commit: ad92ec04ea56edff36fac90930273786dcbfbbc1
Author: Joonas Niilola <juippis <AT> gentoo <DOT> org>
AuthorDate: Tue Nov 26 20:06:33 2024 +0000
Commit: Joonas Niilola <juippis <AT> gentoo <DOT> org>
CommitDate: Tue Nov 26 20:06:33 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ad92ec04
www-client/firefox: add 128.5.0
- add upstream (rapid) patches for gcc-15,
- add 'wasm' use flag and functionality to 128esr,
- default back to +clang since the problems we had with it are mostly solved
by slotted rust,
- sync all relevant changes from rapid to esr (rust, lto, pgo).
Signed-off-by: Joonas Niilola <juippis <AT> gentoo.org>
www-client/firefox/Manifest | 102 +++
www-client/firefox/firefox-128.5.0.ebuild | 1368 +++++++++++++++++++++++++++++
2 files changed, 1470 insertions(+)
diff --git a/www-client/firefox/Manifest b/www-client/firefox/Manifest
index fd636636a44f..5760f719219a 100644
--- a/www-client/firefox/Manifest
+++ b/www-client/firefox/Manifest
@@ -200,7 +200,109 @@ DIST firefox-128.4.0esr-xh.xpi 418140 BLAKE2B
cf8b826b22f7c9ac50c8d063b817aeace0
DIST firefox-128.4.0esr-zh-CN.xpi 669752 BLAKE2B
7271c99939f2adffed7730ecfa207579e6279bc7c19058e54cf7be7896e030a3942b3a1229f424e135630c832db36f6db11f7a92ee1fd743673ae9ac013cfc7b
SHA512
14404537fc9b3de89964432a475cf9b526be4023b3b9b29ce4d7c48646af564ea734df7ef4775e4fb52d8320cdbcb114e984d6f651b0c14e8f90040871390877
DIST firefox-128.4.0esr-zh-TW.xpi 672066 BLAKE2B
3e90953b69d12ad01f0a4aa7d48d1874e9a098363914fdbb0dcbf77a37af848fac65e9c99bd3ead6da34df827990eb6c8b25177a25daa66073e7022318a39e0d
SHA512
33a1d240a10fdf0be29b98065964a8e5ef6c698e9b2dfd5889979b8098fc12514671b7438600a4dce47ce48596e7447ee6def8900d23250b718b70483c1bbc55
DIST firefox-128.4.0esr.source.tar.xz 558619512 BLAKE2B
1f0528c8806bb034af623f2022740bb5056ea11817b9cb7154a60b87f04051ba5ae06b0daf55e6b03b7531c369deb871d3d3579a86f3ca19f3ab71ccb45243f9
SHA512
e720b1f993926d73f5a5727648f753176ac2fd093fb0b71393946bbc5919ce5fc7b88b82960bd1aa427b5663c7f659828dc6702485fc0c1e7a6961571c67faa3
+DIST firefox-128.5.0esr-ach.xpi 465498 BLAKE2B
bf35fffcb586cdeb9b9f14fb7017dea9a879c2954f4ff34ef9d0bf5f1b5300907223dc6036b63961ea3e2c0297fcc2d3c4ec304744916a048cedc383c7d0def9
SHA512
dc50d88ca036a4098e9b7e69bbb381761fef3cfdad692173b061385a906b10ded763fb73f173f18fb3b5d78bc4ddd8fd42823156d65fe7e218ff2f8385bdbc19
+DIST firefox-128.5.0esr-af.xpi 418816 BLAKE2B
246cbdfc575a8c99aedb0d45b890aecea168b02880bdab22bf23fc6a745b29c67a2136836657c6599c00811a581114de1d0c6e266eb4ee62f2b9496ac09c2b2c
SHA512
afffb4fd3146ec2545f603750b9cbd897e80c55e2df207f7b3fe9e6b10a008c41934a611e9508b41d4e63c97622ebf12fbb224eda0a74e91202bcbcede620432
+DIST firefox-128.5.0esr-an.xpi 508455 BLAKE2B
9156c38c1f83d865fbd3d11a08f631e3363dc8f4aff565a0f57204db895956c4affa225cff18e03a5f38769a8bdc2c0c1832046340e8fcdd479c2878215dbfed
SHA512
8c974391d5d94c01f5ee2b01d6eaf8da06c2dc9c4ef942819192b5b18e805086afa10337c24c312254477571a5c4150ee165da4cc916c80190fb989800cd2d63
+DIST firefox-128.5.0esr-ar.xpi 630813 BLAKE2B
8c1f4c14a108fe236bf1b5a0a6c52d5e2cfe13edf38ec8b1e689a9137ead71b13571943f9d1e01f11e0d43c47f650991df0939fcbdb6bf9f3138b3fe73c2efea
SHA512
761ad7c80494c443bdd3c76d479a9744b11687d51a7bc6562d2d95114dfb099185b925a1d4a9c52e36c1ed44217c1dbf390d30626e7366dd1b423c9d435e1322
+DIST firefox-128.5.0esr-ast.xpi 497760 BLAKE2B
4b8227fc6729a29c3227787833337cfe64d950738c5e22c2d02c70f0e70a90f545a66396014d038cd08a9eddaadcc3b889303959fee4468c182594d9e640825e
SHA512
c638049b7c1db50a80728341f918ad3f70740e423db2010789ff952a873e1f0b5f6dbbfc7f37da7bdcfb2e6fbc46c5e966b702e75503acdcb4263148bb336ace
+DIST firefox-128.5.0esr-az.xpi 492199 BLAKE2B
2c7947f0e2ca6483fe4878e54c76d34d1b406a7152ac29a3869e4717e2b4c45aeee34d60c026624a5ebae01f09b7abcad9d9f1e38396c483f72989f2fe6a0110
SHA512
4cf52a65a3d0a9a0cff24823ef9a1b858e0bfe508a57ea46b3b46f41d12710bd0ac661d5fe2be0ef1c17f853438828dd1004f0e2ac16d8cbf6bc5c69c356cb6a
+DIST firefox-128.5.0esr-be.xpi 731599 BLAKE2B
f75f9eb40f015a2844040295d5a91bdcecd485158b57eeae790801a887e222f9eba8f50de3faa533982e44b94fccb209487a5abc983f4591016d45abd6e49ad4
SHA512
782355f6a7a93e840fb906485f49b7bdafdfeaf2d81fd743d5a05ec49f85ebc6a37ce53ac8f1e068ec4ea07786b807b2837a892e8efe78c1f137b9f807228d63
+DIST firefox-128.5.0esr-bg.xpi 647385 BLAKE2B
82cae1f9fe9a95c89a02459cbe188a32c47f551a321cf4ba1581cc94aa7bdc59ce30f2b8f51a223ee0ae80eb5254dbb9dbbc705f3ca830c27abf3ba134792eb3
SHA512
5bac62823bcc93c1d64ee925852359de2ec7c930f0bc33b81749c0b64477194447f54772d08102eb3eb9b07c76273c0bf18e6281c53f4ff7dc842f9aa7a7f6eb
+DIST firefox-128.5.0esr-bn.xpi 582943 BLAKE2B
36c9d329c6c743b79e622bc914cca70ca7d75edac681664cbce069a9669ac9bc54cfa990910eb43e3b6b3b34b60307255772b71598fd0601d9f4bcb331251ae3
SHA512
6fe68221b1b1dc87d3fa35042563d3050a73897843229b70f35f12584d955fe0bd410e18de424a6080f43e2c449b1b2fb37ef7ff356f185d6c717eace7270c25
+DIST firefox-128.5.0esr-br.xpi 595342 BLAKE2B
3833d29ffb7223e7617010f6aa706982868181d4508b9b021010da976baeb6011fcb46cf66bc6cbca36278af6d6a50ac757517939877937212f2f0056de8d244
SHA512
5de65ca1fbe41f554be41822e46471168ca64e96259cbb63a66d52391e3f98788df5968990e1030db84016df93366070e70a5af5c9b4177372c64fb0264b85ff
+DIST firefox-128.5.0esr-bs.xpi 515693 BLAKE2B
0e6097957cf9c2863dc7d3399ae7db55db6dcdb4e59919fa80af3adf5b986941eb85e79d97d330e5d057c6d9697a6b9c8f76e919477ff160d549cbb9ddb40563
SHA512
d3076534c9e0f897eeb9b49eccbc186521edfddebf6da036e0e56b64e20f104031aa4b38135f72f5b41096c9eb567c8fc09764fd4ad20691a38d2a58f5df62e9
+DIST firefox-128.5.0esr-ca-valencia.xpi 547680 BLAKE2B
22392ccfd59cd23ef8b5fdd783402816d76c2d0d41d128b51ad67ec25bf50d22d75f61b454b9ab0ddd93bb2817c7613c0e47c92fdd76371e1d1bcc17e83f865c
SHA512
7f99ac56b2a443cdca4655ebc66272eed5abf41bfa952e9a89456c038b226bb715bb6f2302cf249abf8bd3fdebcf93017faee6aa0f3ff2aaff6a644f9d1a60c8
+DIST firefox-128.5.0esr-ca.xpi 599229 BLAKE2B
c9c32ee9e178306cb57a620844a0c7c2e523ed7864294eecd7d1073d9bb24be7f09ee1203f9f7aab620e9682c917c54665f9c9f58cc0146af1c21b8546626454
SHA512
35b7d35a29a18df59a5709b708f12ee7e1e32c8805b646e5afde5613dca3a60e776cfe2693541ddd508c7106e0e16460bac4cae77b7768a2d5938356a86c39f9
+DIST firefox-128.5.0esr-cak.xpi 594629 BLAKE2B
e0bdd5ea097b3068c124eae9533c28cd794f62bcafa75054b0395acbd1763aa2906d4b020ee2cd320f74d18f822472e0492487d23cb0e6e06c517ccebeb60af2
SHA512
57cc700cbb36bcca90cf7bcd65a9f73a6f887f7f88cb380ffe0bae520df622168ae6b3f8cb1cb596b1a3c56c98eff19d2e02e17df71552f3844613fdece1e60c
+DIST firefox-128.5.0esr-cs.xpi 675122 BLAKE2B
2c8570f489b0eddc1539dca1d17995e9073baf695a9e51296bfbb24d102df3d5e0dcbc1a87ed3f8041b0eed473135ffa75ce6a0f15bf58a1524f3071c3289085
SHA512
0cf1e0c3a7784a76cdb73c486b80938c823c07263f944f04cdcab356d9b55bae1f3112c98cfd296b7a0129260e7a11133982537947e9feb670a68e6b9b3e0e22
+DIST firefox-128.5.0esr-cy.xpi 641499 BLAKE2B
f9bea8e5cbc50b0efa6c299406071d70e2eac26b4ae182c39aeb85bacf0c0c543beeed514f1532b8d58bf56567d49dc29e940bc3e90759b4a1bc39ceda43b4a6
SHA512
93f8fff7e76c7f1b7c116474690870c413058ff2d166bfd1e9377e86f529d06abd4b0c6b0df4d104718b38b84ebf945b0865055eb33f3ec5e92ba5d1597943a6
+DIST firefox-128.5.0esr-da.xpi 624940 BLAKE2B
df8c13e3ca37feca518068ba826e5d71e6fbf9fadfc757fd6ae1b842b3d78720a0558a5fda2a0afce17086e96f7a5eb8bb51979b7584ba238c4421886c1896f3
SHA512
de3cc4c85f0507e66a2c8eeec1aa6b7e69dc3f3ec5c51a205fd6bec152a8299c68b147807aa18a6cda17187d004bf4a9cbd8d38c0d71cec5f4825a0fddbc1a74
+DIST firefox-128.5.0esr-de.xpi 647909 BLAKE2B
66f63632fccf902c0640e8c05da3bc73333db75c5d4eecb9dddeba41738e47daedc2bf63773ce1f0ef58672273659fc1298c672b324410425542f5e7c1859d56
SHA512
6f27c2935bbbdfec7247399397bd99b48582106abbd20b5b3227357e713001bcb9946e9a34b914a8fd5486b451c12792771776b8034159fc34a86df9160cd5bd
+DIST firefox-128.5.0esr-dsb.xpi 667676 BLAKE2B
e9f527829778e7ff217aac88fabef7c549368dcc31890f26da7531bad031e1d1a102f4dd70953e705e6aeb195be5ea28b6c50f7393e27a252027dc0110e1cccf
SHA512
ae9c5c5e1272d36803a807191a1e30ec2b53520b267d8b7e5664983f4b56aae541586a23202c881eb81a0f3e30d734e6c340d42e57c72083c750daf064c3e0f3
+DIST firefox-128.5.0esr-el.xpi 752467 BLAKE2B
b78f337ee9bd367432274802d50dd9925b62eb8a1cc35fad2240f1919dbf0f3a508f2b68c4b743aa8422649b1ad7d21ad3efa0d1a0002dd8645f7102c9e9e64c
SHA512
e8ad03e664e000f89ab53ad626f3afe0589090de0c887470db74a9e951c3c1968e23f1d2db613d6c974af6bd93b308798410e2f429e81372803bd44ccd1fd357
+DIST firefox-128.5.0esr-en-CA.xpi 597227 BLAKE2B
de96e6dca4a53dd3d94567dc7d2a9a55a774fdb12d36314de95249559a64e01b835be861d2baa013f6836647cf69fcca3c0278309cf539036f1e78eb97c4a523
SHA512
a040bee5db23230253f6b045890a89683cbfd0d20d919465af8fac6fca7084acd05ccd5bcbe888f5e9adcae4906409b5741970b642052e9de96601a2f41c6b65
+DIST firefox-128.5.0esr-en-GB.xpi 600786 BLAKE2B
6cdbfc961e2aec0cc0cfaf177b831c80bbd149b36813680a496e57afbc647e3abaa4c4ca14254858427db9cd7246076346ab77bd1883f313357ed1ac6d5f0893
SHA512
9323d497c6d5c479d5617e1634ea8436ca1e6dbc4d828da577abdbd95b1ac2c93e4abe656dce47052948be3432be7650a153fc9bf9d9b78377835fc2be481629
+DIST firefox-128.5.0esr-eo.xpi 628837 BLAKE2B
0e6caa5aaddaa788eb8d9a77bd634ef3826f070c470f07148b4cd8984ddd696aa9ff1c09c15d5a6e1b524da4c071ab5766abbac1847f1eb23c57b598ca22eb35
SHA512
f4cfc0c0ca1dd6a9270644d23b514c8f030b6ff9478023179f53195b1b94512fc71882b4cfdb557634c12fbb533282d38997cb022ac4f31a19e8be0fccb42b0e
+DIST firefox-128.5.0esr-es-AR.xpi 644969 BLAKE2B
f57e730552ea93996234cc0b5f689389c3b7ed5f58590fc76090148a2a704b6dfe8229ea73964b721b1c7583de2e4d7900efbb8d294905705cedb95cb1a32c06
SHA512
7e24898d23bc73a261f6a28181e500d150f2e869700e1776ba1d97e8799d96498f241b362a0cc073ab1d7115cf238a1472cbfa07216d607465fa739783fac424
+DIST firefox-128.5.0esr-es-CL.xpi 644432 BLAKE2B
5fb783c19538de4b54c9399b065681e28c54c55b846ef6e10f03442d30e9bb14b205231128b0deddc137490e8e6062356668e245557bda4e8d06ce4a2ea782ac
SHA512
f990fdbb8d5e09681286966c11a10404169d46887d144596dd1f032c61efc29ca8e9e89802b257d60821ff4adcb3e6902e5d0705d0adb57b26f6733e8cb35159
+DIST firefox-128.5.0esr-es-ES.xpi 637342 BLAKE2B
f4822d1bfb2c983d873ee04093690d68ed7fbde91cbb93353a554a6030f6ac239aad167742611fcc2f9bd947c7cb0cae18570c11505bf2cd7aa3043a191014b9
SHA512
5b336ee371315f8d80b672a7154b2b13fc35b261f228a787c9cfb5dc136ec5bbc01ff655eeb167f4dcf3f082a082d7f135798361a9e2a32fad271c08f7a1081c
+DIST firefox-128.5.0esr-es-MX.xpi 638921 BLAKE2B
1165b0551bcdf137dec09d45ab31c70a50a8dd3a2e60af1b8dbdf741da19694058232e7c6d780e2190a4bb8c49767849a3120f086657dfc1c5259078f170bfe3
SHA512
50251175c84c1007dfb0f707bd87895840fb016ed0667b26d4b80f9f4be8c050998585e0839ea6b8a6aa8fda5afc8389502fbdf08b61ff2afbd820daf672f118
+DIST firefox-128.5.0esr-et.xpi 541121 BLAKE2B
e610538f92d48e60575f0b3b277ea41845fbb90419a299216e6ac5e7aff717962fffba2a54b9af2ca0ab003ae81c507e5ec3f2665e3746bc976bcdc2de13074a
SHA512
f12d1e29d2929b6f09c657f49da09a260b5ffdd93ae72130460bb00a84a76915f2a79e9fb2f14bcd7dffc1f83d4e6d5c44f1e6a2149623db2265c734cc024c9a
+DIST firefox-128.5.0esr-eu.xpi 612335 BLAKE2B
9ff3819831f1a6b0f8655621527f5da02b8c7b1735be032f7e359cdcc971e49151d74a4e1a233896124e1fdf4c65983c42e935f087082846ca62179d548e3588
SHA512
76f0ad1d9f88149d532626ee25ce6683212b07d8bfbe6080bfd708a98c645455eddd4fdbe143885f978f9301ca45d425e2379dab14c698d635931a17f6787a40
+DIST firefox-128.5.0esr-fa.xpi 593832 BLAKE2B
20aa3f8344f051de664a8e689e746984ce2cb926228bc22c4f0b570263031254870212bac569d6362911127968fa68060ddc9269656609c069b1d193a5d3431c
SHA512
a0998cea78cb0a9d96aa787ab47dcba165e9dda9cee45cf725d23dfdfa284da43e7aff532fafb704ea256fe6e3271d75ead5358e694890b8595f4b13fedcfbac
+DIST firefox-128.5.0esr-ff.xpi 477475 BLAKE2B
392b8730f77177798ae90b430cc89f3ac58a1e0cf1292b97d2952a30f5ea5953b2378f227bd6c8197343a4fd15d930634b42b6cabe262b7fa808de649559dc7c
SHA512
7cc4522dcded7a265cd94843fb1ad2a94fadc3e809b6c18cb84982ed5bab0f08a95ae297a9439898fe01678938cc6b25c7d4e28250ac48e8238c0f56e0fdc154
+DIST firefox-128.5.0esr-fi.xpi 623001 BLAKE2B
9d0074297f4352f913fb0cdef95fa59b5b4df975cb830b646256a6503c11c1671111099ddc1d26d25d866f5239488a634b0284147e4212e3f7ffa76ecd9474a3
SHA512
f7ed2173f46ea36c585d4476d762cc5e0107d7e8771a35568dba8a1193b89ba7fb7ab73cae558225a3ac462a0ac8c00f42369432d44ee2dae89a4929eaa32a4d
+DIST firefox-128.5.0esr-fr.xpi 655853 BLAKE2B
6013fa16856a320c496ae311892daaadf0308b592c4687ffc1cc673e03006cea266f7e8d8191124ee40ad10f48965b23a8ca8f2e14889a08c77a91f34564cd8c
SHA512
14f3f955864c12cc43548a89bf82f2b65b6445527b1d7a2595ae76e78429fb4b579ce23248ce746ed8902ea995e57ff0089cbda1f2c4f07a0c41aa0e8ee94465
+DIST firefox-128.5.0esr-fur.xpi 651348 BLAKE2B
10223520c69ef4ca257377b7fc9c717e1455f5fa04f723f7cfbbd0517c476030c13a5454cc765b1418bf95ace15b2a9f121ff9ca438323b5b002c80d5b0ce962
SHA512
33c4c77d8385541ffd31440e971fdcefefb9fd5d95dd241577e924cb4ce0078c9601d48ff71dd9a95e1c3b403b530a8b7d5b366da59693788b9d214102c3837e
+DIST firefox-128.5.0esr-fy-NL.xpi 640610 BLAKE2B
4f62a37b233b05695477791e742ede6182309e8e92bca2202e5f69833f99efe97ddfc4c43449e51c2e7b6b0861a83bba9b8e5f28e54362081236ea277d962a58
SHA512
34d8b89c5ae76052b5da47138b2542e2670e47c2ad461ee767c45dd8a285ad583277968443021a8fbcd71fe9edd81adc9cf02b896540d50fcac7f79f580b93c1
+DIST firefox-128.5.0esr-ga-IE.xpi 472341 BLAKE2B
d3546f8a468f4939a0a2fd1a69fac4566a2d94f9eab22fd00e948915c4d76f1b07cb1331dca7b093eeb66e56d66fdb56b0c5f80c3632f5f0842682ae0d921831
SHA512
4afa5c43861c85516d0d063c28b8b4da43bf59da499a920af294664dd6bc632f5a3e790c11737fb9996c3db15cbda407d48a98f34ff813dfae23dc002ba719df
+DIST firefox-128.5.0esr-gd.xpi 598324 BLAKE2B
e0e132fcaab3f947092beed02d744614d5dc94443a5c9b4e8b4a60273607f9e7763e7ca7b3dd39d71f4a718063af1eed91a3cb50085525877ed70b95673833c6
SHA512
ffaa8aa89d94c697fce066f2837555030d19994b48d6112471ae2230dffc686cfe8e8fdbb548ad7d992db75c6040fac9415f9e949984457ce4d0f79616675e5b
+DIST firefox-128.5.0esr-gl.xpi 609627 BLAKE2B
911ba4c187eced81e1b42b44b6d78228e8ff514360dfa9cce261c0bbda8ade7f855ed46f0ee54bb041b0cd1eabfe4eed79dd326f8aff1a1dd12ebe65e39778f6
SHA512
9bb4630a633044c4a8b0558dc6ad7b92874ce164a188e3b5903e7382e9a04a7b2a87facb48e4039bba21ea79ffd0689821ea4c6ee4f45bad8b9d90a55b0bf9eb
+DIST firefox-128.5.0esr-gn.xpi 652873 BLAKE2B
ac95e2936a7ae4fea2c3b7fb7aa489b9f82fdd853c18c62bd46aef347b8253f37d1a5487872a391ad646882e4d9aea4afbbf1f6e5e3c1e2fd2af5049c391f840
SHA512
9937bed8830d0ef8bc2c72f3e2b08e90a16c72f4851ec7ef16b889d7c0426221ad6b246b0ad09ef4721ab6590a5d0fec497b9789d6234c1155d53aa6daecd7b8
+DIST firefox-128.5.0esr-gu-IN.xpi 528784 BLAKE2B
95d93cc933bdb180ad000b2e497bac44ffe9673667f6d453d625b92a0c8a8a2c19bbd180373f8e15d43ac7fa01ff044b1e60ca24d161568c246d68ea6d4b846c
SHA512
f5a5cacc030014af8fab494c0c2e5bfe99421759759cd134ff90ad9e914824dc273f381f6e24a48326f75c5adf6cc3127812116dc9f75fed2df3b026fb73365f
+DIST firefox-128.5.0esr-he.xpi 647294 BLAKE2B
690bc867e7f9cfe3c23a6777eaa0df442a1239ce310a449cb1633d599b00a9e4486a195818af40dd455bf3ad780255e1c91dcaa92aecb32412ff35da98b0a3b5
SHA512
1ca9ec1981e329de91c1f3c6c62e8e7c3ee171fd481f9bc25c1ef87a8dd0cdadf58a9f64236c57bb7d3f2d2ba98a53d0cf2e6162dafe0ed4f7f4f1f3e2d5350b
+DIST firefox-128.5.0esr-hi-IN.xpi 568345 BLAKE2B
a13d517d327e56e1aae9a185fc2c8acf6abebdf41c84e48c10bcae7e9c68444b19c3b6a5c009a5169181526f8828a955258cc1f7d2751560d2ebff5433f43c9c
SHA512
d9ec94d27accf295212ca682b55ab21adfb7cd3d8137db0fad6cfc98a41bd88519dbd4e1a30bc36feae675985dbc1dc7ec2cd82325c368f6d35c766aa33d3339
+DIST firefox-128.5.0esr-hr.xpi 619167 BLAKE2B
a56a7503cde594e6bb07082e9d27363f9246e1d79b5ce7b09d9c96b81e8c6443eadbfbf0ef0c721ab574d11c848a60b04396decc3d0a9fd55559a1e7c0b3c5cd
SHA512
e8ab29952f4924a7350c4d15c0c91d69b7e1b41daa92b09bb3cde955263229cec2ab0ed196ab3eaeec7aed88c17e6b1add4411e1de9eaf1f3a863289b276ca6e
+DIST firefox-128.5.0esr-hsb.xpi 663554 BLAKE2B
ea75242461ff3550286ceeaf3dcb31f3fa0f5388bef2d54340dcfa4373d73f3e81cebb238990a6c4a198329df7e2f7dabbd4858837c4c3b40527a61c368337db
SHA512
fc354d9eaf2689dfdd87a8f3ddeae41c6b0e58ed179d591345281ee0626735173ee7d25fe6bceeb7eaba5881473e951993f4932feaa736c2283026ccbe7be8d7
+DIST firefox-128.5.0esr-hu.xpi 667793 BLAKE2B
c220d653d95ad5d43b2417cdaaec6bc2b16dfa043d4885e0968d241cba064c62755d131532a41e08ca0a9e02e1566a514db5292d1bb4094bf71310c28304ad77
SHA512
5d9f67f42ee0af60554c1b60af890ac75af740fc9cb8c04c3d1c4574e124c9500e1bb56c22159dd04d3e1984e443cb14c096b4c26d4604abddc6ed978e422448
+DIST firefox-128.5.0esr-hy-AM.xpi 653047 BLAKE2B
a902324518d3fe2f11ae4883e9b3aa450799a541ada5e649ff1fcce280e480667b21a7209d3d60613677a4077b3cbbce77e61e298cd6f0c5797aea55a8df206c
SHA512
184a86cfa3a9d7debf10da804f5f1d42fb3c67fe9c264031c8e67ca8ea869b08c3bb890f9baeb4d6bdad67a59ee98a7517e6ea0ad5d10b3c753481847f0dc074
+DIST firefox-128.5.0esr-ia.xpi 627660 BLAKE2B
92ed442ecd2b8bd89cdb97107850fee8dd1df66acfeb0c52a544917dce46cfba8b50ca8db2d680e2579d1f9685f8f618bd41253a0c76d19e8871f3fd9e92f3ff
SHA512
fe8162d18b117b12da18ca1f6802fca8835aad6d0186de5809442538ad77d27dec095c4bfd79ee9fe49bf263eb91bd54c5b67e9899a3ef620bcc7b382db05c3e
+DIST firefox-128.5.0esr-id.xpi 587635 BLAKE2B
cbab4c33191c4486d93a534e13a233f18d98637f0e09f36c71e73ff2f1aa69e8ee3bf408cede148dc6acc13eeba3635ed0297cab2560e3e8f1302faaf396aea8
SHA512
8d95b6e694da654202f73fd6d8190fac795885eca3e370ec8e0bf77c36d3c9fe44e2f5a8308c6952908af8ac60ab5e672935b6134d31ceba53abdcf792fcc10a
+DIST firefox-128.5.0esr-is.xpi 630683 BLAKE2B
596530a2eeacf4245536d159dedda08753f3a4827df6fdbc4438da86e21745e1e5396111e7fe4456d6e15aaf141c28c6885a32de4be91c478982698443b3ead3
SHA512
fe9b9d1ed7f21eb4ef64c82d7014b851789416a2b0d3080c79a9d5b7215e1bc62462fb1a1da6689576f7f7d4fc05cb5a782598ca0533b42f91020ed60b180e31
+DIST firefox-128.5.0esr-it.xpi 584359 BLAKE2B
9d9be3cd9e72cf76f841cc10eed2680b3f1030b0930746f136981c994faeb4e5980dd7c95fc4f1e8ee00d4ce15800253b4a7591d14891fd2a76dc9c221e3cbc4
SHA512
2d4c6be8cb0251d0465cb533dcc5229204e84cc10d3e6057c8811b9422f79c0a3a90896a7054dcb36861bc6e6c759d6c79570da63ee7439c4e13ece745d36a18
+DIST firefox-128.5.0esr-ja.xpi 691948 BLAKE2B
464f686839bb0708ea5155e170e73668669cc2806f1b9d044638610d858efeb7266418f5e5517dbf828d49da358b30e72e4b193eff50130f69c52647b9c4d92a
SHA512
ef823acc34c30ddb7006a87cea14f359c967ef3cb17d4e790c6fad6e730f7dfedd7541cd61619e78633156a8e79d2b551afc684792ad4c1308afae84b700933d
+DIST firefox-128.5.0esr-ka.xpi 662310 BLAKE2B
fb6927bce11afb23db1dc62547f253f35fcc8654019ab80a517e85a600d288ae3027d6da804f0973e90371d942a2927b2aaca8e009c3bbf10fe4dc5a065335ff
SHA512
7b7feede040960fe92cca9e106cdd8cb2ec0a0463d679cdf0820a963b397c57d9cea95de58104aecc39f626d77d1e058d9d6d05c6a8040fdeb5807ade3ed1779
+DIST firefox-128.5.0esr-kab.xpi 619269 BLAKE2B
c360e69dbe409ecd5c7014a2ac74edcfa78186ec3a8f2ef1b42a79510dcc3e9ef5a87444d0d68985f8304d038a24559b682740fb6ce12c512c5f59de3e7ce266
SHA512
31a394af645cf4d8a191038879151c1a10309b55a884869f84136e7df439d18868d00ffc73a90522336705cb2fa9d0621ee3883041690408ea5ca48f08cd5ac7
+DIST firefox-128.5.0esr-kk.xpi 727328 BLAKE2B
ed2dcf9221f0e9eb1be000d59d969b7c9527c13d9c1922155bf40db4051b0cb0eedfc845872f49af2b6a9fcaa2dc3b2be1f44098250a278e2c64d6c5f8e78211
SHA512
9fd6a0578992e99f9f2dbc95e90c17339e70d2338d6511090fbb2610a4070522759e4df71aaf0740d3afde9b187ea8ba4e113126cf8cf435c3d1f80456becd92
+DIST firefox-128.5.0esr-km.xpi 527173 BLAKE2B
2a2a2bc7108639a731360745b101f2c958dc94cf84f6321a54a415eae6b8474ca74f5f5d88ef17c564498866a7b0429cfa9d89ee02bbf3ff331e6fc0bf89f42d
SHA512
1cf5c2e58687e673e9b546ad99807123a635c9789c0f15fa200890fd6aa7ce7c5b5de58b58f5be47afc311c8d0da9446f5d6d6eb2b34dc1731012c7604698369
+DIST firefox-128.5.0esr-kn.xpi 492540 BLAKE2B
fd8298eb043392540606bc173c63cd8cd5620d939308e5c635443b659de3ee0aac688588c091b5f80c77a70f59e7574205ccc08bc9e91e890e6ac1f9f92e6027
SHA512
69c6d300c8cf4f364e7291ed25d5e5a6282b3f58f71c0dd9c92635f12a22aa98b6f82eea13d18aaf9934d513acd2958e6b3055ee77440b678b58b49410eca7a1
+DIST firefox-128.5.0esr-ko.xpi 679384 BLAKE2B
55aaecbf4e724f6fbdc3dfba64a45f818752a75df517a536d01bb6cb34af3d85565efdbca1d80168618c97de21b9c873f9405bd4930e1952da233ff02b94386a
SHA512
2631b071eaec053452429d4fac20055844bc6474fd713091bb6a1791b15f34838646858e4d1cfa6c4278c53c4d83a0ebbd717944c97c3afecfa14ac71c712b62
+DIST firefox-128.5.0esr-lij.xpi 485532 BLAKE2B
7f12dd7ba38e0e7eb27d8f254e66d6376d43bbb7db1b2b387cd04df90406f8e546c1164ce5367cc7d1f8bcf6a617fa28563ab168b0729093384baefe328d419c
SHA512
defa6796636ab668274210af2e68da9c6c66537affb67531b9c43c5b731d0c13e47977ee4bc59eb808584c95a533349b2e0939020d02c0b686d1669f575422be
+DIST firefox-128.5.0esr-lt.xpi 574123 BLAKE2B
1c41d41c60a46ba7f1b1f7d8560b1c4243045755e95d7b85400088e9903288235de2babe04ab59b6a5d849a77451e0785edac64cd282bb2dfbbb618ff835990f
SHA512
2d15dc9a2c80f7d59d376538ffaddb111b418ce131d93f0728503ab8e322af40ae34b767d1f8689e0460b8bba406be9e500e76c4c19531fab752d5dad0bf0ac5
+DIST firefox-128.5.0esr-lv.xpi 587204 BLAKE2B
cf4d9b7b72e0ab7e0d2c63e524f78b7da0c9856f29d20339c0743843b651599893a507e63430293e8dc06c70c74b7cb266fdf77363b35e1f22e9dfdc28cb43d2
SHA512
0ca54d0b8ea73c5e68747b3375dcd82a1f3c45edbecf18d4d9f0b5648085c4b5486c8e64c2b2a518b9236016af7f83de66cab8e5dc6aa964bd4f66440b8953a2
+DIST firefox-128.5.0esr-mk.xpi 495176 BLAKE2B
0d72e0d31a61c0718db7f68a00e55fd31b459375e63287cec7c982462b22154f0709953c4b171cb543523d80d20776cc4854fb3949076865d82dbc8f5b66c24d
SHA512
311c2de485d4b5f1282bab5913efdd34c0c7413671a503d381e97fb894bf724947396d03627a05d37b5a0d66c2ba770cb789ec28200a8856802186218b2e6c82
+DIST firefox-128.5.0esr-mr.xpi 533537 BLAKE2B
c0e1d9bae5ff185eb1841b541d17203ab70d124886eb862adc262d15b5c3df4fab5c677bbcbbd266c9de7e47062ad6e023f90224afe12c1da31099602ac33052
SHA512
70cdd38beb8d6d0149f5ff5aa4d2763aaa0b7c4a1c7d61a5c8a80cc45920d204dcb4c53ed22342cea9e4f5d5f60d733cfde971f76bfe5c17e187ea3d983a37bb
+DIST firefox-128.5.0esr-ms.xpi 451142 BLAKE2B
dbf6c9d06d044ad4141ce841f0f467308824a9cacd51ebad75dea83a70d38d4cc9438f821ff1bc9cd73d2892a659e207cb72d5cbe82593c1a23ef6e9306279e6
SHA512
06197be4751a09836947ddb13948d8173242fbfb76d0dc288a46a73541b7e30236bbc84fe9eed9ff80424e71b57985f8ca5244a7323615f83ccd01752b721ac4
+DIST firefox-128.5.0esr-my.xpi 519906 BLAKE2B
4d7ca1da23b2551ca7fe0994ad47eb5b63df71e622b37a557df1dd7bfef59c7493c7e68551848cfe88251dabed67a0c3987abb26dd586e2ea4be0308b58bbe80
SHA512
c6aeb649945f210373b30367ac2ef01a82fa70b549129d42e1edf93d19ecc2c8c27b928c6ade0722ee9e47f065b8f2cf8f99258dfa88b02fa45d73b72efd6ee2
+DIST firefox-128.5.0esr-nb-NO.xpi 620012 BLAKE2B
9d44a6d9baf809667e433dda649041059c8119952ae6f7983b8d03051970483921a24969bb17db544cd03d5044ded409cb63de4fc0590367c660ee164d2a068a
SHA512
6c933a8fe7853e09ff6f76ef0f6a639f1244815cce1e53cbe274811022a1c59ccafff3b4690635810a2b1d790019a70c73dc6c27e314e7d0e2489fc4ab494133
+DIST firefox-128.5.0esr-ne-NP.xpi 522141 BLAKE2B
39e12db84d0b20b5238591feef52e0254c4b36d1c04c322d2a901583ac21342dc79ebcdbf1ee5feb77cb900e436777b269d74ccf99e269283b656ed1c8f16ccd
SHA512
5c7e8c336037e639d8eb337dfc63676881857101aa75ba381563319c345e6d40c394d2d36725aa010a5baba281eaeec2c3fd583faff2f8e47f6d386f8659a837
+DIST firefox-128.5.0esr-nl.xpi 634306 BLAKE2B
816ebcae862111e10fa9a1d3330659f116531e97bf720cff0503562890d84a103ba13cacd927cacfccde08a33ed0e8d0144ae380e096e738de40afe0f4c800c6
SHA512
88c895dc9e21c50f7495ebe6b7addc30e0da1b9d4dc61310b50d5196a7b6f632875f031a6afc3bf11c084813c006fc8022377edd0b440e4557f515a738dbb8a8
+DIST firefox-128.5.0esr-nn-NO.xpi 622828 BLAKE2B
2f7d9f306186e6953277a234fa816553a4bac3180840d03fa83dc3a141c3e5c2db4be9e6d0ed964e1be4cb79cb7446a134b60f77be5b09a241f6f47958c9962a
SHA512
d5c0b34eaaa23170891119114490e1b503e263ba6b673cb48d4a6d9ffa2cb1f8cab244cc3e6cd24ce12a0f44287299a5e5a65ca784a67fadb64d9b51699cff3b
+DIST firefox-128.5.0esr-oc.xpi 615796 BLAKE2B
ac85c326bdb55f3544e4b6a67a85be4b2c5634ea21ec1d4db75a4dfa7c6fc97b50b5424dd3a754ed99907a1973d9e19e3b9713d1ae1c3451f5fa7f07d2e58961
SHA512
959864657193cbc1247167f636ce5a5315eaf18534f9d3f4ff2e0412bbbd36157dcc3a48de65ba033580105c7119c3799cab60b03fb6689d4a7a9a04d96c558e
+DIST firefox-128.5.0esr-pa-IN.xpi 711078 BLAKE2B
d4fb2ff97a7251846ed2f665185e15e9a10c54941cff7135a618d9fbe161661b855a7167861847c66314df237be4f181913eb35dcdba4af57c5007c20e3f33c5
SHA512
760b19d9105a054f99e73a2d71d1b3ff835f23a1b45224461e0e05e2529170c964f079784d217e4dbf7492c48d9139876627ba1dc6d0ed119fbf04517eab61d4
+DIST firefox-128.5.0esr-pl.xpi 648795 BLAKE2B
a3ba7ee52b2a9788c4620af22644f000fbbb77783617b427525c520a9ee1852d0b4cd57e3d009c2833fd3937b5402616dd13c4b30de50afa203d163da6873d18
SHA512
c308bebe509a0f0c238c514b34f3da3bbfa452917e6c780abeafe2f6c7b6ae3c48ef303e49b0b2d7a357c167dccd4a66fa6ae5a2871a283dfaabd5ebbec1b74f
+DIST firefox-128.5.0esr-pt-BR.xpi 638903 BLAKE2B
3cf77554c12876afffaaad4e1136faf29c8b1408de6abf03b674e53fd79b55653078d585d9e3bf8ea1c90e7238d76ca19dee29d97fe7ee1ca32db29ce435e8ee
SHA512
62bbb15b35648558d5be6cb8ae49cb1c8882ac36ad77742e509222bbc5e9153ea0059c36cc09903424bd5c5408b4f3cd41949919a077f56ba8cbf9a69e775317
+DIST firefox-128.5.0esr-pt-PT.xpi 642497 BLAKE2B
a7277c24cd2d04926313bba4f70f570d2ef89067e8a42eddf62e197b5cfef00c4297a975690d0bd2c5a98603066aa5ea2e27557cf9b54c519602e086f628b58a
SHA512
84f88d3cc17f1ec3911ae18c24de56ff0f9c50b3fb0e3e4a28c00ed55f99cb44ad79718183d2913a5f571ae55a87baca33657eca6ec256588f2ed31d0bda413b
+DIST firefox-128.5.0esr-rm.xpi 631434 BLAKE2B
908a75554c325efd071270cdb98ff0f6f8462639dbb67c0fe5c689f7313f460f92b5cd286aeae23374c45f0be91ec58cf1111c4fd57e644cc1fc91066a74d609
SHA512
2976576c37eba17a7650ab413fb5e5b76eb1a2432a10703a4c7dea3df29cd2ee79e2565da09b7e56ba9245582e256d0fb344a69242fd0e6bc8f3df65bfe6ea40
+DIST firefox-128.5.0esr-ro.xpi 551229 BLAKE2B
f4bb64241944818e267f88243031149cd5b78760ad5d62924b1fe32d5941e8f3c70b3e6ae51bc485d460f7a8142d5662156a431b9a5188a5843dd4cd28ea5133
SHA512
62dc43f4d8365a54aebe223050c4044ef17eef6841bc6704ecb1b926a4488f3ce84454163e8585c5f73faaedf4055184dddf49c343f8b687ad58fb5b01e0f504
+DIST firefox-128.5.0esr-ru.xpi 740413 BLAKE2B
63ba10987a8edf8e8532267b3596d74e5562f940f755543d8e7988b6512ac3a5584225bc013d9f537d93069df4a43456674d689fc6fe55096a4395a5314fb49a
SHA512
1424411b51b2730432a1626d9f9cc7eb68a109de411f59e4e2297d8e0d1ef394b0db29b7cbce7a1bd7bf02b63b54f430aa75497bfbbcc8cab49db17f5c8e669f
+DIST firefox-128.5.0esr-sc.xpi 598930 BLAKE2B
2d808d1def569d74a8b87c3855b4b3f5688910dc2a975c1dc3fb6226bfff0675f709bd1ec9aa82a140c65d36304e7dc0a2a308fda0dce960abb2d3008d712189
SHA512
8b50543180108ec56856670582119987018cd95e11a0e9bd4b6d940b412c0b95f0f15678bdf44a893f34a58da7049d0ad640cd04e65fcf51cbfa14a23386e8af
+DIST firefox-128.5.0esr-sco.xpi 512702 BLAKE2B
1c8dea92da3a1d6b2d21e6e539c5d49915c9b732d971d606abef5a2efc724271eedb4121b12b5d1a284042b045ad5c4552e1970dc418272c4efaa34f684940a2
SHA512
8714d65e4033a40945891d4c7a642517da5d8444116da8721bd7f2fc77f6c1deffd02c8d76338323d66df01be4b37c06c254f01f543344647e759475e0f9966d
+DIST firefox-128.5.0esr-si.xpi 621565 BLAKE2B
db1a8751759fb7e909dd8194321c55be66de647f9c19e655f78913e4efa0d59649b4bfbc38c3c4c2b1af4cc32b958697e0e96747728a89421292050b3b8e86bf
SHA512
7c743ca9a9399d412d004015f1c97e6ba52a0233bf29f720d049f0b8a2d9bc23f99d1e2609620c02a98e4c3c3c016b91b32c7501a8dcebdcbcf3ba55c6a89ac3
+DIST firefox-128.5.0esr-sk.xpi 670797 BLAKE2B
6fd01ebbd63b8b5c963272d16887f1bd132f671a9d9766d4af342aac31be9c42680c36e7d1a1a432b614ba016e6f1be5b0e77ec40cb10fa1c39df364102595c7
SHA512
9580d7473cb510b625ad0275d86240c526bbd36fe0a41082550938212e3bf332c0a9de0f950bd174a1773da82c675985e39c0d8fcb7aeb7a7be51dbdc481e22b
+DIST firefox-128.5.0esr-skr.xpi 722721 BLAKE2B
0664e624f354f160fe5ae9a5b84c6c26dc0c70064424dd1afbe6f0a0f97385d4f94c437870050b2a3df4199087d1c0656f2ed73c25c2866cfad91c750d3c2f9c
SHA512
5361fe0a1c3857a109691e0dc81549f804080917eef80e1c75013c6854a5ae5632951f95bf984cdef119319b2dd27b92eb8e54f828d289c439ee2b2c659ca7b5
+DIST firefox-128.5.0esr-sl.xpi 633860 BLAKE2B
6f0c669d8a493922bb394ec6226d6d159def50d87c63eec76ac5c876733a32c35c1acc02b20de11d1d2833897cb10a81c08d391c45d52b6560206694a4a43169
SHA512
dd399931b3196ec09090897499e12992bb02b83a6a5b536e6ac6712ee5480f14d0b13d5d473c8e55e40d2622879b424b30986f59b616a27b801dc990ad57bce7
+DIST firefox-128.5.0esr-son.xpi 417702 BLAKE2B
cea33351c4fe74c5da27de958234ca4d993b183807ad3ed5b6526a39d844ab3d234e149ed90f61ec279ebb2835e620cf2759646a828f842a70719aed020d4a93
SHA512
e885898840f5350fb646a5e4250fa5ef72e91c0a2e4f121722f1fb81f8b28a4b107bfc4c248f8375b0ef3e95e867db333fb35a3de684774235e0fd87e6c2c7f4
+DIST firefox-128.5.0esr-sq.xpi 652193 BLAKE2B
a69f9332849b61d4e842074de0d7ee178c8720489137f76c54a48530d01ef9c650c95bfb7cd44e6a7ef70e12b5792690ec9cb2399f419dbf435f48b43ac8e058
SHA512
3ec3d75e1ba3fa337f0abc319ebc8bb98e60e34af0f535bb74db3b81b57b8dfcae858520c2c60f391c2aec34fd22e6fb51b6826111af44661665ad86eb8a0415
+DIST firefox-128.5.0esr-sr.xpi 640912 BLAKE2B
4425e3e65ef39a1c208a889db66156f2fd8428293753c87196300ba52205d97fffa62ef1d7d35303c7d3388ab10135546253b9c5efae5a7ac5d0a534b6f2b77c
SHA512
817d6b062dc8476ca4ea38cedf188c87375bdaa90f5085c4e2698d3b77d362b27d7b37aace130fe2382b7ceb0df1f69e81b9540d7d187b94419d5edc7b36877e
+DIST firefox-128.5.0esr-sv-SE.xpi 635647 BLAKE2B
010031b05054ffb19f8c4354bc5745f2c37bcc048aa5403be0e95918fdfac3a5c59f181d4a745348fcdf5213ea401c291f2eb8285ad68a49e7875f02c106c706
SHA512
0df74db69cc6956318b9501317ae12fa0437a36d2d30e2421a426e5b9cb3ab11998a003a3f7e8027d0e78cdcd4b43aad33020bdad3cdc1324e554b6e67d143eb
+DIST firefox-128.5.0esr-szl.xpi 527823 BLAKE2B
0e708d8f49fd0558fbced1edf73bfe1a14a4c9ac0fed1495e839b200e027ab4eb65079cb7c2baa7c156b1a812c6207f7fb1629b1a81f71d3fdea20871588387d
SHA512
67c43f67a2c84cd26870c8a8a292c57f748a6ffd60964478e00826e3a1b33e87bc0a0b761155f07225cd01a525e7e76156ba3889ece13043d9f4a87d17591834
+DIST firefox-128.5.0esr-ta.xpi 508809 BLAKE2B
2c247bb90cdd35224cdfc4d49b866f44a5919b052d35e914c6471bd60bf36a45fa08b0e358111a15c7ef5714456b619863797d3fdcfd9d9437705855646420b6
SHA512
12a3068265e0b1b431d56dd668abc2aaf792bd09be42a64db05196675297dfa6e8d5da7dfb37ac31e254bfe207a301e20f32b24f6a76e946dece19127345818e
+DIST firefox-128.5.0esr-te.xpi 565160 BLAKE2B
00d4f6625bf2a5035fa72343f32f259b6f0aab55546ae1734f0d289b86cea749f51aff580499215699f766a79467b57c14ee6ce541a74e8e68d3b82fdeb1a7b9
SHA512
d0c9355ca3226438849d740174039c1f714c8a6480e47e75d887a8c2aafa12b38d788701e947aeaebaf07fb83182451aaaab7d35b1d0b89a1fe14debb1f9a0af
+DIST firefox-128.5.0esr-th.xpi 711779 BLAKE2B
33e46e6bedc551457cd39db50f0b336ea7a1d4e8189299fdff01ec99284ee4ec97a95d45d8d8c7b01982ae689abd3f921e8b03525c059b5cad2e564314c255c0
SHA512
cb2e2212b3bab0e7fd7f29d9cc07120ccec61ccb98e237fb52489fa3ecb1dad7f0eff6bb5ec519d861f0c55e12e7bd90eb0b87bb216df4b08957cf87cf1c39ac
+DIST firefox-128.5.0esr-tl.xpi 535600 BLAKE2B
c8042276f51481da17d0b674d1f99214a57677ec01735ba92e832a454b1442a63758359c3423a289d6917a7f81afbd55df273265bcb8678e7875bb049d0ad485
SHA512
4453462dcf124af65ae02c96720fa9286f80fc95cee2e67a4db849606b93b620b5b9561efa3fe7613baee57160341e7cb0dc795077ccf0d1be036f54aaedecd1
+DIST firefox-128.5.0esr-tr.xpi 649221 BLAKE2B
208973ddfa15c2c3ff1b0b2b293b9092b09d7f524adaadcd884261270292731958c5a9e8d6fc724b81488628025913de1ba9f4749579b49d436863c08d8f1543
SHA512
032c5c2f2f4fe4f04448a16f446fa20d70674dfb2009b0565decdb2299326cd4955c9492a166d4dc125020f4b12b84fe91b2604836961a85a52886853defa2ab
+DIST firefox-128.5.0esr-trs.xpi 505787 BLAKE2B
dcfb8300f2a515a9013b259009b68b1e9b18a2c1555e00e35a5cbf1fdc2c39d32c1924f2eab51ef6ace58f9cdb10446f9aaa538e64e2ace352ad0b6689b109a1
SHA512
adf3813f9ec52e77d4932be94b1e41294765ef21c5cf6a0d0194b4a1dfa0f6e07f0ee8e6d111a03f06353a1f96c0b37037a1b4f55d36bab4d5d5617b6b80a297
+DIST firefox-128.5.0esr-uk.xpi 731685 BLAKE2B
16ab44efdfde969c9badf307d044222b76226ae5513cfb85cf6c60403b46bf8312ebd9a2cb58c3f938d7fec5ae9371af202140f51a2a5ce299702657331fe281
SHA512
9fb88f63fd0497acbbb88b6f58a2553d213bcac41ddac028dcd9c4e0add84dbe6d45f4daea8b8ec191689a841eb56cd7f907c3e0e1e790161196fc302b1035b8
+DIST firefox-128.5.0esr-ur.xpi 561773 BLAKE2B
73668ce7e170c0fd0530ba8cd4f5427e69cf088c26ffbc7c607531fc2472367b3abc74c18555ebc467a3ed478e21ce8c10258ba77f4a4e3afb5a94b3dda6223b
SHA512
431adcd4f09704c367147d89b1a2a1d94cad27ebcef29a6fe3b7dbdaff05714581db803c617d8d474dd904010085dc0310b13ffc93dd723837c22ded6695b049
+DIST firefox-128.5.0esr-uz.xpi 480223 BLAKE2B
5d6531eacd7f9a0bf7b67d01916cb8a53bb5d0b40c8152054be6e0cf99ffe80033f29efd2333b3aec3de1b270dc5777e9a00d6c3269e616a33160d00a55b18af
SHA512
3a324ccc8333173005da7fbee426c1a2e0783ba9391f79af6e796d4fddcec9fb3ed96c6b11453699e1ba77be7337550a4050a3953f2dfcf1062b533978a31cd0
+DIST firefox-128.5.0esr-vi.xpi 673230 BLAKE2B
1010e299d30e13fe7006c39c03aebd69c8ee667e16e5fa42ddfbaf53659a8300f7411697263c3d60fbcc327c11fc4f2de5bdb83cac8abe32550e88fc0c8ecdf9
SHA512
554db3cf392915557fccfcee615f3c258a11cadb1f7bd9983639ccd3415787c883786bd3e854f3ea7cba12c50aebb8a9df6cdf0f3722a5842a3a64bbb2e22395
+DIST firefox-128.5.0esr-xh.xpi 418474 BLAKE2B
3e14235a1ea016f8d82f2e7f29b53eab2a06c327cf95119e72632a35aae48018c62105b62fd36b0b1ddc132943625080600721947f39a5d2e907cbcebb74ae0a
SHA512
7e81bd25510900c2ecc5976e931eb3e2fa7b3aa4dc7a7bb464686961e2c5fd2773d7f4b37b3ae657a092af0bc3983b1db625f3a0fc4d7b900ecbf17ae4a969e9
+DIST firefox-128.5.0esr-zh-CN.xpi 675204 BLAKE2B
0536f48da6a89b1a6a6e60918d563c80ec92d08ac49cf423f7e38161c2e34c8be6b55ab7c7163aaf48b9970895674993067c4e685e5623a35c6876512eade886
SHA512
891fbf921523da76afbafe2c308aecead7839b8be1b9fce964f3e6e2604bc7454743dcf11e0ee28fba982ea9004c6afa8c4a5d044c0a0a74cf48735661ca4e7d
+DIST firefox-128.5.0esr-zh-TW.xpi 677436 BLAKE2B
54f2e2256e57188f88994d7a61e0f7361f13e62a6c91fefa888b324a3749687f754ce58aea42e367e94008b95a97c31736f20118092c055efeaf5a98e99dbee2
SHA512
7a3edc3ccae0d2a47facc2e43a78c77cd4ba34ad086502c4b5897cd3e2b22a8b0a0faad14b52015611eabb31b656fbfc1a1132622bf3cb135f97ef4285061a53
+DIST firefox-128.5.0esr.source.tar.xz 567200548 BLAKE2B
b524796854d4f622e90c219e4e302e5665f3f1e3ffb7935ba58244903dbcf1c2b9a13731e9af5507ffc25dda621d4ea13650aae842ed0317843182da55d1d652
SHA512
ff20f18f92c5e9cd1d9eaf7c38cec61bcab2dca8dd2817519b712bc1f760b5c6e290212acf3289152764e5130e01626950b7ecd9327b2c587b24a246591afd67
DIST firefox-128esr-patches-04.tar.xz 14416 BLAKE2B
0ffe3fd568480e37fe28fe71d5304e51028dcb8cb2d5fc1d838d725bdd36971696d7152c37bd90f7802c75e696aef0b1b075d386a906b40635f25083a6a58239
SHA512
adbac956dc2d6c1c29fb6641a42096bfd033a662f69e177f8d75a928f46d30fbc811e8a9ca24de8c7eb675ee80f6c1187f1a13dbca8e75782abfd54e276f5854
+DIST firefox-128esr-patches-06.tar.xz 17168 BLAKE2B
fc0a72af6a87519a86e44862a9c3d142cac600c9150b5bc4168cbc6de30beb0dde2a5985d74b51c9b977ee5272786c5a98804fb6d16968c4f517b28deae00fe1
SHA512
04c28f6f97a596e811e986bcbe9f5dd5045c24e7eb4b9bef6180d46948a9f3b978f44bb0b161a25f6217e9c0a18d88726b82737a72b711b90876da26d947a256
DIST firefox-132-patches-02.tar.xz 14984 BLAKE2B
9ae56d19ba391bbc53a6babc72bf956c7bfda293aec52f5b1af3994238494d9c311e943593f6d8c2b89f7b24a50281f07248e684a6a6ec4a3f54ba1792125faf
SHA512
9299d41830d91ebe558229149afbf66ade18f3925d5d30a603eec6115a16ce4d5e6c0a03193e0967ecad35fe4bfc1bc639f858a6df44372132541fd1aff149b3
DIST firefox-132-patches-04.tar.xz 15164 BLAKE2B
a485bd2f57220727ec4447def964d2fba0f2d3421e35644906dc20fdf5aa086d13952d4270b16a8268518ae21ff77c7e47c6093559b901c3542cc0e5bc1ced57
SHA512
1077439c4db0dbd7f415fcbb74a37d535483c1f9953c66770cbc4ed221f8e68c17d2cd897f3a07736924e9b17d18f2a1b8be6336b9e61a42dc69d54b7b469fcb
DIST firefox-132.0.1-ach.xpi 467451 BLAKE2B
cad4ed35bfd827d5e629cf478d46b85b9547728555aeccc684238caab763149eabed9771f05e4906923f1b7119190022e39e32fbe3ef0d41a95c1604a6582764
SHA512
6a1a50a19dbdc9198dd6336b53ca9e906a48e3f880d176a3e3d9b29559c0780868b18a2002c57dccaff901b651978c2cc6a4a7f3373dfe4a4ef77be630e0ebd3
diff --git a/www-client/firefox/firefox-128.5.0.ebuild
b/www-client/firefox/firefox-128.5.0.ebuild
new file mode 100644
index 000000000000..f651bb46d218
--- /dev/null
+++ b/www-client/firefox/firefox-128.5.0.ebuild
@@ -0,0 +1,1368 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+FIREFOX_PATCHSET="firefox-128esr-patches-06.tar.xz"
+
+LLVM_COMPAT=( 17 18 19 )
+
+PYTHON_COMPAT=( python3_{10..12} )
+PYTHON_REQ_USE="ncurses,sqlite,ssl"
+
+# This will also filter rust versions that don't match LLVM_COMPAT in the
non-clang path; this is fine.
+RUST_NEEDS_LLVM=1
+# If not building with clang we need at least rust 1.76
+RUST_MIN_VER=1.77.1
+
+WANT_AUTOCONF="2.1"
+
+VIRTUALX_REQUIRED="manual"
+
+# Information about the bundled wasm toolchain from
+# https://github.com/WebAssembly/wasi-sdk/
+WASI_SDK_VER=24.0
+WASI_SDK_LLVM_VER=18
+
+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"
+ HOMEPAGE="https://www.mozilla.org/firefox
https://www.mozilla.org/firefox/enterprise/"
+ SLOT="esr"
+else
+ HOMEPAGE="https://www.mozilla.org/firefox"
+ SLOT="rapid"
+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-r1 multiprocessing \
+ optfeature pax-utils python-any-r1 readme.gentoo-r1 rust
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"
+SRC_URI="${MOZ_SRC_BASE_URI}/source/${MOZ_P}.source.tar.xz ->
${MOZ_P_DISTFILES}.source.tar.xz
+ ${PATCH_URIS[@]}
+ wasm? (
+ amd64? (
https://github.com/WebAssembly/wasi-sdk/releases/download/wasi-sdk-${WASI_SDK_VER/.*/}/wasi-sdk-${WASI_SDK_VER}-x86_64-linux.tar.gz
)
+ arm64? (
https://github.com/WebAssembly/wasi-sdk/releases/download/wasi-sdk-${WASI_SDK_VER/.*/}/wasi-sdk-${WASI_SDK_VER}-arm64-linux.tar.gz
)
+ )"
+S="${WORKDIR}/${PN}-${PV%_*}"
+LICENSE="MPL-2.0 GPL-2 LGPL-2.1"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
+
+IUSE="+clang dbus debug eme-free hardened hwaccel jack libproxy pgo pulseaudio
selinux sndio"
+IUSE+=" +system-av1 +system-harfbuzz +system-icu +system-jpeg +system-libevent
+system-libvpx"
+IUSE+=" system-png +system-webp wayland wifi +X"
+
+# Firefox-only IUSE
+IUSE+=" +gmp-autoupdate gnome-shell +jumbo-build openh264 +telemetry wasm"
+
+REQUIRED_USE="|| ( X wayland )
+ debug? ( !system-av1 )
+ wayland? ( dbus )
+ wifi? ( dbus )"
+
+FF_ONLY_DEPEND="!www-client/firefox:0
+ selinux? ( sec-policy/selinux-mozilla )"
+BDEPEND="${PYTHON_DEPS}
+ $(llvm_gen_dep '
+ sys-devel/clang:${LLVM_SLOT}
+ sys-devel/llvm:${LLVM_SLOT}
+ clang? (
+ sys-devel/lld:${LLVM_SLOT}
+ pgo? (
sys-libs/compiler-rt-sanitizers:${LLVM_SLOT}[profile] )
+ )
+ wasm? ( sys-devel/lld:${LLVM_SLOT} )
+ ')
+ app-alternatives/awk
+ app-arch/unzip
+ app-arch/zip
+ >=dev-util/cbindgen-0.26.0
+ net-libs/nodejs
+ virtual/pkgconfig
+ 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.101
+ >=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:2
+ x11-libs/pango
+ x11-libs/pixman
+ dbus? (
+ 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 )
+ system-av1? (
+ >=media-libs/dav1d-1.0.0:=
+ >=media-libs/libaom-1.0.0:=
+ )
+ system-harfbuzz? (
+ >=media-libs/harfbuzz-2.8.1:0=
+ !wasm? ( >=media-gfx/graphite2-1.3.13 )
+ )
+ 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]
+ )
+ wifi? (
+ kernel_linux? (
+ || (
+ net-misc/networkmanager
+ net-misc/connman[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/libXrandr
+ 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
+ )"
+
+# ESR and rapid dependencies.
+if [[ -n ${MOZ_ESR} ]] ; then
+ RDEPEND+=" !www-client/firefox:rapid"
+else
+ RDEPEND+=" !www-client/firefox:esr"
+fi
+
+# 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
+ 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!" >&2
+ einfo "Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
+ return 1
+ 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+=( skr )
+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}"
+}
+
+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 || tc-is-lto || use debug ; then
+ CHECKREQS_DISK_BUILD="13500M"
+ else
+ CHECKREQS_DISK_BUILD="6600M"
+ fi
+
+ check-reqs_pkg_pretend
+ fi
+}
+
+pkg_setup() {
+
+ # Get LTO from environment; export after this phase for use in
src_configure (etc)
+ use_lto=no
+
+ if [[ ${MERGE_TYPE} != binary ]] ; then
+
+ if tc-is-lto; then
+ use_lto=yes
+ # LTO is handled via configure
+ filter-lto
+ fi
+
+ if use pgo ; then
+ if ! has userpriv ${FEATURES} ; then
+ eerror "Building ${PN} with USE=pgo and
FEATURES=-userpriv is not supported!"
+ fi
+ fi
+
+ if [[ ${use_lto} = yes ]]; then
+ # -Werror=lto-type-mismatch -Werror=odr are going to
fail with GCC,
+ # bmo#1516758, bgo#942288
+ filter-flags -Werror=lto-type-mismatch -Werror=odr
+ fi
+
+ # Ensure we have enough disk space to compile
+ if use pgo || [[ ${use_lto} == "yes" ]] || use debug ; then
+ CHECKREQS_DISK_BUILD="13500M"
+ else
+ CHECKREQS_DISK_BUILD="6400M"
+ fi
+
+ check-reqs_pkg_setup
+ llvm-r1_pkg_setup
+ rust_pkg_setup
+ 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
+
+ export use_lto
+
+ 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} == "yes" ]]; then
+ rm -v
"${WORKDIR}"/firefox-patches/*-LTO-Only-enable-LTO-*.patch || die
+ fi
+
+ # Workaround for bgo#917599
+ if has_version ">=dev-libs/icu-74.1" && use system-icu ; then
+ eapply
"${WORKDIR}"/firefox-patches/*-bmo-1862601-system-icu-74.patch
+ fi
+ rm -v "${WORKDIR}"/firefox-patches/*-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"
+ elif use ppc64 ; then
+ export RUST_TARGET="powerpc64le-unknown-linux-musl"
+ elif use riscv ; then
+ # We can pretty safely rule out any 32-bit riscvs, but
64-bit riscvs also have tons of
+ # different ABIs available.
riscv64gc-unknown-linux-musl seems to be the best working
+ # guess right now though.
+ elog "riscv detected, forcing a riscv64 target for now."
+ export RUST_TARGET="riscv64gc-unknown-linux-musl"
+ else
+ die "Unknown musl chost, please post a new bug with
your rustc -vV along with emerge --info"
+ fi
+ fi
+
+ # Pre-built wasm path manipulation.
+ if use wasm ; then
+ if use amd64 ; then
+ export wasi_arch="x86_64"
+ elif use arm64 ; then
+ export wasi_arch="arm64"
+ else
+ die "wasm enabled on unknown/unsupported arch!"
+ fi
+
+ sed -i \
+ -e "s:%%PORTAGE_WORKDIR%%:${WORKDIR}:" \
+ -e "s:%%WASI_ARCH%%:${wasi_arch}:" \
+ -e "s:%%WASI_SDK_VER%%:${WASI_SDK_VER}:" \
+ -e "s:%%WASI_SDK_LLVM_VER%%:${WASI_SDK_LLVM_VER}:" \
+ toolkit/moz.configure || die "Failed to update
wasi-related paths."
+ fi
+
+ # Make LTO respect MAKEOPTS
+ sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \
+ "${S}"/build/moz.configure/lto-pgo.configure || die "Failed
sedding multiprocessing.cpu_count"
+
+ # Make ICU respect MAKEOPTS
+ sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \
+ "${S}"/intl/icu_sources_data.py || die "Failed sedding
multiprocessing.cpu_count"
+
+ # Respect MAKEOPTS all around (maybe some find+sed is better)
+ sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \
+ "${S}"/python/mozbuild/mozbuild/base.py || die "Failed sedding
multiprocessing.cpu_count"
+
+ sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \
+ "${S}"/third_party/libwebrtc/build/toolchain/get_cpu_count.py
|| die "Failed sedding multiprocessing.cpu_count"
+
+ sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \
+
"${S}"/third_party/libwebrtc/build/toolchain/get_concurrent_links.py ||
+ die "Failed sedding multiprocessing.cpu_count"
+
+ sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \
+ "${S}"/third_party/python/gyp/pylib/gyp/input.py || die "Failed
sedding multiprocessing.cpu_count"
+
+ sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \
+ "${S}"/python/mozbuild/mozbuild/code_analysis/mach_commands.py
|| die "Failed sedding multiprocessing.cpu_count"
+
+ # 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 checksums from cargo crates we've manually patched.
+ # moz_clear_vendor_checksums xyz
+
+ # Respect choice for "jumbo-build"
+ # Changing the value for FILES_PER_UNIFIED_FILE may not work, see
#905431
+ if [[ -n ${FILES_PER_UNIFIED_FILE} ]] && use jumbo-build; then
+ local my_files_per_unified_file=${FILES_PER_UNIFIED_FILE:=16}
+ elog ""
+ elog "jumbo-build defaults modified to
${my_files_per_unified_file}."
+ elog "if you get a build failure, try undefining
FILES_PER_UNIFIED_FILE,"
+ elog "if that fails try -jumbo-build before opening a bug
report."
+ elog ""
+
+ sed -i -e "s/\"FILES_PER_UNIFIED_FILE\",
16/\"FILES_PER_UNIFIED_FILE\", "${my_files_per_unified_file}"/" \
+ python/mozbuild/mozbuild/frontend/data.py ||
+ die "Failed to adjust FILES_PER_UNIFIED_FILE in
python/mozbuild/mozbuild/frontend/data.py"
+ sed -i -e "s/FILES_PER_UNIFIED_FILE = 6/FILES_PER_UNIFIED_FILE
= "${my_files_per_unified_file}"/" \
+ js/src/moz.build ||
+ die "Failed to adjust FILES_PER_UNIFIED_FILE in
js/src/moz.build"
+ fi
+
+ # Create build dir
+ BUILD_DIR="${WORKDIR}/${PN}_build"
+ mkdir -p "${BUILD_DIR}" || die
+
+ # Write API keys to disk
+ echo -n "${MOZ_API_KEY_GOOGLE//gGaPi/}" > "${S}"/api-google.key || die
+ echo -n "${MOZ_API_KEY_LOCATION//gGaPi/}" > "${S}"/api-location.key ||
die
+ echo -n "${MOZ_API_KEY_MOZILLA//m0ap1/}" > "${S}"/api-mozilla.key || die
+
+ xdg_environment_reset
+}
+
+src_configure() {
+ # Show flags set at the beginning
+ einfo "Current BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}"
+ einfo "Current CFLAGS:\t\t${CFLAGS:-no value set}"
+ einfo "Current CXXFLAGS:\t\t${CXXFLAGS:-no value set}"
+ einfo "Current LDFLAGS:\t\t${LDFLAGS:-no value set}"
+ einfo "Current RUSTFLAGS:\t\t${RUSTFLAGS:-no value set}"
+
+ local have_switched_compiler=
+ if use clang; then
+ # Force clang
+ einfo "Enforcing the use of clang due to USE=clang ..."
+
+ local version_clang=$(clang --version 2>/dev/null | grep -F --
'clang version' | awk '{ print $3 }')
+ [[ -n ${version_clang} ]] && version_clang=$(ver_cut 1
"${version_clang}")
+ [[ -z ${version_clang} ]] && die "Failed to read clang version!"
+
+ if tc-is-gcc; then
+ have_switched_compiler=yes
+ fi
+
+ AR=llvm-ar
+ CC=${CHOST}-clang-${version_clang}
+ CXX=${CHOST}-clang++-${version_clang}
+ NM=llvm-nm
+ RANLIB=llvm-ranlib
+ elif ! use clang && ! tc-is-gcc ; then
+ # Force gcc
+ have_switched_compiler=yes
+ einfo "Enforcing the use of gcc due to USE=-clang ..."
+ AR=gcc-ar
+ CC=${CHOST}-gcc
+ CXX=${CHOST}-g++
+ NM=gcc-nm
+ RANLIB=gcc-ranlib
+ fi
+
+ if [[ -n "${have_switched_compiler}" ]] ; then
+ # Because we switched active compiler we have to ensure
+ # that no unsupported flags are set
+ strip-unsupported-flags
+ fi
+
+ # Ensure we use correct toolchain,
+ # AS is used in a non-standard way by upstream, #bmo1654031
+ export HOST_CC="$(tc-getBUILD_CC)"
+ export HOST_CXX="$(tc-getBUILD_CXX)"
+ export AS="$(tc-getCC) -c"
+
+ # Configuration tests expect llvm-readelf output, bug 913130
+ READELF="llvm-readelf"
+
+ tc-export CC CXX LD AR AS NM OBJDUMP RANLIB READELF PKG_CONFIG
+
+ # Pass the correct toolchain paths through cbindgen
+ if tc-is-cross-compiler ; then
+ export BINDGEN_CFLAGS="${SYSROOT:+--sysroot=${ESYSROOT}}
--target=${CHOST} ${BINDGEN_CFLAGS-}"
+ fi
+
+ # Set MOZILLA_FIVE_HOME
+ export MOZILLA_FIVE_HOME="/usr/$(get_libdir)/${PN}"
+
+ # python/mach/mach/mixin/process.py fails to detect SHELL
+ export SHELL="${EPREFIX}/bin/bash"
+
+ # Set state path
+ export MOZBUILD_STATE_PATH="${BUILD_DIR}"
+
+ # Set MOZCONFIG
+ export MOZCONFIG="${S}/.mozconfig"
+
+ # Initialize MOZCONFIG
+ mozconfig_add_options_ac '' --enable-application=browser
+ mozconfig_add_options_ac '' --enable-project=browser
+
+ # Set Gentoo defaults
+ if use telemetry; then
+ export MOZILLA_OFFICIAL=1
+ fi
+
+ mozconfig_add_options_ac 'Gentoo default' \
+ --allow-addon-sideload \
+ --disable-cargo-incremental \
+ --disable-crashreporter \
+ --disable-disk-remnant-avoidance \
+ --disable-geckodriver \
+ --disable-gpsd \
+ --disable-install-strip \
+ --disable-legacy-profile-creation \
+ --disable-parental-controls \
+ --disable-strip \
+ --disable-tests \
+ --disable-updater \
+ --disable-valgrind \
+ --disable-wmf \
+ --enable-negotiateauth \
+ --enable-new-pass-manager \
+ --enable-official-branding \
+ --enable-release \
+ --enable-system-ffi \
+ --enable-system-pixman \
+ --enable-system-policies \
+ --host="${CBUILD:-${CHOST}}" \
+ --libdir="${EPREFIX}/usr/$(get_libdir)" \
+ --prefix="${EPREFIX}/usr" \
+ --target="${CHOST}" \
+ --without-ccache \
+ --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 ; 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, since it's not activated
automatically via "known arches" list.
+ # Update 128.1.0: Disable jit on riscv (this line can be blanked to
disable by default),
+ # bgo#937867.
+ use riscv && mozconfig_add_options_ac 'Disable JIT for RISC-V 64'
--disable-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-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
+
+ if use hardened ; then
+ mozconfig_add_options_ac "+hardened" --enable-hardening
+ append-ldflags "-Wl,-z,relro -Wl,-z,now"
+
+ # Increase the FORTIFY_SOURCE value, #910071.
+ sed -i -e '/-D_FORTIFY_SOURCE=/s:2:3:'
"${S}"/build/moz.configure/toolchain.configure || die
+ fi
+
+ local myaudiobackends=""
+ use jack && myaudiobackends+="jack,"
+ use sndio && myaudiobackends+="sndio,"
+ use pulseaudio && myaudiobackends+="pulseaudio,"
+ ! use pulseaudio && myaudiobackends+="alsa,"
+
+ mozconfig_add_options_ac '--enable-audio-backends'
--enable-audio-backends="${myaudiobackends::-1}"
+
+ mozconfig_use_enable wifi necko-wifi
+
+ ! use jumbo-build && mozconfig_add_options_ac '--disable-unified-build'
--disable-unified-build
+
+ if use X && use wayland ; then
+ mozconfig_add_options_ac '+x11+wayland'
--enable-default-toolkit=cairo-gtk3-x11-wayland
+ elif ! use X && use wayland ; then
+ mozconfig_add_options_ac '+wayland'
--enable-default-toolkit=cairo-gtk3-wayland-only
+ else
+ mozconfig_add_options_ac '+x11'
--enable-default-toolkit=cairo-gtk3-x11-only
+ fi
+
+ # wasm
+ # Since graphite2 is one of the sandboxed libraries, system-graphite2
obviously can't work with +wasm.
+ if use wasm ; then
+ mozconfig_add_options_ac '+wasm'
--with-wasi-sysroot="${WORKDIR}/wasi-sdk-${WASI_SDK_VER}-${wasi_arch}-linux/share/wasi-sysroot/"
+ else
+ mozconfig_add_options_ac 'no wasm-sandbox'
--without-wasm-sandboxed-libraries
+ mozconfig_use_with system-harfbuzz system-graphite2
+ fi
+
+ if [[ ${use_lto} == "yes" ]] ; then
+ if use clang ; then
+ # Upstream only supports lld or mold when using clang.
+ if tc-ld-is-mold ; then
+ # mold expects the -flto line from *FLAGS
configuration, bgo#923119
+ append-ldflags "-flto=thin"
+ 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
+
+ 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
+
+ # PGO was moved outside lto block to allow building pgo without lto.
+ 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
+
+ mozconfig_use_enable debug
+ if use debug ; then
+ mozconfig_add_options_ac '+debug' --disable-optimize
+ mozconfig_add_options_ac '+debug' --enable-jemalloc
+ 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*'
+
+ # elf-hack
+ # Filter "-z,pack-relative-relocs" and let the build system handle it
instead.
+ if use amd64 || use x86 ; then
+ filter-flags "-z,pack-relative-relocs"
+
+ if tc-ld-is-mold ; then
+ # relr-elf-hack is currently broken with mold,
bgo#916259
+ mozconfig_add_options_ac 'disable elf-hack with mold
linker' --disable-elf-hack
+ else
+ mozconfig_add_options_ac 'relr elf-hack'
--enable-elf-hack=relr
+ fi
+ elif use ppc64 || use riscv ; then
+ # '--disable-elf-hack' is not recognized on ppc64/riscv,
+ # see bgo #917049, #930046
+ :;
+ else
+ mozconfig_add_options_ac 'disable elf-hack on non-supported
arches' --disable-elf-hack
+ fi
+
+ if ! use elibc_glibc; then
+ mozconfig_add_options_ac '!elibc_glibc' --disable-jemalloc
+ fi
+
+ # System-av1 fix
+ use system-av1 && append-ldflags "-Wl,--undefined-version"
+
+ # 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
+
+ export MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE="none"
+
+ if ! use telemetry; then
+ mozconfig_add_options_mk '-telemetry setting'
"MOZ_CRASHREPORTER=0"
+ mozconfig_add_options_mk '-telemetry setting'
"MOZ_DATA_REPORTING=0"
+ mozconfig_add_options_mk '-telemetry setting'
"MOZ_SERVICES_HEALTHREPORT=0"
+ mozconfig_add_options_mk '-telemetry setting'
"MOZ_TELEMETRY_REPORTING=0"
+ fi
+
+ # Disable notification when build system has finished
+ export MOZ_NOSPAM=1
+
+ # Portage sets XARGS environment variable to "xargs -r" by default which
+ # breaks build system's check_prog() function which doesn't support
arguments
+ mozconfig_add_options_ac 'Gentoo default'
"XARGS=${EPREFIX}/usr/bin/xargs"
+
+ # Set build dir
+ mozconfig_add_options_mk 'Gentoo default' "MOZ_OBJDIR=${BUILD_DIR}"
+
+ # Show flags we will use
+ einfo "Build BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}"
+ einfo "Build CFLAGS:\t\t${CFLAGS:-no value set}"
+ einfo "Build CXXFLAGS:\t\t${CXXFLAGS:-no value set}"
+ einfo "Build LDFLAGS:\t\t${LDFLAGS:-no value set}"
+ einfo "Build RUSTFLAGS:\t\t${RUSTFLAGS:-no value set}"
+
+ # Handle EXTRA_CONF and show summary
+ local ac opt hash reason
+
+ # Apply EXTRA_ECONF entries to $MOZCONFIG
+ if [[ -n ${EXTRA_ECONF} ]] ; then
+ IFS=\! read -a ac <<<${EXTRA_ECONF// --/\!}
+ for opt in "${ac[@]}"; do
+ mozconfig_add_options_ac "EXTRA_ECONF" --${opt#--}
+ done
+ fi
+
+ echo
+ echo "=========================================================="
+ echo "Building ${PF} with the following configuration"
+ grep ^ac_add_options "${MOZCONFIG}" | while read ac opt hash reason; do
+ [[ -z ${hash} || ${hash} == \# ]] \
+ || die "error reading mozconfig: ${ac} ${opt} ${hash}
${reason}"
+ printf " %-30s %s\n" "${opt}" "${reason:-mozilla.org
default}"
+ done
+ echo "=========================================================="
+ echo
+
+ ./mach configure || die
+}
+
+src_compile() {
+ local virtx_cmd=
+
+ if [[ ${use_lto} == "yes" ]] && tc-ld-is-mold ; 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
+
+ # Install the vaapitest binary on supported arches (122.0
supports all platforms, bmo#1865969)
+ exeinto "${MOZILLA_FIVE_HOME}"
+ doexe "${BUILD_DIR}"/dist/bin/vaapitest
+
+ # Install the v4l2test on supported arches (+ arm, + riscv64
when keyworded)
+ if use arm64 ; then
+ exeinto "${MOZILLA_FIVE_HOME}"
+ doexe "${BUILD_DIR}"/dist/bin/v4l2test
+ 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
+
+ # Add telemetry config prefs, just in case something happens in future
and telemetry build
+ # options stop working.
+ if ! use telemetry ; then
+ cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set telemetry
prefs"
+ sticky_pref("toolkit.telemetry.dap_enabled", false);
+ pref("toolkit.telemetry.dap_helper", "");
+ pref("toolkit.telemetry.dap_leader", "");
+ 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 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 exec_command="${PN}"
+ local icon="${PN}"
+ local use_wayland="false"
+
+ if [[ -n ${MOZ_ESR} ]] ; then
+ local desktop_filename="${PN}-esr.desktop"
+ else
+ local desktop_filename="${PN}.desktop"
+ fi
+
+ 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
+
+ if use gnome-shell ; then
+ # Install search provider for Gnome
+ insinto /usr/share/gnome-shell/search-providers/
+ doins
browser/components/shell/search-provider-files/org.mozilla.firefox.search-provider.ini
+
+ insinto /usr/share/dbus-1/services/
+ doins
browser/components/shell/search-provider-files/org.mozilla.firefox.SearchProvider.service
+
+ # Toggle between rapid and esr desktop file names
+ sed -e "s/firefox.desktop/${desktop_filename}/g" \
+ -i
"${ED}/usr/share/gnome-shell/search-providers/org.mozilla.firefox.search-provider.ini"
||
+ die "Failed to sed
org.mozilla.firefox.search-provider.ini file."
+
+ # Make the dbus service aware of a previous session, bgo#939196
+ sed -e \
+
"s/Exec=\/usr\/bin\/firefox/Exec=\/usr\/$(get_libdir)\/firefox\/firefox
--dbus-service \/usr\/bin\/firefox/g" \
+ -i
"${ED}/usr/share/dbus-1/services/org.mozilla.firefox.SearchProvider.service" ||
+ die "Failed to sed
org.mozilla.firefox.SearchProvider.service dbus file"
+
+ # Update prefs to enable Gnome search provider
+ cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to enable
gnome-search-provider via prefs"
+ pref("browser.gnome-search-provider.enabled", true);
+ EOF
+ fi
+
+ # 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:@DEFAULT_WAYLAND@:${use_wayland}:" \
+ "${ED}/usr/bin/${PN}" || die
+
+ readme.gentoo_create_doc
+}
+
+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
+
+ # 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
+ optfeature "screencasting with pipewire" sys-apps/xdg-desktop-portal
+ 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
+}