commit: 1b3afea5ecb979d525394900b7e881c011f7c215
Author: Joonas Niilola <juippis <AT> gentoo <DOT> org>
AuthorDate: Thu May 1 06:35:19 2025 +0000
Commit: Joonas Niilola <juippis <AT> gentoo <DOT> org>
CommitDate: Thu May 1 06:35:19 2025 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=1b3afea5
www-client/firefox: add 128.10.0
- include a custom patch for "-jumbo-build" ffmpeg includes.
Signed-off-by: Joonas Niilola <juippis <AT> gentoo.org>
www-client/firefox/Manifest | 102 ++
www-client/firefox/firefox-128.10.0.ebuild | 1380 ++++++++++++++++++++++++++++
2 files changed, 1482 insertions(+)
diff --git a/www-client/firefox/Manifest b/www-client/firefox/Manifest
index 52b5827ce53c..9891458c0951 100644
--- a/www-client/firefox/Manifest
+++ b/www-client/firefox/Manifest
@@ -1,3 +1,104 @@
+DIST firefox-128.10.0esr-ach.xpi 482241 BLAKE2B
869095e0d063e169d62800d4939c95327824443c7e0aa0c64584f01f9f4b4a236a39b0ed319273f14ea9b79927d0253f7b2cc5aa3012a8069b73f748c8ecaa38
SHA512
04122b384bf2737f881ca0e0458c8c74babab3ac9021a5d6a3a8d281b5c26dbf7c787eabd32db29304b82165fec38c74a1b8b1e5727f90287a76fa2ceee0a828
+DIST firefox-128.10.0esr-af.xpi 446595 BLAKE2B
273a1a427f832a7ce55d907a286ec1ee58a7345a38b3d15489f5bbe81bf8284d955f49c6d549589d8b125c935e6810e198473c973157ba051ce90e60650f261d
SHA512
a1aac9199c4207fc39346c414730e53a2a73228217eb4f02c2ebb0fdcc96c5078ba0cd1dc8ee240a59893944cb850be5daff7f6820fd92e127b3c9de8afe1f3a
+DIST firefox-128.10.0esr-an.xpi 526064 BLAKE2B
9ceca5a08fe011821de19c2687f2b4a0897034f5b707b4cdbcd5f72c26621e9f18a8873ca0ee57215f42073720c111ed5a80213663d724fef610e9919d29e4f3
SHA512
beeea0e959607bb5f35eb21b3af69ef3d84650d9e8ca3e3010893cb410e8c0e70aa4906cfa23f7c1db904a1d78cfa89959ac21693aba27578aed5faaa1b8a67e
+DIST firefox-128.10.0esr-ar.xpi 650467 BLAKE2B
2f6619f68908bce6d062cce14e55caefd879519a38ab3b48e3f2c4de4fae522463d146beb1d7c9183ded9a384754a036e0e261a14a0f410ea19fadc388b77264
SHA512
3170e04048912ae83f82f23ec76f9a4768a5e458f9199dcd2fd6f85a5712b69f6835920519f35f537c700f1bda9150c330841ec2bfc0453dbe931a7317cc7159
+DIST firefox-128.10.0esr-ast.xpi 508561 BLAKE2B
030903b41f61526a438492289643a70ac176e403e758f5e748f34f4d16e1c7ba300e0ad7a9931eae6f747cd9475d4a423ef3456db2b6fd9aed2a4d6784b851d1
SHA512
9afd82842c95e4a1305b7e7b5204ad72f1438bc22074df56e4bc018ebb6f6d580bbfc3fa9dc3137dca76ef6bdcb38ba7d0cb963ab575bd6dcdf3b6869abb1b9d
+DIST firefox-128.10.0esr-az.xpi 509836 BLAKE2B
bc8e875e180cf189d2d428f126cf354ea06e2a73deec7e17934d57490d431cc5f2978be35964375a6d36d64d008772248b068a0b66804c3918f5668e50da54bf
SHA512
3ba9c3de0cf3612f531452f2f12de66387091eae5f4bc2440f4e78ec4e64bf90a76b225f2b4d6a90dd356c989324f6b0a0ae2802080c6cedbf524599fcc13a2e
+DIST firefox-128.10.0esr-be.xpi 748095 BLAKE2B
767c06c8dbabcf1609a9a831a32e3393b8e59a7ada031c9ef431e53c75bc9c33704e64948799bcbd3b7f40e2613d5fd1a4817eaefc038341e682f3296eec3ee8
SHA512
6fc1bfdc1bc487baee676674c8aafba8ba4382314dcb55f5cb1f997af1cbc8586148036c7971e193485fb3fd424e1983ef2c7c360452f2f2c1f5c671a6721c8e
+DIST firefox-128.10.0esr-bg.xpi 672065 BLAKE2B
116c643f89feba2594d4370286e68548a96f1e06f5254a027e4cb831bca1d97075afedd36407c5fd5a9f04f187fac0372654390b7122c5a8d87e9bdbff0317d3
SHA512
4568954fb53c3b9efe3f1edb14a2c05ec7e85038b17a61fb86eec8e03ef564bd96a19f78cbc8b86973517cd9360d927fc043c7cf8812152e4cf966d8feca2996
+DIST firefox-128.10.0esr-bn.xpi 624737 BLAKE2B
8568e0b390fca4df3ac289e5d89fef7f8afc4c4aa1e5ec3bd2f58687b747949887b08ac0f4dac97f9e607cbc51852bc3894a5a372c938289d53150f1414b243b
SHA512
d69b78efaf4da2eb69be1cd67da3dfd3cf6bb7755abe728c072a9a0797a820e651dc27ef9d6cd4d8b3a66672292b2645e68ee9a177b99644d0a520bf0264ae09
+DIST firefox-128.10.0esr-br.xpi 598750 BLAKE2B
3831c9242a2a7f5a3f885dae569cc54bd56bd7436c5342752b7e138db5ab0521b8548895c91666e7a2abd15a0df8e6c5d691e9c4251e665f0e97d701f6fc6b2f
SHA512
bbed8da606fdda10e957420249e150fae05d76c3f9f2b5699c4e5d9dec5010b8b0f17d5de0624a0a326403e204b9ea8fad14b8bd6c666f91cddb6b5d1ddf2f3a
+DIST firefox-128.10.0esr-bs.xpi 566003 BLAKE2B
6902b85e739e6f8f6f8b382ce0f98ce1e0f581248e71edc5f95942a5325dd9a984dc17e90b940b47f104b93e8669cb4b80eebd58fa332e3265fba980f6e02c4a
SHA512
589c6f11cfbf4abf8ba35e5f7dc19d8b374912a3df269e08c24a709ff0858011a412f0880993508fdcf5dfcbda5f6fb615f64b427a1912f30147072441f5ab33
+DIST firefox-128.10.0esr-ca-valencia.xpi 561150 BLAKE2B
49ff1e93b9ee83da6e57ab4ff2c598a8620ed76ef489daad7c6642383cb77eee4a37899c37c4677f54bae38eb94f8b8adb2e3dc2e58c4766d1c38265cd9252fd
SHA512
9b66f6c25be20178effdf9a605e70f2f1fac52a6b70f7f8fe3ed8dacf7d842bbc0b3da85695dae68c202df97eac9842ff3c02b81dab09e6f502d6a8b73028962
+DIST firefox-128.10.0esr-ca.xpi 609963 BLAKE2B
c7abe937b9b4ee16fc62f2e08529baa054cb57fdf34ba2e6f7a9345371e001574ed851d0ec1b9c7e7c1f56fe7bcac3f7bb41dd87a31590987b70fc98fed628d6
SHA512
9e6c60d09d225b32a2fad0464f2707d18fa98e1d2c633cd09b0276401edd8167835f2d3d551c4c1910db101ab23cfa0f73061d52929fd978ff417ca317130ad3
+DIST firefox-128.10.0esr-cak.xpi 601487 BLAKE2B
b62594bba0998025ae4a1d02d36f6fc3b2932fb5e23d2f933beeae74bbc4892876b5ed816cd5fd07bbc09c79a5f630a7d77e4843880240df0ef0eb9f4e3414d4
SHA512
04a89c362adb93130878042c2a94f6bb4fdf1ff4464649ee1915bb9c3b79b2a1312fb06cea2725f9714321054523263cf77d9fa6d2755680180f3ee1b7dd697b
+DIST firefox-128.10.0esr-cs.xpi 690636 BLAKE2B
e8ffdbe597fa93979091ca846c00e5c6d248b7ab64c7715ac7322c656a0d43aae8150a182b82812cecca469cb2d247b13259ee0d26b841e4aa6f08175fed449b
SHA512
0221204547ca7e149fe383f7c23cd44dfdeb98371ff98c26c09c2beed4dee3ed4acabb24d7b3c71dbb594b1be878ecf76819bf70879388e1c1d3c8587101ad11
+DIST firefox-128.10.0esr-cy.xpi 650599 BLAKE2B
58988793abb3b90ac486523c66ef068d7184e4656dedd703f3b1eaf885fd5c4e975016c685e321b2d615375b4472b5ad5ac3fb1824c3aa52ff0027d7dbb9a528
SHA512
b4785e941f2138c6e702f39592ad3037b1a1dc8e91846c36a34b853f9a3f62e879987ddecea4b3b75b668d37028b98f14112abc912f578f832c5c78b60c8c777
+DIST firefox-128.10.0esr-da.xpi 638630 BLAKE2B
bbab402fb2087519deca45b2dac8d7e5e323ee6f03641cde57feda6c504ab4502c1fba98c63c4d20b4e1adc23b49f48b3334694ca45e9e9f22125b37d0046efb
SHA512
58adba7680c8dd9e17b34bb4fb3809cf2607728c77d7e76ef6ccab8515a038b9bb5416a716cf53c4d00516b39ab72e44c9fb07e05c892ead68194114c589410a
+DIST firefox-128.10.0esr-de.xpi 663136 BLAKE2B
a23df31e75a28d9c22b475bec9b58bc1f87d4c8e8054f65c937eea4028b5dc8aed3f759bf019f0d6b4a59586dfe9343b19fca84827c02afde0b3ac9e9b7523f4
SHA512
266e93fdf40a9161b0d93ec974b06d2f567910b2687965f14051671992ef40ca9a37b9e4cf38f52fc85b2992c8017b4b18ce159a7f21c4da1d930aca7fff8519
+DIST firefox-128.10.0esr-dsb.xpi 679871 BLAKE2B
5ee4f7c6c7e4f77292b94436eec5b847863e8e16932c0927babbc43280b22d2e56483dca82aad55511f358e36ac5430839e106ed514fae21bd0602e77bc5ed9b
SHA512
8dfb2e2163b8d461d465c9905f68c7e9a4be01fa973b1058e02d67008a534a72935e9b4c6ea31ba6322fb9a49adb8d2856753aa11e35fadaa07e45e98b3c6a22
+DIST firefox-128.10.0esr-el.xpi 764544 BLAKE2B
8a441949c0faec7cdd7e6ff47c634324f99658aac0284ff2e3f9f3bc097330edc8db5ba5952e0d396b42d4a58f60981c78314a017a9cf9965494aeb18b60eb7f
SHA512
822c7d6f961e899d7943105455441da28ad655f96b79db91ef2bb4755ef602894c9742daeb92c0f2fa350dcb7afc84f8658ed8f85e395cf796e046c2ce656ef1
+DIST firefox-128.10.0esr-en-CA.xpi 610427 BLAKE2B
1fd900e3bcbc36691ee128ff8b6ef6864e5fd1c12264bbae337cc023f3b86ac2a157b4d6b207ff1746a99778cbe2b8f9186ace2e2da8a036df55cbfe8c28ba13
SHA512
ab4f75b4074145e6ebe0f8965e938fef5e32c2ad5919b34239af53621832cf69bb52981ec918a06741fcc139e502bf5ea92852c52c9d42c4085d1584b746f832
+DIST firefox-128.10.0esr-en-GB.xpi 610782 BLAKE2B
893a246e9df1e36e76781e07f86931a3eb5ad19277d1ffda4df7d145baa0c5f10e5233540d4e94b1159987d9cb94883243c84e7c49efcb3b829a5979b508cf4c
SHA512
fee96734d64f9ea44e2e6b288802d2c0eb8f6470718393dd07b1af685b7d89438a21eb004dc0194fa1fbde0b5771986ac78b25e3904590a6f62204bb7e2a3892
+DIST firefox-128.10.0esr-eo.xpi 643535 BLAKE2B
9d96b85c60f440258a337384a46cf63df54281d80b35952c112bd388781dbaebfe4a711489070de529cd520e5de839c2bd8aa0ce97ebfad885b1a635e1764723
SHA512
2d61a3267dd82be8960b03c44832bc7fa8f7f46064866e118ca5e2b1c80591df83314f676e2fdc1732d6c71d675e80137e91a101b87ab33da4f38d6a09ff3b6b
+DIST firefox-128.10.0esr-es-AR.xpi 655627 BLAKE2B
b27c752e73a74b0cf8545c1b2287a9f66f417b205eacd01e0148224e103b9b4cdb4c19529321b4a0cfa2c4e52947a117645c933507c289447e7873f25f7b54c1
SHA512
db52cccdc0ba0da5d504c5afa89801f88ddc4bcfcfdcb18d5d0f38d004e294d2a5d7eb00aafa8ff36c18465270fe8e0e35986328c911a2ee9379ee4114431253
+DIST firefox-128.10.0esr-es-CL.xpi 656064 BLAKE2B
ef3d7624c74392a70d2be4d77858fd28f68e06d1baca761195185169efb7ed6baad267bd3cf7ebc4fa343035978591728b5516a85033320d64dcbbc5139f7f7b
SHA512
b47ee979910a115e9558c41cf93122264a6cf0ab73af8062a0220cff0ce4dbf002bb287d3f583d2e7d53a5773e181aa8f993b06bb0c0bc5782d5c4ceb7807123
+DIST firefox-128.10.0esr-es-ES.xpi 655187 BLAKE2B
66cf15e50382dd605eeea7c5472d9020e19c90935cfb973a95950c778e468189642e0e6d3baa73188dc44dbadc47421d2fe16119ade147a290d844e4f1cf07f5
SHA512
52ac64e6ad3ae1eae59e67adb463238e26e36b482d6eeb981dbd72c5b6df626cb2d679579b481687c8c64ba1fddc08dd5f18f390aabb9b0c01f0bccfec2285f8
+DIST firefox-128.10.0esr-es-MX.xpi 657393 BLAKE2B
271ddf7e68bbc3bbceffab4fdd94083b74155dfcd9f4eb006a50c825abc7aa6133b1ac90cef812565ff077346c500685c2ad0e060278973f4cfd10bb5133c031
SHA512
6e793cc2c19ab9f394c106f82d81194457cee3f58741a9e3172d9d5329d23ba7544a2d6894bf9043e68da384f6f351e347feb4405f4a311104c3ba95dc96e821
+DIST firefox-128.10.0esr-et.xpi 556276 BLAKE2B
fd331a01eacf136cf60e205723c9993ad983975286b938613c6cbd56745e68ebe11e6760c0a52b3a45593facf50224e563b612cd008171281ae240f58f685a40
SHA512
baf452fb382c69929ce62812b678764bc69d02d8863efd7def4cda86b5bde11b7febad6ce999b6b555340fd95410ec5406483a3606bc8c76c46a34dbbc10db10
+DIST firefox-128.10.0esr-eu.xpi 623960 BLAKE2B
a3d838d82b7c8b4a9bd381d30f409df9e3f52885cc36aad6c056d13a1809ad955e4545d88096f406de0dc2b8959c190d3edd3294ee3767fa2b631b0cf24203fd
SHA512
f2a978ce591e9b9a9ce85a86392b8f5f1e60bd20532415c6bb025e63130915625f40b5cb8e11fe56a95395bd6433a17a6f055d4fe086af075750d0db07c83b52
+DIST firefox-128.10.0esr-fa.xpi 631020 BLAKE2B
e2a021d5747f528359a099533b49d3456d794307e9d614069febeaa6cac3f3ec1bd551953c09231450041b259134c67e818a634270d66df937544f07f7beb80e
SHA512
e5627548d0073ac66492bfb6f57e65446d038923ab4993b1706509fac3cc554e6ee5346bc4f78885664de3de57fdaed425085778778f8ea6de896045b94e3007
+DIST firefox-128.10.0esr-ff.xpi 497856 BLAKE2B
dec2746449a91d2ab8584361b54e9d61a3ce1939967e96bf16688412e517ff8707a6acad4e24960f2432796a6a82d0bc1382f13c81c5be65effac7c391380882
SHA512
956cf01c598001a20e59a081a490e62e98d89ced0ec660ad57058ac0dce7334125aa8fa3aaa049e5ef96e8a6025b059ef19c475382d97f3eeaf35664a1eb202f
+DIST firefox-128.10.0esr-fi.xpi 633889 BLAKE2B
ebdc1fbd1a01f82f2f60add6fb738dee0f6dea45a664a892c5b994cff7649dbb8cb70152946249d4b4407ffde8aeaef2c387a2d5112dfbee34dcbb85ae1088a1
SHA512
f36184a5b1bdf8fa56da73c2388e591439f971645bebfebd989f35472bda4ac69ab58b98cada1cb19eac1a159744c6bed59325f82055f17eb9f237aca1da7e68
+DIST firefox-128.10.0esr-fr.xpi 669616 BLAKE2B
1e075b8408d61256b88cf3169d027d2e4fb9fc11dbcd7685ece516eccc533c6ac4c6f170789465418cab77b221de69ba4b324f7172545e57db18dd31a302a5d1
SHA512
87c58bd155c0b6fda74359a14b6a751e02267da8866899758049cae7acf47709f5929f2f233298992ad23fc187f0bdfe93b287e384c61c83ba2256346ecd5891
+DIST firefox-128.10.0esr-fur.xpi 651566 BLAKE2B
26c98514871b5c8b8408f452406154b11e743c0d230544cf1ec5affc2556714336f8cda9dc745c0584630521694b34a1802348f136ab3ed43223e9d0cd691d68
SHA512
93e259d4fc0cec439ffc6d071c536c0dafb2e798c9ec45d7df1606fdda32dccc7d09e3e40f9d8bc2679cf880e237b7331d22499e887c7de53ffe806fdef3eea3
+DIST firefox-128.10.0esr-fy-NL.xpi 652079 BLAKE2B
322616ccda4859c2bff0b4a5d2b318bdec85ce6a50a016d03cf1c67ae27cd75c4f8e9dca2684ee49bbfbce968394db22d5d83ef118d785c030e57748ec631ef6
SHA512
5afded9eeb459bf27a56a4a377331e93798b37583a9e455061aae88a4c864097e0e88b8d88c636e534d58d971a38a6909e51667291357590a802a716d61e7b9b
+DIST firefox-128.10.0esr-ga-IE.xpi 490838 BLAKE2B
6fdd5c6525e24f539bd80ec94726c5454c42d1ce3d7f9bf33d2cb76a1b4d8507c3f0dad513f13a313bf12463b05bb30da0b1cc4bd634c3252c89243a0eb6b742
SHA512
69c552931ccb93e7e48272016d1502ed03d727d252c499c16ee353b23fbd6c96d31443aab4770703ebc592396f64045b25bb531e5afafa2d014ad9052839fd28
+DIST firefox-128.10.0esr-gd.xpi 609626 BLAKE2B
a2682c8d63faf320ae9039ada9245c53caafdbbbbdb26791db6e564d485747176bac4369ecabd712fae232770783cfc9631513d5a318d72f3c51065c9a543317
SHA512
ddd7a289bb7a9ffbfefdef72beef630a5cd5cd14a61245f73a49fd367339bee51680438ee7c11305b32d214af5643d832bf9575520705c988221e24c47a2ba80
+DIST firefox-128.10.0esr-gl.xpi 615556 BLAKE2B
ab4f6bc7b7e40ad45d55fd7578dc33bb986f3b5973d69d2db54458b5d84312b98b99a427bcaff89744105a919f5a61c6e072714a694436fb1ec647836c6bbc9b
SHA512
c9075dfef9c00f4800e8598f8e1932d2df5d20e8ab221ae578492d6d82350b864411bd278cc31148045f5a54e82331947933626e33b9d11deb0828f92dc11311
+DIST firefox-128.10.0esr-gn.xpi 659906 BLAKE2B
93a17c4bd0509f7b6eb04e71eb624d8f9bd809b4302fe3779e8f1da1eadc2a6772d24bbeeeb020bf0b76200c4f74f412413b75d062f934508e09d35b44c9628b
SHA512
a7f275a461632b0b9de7e195b621de14c0fdae0b333bd4c66fdb26cfacec39b37cf5c1780c58c9782085a3655c91f347cce71ff515f2d92928c2c95b40dd60d8
+DIST firefox-128.10.0esr-gu-IN.xpi 552334 BLAKE2B
1d65b6fcd548dc93a448fd86f91a58a63592969e624e4e7a3a635ae6e64c017bfb3a7eb30c59374c35f77b5205b1f753eb20cbea4fada9e47809bd06c0dc6891
SHA512
ad5d7af80ff73656304e3d6c8444ab498282589015cc7611d29173665aa4d1141ac06b2f81f29ab65e457cc1ab7e49da9e7893f284212c922ecc973d64085a62
+DIST firefox-128.10.0esr-he.xpi 659478 BLAKE2B
338a34f49436a65cfd9237b8001a399d033bdcee07e06954cdc2d7ee60d0a2b3d290a08fbd96f28047ee0296553c2e1fe999de44f3e5717ddfc66554a92a0211
SHA512
c7086fca32c8a69ad76af8f9ef57d78b44702ae9ba6874b0ca926453195c52b53cf3e0c03efb0e4becdce4ae742d3a451116033582fd55a7331048c2c213b1a2
+DIST firefox-128.10.0esr-hi-IN.xpi 578977 BLAKE2B
e56ff88da330a42a431c94a6f554f7ba3fa7a739ce91ef89f9ba4176b3ee822d4ab674a8ef22ff593a439b39134f7616981d63709822207dde91af0403b6b8a1
SHA512
3c1f26ff6f8837a9c84c03ae1856f3b5ff0c79459fd19e8e184e88c4f9dad360794b2de906fc7025b74baaabc07072382f8989557099b7dca0af04bcd0ceae8f
+DIST firefox-128.10.0esr-hr.xpi 645465 BLAKE2B
b25fedadb4d6feec292f866180b9a75c782460b06a055d19262f7a8933c8d4544d5a3afebb0b399f97380ac5e52075dc5e6c9b180f4374cc240f3a5d7ff4e822
SHA512
e7e4ffab8a2f842be2a87bb7871c6414b7d1fe7887f808860b7aa36a7458dd2ab37af2bba1fcb01d5021d454d3d1f31135b8efc3427098e1595f4cd189075efe
+DIST firefox-128.10.0esr-hsb.xpi 675863 BLAKE2B
55ae6438e0fba5b270a3afa052442b9f261d2b070d335f3fefd143ce2e1618b1047286491472fb054403b8afba869f6e749664b03a8c8b1bd0bfe692f9500edc
SHA512
b5a05a5b07710b664c0602dfb53ad5bee9dcfb4d2c24f0e14fb114524f46517eca9928c5eb93b38065f1f26dd0c5e8e789b030c145019a461d97fc0db62d4936
+DIST firefox-128.10.0esr-hu.xpi 679681 BLAKE2B
aeacd28bdbdbca62c4b43aeff48bdc860e95ec311f4e7e7e8ce0769c3c4bfe8aff70cfd14960ec508360ec744d83a3993d6af458b410d2e0fbd344b3a9bdeafc
SHA512
ebc17a857b798ecd8eb3f4bcddba82f2e9bc8fe37aa529f3b6130056ca1de78d65c90eaa3791b2c2078a5cec6ab7cbe149137bce54ebcf41671c183bd0ba21a5
+DIST firefox-128.10.0esr-hy-AM.xpi 664455 BLAKE2B
105e4855016010f1e95b6422ce7705ddfcb55a6c4831ea8df32649b94bde521d07c35fb0b17aabd2791af6c5364746a0d019744cf37eaebd8ebe47c5950704c2
SHA512
51d50be56271ca053e0e0aba634291db84dc710bed494190803dcabe6dd4e574e6d0a56d3dc405c5fe82fc3334dc123af0628e9acab3ac3827c08abfb380eee4
+DIST firefox-128.10.0esr-ia.xpi 637959 BLAKE2B
af986968a0911547a0bd443810c58d8a89170859a350edb718763c0b8562684b0b1e9ff7d1a2029251ded56b3a703e943a7858c69478a02631d83260aec21f69
SHA512
3f344b9863cac54f33ab7147141db33d50eddee009db8c5bc581a2117ec0c46f68c7404e6bafa42ad0e613f425c83a4b8a93e8ed126541f201c7704964ce5456
+DIST firefox-128.10.0esr-id.xpi 625994 BLAKE2B
311db184a5838ed7a8d1e350f21010884bbef8ed644327d6562143e075a3bb1764e7f6eba11d59ae1c9de0792ce418f199a760b4627fef25fb52a10e3219e033
SHA512
fadc135e6e9bfe477ac1aa9510c54923404a975eb49fc25d2e797ab5850d5f6c0c2533fd81c52569e8bcbf0a2046dd38df2f28a78e84d0bc9403c1fcf076451c
+DIST firefox-128.10.0esr-is.xpi 646737 BLAKE2B
b0a692dae077e614e73a381768e588a31596beb7b916f49b1036c7c9e03a4426a1dc5b6826b5eca40ff8b542b49e9c290e4ab46e2f15c86ce857a8a3cd42f19e
SHA512
040120be65c4ee4bc784f4ff5761b4e6f9ed899aed8d71718c8af47dbc6e2a649f0f41fd650605393fc0715287f752baa14d836802fbdfadf8501179a5b66c6e
+DIST firefox-128.10.0esr-it.xpi 648855 BLAKE2B
c33967155e51c27de3bad60c7479cd3ae666e95b3bf639d633d9a37c36eb85684c4d255ba0a82ca0356947f706a7cc60e143b96d40970a2a5155455732c87ee8
SHA512
b34873187b9f13bcf7da3c6e487f361538bbc5f5879744edb582ce4bb105773a013008c31d0e268ceca031c1808d14609096bedc22b043c4d918ba269ed59408
+DIST firefox-128.10.0esr-ja.xpi 704126 BLAKE2B
0cfc65e4fcf7ca80c5bbe504e85f340579a5a2df4be2f55655611facf66835297c05d3c0b56dde3aff89b2ec0bfa4a80005bf0ca673e131339627ea1649d9ad1
SHA512
e523b264cb9573d3dc3883fe5eb31143f12ed56b98019c347a867546f035d8aa2e62a984eea19cc12bc97a268d2060f691bdccc9de0c33974d262a8a440a1d5f
+DIST firefox-128.10.0esr-ka.xpi 714501 BLAKE2B
047101b33f5e75a03d3108799d30cacd2eff6fbf64d9b7716d12f3c019c391bd47d3cecb4fcd648d0d49d63283c9e80aaff2db708b8266feb85061425cb7812d
SHA512
7ee75df9a4a1b3629d72aba1f9b330e114a1bea2252874e8ee4adc3ff766073b5cb524d937326546e711a1015c4e0023aaecb251fe583a6309f990b80e4dd05c
+DIST firefox-128.10.0esr-kab.xpi 626274 BLAKE2B
ffe93360b3a253d8380b40bdf5a8d6c28708142bf9b748d4e768de5fe301f640c299812dcc997d8a7cc3e435fb36136abdbbfbd7794d9781975de8fe9c53ede0
SHA512
15e475709fac09d1a34b464cdfd3f00cda2990f9fd4f101e9e9cc6a6b3f7fe5b7b99df8cc8d5f84f3e3705b0e609259fafbba16578d7bb71c8c804c44ffc0c99
+DIST firefox-128.10.0esr-kk.xpi 734550 BLAKE2B
fed0d74858b7b82a3c7dc3a8d3ff56bcfbf24f47f4fc96e723c00bd8b1a11d8299b44cedb31c7013de71730ea4c5191b5dcc22348189bc5eda00a47b063fc759
SHA512
b837bc5a49ddbe2ce1bc5e79eacdf5468ab786fdb9ac8ec587c5b698d6e7fb1986c392bc12ee4eda2c8a3517dbcfd5e19dda9d1f92d69beabd79f3533fbc5dfd
+DIST firefox-128.10.0esr-km.xpi 543173 BLAKE2B
0e1b1f574546cb6f41f34d265f8f083c1b2da06602c8acb59ded939b44c215f6af4d876406944d9a9b2fa34641ab26849fa8fca9c566af2b769c4ac53d2e19c5
SHA512
7042991750cfad28aab61199ed63a3e70fa32910f794c5bc31513eb350ce1a75dead26cf805a668676fd29838f00ba5a891ba2761d47a5d683240a01e0516552
+DIST firefox-128.10.0esr-kn.xpi 520329 BLAKE2B
4602ca5c63b1a11337d07c713bb9b63c3110e5e911cb83dae0cb1d9dba080fb15597e76e57a939bad81db71ae523b9e2977bb7c3389af2d261c05749b3c21f06
SHA512
89bd951b6312c2bb4ca32d1250c7d158c1c3006ebaa6426188c5510603cf97d37d8e2e628059504c0bd2e4aff1251af25826b61b5cb4fdb2c146f214c66c7e5e
+DIST firefox-128.10.0esr-ko.xpi 690555 BLAKE2B
3a706fdff59e2b62da035ff2c39b55b627cec5696434b18d4fe771cf5bc922dbe2017f39e8760239dbb1ec854e77a5df43648161e22dc7eca7af005a018dafa8
SHA512
ed0f8a740f2cdfe3909bcab1f8abcec436159c67e80d2bbb1d439333c2887fb539d4a7b2ff4e5ca5dffdf3a402d78920387595bf036afe686bc340f57e839a4d
+DIST firefox-128.10.0esr-lij.xpi 506305 BLAKE2B
281686cfb4b2c47b3d074f815dd076039f759d7928cc3ce16609a4ce9f50c830956a00febc9d2b365894f0d729f78ac9aa866639ba234800dd64728ab9a6f3e8
SHA512
098d6581c5e38c1ce4c868b1d3851a680e17815dab8810ebec1a06020f2e7df4bac328104d2b8b1a2441479271531a038ad9b323af8d9c36d57a2808a0045ba0
+DIST firefox-128.10.0esr-lt.xpi 585993 BLAKE2B
1c11babed1a9c1daaa0b99bf3b8c18500da58ecbb2a1b7088be007eba062a3d80c541c840bef1e99e3ec66e1dd3c5875a4ba57ee90247fa0fe0ee26a979f1eb8
SHA512
85c9813bede9fd51e575d5149c358df213e6c9d67eac84b9dbed84fbfd38b21e09f39d6747c101fa04f2cf0426ef4961b26c40766f1c73b8f3880a8be1a942cf
+DIST firefox-128.10.0esr-lv.xpi 595107 BLAKE2B
938b6f4004a72988716a8c7945880585675e9ecad7532adf2a170ad160a394553852d9077377b2467e0a0b3933e966ec01830055411de866717d9d542fe83eea
SHA512
4f9b21b961862e94bbaaf3586ab389f394c1c966540cbc953eca88d64c09f01c908e2e9337354777efbf0e27dbc3d03cc3986b35a087d3068675b9d8750997c2
+DIST firefox-128.10.0esr-mk.xpi 511079 BLAKE2B
3d3bc24c0e6132270d821d66c1040fa12773f4ed7ebfdbf38a1b3c14f3c6b7354a9831b708abf51ad53fe0fe9168b8c20beda3bf2b7d73e6eb01f1db9313c6b3
SHA512
7b58120931a606ca9d821c25966211c788499309ca89c45068342504ed3bdebc4dc72afcf5cddd8a8eb284a0e7763ee6dac3cf45049502ef8f44a8ef2a0af8a5
+DIST firefox-128.10.0esr-mr.xpi 552813 BLAKE2B
5e361c2373ac0faaa25f77227013c1c1f7f66ff69bc88b1ff1195f2ad1fe5db8b8dd99d674131ea77de67b87ff9bb34a48a6590484ffdadc68d9124d71372806
SHA512
05c38ba505c8db8eaabbfe4efe81dead930f6fa913f6ebdbfee0a4318ef9fb19bf62bb63912cbf2bd0e11f678e8e37e2d0190f1e5625fae56da1d516e2f03959
+DIST firefox-128.10.0esr-ms.xpi 477964 BLAKE2B
7d73e368e9f4a0e2afd8b562ae1990407693f00e15f8b31822117ec6362d2c0a8de67a5d639b96145cc33ce60b9066ae1b3487146128cfb82aa882691c77d00b
SHA512
191a4a2e113089133b28c91d681ddec0658e722758cce7755eb25efa64b28e3833b707e7c1352a0a9f075a3cd6b0bb763b8d4d3dc888ecda0c2000e932a6ff9a
+DIST firefox-128.10.0esr-my.xpi 540059 BLAKE2B
a4212cb9e8406fb051ac85fb59e06591e75ab71743be25f6e78d28e10738ca67ffb403eb017b0dbbb32f0101d03c1dac31f25148d383dde505b77f314690a53a
SHA512
9ab23a547db9a248480a25518e11ec2cc80e68043123334002e4c9ec2e8f75b61f2eba2a2945ed09eb2d5607e1403f2633eb11334682840dcaa69a8a59ea5292
+DIST firefox-128.10.0esr-nb-NO.xpi 627689 BLAKE2B
d2c2e1db620f348e14a545051dd4d7a5e1cfaa7bcf2b61ab3dd6bf797cf24201ad87a61e3eb08ded3f9098e90c478fddfa5eb66510e2dea5181e04b180bac167
SHA512
46851d5795d2bbf083f12d7fb4f97e57e9c79862ff33eccda8a066fea774ef46f160a65534ef6cf7e0bc886332d7acaeab74b206792fc8af3104d62344b6a2f5
+DIST firefox-128.10.0esr-ne-NP.xpi 543830 BLAKE2B
938222ed64fc50cb1ae6401050d3cc8646ba1f13eedbea040393fad6ffa9f2bacee5aedb660f9f937f6e764152625af064c68ed47ed3eecfed1f7f2d0fa05d9a
SHA512
d1faa655ccb17b1abb2c8886aca16bbd4893bb357ad1e558cbbd4c8ec30e650870193bfdcbd0281663af5eafe32deb0b0995d0a92f5d5847574a82bd061a3a17
+DIST firefox-128.10.0esr-nl.xpi 645176 BLAKE2B
7334855612985a3d62261d379021bda06ffe90b7fd23fc9d99c73077253039102c209978eec957d4c263dd4110fc4b64a67b7d37b389a3ffdc562927efa7e782
SHA512
9efaa188eb2ed86843e3e9a1a22247cbf1f98a1cf80d4cd194d30fd0e6ded0afe9fdab2bc56c6c02bb616648882dd250808437fe810ddce8d8db2de2ba570d03
+DIST firefox-128.10.0esr-nn-NO.xpi 630291 BLAKE2B
395d5f90bd551c80a9f6c87b569056d1425ccb8bc494f30638920cef072d44678a29e5914afee243f81b8f2070ba81d885f67f79e6dd64ad86c3511e64ec5338
SHA512
ee73b40d580057fb5e05ccca26b9cb23f539bf24b51667b33dc65d38ea13a0541c3090bf081759ca59ad07253c1bf7d6184930975a1f3b091f3e6da78c49ffae
+DIST firefox-128.10.0esr-oc.xpi 626829 BLAKE2B
53b4d9f9656bf158170780fe4535264e6fae4c119c08d7c71a8d8ea6c285e2c2994418449f71b0623eb4531bfbfebf2f866bc4ff125f2d7dfc8d2d1f5c578b78
SHA512
85a80927fe8dc5202ca24eac34d02dbf8780aacf0c22803cc3fba60b7f848cae482dd3644f3b632c7a52c1290aa0c40f14506065e41d781170446b1c8a67eb13
+DIST firefox-128.10.0esr-pa-IN.xpi 726726 BLAKE2B
ed06aa0043f33022eb47494848eda51254e58d3563fc76f88f3d5b1f2449a8703c9f14352db9fa99a46c8e41eefc4ad51fcd43b2fa5d509977751aac23a2180e
SHA512
fe9d8a841fd9b56f39ba381544923a1aa5d6ebd18ffb57c9c52f0ff89d5c7c6754747559b5f69e005cb046e5865306268e3eb3a894c36a8c44128594f9b5e495
+DIST firefox-128.10.0esr-pl.xpi 669254 BLAKE2B
aff59c84ecc5fab3c4d6547b3262f533fdf0737bd79274f11ab626cb388dcbd5add496c031f45e4f6c83e0db0553531233e2b7e6fc5d0d38f304151d8be15d37
SHA512
2911a7028b214437b2a8dc32fc6239b875919f9aaefef863edb365f8b7f920b2f950e984432acb74267e59ccb6a3d1cce6463b474d89316d8f22d48bbfd5f5af
+DIST firefox-128.10.0esr-pt-BR.xpi 650221 BLAKE2B
718c708bb5e141729e83c5c410f7a4412f4ea0de45e7ac82754a3b6ba2b3fe9d48e448f778d6b501987b0ce77cad2533504cddb5a653a80b004eec04f99795de
SHA512
f87103a48f0209e8ffee3db31898036acd1cbc8912071506e8f830470b17d60cb337846f6bb979cc29f36544671c519fb27e5ea6f6e0a87ef1b50d7629b0ac71
+DIST firefox-128.10.0esr-pt-PT.xpi 654873 BLAKE2B
6360b0ddd153bf0b4fb3a840bc5228c5033b831212ff278bec507e1794c380f1f345abee7f494762277fbc94d04f26651d67ef25ff15369cd20cbd3f39dc07ce
SHA512
dbe670a06bb33f34167c087b2a0911e469dff0ae031983007c6984be0d41502246eb36c4ae8088dc7a464cdb78be9051f7f3da5bb3736b2c3ec4eb79a81b6d9a
+DIST firefox-128.10.0esr-rm.xpi 646710 BLAKE2B
1e18fc1bb5fed93c53be84c6d97db1f3a176f30ce4a90f694bb93caddcd2832017529375361d78889767a50245872b46934bd64c8d6b5ac616978eea971ae101
SHA512
cd2fcae7175e0dac692255afb2a8c96281b280e060456932d7b0e7310dd1a32c861cb4c461f310a72ee724892d00dc91d16902afd463fc2d725455a752314f84
+DIST firefox-128.10.0esr-ro.xpi 562860 BLAKE2B
d4d118cfa12e04bc4f99bbc3f167f1a43b0bb1c79b3cbe8d9b46df3efb03752d3f7e85f808765b31f1f4b9ac695cbc828c1c47985d2fced0b1bfbacbdf5a4d69
SHA512
23c030b004cd137b1adfe07651bf57ef345de64df5b428cecf36a25649504c7841194c96a40fb02e5c0a2d92644f02867876e0218f5fcf82b7a7f7fa476133c6
+DIST firefox-128.10.0esr-ru.xpi 753063 BLAKE2B
4c5872532544aa97f49e4a30ce56c6ea1ffa41faac00802e6304e4a2762a5a8d6232180f801ae537cf3096f7014f9626b022faec6b5e18ad3aeef2e337508c88
SHA512
5080a1932acd0fa49a535fe77e48cbe7e83baa8e6bba69fe12244dc1bc79e2efa667beb15a18946bb400590da9be311fde5873508090fed44b024229e3604fad
+DIST firefox-128.10.0esr-sc.xpi 604300 BLAKE2B
3cc4646cc7c7b25338b8b6e21831956cbc248e0783d2b28d1141a06f527b45d34af3a06e3fd36a81d2f89945738571d595bdb7e25abe182c0db15c2d5c96664e
SHA512
6bbdc14bd87dcab085cf77aa580a7daf971f7484b0d7d1dec6c54e7554c81530e8c3f5a658ebf9a7ee866f763e4be2dece9934c063b855915f0eebf1bc89a67e
+DIST firefox-128.10.0esr-sco.xpi 524664 BLAKE2B
3b61413c93d3546089fc5eab82807db04192bf5108af8395750a609efc34706e02dc9c7418cb042ada87ea6f39142954a327b786486234ae6d4d156eff05e605
SHA512
a44abbcd10098487fc4d2cb428e43e51dd245cdb9989b500551a0557ab01a07ac71c8f96346dbffe882ddbec7b070d562a859cdccea2bcd00fa79d8e3e4d57d8
+DIST firefox-128.10.0esr-si.xpi 628194 BLAKE2B
dff8800fc791ee0f92f8a730900cfceba67ee619a2b607092b8d85320c98a8590e8325e166728c85c0ffa3bf7dfdc5a902475236daaaff2429f6a6ec0f98c0b4
SHA512
32c43bd78bf53ce5fb4caee1a54c204b798d30c6067ccfa3b8431d65f5141fa8c33d594ca7f304c46e529b3b20effd9648280e9cbce6e24b75f28e70da8eae04
+DIST firefox-128.10.0esr-sk.xpi 682244 BLAKE2B
52d330bef708ee57233907327d9796cb8d756f068f85cb3c7d38c93a899925435833069217e9e4e2d5fa8c030c3dc542e3044acd8313f6342e327f539c3e9544
SHA512
438aa5651257b5bdff6b236359601532ac4f5cd92218489e05227a8ce7de1feefbd94d1ba0efe03895aa9d7e3caaf6c5f3dc04d8c479988dcb5fff2b637e3436
+DIST firefox-128.10.0esr-skr.xpi 726682 BLAKE2B
5c4a7a9a9316d711ec9bff83e6930df2d1c9421bcf53a0baf25e02d1d660eca02fea631dbb253f9a95d5b401014c8f119fbf2eea57d2e3c07d093f1a6f9bea6c
SHA512
5427293bafdde0c2ff31f278c98a2293196953d4339b16449bea3ca9f7f4380ab7106b333208cb528b857b10a97ed4bc57f2b519f90ad265c061308aade39536
+DIST firefox-128.10.0esr-sl.xpi 649042 BLAKE2B
9e741a46032d57944a6ee38fa4f23ac42a6bb6f639f72be8daa3866e545d4425e0a64c0d643006461004d5a4916af6526c376232f8d235e27631512f423083db
SHA512
d8ccacc40270a8992a4672b6337f6c6877b25f31d1338af8945b949315900a4ed0c985e786227946d394f75449898f78dce0b0490a82e456227438b6ab84d1fc
+DIST firefox-128.10.0esr-son.xpi 451702 BLAKE2B
18e843f8107db85a724b4706252f1fe39b4edd3c2d1b9e050a121b18ac5f4e12d901f47568a03989d9b3a3fff1c5bbd816e70d4914732d7f833c8d44e374e078
SHA512
ce9dc05457eba43d70fc6562e2bbe560219c5a854705057cf2c1920ebc7a2b3e2256ca50a00656256a3c59d740dba4da771df71b8ce51ba047db3d4b28f491c7
+DIST firefox-128.10.0esr-sq.xpi 665755 BLAKE2B
d8f834a8bca412eb0b92ab1ddabbddaa7788a18a83d5d83029069a198cb4a53f1688a32e4abf4288a87ae5557061c5ea614833d85ec6a8a332b0cf93d59b625c
SHA512
b917229c34d7f3c8d3e7ef63429de31f1910aae1636a3bc77e9d7e41a27c125d640ce4493c05e7eaca38b3005271b0911b6b0d84e578d07ec8290b9e89542650
+DIST firefox-128.10.0esr-sr.xpi 678449 BLAKE2B
085bc0706f063e3ce2acb2415f11388ea507779c7abb56922921c60e8fa6fa2d455b0a3ba8fffccf89d3f3044a63930b35e83e39fbd046a422894832e177cede
SHA512
e129bd32bb534cef592444dfde941e2db677c0845d2d055f0b37dcdfd611dca8be54ec4610a21f14b1eae21a9eefbd6022f968b7f5a66291f37c90e7c4005353
+DIST firefox-128.10.0esr-sv-SE.xpi 646479 BLAKE2B
e6dc595cd5dcd02caddf475ca837ee2c9b6c0fe71e4f972d0ada870617e21b90344c3e15f59e2c0fc7099c30199077c02823ee5ea64be1a919b8e0d4a73be433
SHA512
7d8fdb2cbad755618e3bb3bdf77be47db9868fcd5b35a4863478e83480ba630a14d710e59e611cc7fd65a4921227c187ae1331f2702a8837eee987183fd92987
+DIST firefox-128.10.0esr-szl.xpi 541717 BLAKE2B
0c7d1d9af6090f28d916207b25e3d88822562471ad0e5c0ee11322c28e7f356361c5bb8e74acf404916754644acb1008a9a9395ed496e8a3c6976ca25aa409e3
SHA512
a15c98f0709680261284bba64bc2301e810db6f21013191a4e5ee915ff4a6abe4ee0db2b6e1698c007333e423f059fd5d570804bc28ebfa0e3cf5d90fc918c0e
+DIST firefox-128.10.0esr-ta.xpi 530542 BLAKE2B
20c8beeb993a93b4759db845dd30dd73f1c7e596488cbc7c0cb80b30dde475aee12ecbd23d5bea778b95bb0fb0611446ba581a801e9a03a1dfedb98504057d3e
SHA512
58fdd89ef2a27a2bfccdc3275844c1dfe76679e25db75c03fe34d468317e07dba4c058418753bcce682ce4e8b660a9d3d31a6a49dd06dc6a0947a95cc7da0722
+DIST firefox-128.10.0esr-te.xpi 583150 BLAKE2B
3273e44e63f128e44f0cbf21c41523e13f2c2d8251c184d177cf96bd29a0713c89fc1c0b96f5c22436c515d5337d6ce78a4fb141df0367cf5841c4b0045ce36c
SHA512
c79b0b7e07ce1524fed3fac0a231c00d03e2e54e88671ab929dd4a2bfd96c7520049759f3998482014785e70e6a6dd369f8ca6f5c01bac42629784f19ee66d7a
+DIST firefox-128.10.0esr-th.xpi 728457 BLAKE2B
b3e20d3efce96a6ba0659db76c94f6759b5cba2684b6ab9fae0e272699be9c570f15b5af5741aca1cd21381bbc1cc14ed8f5da4c9ca3f767635acf2db0497f17
SHA512
2238f016d4e4ef8332e087eec5563662bea7200ae0c911cc5ca5e6791cbf8d74d7d76c964405d1f996f55949b4aef203cdcda9dfae953eccb322e66fe2908566
+DIST firefox-128.10.0esr-tl.xpi 546952 BLAKE2B
3384e148cce7e7acb77d0b15741825111a1195b5b601e60aecb54532ce6830d6054dd1cf236c85f9db92c2e55f35c9eb9bac16f787742ded066c6bbc28c8852f
SHA512
7aaeba915e57f82515293ff615ea1fe117de247fe2847682890cd462b382606a2a25b6d0d2a3c7ff22c668310d6ea8852b74381a0029ee9b35e939b937a518d4
+DIST firefox-128.10.0esr-tr.xpi 659463 BLAKE2B
33370a659766789ca01f62a5c942c9793900ec3530ecdcc70c34bf052cf69a07b081e799bbb443729c878e29eee74271d26dee26add12ada9249480d979c9f8c
SHA512
331d286a6c9321f07a994d7d4d56e8d312d19cff6ec3848ed9f6f85c6f5928e190ccdec0045cc8c2b222b6297ace3bc726db9386784739b2d38cae6c41e509ef
+DIST firefox-128.10.0esr-trs.xpi 522139 BLAKE2B
e93c677afad210675fd8546c4ffd6ed4bcd81179f86fb3b1ba07dbd2af4de46652de6d05afb8d247475f8fcef95dd77b2aae6a8e996837a8b2b5502bf42397b5
SHA512
a4e4c39477cda7f5e19cdbf072ab149e78e5995f4b5365fe7857c8feedb1144432764093d4d15334f338096ec2dba15323a8aea0fb298ddcdf7bd069a6f0e2ac
+DIST firefox-128.10.0esr-uk.xpi 743998 BLAKE2B
7df404fbfa3aabc80e410a40e261b0b8f3fc631fcee93a6ffad4528d7237e03ef2404814ec4f3ed0a28ca29e7b64887b65fd172a105f6046aae7d93c1afcb184
SHA512
6e72649d9d0e957c7fcc0d5c4f36808603263a7b9646cb215c6b27da8cee0720766ad450d92e4737488b3644ba15cdeffb445c3b9228ec72c74e0f46832d0602
+DIST firefox-128.10.0esr-ur.xpi 574506 BLAKE2B
6eca2b41926833df9702ae442505be43b8816b989dc3b905f2b2dd9f6ed82fd66f425b0fecd7f5344a23b73f6866431b4f6d2d4d37bd897ec822bb1f3f311033
SHA512
f5bee6cd5b5c1b586c25706dd57f87c8b5cb145dfcb5bf851d484ab652e33c40e93949345597a4774b09e87a3ec166bb6b92dd9d563f0da7920a9b0bd0e8d831
+DIST firefox-128.10.0esr-uz.xpi 495300 BLAKE2B
8f59bf33c6ff7a9f203871f55fbce8405f8f5ed32061ae5748e7d63185f2145771099b28a5f5ae880e4a191135f670a1c92257f6d1287d4d3a225687079207a5
SHA512
d52d17ab8501179443c8f6db8a7e54a08d2dfd5fc3e7debb3e23bc4c3eb4b24c913ca300398abb0ecafcedff1a6a9d588c4cbc492426baa31fed8b8df306884e
+DIST firefox-128.10.0esr-vi.xpi 683664 BLAKE2B
5f91b90008241dc0384d49a19d6b9f723d412436e472196c9ba7644b0d849e51f95f2d6b835ae1453c6e5e69f82f0c2269cdb10218340a7478e90d620b6046eb
SHA512
d35a126fa10fb417db4c71b9172b44284a179a9cf66b7213fc07bf8a85e3ada1ba5c0678b1fc60886c6c617de7a6096b26d86e123fc003e9215c1ae0c442478e
+DIST firefox-128.10.0esr-xh.xpi 452424 BLAKE2B
65408e14ad04c9b7442d6472cca9ce2ca760d1b3b8642d1adec04286c2e9037d7407d0efde523fd00d5c3b772e43c4c316089c5783876c774144c623a63c42fb
SHA512
b99ffcfe4eefb27dc9248db6c485a2250d8cc369f65ec1cd8f953b5d09761d039063c967e34c4e2f0f88b2c6407ffb881f1f784a66f38cb49a16ee687098e557
+DIST firefox-128.10.0esr-zh-CN.xpi 686329 BLAKE2B
6f0c6526e06ad31d87404ab22d98ed86b8d46dbdb6db009be0d439bd87f120754dcd595ba96902955c7076e56b6d5791d6fc13ec8f38998fe5300430236721c5
SHA512
606c64d34ac13d1bb8f9da88e8b13f7ea907fff2c806d96b192e50d547f4b70ee71d1197f7d3e112db44a7583e4d7be2cb27a9f2d43cddaf94d818107c0bbf2c
+DIST firefox-128.10.0esr-zh-TW.xpi 689141 BLAKE2B
9af1f2ef2897f1d95d7c58886dc5fb0c89854ea95d9cc30c8059d8f0f04b6994329df4b5c4c6e4ca2f3cc3a2be30fcd5cdb25dfe719dacb1f2468a1f6387ced6
SHA512
c9b3b94956255d94fd08458f78b94ce7775e3868cbc6392d94bb693cab1cd065cca4b9297091c30d464f1166085617938da0b2c177bbd7873a072b2513f650ee
+DIST firefox-128.10.0esr.source.tar.xz 556644356 BLAKE2B
8ff5d2301d02ea32dc9c7635bdaecdb2f8a859c9f0a3875d10f9e0531e60768a88a51761e49de34c2c0ade73bf661db2f1bdbf0b72e19783415a23d14a4cc528
SHA512
c0f349cba626e6ec16ff0b52b7d21e05681acd1377fd1111992860f8079373f631ff997d833a3596c72a6d8c6e4f1d051927fa719f1d37a72553dcbd5348659c
DIST firefox-128.9.0esr-ach.xpi 482233 BLAKE2B
de820fcad4cb94ada5be9abbee203379cd299ae739e0fca00ac3a9593b906639aeebd7dcd783ea44f9bfcba25a8fa69d9c6f252693d12c8d4448d95aacf62472
SHA512
bd57885d8b5123adcc3c00f486a695604319e8741623e8fb9fd59d2ec2d734283d04ef2bf606a591d8a9d1b492aac6df33732996bad366126fd629d229b93324
DIST firefox-128.9.0esr-af.xpi 446591 BLAKE2B
c3e423119747c01e68bfc5ff09050191d07d192b43ea1bdea6643bb71bd565821b545d9cb5b7d85595a0859c557797eb6599a1af467d812dbd8ce5a6cb384276
SHA512
ca9626db10d7ddcf9163fe13a5e690f3d1bb9aaf3453d391f4d41cad36a06ad080bc2dae2fce6e0b9748170b2fd6ca9068d28a457f5e655dcef44b6cb5d91af5
DIST firefox-128.9.0esr-an.xpi 526053 BLAKE2B
f4262addd499702ea6f7fc4f1562e05287f7b10ae487c3435dcab00c912410f3e36c5fab2b7a1630d9e158c48e9fde8777920b9fd3a62ad603495c8508243746
SHA512
440a2fa1f2890316ebfbfeb25c5b903bbc743121374561671d0915e20ad8d3817a60ad673f251ba7d73605b8a47af36174e37f4c97d7715ddb2b551eb5564ae9
@@ -100,6 +201,7 @@ DIST firefox-128.9.0esr-zh-CN.xpi 686332 BLAKE2B
e9130871e826721e58a3bd850f63a73
DIST firefox-128.9.0esr-zh-TW.xpi 689135 BLAKE2B
ed751b14944a1c8227b1e37d816a2f8a057745e807067debcde6be490cb73af1924347451c1c9993845a7a6983a6b82aa52bb9008fd3b2bd4ed5507bd46eb1a5
SHA512
de655a1ded9c7aff05602b78b9fe8a2532b6c0381986d7175ce26b08a981371f4daa7c97347de94cf30cc553237cc867fe030440e96952f464c104f80a8ac78b
DIST firefox-128.9.0esr.source.tar.xz 562959584 BLAKE2B
e49ac096a68cc450be909d3e5d325ae5d45acdad5a37afd6567f960d585d30f6ea3a03e9f9e976b430a60180ccd2baaa1679050f46e0a736a46c0cc6694f3797
SHA512
c0c8ac8374291cc93279064c73c17786c6f4fba7505ebc2cbd7a4ce7c82710620abdae7be15f60c43f9d10c3614fc9fd31f094e787105d528031c6f0510f7339
DIST firefox-128esr-patches-09.tar.xz 17976 BLAKE2B
78f64f5086951f7bf2b304c1148154647aef5c4e699257cba5e94a83d8d8c159a591d0b2a7a5f8bc0f8ec28d5eae66a0783b45f94b4ef713282a6f88e46c75be
SHA512
159d8c94af0f90c10baf7446e573a37397b3be7103e7001fb6b38845a28a41793c21ad24c23e0b3cfc4daa2c3a6040ef701f612693c9f4dfff8534f82e7b18a1
+DIST firefox-128esr-patches-10.tar.xz 18120 BLAKE2B
293240f7088a709a1a4c8fc1e339272621338a7d9f675f89bbb13860bdbbe31a150ca21b945f68ce6a399a6391c4b07014978cddbff360ca44535c4cbf343cdb
SHA512
87c248c3896725c7109aa0b30cec79fbb2379508dae9da8898ad9ae3881e030b2f1f1761beacdda1d7852099e4acbfe4a591ecf2a2f817c1978e9dc00e0a3e66
DIST firefox-137-loong-patches-01.tar.xz 5092 BLAKE2B
26ce17d911c2dc4b00d727d77aa14aaf379541bf19e0500382c892a1534fe04ec6f71126b32aeffc00bd1a2dd6810ea25ad25b7eeabaa2a2c70bf1158009da1e
SHA512
5c8ab65f3f24f3fc8ca5368f42d65b2873c9c15537e9ed088770a17f214a364e35cd6b79710b6e8d699afe4f84f29b004374537a96b11bee6f7df91d1f5535ce
DIST firefox-137-patches-02.tar.xz 16008 BLAKE2B
6b1e4f0c7eba462abcc2bc26a463cf194e51023e2a2b91ac88b42cf817cc95bcc61472983a10ab8b959734d7c57fcf21e34e54f17bbf0f674589969e8bda6d15
SHA512
a573048d25cf0ec6bef8afdfc8a845488f910ad4437a2a87ac16131c258ec36fcea985487e415af00aee91072ef8cc924b395143587c3971d42a120de39c36d3
DIST firefox-137.0.1-ach.xpi 300711 BLAKE2B
ab15205222d4e282ef8f76d5b2e40ba86dd5d7b9d0703fc5a927113452006b9ad748632229caff94e7a1363d5bc2263cb775809ef8e9669e96d933c9dbcc2d52
SHA512
109edd0a165e0a49d807f4438919c13ac74f2807d051f90b919b03b7c83050ad8de89b9ccedf62163be455e8e5d49aa88a2fcd74cf041ffb43046f26757f8a6e
diff --git a/www-client/firefox/firefox-128.10.0.ebuild
b/www-client/firefox/firefox-128.10.0.ebuild
new file mode 100644
index 000000000000..71fd4896ae82
--- /dev/null
+++ b/www-client/firefox/firefox-128.10.0.ebuild
@@ -0,0 +1,1380 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+FIREFOX_PATCHSET="firefox-128esr-patches-10.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 wasi toolchain from
+# https://github.com/WebAssembly/wasi-sdk/
+WASI_SDK_VER=25.0
+WASI_SDK_LLVM_VER=19
+
+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-sandbox? (
+ 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-sandbox"
+
+# "wasm-sandbox? ( llvm_slot_19 )" - most likely due to wasi-sdk-25.0 being
llvm-19 based, and
+# llvm/clang-19 turning on reference types for wasm targets. Luckily clang-19
is already stable in
+# Gentoo so it should be widely adopted already - however, it might be
possible to workaround
+# the constraint simply by modifying CFLAGS when using clang-17/18. Will need
to investigate (bmo#1905251)
+REQUIRED_USE="|| ( X wayland )
+ debug? ( !system-av1 )
+ pgo? ( jumbo-build )
+ wasm-sandbox? ( llvm_slot_19 )
+ wayland? ( dbus )
+ wifi? ( dbus )"
+
+FF_ONLY_DEPEND="!www-client/firefox:0
+ selinux? ( sec-policy/selinux-mozilla )"
+BDEPEND="${PYTHON_DEPS}
+ $(llvm_gen_dep '
+ llvm-core/clang:${LLVM_SLOT}
+ llvm-core/llvm:${LLVM_SLOT}
+ clang? (
+ llvm-core/lld:${LLVM_SLOT}
+ pgo? (
llvm-runtimes/compiler-rt-sanitizers:${LLVM_SLOT}[profile] )
+ )
+ wasm-sandbox? ( llvm-core/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-sandbox? ( >=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 "llvm-core/clang:${LLVM_SLOT}" ; then
+ einfo "llvm-core/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 "llvm-core/lld:${LLVM_SLOT}" ; then
+ einfo "llvm-core/lld:${LLVM_SLOT} is missing! Cannot
use LLVM slot ${LLVM_SLOT} ..." >&2
+ return 1
+ fi
+ fi
+
+ if use pgo ; then
+ if ! has_version -b
"=llvm-runtimes/compiler-rt-sanitizers-${LLVM_SLOT}*[profile]" ; then
+ einfo
"=llvm-runtimes/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 loong; then
+ # Only the LP64D ABI of LoongArch64 is actively
supported among
+ # the wider Linux ecosystem, so the assumption is safe.
+ export RUST_TARGET="loongarch64-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-sandbox path manipulation.
+ if use wasm-sandbox ; then
+ if use amd64 ; then
+ export wasi_arch="x86_64"
+ elif use arm64 ; then
+ export wasi_arch="arm64"
+ else
+ die "wasm-sandbox 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-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-ffi \
+ --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 '' --enable-update-channel=${update_channel}
+
+ if use amd64 || use arm64 || use ppc64 || use riscv ; 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 loong || 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-sandbox
+ # Since graphite2 is one of the sandboxed libraries, system-graphite2
obviously can't work with +wasm-sandbox.
+ if use wasm-sandbox ; then
+ mozconfig_add_options_ac '+wasm-sandbox'
--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 loong || use ppc64 || use riscv ; then
+ # '--disable-elf-hack' is not recognized on loong/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 llvm-core/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"
+
+ # Prefer the upstream svg file they use when packaging flatpak so it's
always up-to-date.
+ insinto /usr/share/icons/hicolor/symbolic/apps
+ newins "${S}"/taskcluster/docker/firefox-flatpak/firefox-symbolic.svg
firefox-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
+ if [[ -n ${MOZ_ESR} ]] ; then
+ 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."
+ fi
+
+ # 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
+}