commit:     cd477c0406a1114f38681bbff16f8fedb9e1a4a7
Author:     Joonas Niilola <juippis <AT> gentoo <DOT> org>
AuthorDate: Tue Oct 15 12:40:09 2024 +0000
Commit:     Joonas Niilola <juippis <AT> gentoo <DOT> org>
CommitDate: Tue Oct 15 12:40:09 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=cd477c04

www-client/firefox: add 131.0.3

Signed-off-by: Joonas Niilola <juippis <AT> gentoo.org>

 www-client/firefox/Manifest               |  101 +++
 www-client/firefox/firefox-131.0.3.ebuild | 1369 +++++++++++++++++++++++++++++
 2 files changed, 1470 insertions(+)

diff --git a/www-client/firefox/Manifest b/www-client/firefox/Manifest
index b6890b848927..cf410f3de727 100644
--- a/www-client/firefox/Manifest
+++ b/www-client/firefox/Manifest
@@ -604,4 +604,105 @@ DIST firefox-131.0.2-xh.xpi 421248 BLAKE2B 
291a59b878580276a3d028a318607b78dadbd
 DIST firefox-131.0.2-zh-CN.xpi 668950 BLAKE2B 
98ec8e92e7b520ba1a86d2bb615bec16c27ab75fda672617714c54a403bc26b2772e37a83b7d514b0c7e173f80ee0735b844bd0861a866d5f3158ae18c5c3a0b
 SHA512 
6555df6ea154a76bae6ddb361c420ea34492e10f1cb340192e69fb283ae0fc0d37bbccf8b67b69fc4deffc2e5fd70115e56a6bc5524b0143368f9d8269facdee
 DIST firefox-131.0.2-zh-TW.xpi 670924 BLAKE2B 
d2417e7edc6817aa2ff7398aaad0ea010284a38d3494fec944e7edf715881d4de2c14f6ef3ef73845440363a3e909d423530d6e713b651ea730dc0a6f2ed43f7
 SHA512 
4958ccd9973e42cdfa618a53f66a69901025ed59b9505ff52075503a371a5f2041601beb7724a4a82271546f94299803d3804e683cc32dc5ea4a7e1738c3263e
 DIST firefox-131.0.2.source.tar.xz 567226924 BLAKE2B 
33831c6c40ab0cdf3cae0a673fd6e4ab5782e0ac1c1f50383b75aed8850df878d865ad584fbf4711bbb66b6e9708cc37f6d6a0e82be3ef4a4ef87c3f11b471be
 SHA512 
fb1a1179a8c62de975c93e1ac6f058cb5492e955bbb7ac2d4b83cdd14ba17bdb2450078bd6f626124b14542f3fda9514bea476aaa34ff4f5a2bee6b1625ec963
+DIST firefox-131.0.3-ach.xpi 468414 BLAKE2B 
fa22dd76d0786204d412d061b24d8285a526cdadde32ca4f3c1cde022a62a7412597c164048551561030807443b4b5fbbb2c9912b7f1933b1ecb9f5db21de7ed
 SHA512 
a82c639cdb892df8563998e671dfdb49a7be40f70d86805810d27acd5b5612d512834b3e5c42cfaf957c374cbcd34d683da062aa9e28cb9d4c1faf674553d6ce
+DIST firefox-131.0.3-af.xpi 421451 BLAKE2B 
802ac5526873fb14efdadf3c4d02f25b29dc04d2d78c8728f87aaeb75fe30cc6d389d4aafdc79b008fd6dd16d998be865daee34c3051f71f47977f90c6db72f3
 SHA512 
e23cf8b3f4480264de68b2e6d2e44241ff993865429d4aae01238e0410a2634505a285a8bc1612ce3cc4c24c34c71c77ceb2e6699fd3235b6ae9ebf3f7d5a54e
+DIST firefox-131.0.3-an.xpi 509984 BLAKE2B 
9780e3274280a2507db391ecfac7f567eeb5dc764bfb2344002b13eb9d805df618c93df37d0a1f044d7af2c909ec668452cedb12c76e53dde663bb7c192edee8
 SHA512 
24c9ae19a1db3b551902e1679dc28fbb59ad9d037aa7e026fb71fde6cf5e8a2cef152ec107deb32ba69d72813dc216d5965c2470b0872cc58f8f7a5abc6694fc
+DIST firefox-131.0.3-ar.xpi 616356 BLAKE2B 
4c0b55cbc57de761551e446e921ab4f75ae9226c68d869cd43aa24d8083e2a76f08a136015d1f12859bdcc806ca8fb0428cbacef6a27c4cd86a61f7d315efdff
 SHA512 
79eb79dd21d24f77633c14bbb469d1310acfb608d8d7367c7e07a01010d51c407a1592c1a4bdb7d0c664dbd17d5266e0854ac599325939ae968e87df9a2aa2b0
+DIST firefox-131.0.3-ast.xpi 500428 BLAKE2B 
fa5af1d3439e4d2e54b6726a5160e879f0ac9cd5a8845f088f88084c03429623b0a93a5b1aa54bff073bda0225d34e826a7ef7051c52df3b799b10028b2a96c2
 SHA512 
946b3e2da37e7462afc68577d163b319b77e62c76b8b298e4fac5014f118da0933438560fe7fc9be62d4161bed0cbb7e9ecb1356b7b209e67482a0cee63da871
+DIST firefox-131.0.3-az.xpi 495124 BLAKE2B 
c78bcdd340b38a54b0e8386e3a6f70fefa995f2b34c464547e26db4a78614d05f7200380c2bd43813b0dc1014e47f6e5cf1a8493cd3c7f1e2a48b9aece57109f
 SHA512 
a2c9fa1cc7c4d489706bc4a1c68d18363c5c35dcda70a7cd4f1076f651ef17a2487efb4cc356bf288f3cfe71f347be1471e4f4177d6169769fe98c3347574a5c
+DIST firefox-131.0.3-be.xpi 728090 BLAKE2B 
aadb4eebc2ed241fd7d3231ccdca5eeb81dc3c790af669e3549e809a3d3f81b9e284ef98b89ae258827064f205370d910c96db5e2e60e17cfad1eded6d5a521f
 SHA512 
6300a71d368308821fe3e7dd51330e7b9e722bc2aa1bc16818d269f6cbbf709354a8bf2b9305c745ccae439f90052e97b8823aedf954c20b487d3c9790869931
+DIST firefox-131.0.3-bg.xpi 648276 BLAKE2B 
f810a380670b48a00d2520b72fae696ff59b16e02400f4aa891bd80bcec1607e06482276d74aa09667a35ee4ae4ce69d1a51e08ee9236ecdeefa18a1cc478fc4
 SHA512 
09c5055e0203c5f8782840a81cd85647032b9b96999134411a3ceba4e23a4792fa89e3013f79ea9d2ac4e59bdff472530229387113e8cea8746883dd8e46af42
+DIST firefox-131.0.3-bn.xpi 585894 BLAKE2B 
c0d293a5be5c83eeac85efb022bf5978d014480b3346c9e05f55d336cf5d1e65f2f4d3d306e5f0acd102f67423c2baf51845d7038e792a98dfbf85ecdfe6b34c
 SHA512 
f5c36a611d83d93b3aeb7415599a720d49fd56ca262406a456c0bf3f12577b813213cd49d3c9cf849b14be940d74088b9105b36eafccd776d8c1bd45770c787d
+DIST firefox-131.0.3-br.xpi 594256 BLAKE2B 
e9ec101079a561e51d66b2ae2ff3815626495fed952cf157ae8db79e9dcd5494b17ce9e3fc9238d8995854dcf24e88482f04e515c28c9d3a5b9f69a83e4d4f95
 SHA512 
7473755206d4e22ee1a19d3bb1508d8c1b9ab875b0f063318d8d3528481170c653f61bdce2f3e94d4bff409e25bee130155668abd2a65b0fdd22d166531b07c9
+DIST firefox-131.0.3-bs.xpi 513550 BLAKE2B 
e1ab4d46cb52399e6dceaf188f0e35cc45249ecd9d30cfd42325f028a6a5ceeae288b69740313cc0823f7a07327fcf6043d420a6ed1db5b581e8fbf42f393bfe
 SHA512 
6fe51e2ba0db28bb85118d4b2a64c53c0ec4b815295699bdae08daa36a0f8054daf29096d927d2321342d447267dd84c1ae2f4d50753ed3f5bfba3c6c00b11de
+DIST firefox-131.0.3-ca-valencia.xpi 550011 BLAKE2B 
682946e572a14633793e5cbfc4665624ca5ef0f77fac64872720a02a7df3a99e05e4e964633471d2dbcd939198223c60fbae8932948cb710da89b879ac306115
 SHA512 
8f053b5ef8dbc05947aea7ba36064f1a5d240e77fe67235a7a0da1dbbb81a31992782effc0d761357d9cb346d0a93dfc40712cc6808ee35158e4ecc4bb850228
+DIST firefox-131.0.3-ca.xpi 601783 BLAKE2B 
06ef6ef988e09363c574a0e3ca68f50623a485bf925f8b458d5bee9edae431c93b488267bb13a535d74ac93aef06d4a0bf0def152e09d44d0e31ed840ccfb799
 SHA512 
b868dda145622a482e9dcbabb34745d186a38bda56308517155d585ac4b0ff7313e4a8a729961b286bc6adc31c2e48168c562bfed28dcc81cd60bdf913f6bf68
+DIST firefox-131.0.3-cak.xpi 597649 BLAKE2B 
67ca9cd2514a0fb0e7af6c12c89ace4687a92a23d53bbeaf3e4072e4c2add7ff8cc80896087580418ea675bcf68fb65b46400c2f6406ebfa5eaa9a55787bca21
 SHA512 
aa6805845ec9560347503448339728dd92e9f34cee91621bd3c9e9e8bbecab950c8cfd1448909fb9368e9850b7b4a05a6e7a7e85405fe99a92cdd38e1d0dea4b
+DIST firefox-131.0.3-cs.xpi 671329 BLAKE2B 
00d2b6f2f3344a3c81b49b55d0a2a2e72c4fbb33990f7e1bd384af793bb1828df59eca3059f3ad51996b3f7c781bea37f310ed42dbc7b8cfbf3762d754f3447e
 SHA512 
045b3e20b5ea8bcf0cecb97bfe62f6a91c9ea30044b2164a762a633e01036756cb44360a64034c8adc266fb326a03cfd7cf1f8d41bd6c8d28fd17e81fdd0e78a
+DIST firefox-131.0.3-cy.xpi 635349 BLAKE2B 
1f8b979ca8997b64d596d1d76851dffb8ad09e0e448bda48726e9b83e2ded27235954daf94d667840c6ae9ec0bacd4ae27c1123e0803bbc6277d4d18c4756be7
 SHA512 
577642fa3e36776ca949dd826e2d1014d902e086737e29d7b5a8f9e9daa7aefc40a988ab8a20f0c8fba2203ebf8a66072cf3f9d334af3d490d04ff27c376f6ae
+DIST firefox-131.0.3-da.xpi 623753 BLAKE2B 
97f6b1a106d6827c583d2f1e80979ce8bf7559997796d60f2be27ac1d8a1abde5531d2804ec7dc9e9fd31981a10c353076d74b1b0429c64bc82da360fe5d03e5
 SHA512 
acccf767ef0d587e1c44429cb61f6432faeb03827d3296b3775c67850e20d7563ffbb7605c3504bc9331c04c0a6e75ef6fe006dd7ffdbe4aa95e2c9b7e64d7f0
+DIST firefox-131.0.3-de.xpi 645495 BLAKE2B 
bdb7043fec3541dd52edd522b2fe8578c3ba08e5027a6e2b3920d865b56c4df5a436522b628042ec7e8c1715ff266f6b010c8ecba5230af56035b449d410a84f
 SHA512 
ee24a582331a37015185b19c74cadc615aa8a0d783468b08a104e75c0b857e560082b8777f2f53c8501efc8b371ee2e07b6c33ef140de00bd484776b77bf5e7b
+DIST firefox-131.0.3-dsb.xpi 662249 BLAKE2B 
747644bf660a39b8650c458d300b810cfe3d2aaf9e3af0b15db55b14dfd0222a9c5b94173e54254eefee68266dad4d19cbe7a058504fdce061e68788c17d88a8
 SHA512 
9d8c837a5d81ecb16fea90a0639a5b0cb2c1d9c8a1dc8349d0c1337654d5ca839cac1955c1ae57d735bb8c4f277e10f0f3044e2b45c121095a1eb254aa41aa19
+DIST firefox-131.0.3-el.xpi 745644 BLAKE2B 
41ee4b88cf796fff2fb068fc0daacaad53c9c84d7d2dbffe11cb10ce7ab6cdc2cccce9061717aa616468a7dd61b8cc1950cfea6ef949438f80ce0ce7eedb59b1
 SHA512 
979ca37bc377867ff783f4f098e0194d478e115541dfdd6378167b90f87fbae161f6b8754885202c443f37d825f32d0185b95c035ac9398555bda438944cbc80
+DIST firefox-131.0.3-en-CA.xpi 595192 BLAKE2B 
e58fc66a4a140834586dac9e36cf08e6fb34a15c70f54dad0fb42eea4c5aa0142f92cb7eb5e77f901e3f42b392ebb30b3fbeb1721747b70b97c66ec19ca1b616
 SHA512 
c32de12ee9e66201e35d91c359d0b102ad4b3d7691a1f3922c48478307530973cc58a44d83c288f936d8f93365015f9e47837bbf5e9356b1395cea5a11950f4d
+DIST firefox-131.0.3-en-GB.xpi 595560 BLAKE2B 
4d44a9d70c31fe225dc6ed0eb65676b112855fa8223123eed0deb106c2024b17a195c87fef6c8303de64f1954ca551b6668166744b46fc9bb0479bf505a40a93
 SHA512 
308fa6dd6c546b22ae334c1c7b33125ff1d326a037a80fc64bd4d0bf2648b9e305c9a89caa01baf5dc334c13c62caa6d7456e294ea7bef8f4d409cae0918a4ce
+DIST firefox-131.0.3-eo.xpi 626852 BLAKE2B 
f6f8f7a1933fbee07db565615fdee52b67aae6e39d48c218ac5d552a1386394022035ddaa4b87e3b0e8b29757afb4fe0d36c51c259cac0316670db9b46063565
 SHA512 
1d5ca7371a9c263449d9e601e62ee6889e3097f2324831b36abeaeba5e355d0c388f7e47a8d4214484e971ffd20a88159ffa399b5a5543e2a10f4d24f4efe101
+DIST firefox-131.0.3-es-AR.xpi 638978 BLAKE2B 
d623548480dd4d539288def6a746a24a1e34868edd0cb396b9a82c02499eaa267e1c6593bc5a73ccb458772c3d965ab7b2f9704491e4d009782db8c4cb3acda6
 SHA512 
ea28cb3aea03e6d56dcf41ae63ba9d25d373730ff33b175459e1f18617eadefbfa59d47e7adb419fb74e0499c8832168c652c6df38eff59eb5b3e81d1046b6d3
+DIST firefox-131.0.3-es-CL.xpi 638191 BLAKE2B 
f2863dab3089f1fd18e21b73b973122d767782b790d3e656a895888eba66ab13190024e08e292d4ca1fa816e68db99cd8649bf746e39e276b0efa4aeeb3631fb
 SHA512 
d2d86905562663d8aac3aebf811df458ecb7f71183c61cc7eab4fab079d3d632ab831987a03d6705d180cad83949abc48e16c57cd99710fba66a6a0ea95568de
+DIST firefox-131.0.3-es-ES.xpi 629782 BLAKE2B 
11035cb951aa719db562e787d5fa65dd8db472bdd21ff008152a072e78b478edadfcde2f685f2e6be91122629f90a4a1b4a4e8617020cc3884cc8a06ac5287ed
 SHA512 
80d1f38601a71a33e1e58b354f1dec142c7c47af589a29f217c2e98c6248770935243fcf8e4164737b802640fa30c66cd3ced1a33b00040d820417f26c39aff7
+DIST firefox-131.0.3-es-MX.xpi 627920 BLAKE2B 
934e69644c08f4608fde5421fab905585c0ddaeb3ba91da17e0fbaa2adf88374192efca5ccce752383f673cd390e49dd0cc6b3d31969d36201e532874435171a
 SHA512 
1aa62672323b4461e1a7057a1656f12df021dd5acb552fd7f327a1a2b237fa685df9a4d15fee11e28ff52f832783ba996704b1528792e15c0ccfde2ac7678919
+DIST firefox-131.0.3-et.xpi 544066 BLAKE2B 
f97abf84188a5215c31a34961546a00944db8f12db828040248e5498bdb2b5c9e4a1bfb37d2b9fbb97cf42096018f3bd31ec19c1cb9ffdc1091b0ab1cd4299c7
 SHA512 
113ddf1678409c37fb4bde55b205d76a1512260faa306409d38feb75d32edc92e408255bb42d98b490236f62a0e4e22729bb3b74a4c320e3e7ca0138fc0cbd2d
+DIST firefox-131.0.3-eu.xpi 606308 BLAKE2B 
1aecc8a7db1c77c4e2f3ad4e76dabbfa97bc1814e1d5fdd173c4d8671e523ff17143c2e74243955f605ef5a33c9380be50eb99d0d9e8d62060259ea2c9d606da
 SHA512 
de967c6528a94a390ade37a9bd0f07cd196e9d479f3f44ffef20ec16c80fa8657030a9db207512dd99c77de52569aa822c5c499de4b978f155de97befff3ef3a
+DIST firefox-131.0.3-fa.xpi 595023 BLAKE2B 
3a7865ec35d1013722e39a5a19869f0fb964c9f3ba44c67a21b9abd086915bed264ddf117783af610ac46b667fdb035148727a778ede7c2046f23bb1caf3a07c
 SHA512 
f7460c4cc241df590f57a3ab9df38335f1fef7b4963cc77ea658e754ce939c31946fd5ac08c486666ccd0ab8b581caaa413ab28d6220b88ab207267aa45cbbf5
+DIST firefox-131.0.3-ff.xpi 480072 BLAKE2B 
aa2e5381c2ee85fc7fb9529727c7cfe29d00a4a5fd273a405610f234e8191176a063425cc6194014b6ef5d8287383fee20e45937b43c5200f133e8c5f5e7e8e9
 SHA512 
37892b2dc05c074ba860f8867e6f85d97e6de47343753dd777cf91df25d71c1868542d84e6b4d00972b820d63bc4dc872d6d4b34a08d0fe0f95dbdd239bd9e15
+DIST firefox-131.0.3-fi.xpi 619042 BLAKE2B 
bd3ffafda3015a8b8d5515f8720eb5bbf6005ae5180bdc25c38b564144355107831eac73f780af443fc9c073f44bebdd33255167d57c73d4b749aca32d330df5
 SHA512 
5f379209420d6d0ed271d806cb404a20c7cad6e09bc138b6071932e15018edbe96b4de5f513376b7c7e21025c5599952bd545349de0967738db66bdee92c7efe
+DIST firefox-131.0.3-fr.xpi 652465 BLAKE2B 
fcf392b9b6a4e73a219df42732bc7cdacd0c01bc735d569b720883af1120efd6be5098eff8f3f6a5056351949d836b42d097130c2b8f0d39e436b15006b63612
 SHA512 
003e716c60e523c222d8fb75aef15aaa40beafde0136c86843a648fe08c4a8155d898b2a8c9081b1452bc8cac84b06ca2396b3184ceba31ea66577d3a9dabbca
+DIST firefox-131.0.3-fur.xpi 645000 BLAKE2B 
5fd059ff67ab46e685a2440edd14941dc658c7e5cd3138bddc4d22bc108fc31e1e858bd453c7ebbd338380a3df2c561f951300eeefc7bccb0535d76a0ae58767
 SHA512 
94f981022c06d9dfd29bcdf1b2745669b1e869b8d07294a57d858be7b6145f7b23ad9580adc70764d12a57563596a3328fe4c1b44459a635e23f27ae3ca58c46
+DIST firefox-131.0.3-fy-NL.xpi 634738 BLAKE2B 
2fea9da7547badde7d7f4bb44b09c25455bcd3e8e48e4b0593bbbb301f009f9ea40a4834982f80fbbf65eba6f4852129a6a009f174a823bb2315b095ca7e1c65
 SHA512 
3cb18bcc9db7fcc7466f7dd86a49b180466861e5d54c4148d5c3fa831f68a570677021c16ae73e747aeec9fe3bba26463cac3b264030f9da6d511f7514339e81
+DIST firefox-131.0.3-ga-IE.xpi 475189 BLAKE2B 
f5917602a36d72196b20a9532e90fd41ccf31b5c84a8d28e2c2184e617d2267ba6b7f47ebfc76fd7696288cd8f1d0a1609dd574ebce5e77ff0f65402cea25744
 SHA512 
54f48d1c8b03f5ed11cd322e9d98334f2fc13a86d6915149b8ea2035eaf6a7bbf1e81c86de22fd5954a8c417a247ca7f1e42e86c9502eaeab11a651936091f0e
+DIST firefox-131.0.3-gd.xpi 601277 BLAKE2B 
720332dabdd62a5e9c2e3cd2dfdfd5e63824dcb1752bd5cdd94412e7672e40ec16e6c20d11417aba228f7db2db3a3e72b5633d52da9f429891f278d204c3b2c5
 SHA512 
e777a1a1e012640e0a771a75b4e6da83278357190456ec3d88c45d8f23c1c84079675073a49c2970194d74c7011602c99608080e4b75ec3cd00e29aa151a5028
+DIST firefox-131.0.3-gl.xpi 612829 BLAKE2B 
1150794b9df67e479493fecd90b6c30749ea3b7fb947247c7e4736442f3ea5a08252c36b494f3da2297a8f3e564e2be2c158c201e6d3d2af1236bd22cc477221
 SHA512 
1c929f73e6a414fd4d680c57c3b77cdf29869477d5dce7b94b27e4b60248326c439108b7f23f6c79042d8d9abbc8f3a60942cb202f0935d6487d6c263146d5cb
+DIST firefox-131.0.3-gn.xpi 647611 BLAKE2B 
6da610d49c67c9d013277af5035b70df39807a1150b931baf3b33b6301d629dc5de41e174ceba6d749d684eb149ba0b802122487592e30850beb1a95ebff9ddd
 SHA512 
cd1388503d290efac70d0d1dc764d54c58a3c584faeaece96075a3b98e5a916f69187afeb436c69f46d877f59c6f0f15caaa97287f3394dbe9dbe5a83ab64bee
+DIST firefox-131.0.3-gu-IN.xpi 531664 BLAKE2B 
345f9443258dc5b41c262ea951fa52ad96d94df31c66b87837fbd49d4bbb865d6b82678d7a02d07d5f715e97dbfc9b45e625a6f86f16e95242f791b62eddac08
 SHA512 
8611db24d75b6882eefb29b76cd73abe20197bd9f2c1cb3a8fb7aebd03855a77c5b0ba272024ada7db2e8470cd2a468394e0cfcf53735f76b9e0d1f31360c4bc
+DIST firefox-131.0.3-he.xpi 641668 BLAKE2B 
fa8f1f5a498271125940819d140bb36bbea96d63dc92e624f4fc20ab77eab86f04f6659e3b57f7ef7b0fe1920f18d0d9ca6a8f6cb20b29e96cfb0dc92979fd9e
 SHA512 
a941b1cf7e6fca1b0686a5b20d8cdd361730b8d726f2e128df7d41260367d09b06533f526084ed77e0c3a885ad6709bda65ba47943c79c033c1c212527324d58
+DIST firefox-131.0.3-hi-IN.xpi 570977 BLAKE2B 
d9597a0c6be9e98186743bb884dfd5a945d5bd26fe7caf381de7968eb25ae26fda50714d0c20a0bf19a1915455c5bb91e1b2c3c97936dbd756b275fc089c34f8
 SHA512 
93ec4e657b3d378fd1fe56c2cc396d2096bdf4c427dbe229ec19a44e55f27a61e32098b6956b1108643ce63643da3eba2ccf4137657e7d581140ec0e0b5fc30e
+DIST firefox-131.0.3-hr.xpi 621597 BLAKE2B 
9e0c979bfed45ef40d3263b0f8582897143d9c7b041ef6f165358db56a18319a7d4e9b7db9a55c89bbfeab568b888cd69cef756563b96e83ffc4d382a23705ae
 SHA512 
6437d2c3d4d9a02c8db8820d70b5fd2192fbd2a75da1db6130fe5396d14ad1ef6ca247c56b837c36fe08c58ac87a172571087efca60143b5be6791985a96ad77
+DIST firefox-131.0.3-hsb.xpi 658178 BLAKE2B 
a58b4b26084dcf32daeeb10bb329f10090550919cc5ac55f46fb28800481576fc7032b910345c42ad5fa1b9ef4006c10e8ee99399fbb958649f55a21d9857590
 SHA512 
8a5d503c48e2d41ec386c48cb1e8c26df529e6cfac315444c12ea5ffcd907b983448c71217dd02357ba73e918e8f3cd708d3126bb6aef0b9ba0f96a57053ffb8
+DIST firefox-131.0.3-hu.xpi 662942 BLAKE2B 
f5a5e0178a6ee20c45c5ef33195b0f30d5e638684003622314cdef8c4dc19846e389f3ffeaab3f38462df1aead79e94f954860ee9e34497cbd145aa6a0c60fde
 SHA512 
cb7ea7ea417eee842cb81c34a5416cfd6bcc3e3a0a61928d1724a0bfde41419713c718e1a2c1894d8bbf1c1a88c46d708b2b98f08c0be97c3e8485a6e747d963
+DIST firefox-131.0.3-hy-AM.xpi 655959 BLAKE2B 
e9d7124e662d40dbe65128c1146a0278ce21162477922f356804ede03cd6ea8b9c2566371e90d923c9081097b6748afdb2aed7fc41d913b90e0e13856198a868
 SHA512 
cff1faac1bbb26c266690e529c7845ee8b35921cc64c14ef32aeaff1c905aaba0e5d28f398e35441aacdeaed76c34ebedef4175f7633c845d73e89a7bb4dae88
+DIST firefox-131.0.3-ia.xpi 621924 BLAKE2B 
24a5640669e00e62b13267a3d85913b08d60f32c062bf04a1d61cd69f259f97b3d6a271a67c21156bea030f61d3af83060a62d589b105d8ac569d0e153c6933d
 SHA512 
8a743952f8dcd035220f5058c07f7735206d64e6a6ed564fc4782ac2225fa693f3798e12642622226992c9edc818ad561a6e8c257279945a2e2bb67c6c0cc3ae
+DIST firefox-131.0.3-id.xpi 589325 BLAKE2B 
a241b60552041b4d9b314449b5f5fc8ab695cd806199d27e8292d19689f25e8e182f44750ab3764e0cebd5832ee4931d7bdd6097a9160c2be262eab4aca427fa
 SHA512 
821448fb799f62bbdde19331dc223db9bf36f539722cb82f8ce61945289304dd5e1f6f61bc4d8f92e6683caa0f0f8432ed3a7680382d11169b23e489601039f8
+DIST firefox-131.0.3-is.xpi 627297 BLAKE2B 
fb04bca98dc987c19db33a8da329e1b59081fa0481c705516f5f37833be20985cfe9504976af27cff6c72fb9913c643645d1eec71e3439cd874e5bcc33ecd3b5
 SHA512 
76f00f23978b7278518f8b90426aed7a1bdcc06d3d43828f2cb7ee0a8f4b16627b8370b7623c244096ad69b46ba4232051a7fc24fbf80fbdd031b253db1ab641
+DIST firefox-131.0.3-it.xpi 578408 BLAKE2B 
674f54446503c49e654ccabebcc8fb9c2344bcb428e1ecb078ea3c18423d147fba0db6c3333e1dd0ac21b18bd705cec7d5dea831869906b68441de7a1aa1a615
 SHA512 
a98dce80d9de63ac35168c47b267db098412f5b3310e3c8bb7c2c035084075e9dfa45c0cffa92ce7d17205ebfe10a749e262f86607d253860f85d1b904951b5a
+DIST firefox-131.0.3-ja.xpi 687816 BLAKE2B 
ca9478976a745a859c9b318b1d7d29c9a7cdcd5b1db52ef0e5f9eef76197b7658f51ccd11dd74966d0ea50c96600ebea30750bcf085e3deb15667ee338c29ec6
 SHA512 
46284acf1fc0869be98a49b187e85a8dc6b4c273c0f3b6c9c8a71c42abc1aa295f3c067e97e8f2ee551851cc6451c86334dee3f04aaf0e07f773043df1e551dc
+DIST firefox-131.0.3-ka.xpi 665753 BLAKE2B 
cd08cae80bab57cfee0e918c46fd22dcbbf78d68cf1958a38ada5369952deaebd28a38e91af4aac5076112e0199cfe04b21b06d346a9999cf39c2819b9af9c1d
 SHA512 
b00c4a9b164e18548d7190cbfae2d3cea8b1cb61061fd27dec83dbad0f3f0c7abe24ee3137a00f7ac3a1106fe17cf85bc1ac16ac49edcbdeaa1f3ac3dc0a1700
+DIST firefox-131.0.3-kab.xpi 618855 BLAKE2B 
e9d20337ccaa9d71130aae848d18a6a30a108c58cfde132064efaaab65f5dc633fa0f41b3f09e039cb9d54d057f60886f345c398ffd1bac6d6531f9a45f8a070
 SHA512 
789fa7ce94ec575a55730d9fdfd435f96ac2e029e1db80829c932e7f0b3dc2ea4dbf4187e6abcf6a4fcd9909d17a4ffc5a0b3377bb786f6c2fbe7dc1e0e5c7bf
+DIST firefox-131.0.3-kk.xpi 720144 BLAKE2B 
4d22a8861a7953e4eb0286731a63efe62bdfe8470c48faa2b8121d6a80c0623a34fd2ba7a6b2a7ccba665bb666c9605d1c74a3848a48dc89b00729d43f5d6000
 SHA512 
d0c5be095fc9d789436864506bf920dd7e790d6b64a02c45d536744ee36f53ded0efe09e14afbb0e005da87dd6a7043f0b28d4fb0e3ef822926697c8e1ed822b
+DIST firefox-131.0.3-km.xpi 530158 BLAKE2B 
06b2861f7a0a8b831aaa23bfd432db9a8edf4b5454756465215c71b058b296191204e7099a440e4721ef32214f1d0e04591f23f6779facd8ae27ce3fac4ebe09
 SHA512 
c508d83c888cee86493d20f7deeaabcd48baf5d782a6ef9c524d74f6fc609626194132007dda478051ef2455d3f79901718b6363fabc1511f242aa687d936ca8
+DIST firefox-131.0.3-kn.xpi 495161 BLAKE2B 
02bd1748ae9e85de74ab669a7ed9287f677a00c65d6804f539453e5038eb6d3e68d8451aff0669bca9a42803124826c5abcfdf0d7095d3ff25d187128409d6ae
 SHA512 
ae6902bd793b578975568ce59a0aab46ffbe1315c83a7d6d52928b276aa178ebedb835e5de7e6e3bfab60185a37ae1c2138402546e4f0f51beb4ba103a5b690f
+DIST firefox-131.0.3-ko.xpi 673056 BLAKE2B 
d10e856c88b308a45dc47dc3f2dd6fc13663fcb72f6d6488678a01a5feae4721a0660c238d0f7392e39f382e7c0f0c602963560148d677b5fa22a7cbcb8546d9
 SHA512 
34aa9415064291cbbef82d3a0ff6516654abf428f4f880b4a6758f8b142151b588858b480168a7114730a0898fe82a2863f9c9f65b7578e221518b8f996ad271
+DIST firefox-131.0.3-lij.xpi 488453 BLAKE2B 
c9639f92439ae4b0e44c614fba245abf013a05bc9782026f68ba3a8792a8331d8f17f72672556cfe7a6d10ea127b08702b57e0d06110e1b6c3135ad0add5e694
 SHA512 
1163858d3fb36cd94f550c340006422ca5209dbe92bc59ef4be8097c32bd298e8bcd6dffe564b4f4f82d9b3a01ff5ac96a9c50a7dde49a31ce00f5bfd7993f84
+DIST firefox-131.0.3-lt.xpi 577187 BLAKE2B 
9b2081da790fa8ec54d2f00317b7b6575dd1b582e86292dc366286e54dc016d4c16cbd487a34295c29deadd9d26e9a5c23a21816362ecc5bc6c7b3c54802f4c3
 SHA512 
6d025359c63fc9b8ea137ce1eeb21030fab8ee93a06a5fd580072c77426d3839f2d7095b42f8102031183845ea3087923169a807c14d8377630662ef694c3ec8
+DIST firefox-131.0.3-lv.xpi 590481 BLAKE2B 
44c77e6113cd2e567e619d4d82725ab7c9cea4155bb91aff3d70378f1b8b26d47c34413b4cad5b6f06309708a11927a5a5bfeb398b4c16bbc60540df1a3cfbba
 SHA512 
0fed8c8b97a2b11aa9b1e63db20461bbcee5c08640c769896fa5d77fe337311d75bf1c67c5aba47f074b2b2af127f4b9d641d07edf7a1b6da13f9d97e193934d
+DIST firefox-131.0.3-mk.xpi 497773 BLAKE2B 
6b8e31cb0c2945cae3c2e0b6690622f721d318f54c1b38a840f3d72111294757a9d61abb36581871537a2abd10d14b02cff914932ce09b756f8a035acfe04b6c
 SHA512 
b89585403d121f20017ee2f7245f8d63ed06f1db6e93eee56b115020033e892c8770dd66b6aa82db83c488c25e7bda4d0ba61ad6ab90203b225871cdce294f9d
+DIST firefox-131.0.3-mr.xpi 536279 BLAKE2B 
62eb8e525fde2c04c7eee566c63c24fd7366d5667602835fdfe75e14a57ca18dc973a21c7935e9747f4b2eb6a3b2999218550126684cc312b1e9b8b108ea50d4
 SHA512 
6fe1dcae0c87573b4f6586e1ff50bf70db1e419b8cd65905180f6e8ea819025ecb395fdda099b8a0de56b7faf5b4a8cd5e817911d82278335d8921b5cfff913b
+DIST firefox-131.0.3-ms.xpi 454046 BLAKE2B 
da75b60157cd743c30accb20ab46aab54f7ce8a3eeeda97eb405fee201e09a22c1804662193b2723a38fe05c3569b2db07ce6000463dad13873aa4d8c7d13f68
 SHA512 
6c9a87e3983ee194876f4bcbf4aaf53e835a6b2b97f71fe60c41895fb436274a3495a97088478360b2e0fd7739a27f6ed10c072f0e0be503fb2462d9d28b59e5
+DIST firefox-131.0.3-my.xpi 522638 BLAKE2B 
52c408ea552e862ac78088e89afa5a0dd67eb83210a2f961808b218aada1393e95a5d8dc14cf86456eccba2e67f439ce8a76548b4bf2e4f9a34786a4b14e85af
 SHA512 
53a7f026f69a75ef765439b6bc1f2dcd25efa26c14d5cb22a84a0fedb10e5420999942054548eb9c0cff308125aeb0dc441cce3db6fff5250e36d621b122ca74
+DIST firefox-131.0.3-nb-NO.xpi 619131 BLAKE2B 
7cddf9e7633c9973959ac174e3cafef3e347e865255812e7593fd9e678bbadc766971275adc985955bd0e3e6bfb149458db82de179824c796d8b0cade2f32ed4
 SHA512 
fec62147ba00bde8cb6fc684d8db8d09159edd52d6b9202afabef9a16e952391550be2f340047f331a3eaa0abd61b6281ecdd0899ec6a3f2aca3bf04b175d077
+DIST firefox-131.0.3-ne-NP.xpi 525077 BLAKE2B 
64c61620cd38d3147fba316c43db88033d7311717bd9935e6993f20f2404feee52f62945706c7358eb86dd0e350ff28797b63a952a22c232ec6d86f814615828
 SHA512 
ed03ee2ff42180dab0f95eeebdab0d831201ae560d1535b701147b6562b4796259b6a2a06dd32b3aa6513fd81f0cdfd3e69ffb8bf5aea9ccc44b8ee4f5de3f32
+DIST firefox-131.0.3-nl.xpi 628368 BLAKE2B 
249ca633cdcfac5ae903c7beb54ba34a7793a68377bac45af8ade86f5727a89680ca96ceb6486f798df77082d34f1866a7d1af7345659d5fe4402e4147fc7c02
 SHA512 
78b66534ef18f87c79befdb922a2e0b4d9e0c9e3dc083cd4a778c7b5b33fbb5c5f2cbfc3529762ebc2a15ab1047af11ea064d5475333ad42c6cce8c68862f183
+DIST firefox-131.0.3-nn-NO.xpi 621988 BLAKE2B 
dee5627657fef1d96700ad29de23ca3d438ced95e5ce1a9d027b61e671dc8c8ed740f38bd493ba68178cafb4bd84ef2a9678551f182e821d1c654835dfda4d24
 SHA512 
b79f183d6c316ae6145f311440612022c0f42ecd160cbf1f217b8f5cbcbd5d9f4bc05a8e101a28f766d57f1433bde92aed71261ab887ebd2af81b3b39c5d509b
+DIST firefox-131.0.3-oc.xpi 618718 BLAKE2B 
c210dd818704d3184439c6e26b89478a4485da94f59b3b63a701976fa82bf0ff4ca44a38722531fd2d925ea8eb5ea0088d84dd571156d255d981c487cda91eb5
 SHA512 
65bd2cdf10738d65a17ff85a33920726aeaf9ed1b5e91d93aef47a5b9a8b9de1fda5c75ab42d33ced00e6600b6e197b54c841a84496dae91d2f0ef4d5ef3f274
+DIST firefox-131.0.3-pa-IN.xpi 705112 BLAKE2B 
9f2cbe31cf6bc24c3f08c99057c3c4f43fe15bfff6b1c335a5d4598b38a4ada39811d31a4d5b64097b09adb66097d7ef07cf44daa083a328b55e66bffeb03151
 SHA512 
4f61326a517611493d86bf8730be9aeb673ecc663351365502c7a82e4dd599a4c69cde52065ff943dfe8b4b28958ac89bfaddc815f9514dff47f7bcdc28d736b
+DIST firefox-131.0.3-pl.xpi 647697 BLAKE2B 
e5f97afc3270c6dac70f0c935212e310d8cde05627f70a97ab4a0462c862a9e61fd8fad340f6441741dfb42862014e9195a85e909e77588ddff79033155c3cd8
 SHA512 
936bc73c929f27a6ba723d0759a0c74e39a772d07df432baa85e806cebec26dc81f6cb5840a3e8f7c27106dba7cb44bf7d65d40dbb1e1d33fc494bec63d2f178
+DIST firefox-131.0.3-pt-BR.xpi 633020 BLAKE2B 
bab13a34a2aba8692447d0c97ff59f43f01e03f4a7dffa10e0819eaa72c37ba4b0d277d0542fc409d4f358a557e760a7e23e84802b2c1159e1c2aa63ebeebded
 SHA512 
3693c8e127bb503877e7b671d6df905e68800bdbfc25dc0d2a32936f5b87126738debca1be694ef4eb4c755b5093e5d496fb1d7488fcef08278417bc0dd38edf
+DIST firefox-131.0.3-pt-PT.xpi 639640 BLAKE2B 
3810d737c1bc59e0e19321881dab7b7e11bb81e81e844fb20061a663d8e5948f09374d0c06c9515db14249a5ceb4292e7716b80260f41bc6a75b95b5424bc873
 SHA512 
6cc3963b365f94fa5ed587e325413ee5e4f549c971c2d8f86d5e6b2696568797c4180c9b43e1bb916f1f1fe8248b94060ad7fb2b5044aac8adbf00ebaa568076
+DIST firefox-131.0.3-rm.xpi 629143 BLAKE2B 
aed46a6a86b226d35db9e0308e60d686a0e06905a618f51425329e449fa59ee135da8badf042e971900ee2a92dadd47b9091a7d7d93eabb271e7c94cc998f98a
 SHA512 
5ee92c6fdcb9a0d6bc131158ebb545f4cc6ef4779152caa33b13869a2c9af70cc8cd214dd0bdd410f764fe09a355ca6403b77bb5dd0c5b916e37652c1990ac7c
+DIST firefox-131.0.3-ro.xpi 554264 BLAKE2B 
e5da645d7fdb355ff7f59436c3d3b2a8ffb764b33e0bcee69a350453e7bbab3ef04c5be08d787f076c91e7ce71c0f0719d3defc14bc8560b1b48f49b8e4965d5
 SHA512 
137458127a730cc0384b7fc9d92dfd2dc12213d77f7eff4ec487efdcb4032a79a1efd3b3e210e8b38fc1e3030e28a8f0b9d0568d92f87bbd33c954489c5f21a5
+DIST firefox-131.0.3-ru.xpi 732959 BLAKE2B 
bc3e9d0e2657141d741ef09998284611345b93c90a5d34dd7e45ca59983feb062dce6eb86f1839865609617875254bae0aeba08e8d2044346fccdb1475d9b6c0
 SHA512 
f769c0a8ae2980b53a20d029964d766710d16be77864207b6210a5e449e09b3cb4fe8ac817068a4409ff3a929dac9cb84bf58db4ad89d7838d6365799ef21a14
+DIST firefox-131.0.3-sc.xpi 594022 BLAKE2B 
10d23a7f091766a23ff6d62c6a868c8c746d5e09e97a9459fac90f6812f8d3d6957adbe9029eab74565dadcab86fe05357af73f00f7b83b739c7c275a7cc634c
 SHA512 
483ad592ea72aaf0aecd3dfa8d1b53ca9cd339836247a140f30f6af800f41bb653145142ae663129150f7ac4b43aeba5b3bfeb41d0b895b96a08b6ab91acb796
+DIST firefox-131.0.3-sco.xpi 515580 BLAKE2B 
5dc41d4504130812d070c33e6d4aab835f58a00f1b1b79b1035c34ac1a314c2ed39e1cce0fb8acabd034a1e03e9253a7e9707dc50e49195019f7e4c8e981924e
 SHA512 
ffa289c199996cffb6b90367455d54dd63752e99e63f67bbb04fcd29527613c6d119f5dd08ea6483c656a757af762ea0b1845562990fb3554de9b11e79ffb3a1
+DIST firefox-131.0.3-si.xpi 617768 BLAKE2B 
81e9cfd5d0dcad8410df5edd826b25e524e6e431bb22e55029d5154bbe9dfaa614e41a883dc284a08363e245119c9c41bf321cabce574f646da6d3714a6ab51b
 SHA512 
cab0950ab7d44e2a59ac0696c03e918c166ca189d731d4ea60ba5a36ddbd7b5407bf9c5d540afa43108bdf792fefe65e4859878d61e783adf5b39b5619eb4ad7
+DIST firefox-131.0.3-sk.xpi 664161 BLAKE2B 
e9dde2f1500bb36a0f34f8a17e025ca062ee4aaa549f64f6ab74b979e6b0088836ce8e45fdbad7338225cfa19d8cbcce6ca9b8befb8df6898883f89581704df9
 SHA512 
c891e7ea40d39aa27d9d5b7bce69e66caa0678ba8d28a47c35fd03fc16cb78e6e8eea1316ab7185ca5b02da8031bbc09e51a9a82889cc846075cc1f1f5d167d1
+DIST firefox-131.0.3-skr.xpi 722678 BLAKE2B 
c1ef05a21fda37046de8e2d015bea56783af6905a3453cb84b2d41b83d1dd1f196de0db96690040766c8c9cfeeacc2168bdc3dcfbde47190d3d05b1e53bd7f5c
 SHA512 
fbbb988f80787206b5570962d5d619cef9764483e2b6d2b567fa9ec979238969fbc21305ee71decb51aff945b6aa0488c64a6e9fbf066b441fa2f5abb84e9d3b
+DIST firefox-131.0.3-sl.xpi 630603 BLAKE2B 
ce16afb151233c8be6af5f184562e036b3e9231f29b953c2695147e30821cba35b884719430ad187ff9afa70f6c835d9db12f50d7225f9fef23e12af7893ecf0
 SHA512 
47de71493ff2b07e8c975e1bbfae37654681e6efdd0f8f25c871ccc206330ca8e386aca756fcb3f4f5a5532d83e95e9491e75e15524a3f2075d1486c79504e2e
+DIST firefox-131.0.3-son.xpi 420496 BLAKE2B 
c3833ab5dac80717f9a041b19abc0ac095e8b7a62f152b0250760dbef3cc3232da5bb20949bf29d439bfc0b5c989cdeed802692c6c1b48b547017459be556b02
 SHA512 
1846332e8e3279e81f8dad7b82b122241775bae2c168cc32c906c0533a284935dd8b102b4ca28dce486f9184cab01a83f18c37d52bd38f839af3600323a6876d
+DIST firefox-131.0.3-sq.xpi 649704 BLAKE2B 
daaeb5ad52ac6931c09ca8e779c0aa650ce1923a382bdf76930ebe6116c5d83f72d1c0d0c0d95b422ecc4dd57efe88e5869c7a178d78a4269c023f3754477876
 SHA512 
1e46af78567f13c87727c74ed6e232dd9bc0dc009c8a3352c21628cfadc61dcdbea8292cd101762068536ded7246ea8500bfef05f88c03d7b5ece0bef7c24a4e
+DIST firefox-131.0.3-sr.xpi 644243 BLAKE2B 
7602a3645c355e1e0cc1abdded695b52aa33329753cd0405eac3cc0386410547f498df6eb2113981ad4439444865eca49e4f021f6a6b3cb8fb458c7bc9a0294a
 SHA512 
bf073d14bf30116ecdc6bd671d8fc9ca5a872d9364c39173df387587cc6e8d46e7741adec1832b2ec1e20b8d11f0623d3c40540753f66fa87f798340186f44e2
+DIST firefox-131.0.3-sv-SE.xpi 629852 BLAKE2B 
0f82a62556664a73ec9d4e18574ed331f66eb914304e7d98fabc0c150d89d784c7f6066211cfe2b1093704606c24265be69f00e01f9a39169ee460ebd64c5d13
 SHA512 
8c630414b8c269fac29064590235910de75007c2493eb64b600d1ff52dea76e5880e423777a10c0cf8cd71af16dd54b5916f82bfbad9b3f8e473ef1a4a0fa758
+DIST firefox-131.0.3-szl.xpi 530724 BLAKE2B 
52fda725d43f6dce7ccd57d383b8af7e055306c5abf0d03e2dabe9bfc5235e5a174cdfb9051b4b31be99eede42bcebdf045bd07625eb9cd401354a6de8c25694
 SHA512 
113d34c9d36fb17e1e054458cba417f9a3a3a2ffd4b050121944d984a38889e84755fafe3c5955874574187d046a621f6b823b01d9bb1acc3192d4d12c96e1a8
+DIST firefox-131.0.3-ta.xpi 511451 BLAKE2B 
4da43b32641f257b10e02731cf4a6b5985bd8bbd596f92e4edd78fc66153c4c42d7abcfff8dce6d35c115e0372545c057f322ff8e31e3c764832f4b8c42cadae
 SHA512 
fb1ae597cb3eae990253eba5f0f44ad81d6ba6d2632234f057e2dfc5eec0947f7430bd1aca8c1112b479f9409a68c454f0e13d8bb9205c69ce52b839f85b25ec
+DIST firefox-131.0.3-te.xpi 565390 BLAKE2B 
38c82c40e028def6696d2da177a6b4b0996e15c057a1bf5c81fbafc4f16903372a30199f8dfef0f8270d4887146b2b07e1d8a0648d54a314fa7fa0370cf2a39a
 SHA512 
55cb7566109d41773c0206ac23c195363dac8f8c6da4f8e20211b216a77e7c2de927b42465e43ed6e59c350072186db97cc3d3f736aaeb2f747afc2bff4261ea
+DIST firefox-131.0.3-th.xpi 708982 BLAKE2B 
bce1fd16abc1f251236d54808c0c86a5954cd15c9dd8b0c60bb815f9c249ab4e5362ff224d57d0b57bdc75e16bb886f993bf29e04ae2ab96c50b51d4fcaf2dc9
 SHA512 
6294df385139a6cf23e2736f38729d427e4212787b5640d175ff0e3481f1d607705d4cad8bca98267cba0a39a3db6e90f0ba5a800e9a9df87bbf2867fa276cfc
+DIST firefox-131.0.3-tl.xpi 538582 BLAKE2B 
c9d42ee8f144b8a04277e9d5473422221e970d0ef1ac251a4f63c695013ccca1e89655e5c58060866ff3b037f88ceacdfdc6b04167cbe777ab75bb7bf7431b8f
 SHA512 
824f501472d197bc40c87b54abafbecfebf958f882ccc28d00412acfbb4056776227008184873ebd3fa29a90156eb90be636ff9fa2b212e1296c5a97a2d04a30
+DIST firefox-131.0.3-tr.xpi 643429 BLAKE2B 
f6202186a782c6bdf68e5f5762cbce96eb70fe7e6e5a27fea49054ccd43aee046b5a424803277272f9747eaf139852a6af4a566f0cec8919499cf3ad2811fa09
 SHA512 
b58443692f2bdd8991232e3869657cf277ee5a6bb54a896137c1626470b237bb0834d26fbc489a8005da38e6f7d71794c9e783d5479b0766a2ff93ab2a47b0fa
+DIST firefox-131.0.3-trs.xpi 508553 BLAKE2B 
f68c5be59a45613b096dc26d348555b46a8b90fa7afb4a05a916c64a7f1562e3f3b858a5c078cca64f99c8b0d837de22f600bc6ca0f9119264fbc40f56aaad11
 SHA512 
d32c5b626746984c19e74aa4c39217f9893a485d5f3b92146585441a03addefe5ff39ce75eaf5e056d001e19e51297970d60eef2c5456329016ee3bde8c157f8
+DIST firefox-131.0.3-uk.xpi 724269 BLAKE2B 
06ca129585bf9bc1e6fb2c4e124b3a2dae6a37fc4439f14eefc0cb2404603966a8cfeb1ae1fb2ef369229cdacbfdf8427f0b294757448b8a851e8de967ebbd25
 SHA512 
d173194a3c8bf950582b64e0f0c4454726ccf7a0a5caa2318cfcd2f21511b673f837feddc6915570cb98a6e8c71f143c37352fb6708cc23605e91fcbd0a23078
+DIST firefox-131.0.3-ur.xpi 564473 BLAKE2B 
4bc7db2c547f4dcaf164fccfc172ff5c1afc41168cf69c6111ef8e324e534ab3503c3d02294a91d8118ad5ec2a5e34038980f722ee8c0f6fde3650caacc32849
 SHA512 
11678cfa2b91bb744259c7173bddcdc8be3271b04af561aa96e188996c453b92b582de39d4e58c517bd8198f7c6aa753e4c7e1ef6750591b7221ced32903205d
+DIST firefox-131.0.3-uz.xpi 483049 BLAKE2B 
b4de5e4bbdd57669ecfb56e10ad6317c5c2173608e558c0f22d18a8582c3d5f6f100969c4974c5b6d631c88d5f7ff7f859d1136f8c11cf7f20887b74c5ce1a8d
 SHA512 
4131f1a693fb6ab1bb8958b05d88c35d6f80ac16d03f1a7d71183ed0891036c9bae2f8bc5bf8d602c1db1fcc1c793afa60ec666df458b5ca904ca6f01e7e6965
+DIST firefox-131.0.3-vi.xpi 667590 BLAKE2B 
08fa6b2d46bbe6fc7cf8e3541df5d4fe6ad6152010b174182226e0f9d6a9c175cb4603ecf3110643bacb0f7fc458b23eb0e7372cd0e4c700b757dc57a75eaa84
 SHA512 
5a70c06f7803af3d7c1420cf552691159010e0eab0ba942ffe2df7cf99ad42292a2559de37d71d3d567de3ceef677684baff6cace1b83d455ad2043eafd8a121
+DIST firefox-131.0.3-xh.xpi 421244 BLAKE2B 
7ee9f050ec3914426642969cea98ac20981c8da9e878447c264c862ee524f9ff7e9af585abfeecadc64717dc5677eb108b3917f3aa2839a3edcd83a2f707de10
 SHA512 
4e2212d8b655e26bff727b5e391c22187b93ce51e55b8221ac8c09b946546ff8a20274bb48eb2e34ca90e7a2548a16f78517772ae8644888ca8ceb101161a7f7
+DIST firefox-131.0.3-zh-CN.xpi 668962 BLAKE2B 
5809042234e4bd240f2f0267a0b9c6a965123f686d0a28dfc4d1e6c2ccf9a5c9b3eb149cc210e3f07a742c1f634c1ccc23d6fc9aa17c16a260c10ad58e40e64b
 SHA512 
afed3b2ee042e8d12516f38c11ca99e543f7da71afcb4ab32f263daa4ca4d4bd3735698fda136f23e2b4714c4c8f85c5f4e6c28dc235ec5ce3deef58682d82e7
+DIST firefox-131.0.3-zh-TW.xpi 670919 BLAKE2B 
5f70437eab66ab2fbe3a20177687cc2cf48e44c5bec2e44a9983504fadeb77464f2091d3a9037d54aa462939cae796d8b9ab4a9332bd65b62c3a6f8b076092d4
 SHA512 
fbb63c12a58b4d79c59e12ce9f84daf1050e5a0f6b9178e74b58a265a38b522ee147d01182905b42e078a38f230a7ff7f746b46d1ca62eec1b58b68d22aae6f9
+DIST firefox-131.0.3.source.tar.xz 568937752 BLAKE2B 
1d59bb050c4565c3344e7c1159ebd5bc79f050686abbc408c38493c187e3f1960ab1217113e279b170141a004b3a4797e138200a8a5ada8f5ae93eaa337ad8c3
 SHA512 
3aa96db839f7a45e34c43b5e7e3333e1100ca11545ad26a8e42987fbc72df5ae7ebebe7dfc8c4e856d2bb4676c0516914a07c001f6047799f314146a3329c0ce
 DIST firefox-131.0.source.tar.xz 566366180 BLAKE2B 
ffb8c12ba76f8d06501287ba1c61279e9167f0684275d8cf7e2c3be0697326ded824ccd60f8e44ca7374b59e9e580b2dcba23d2dce4bb184d2e73faa86d9d5af
 SHA512 
324cbaadff4d19a18d56ca01ae7212ac8362e3f5933f3017a19b64c35d58606ace8bba3672790ecb48d4a849619cdc95701440701725e8eb2859d55f1e8d8e3c

diff --git a/www-client/firefox/firefox-131.0.3.ebuild 
b/www-client/firefox/firefox-131.0.3.ebuild
new file mode 100644
index 000000000000..f38e59b13795
--- /dev/null
+++ b/www-client/firefox/firefox-131.0.3.ebuild
@@ -0,0 +1,1369 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+FIREFOX_PATCHSET="firefox-131-patches-01.tar.xz"
+
+LLVM_COMPAT=( 17 18 )
+
+PYTHON_COMPAT=( python3_{10..12} )
+PYTHON_REQ_USE="ncurses,sqlite,ssl"
+
+WANT_AUTOCONF="2.1"
+
+VIRTUALX_REQUIRED="manual"
+
+MOZ_ESR=
+
+MOZ_PV=${PV}
+MOZ_PV_SUFFIX=
+if [[ ${PV} =~ (_(alpha|beta|rc).*)$ ]] ; then
+       MOZ_PV_SUFFIX=${BASH_REMATCH[1]}
+
+       # Convert the ebuild version to the upstream Mozilla version
+       MOZ_PV="${MOZ_PV/_alpha/a}" # Handle alpha for SRC_URI
+       MOZ_PV="${MOZ_PV/_beta/b}"  # Handle beta for SRC_URI
+       MOZ_PV="${MOZ_PV%%_rc*}"    # Handle rc for SRC_URI
+fi
+
+if [[ -n ${MOZ_ESR} ]] ; then
+       # ESR releases have slightly different version numbers
+       MOZ_PV="${MOZ_PV}esr"
+       HOMEPAGE="https://www.mozilla.com/firefox 
https://www.mozilla.org/firefox/enterprise/";
+       SLOT="esr"
+else
+       HOMEPAGE="https://www.mozilla.com/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 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[@]}"
+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 +jumbo-build libproxy 
lto openh264 pgo"
+IUSE+=" pulseaudio sndio selinux +system-av1 +system-harfbuzz +system-icu 
+system-jpeg"
+IUSE+=" +system-jpeg +system-libevent +system-libvpx system-png +system-webp 
+telemetry valgrind"
+IUSE+=" wayland wifi +X"
+
+# Firefox-only IUSE
+IUSE+=" +gmp-autoupdate gnome-shell"
+
+# !jumbo-build? ( clang ) -> bmo#1914774, bgo#939004 - causes seemingly random 
compile crashes with gcc.
+REQUIRED_USE="|| ( X wayland )
+       debug? ( !system-av1 )
+       !jumbo-build? ( clang )
+       pgo? ( lto )
+       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}
+                       virtual/rust:0/llvm-${LLVM_SLOT}
+               )
+               pgo? ( sys-libs/compiler-rt-sanitizers:${LLVM_SLOT}[profile] )
+       ')
+       app-alternatives/awk
+       app-arch/unzip
+       app-arch/zip
+       >=dev-util/cbindgen-0.26.0
+       net-libs/nodejs
+       virtual/pkgconfig
+       !clang? ( >=virtual/rust-1.76 )
+       !elibc_glibc? ( dev-lang/rust )
+       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.104
+       >=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-gfx/graphite2-1.3.13
+               >=media-libs/harfbuzz-2.8.1:0=
+       )
+       system-icu? ( >=dev-libs/icu-73.1:= )
+       system-jpeg? ( >=media-libs/libjpeg-turbo-1.2.1:= )
+       system-libevent? ( >=dev-libs/libevent-2.1.12:0=[threads(+)] )
+       system-libvpx? ( >=media-libs/libvpx-1.8.2:0=[postproc] )
+       system-png? ( >=media-libs/libpng-1.6.35:0=[apng] )
+       system-webp? ( >=media-libs/libwebp-1.1.0:0= )
+       valgrind? ( dev-debug/valgrind )
+       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
+
+               if ! has_version -b "virtual/rust:0/llvm-${LLVM_SLOT}" ; then
+                       einfo "virtual/rust:0/llvm-${LLVM_SLOT} is missing! 
Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
+                       return 1
+               fi
+
+               if use pgo ; then
+                       if ! has_version -b 
"=sys-libs/compiler-rt-sanitizers-${LLVM_SLOT}*[profile]" ; then
+                               einfo 
"=sys-libs/compiler-rt-sanitizers-${LLVM_SLOT}*[profile] is missing!" >&2
+                               einfo "Cannot use LLVM slot ${LLVM_SLOT} ..." 
>&2
+                               return 1
+                       fi
+               fi
+       fi
+
+       einfo "Using LLVM slot ${LLVM_SLOT} to build" >&2
+}
+
+MOZ_LANGS=(
+       af ar ast be bg br ca cak cs cy da de dsb
+       el en-CA en-GB en-US es-AR es-ES et eu
+       fi fr fy-NL ga-IE gd gl he hr hsb hu
+       id is it ja ka kab kk ko lt lv ms nb-NO nl nn-NO
+       pa-IN pl pt-BR pt-PT rm ro ru
+       sk sl sq sr sv-SE th tr uk uz vi zh-CN zh-TW
+)
+
+# Firefox-only LANGS
+MOZ_LANGS+=( ach )
+MOZ_LANGS+=( an )
+MOZ_LANGS+=( az )
+MOZ_LANGS+=( bn )
+MOZ_LANGS+=( bs )
+MOZ_LANGS+=( ca-valencia )
+MOZ_LANGS+=( eo )
+MOZ_LANGS+=( es-CL )
+MOZ_LANGS+=( es-MX )
+MOZ_LANGS+=( fa )
+MOZ_LANGS+=( ff )
+MOZ_LANGS+=( fur )
+MOZ_LANGS+=( gn )
+MOZ_LANGS+=( gu-IN )
+MOZ_LANGS+=( hi-IN )
+MOZ_LANGS+=( hy-AM )
+MOZ_LANGS+=( ia )
+MOZ_LANGS+=( km )
+MOZ_LANGS+=( kn )
+MOZ_LANGS+=( lij )
+MOZ_LANGS+=( mk )
+MOZ_LANGS+=( mr )
+MOZ_LANGS+=( my )
+MOZ_LANGS+=( ne-NP )
+MOZ_LANGS+=( oc )
+MOZ_LANGS+=( sc )
+MOZ_LANGS+=( sco )
+MOZ_LANGS+=( si )
+MOZ_LANGS+=( 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 || use lto || use debug ; then
+                       CHECKREQS_DISK_BUILD="13500M"
+               else
+                       CHECKREQS_DISK_BUILD="6600M"
+               fi
+
+               check-reqs_pkg_pretend
+       fi
+}
+
+pkg_setup() {
+       if [[ ${MERGE_TYPE} != binary ]] ; then
+               if use pgo ; then
+                       if ! has userpriv ${FEATURES} ; then
+                               eerror "Building ${PN} with USE=pgo and 
FEATURES=-userpriv is not supported!"
+                       fi
+               fi
+
+               # Ensure we have enough disk space to compile
+               if use pgo || use lto || use debug ; then
+                       CHECKREQS_DISK_BUILD="13500M"
+               else
+                       CHECKREQS_DISK_BUILD="6400M"
+               fi
+
+               check-reqs_pkg_setup
+
+               llvm-r1_pkg_setup
+
+               if use clang && use lto && tc-ld-is-lld ; then
+                       local version_lld=$(ld.lld --version 2>/dev/null | awk 
'{ print $2 }')
+                       [[ -n ${version_lld} ]] && version_lld=$(ver_cut 1 
"${version_lld}")
+                       [[ -z ${version_lld} ]] && die "Failed to read ld.lld 
version!"
+
+                       local version_llvm_rust=$(rustc -Vv 2>/dev/null | grep 
-F -- 'LLVM version:' | awk '{ print $3 }')
+                       [[ -n ${version_llvm_rust} ]] && 
version_llvm_rust=$(ver_cut 1 "${version_llvm_rust}")
+                       [[ -z ${version_llvm_rust} ]] && die "Failed to read 
used LLVM version from rustc!"
+
+                       if ver_test "${version_lld}" -ne "${version_llvm_rust}" 
; then
+                               eerror "Rust is using LLVM version 
${version_llvm_rust} but ld.lld version belongs to LLVM version ${version_lld}."
+                               eerror "You will be unable to link 
${CATEGORY}/${PN}. To proceed you have the following options:"
+                               eerror "  - Manually switch rust version using 
'eselect rust' to match used LLVM version"
+                               eerror "  - Switch to 
dev-lang/rust[system-llvm] which will guarantee matching version"
+                               eerror "  - Build ${CATEGORY}/${PN} without 
USE=lto"
+                               eerror "  - Rebuild lld with llvm that was used 
to build rust (may need to rebuild the whole "
+                               eerror "    llvm/clang/lld/rust chain depending 
on your @world updates)"
+                               die "LLVM version used by Rust 
(${version_llvm_rust}) does not match with ld.lld version (${version_lld})!"
+                       fi
+               fi
+
+               python-any-r1_pkg_setup
+
+               # Avoid PGO profiling problems due to enviroment leakage
+               # These should *always* be cleaned up anyway
+               unset \
+                       DBUS_SESSION_BUS_ADDRESS \
+                       DISPLAY \
+                       ORBIT_SOCKETDIR \
+                       SESSION_MANAGER \
+                       XAUTHORITY \
+                       XDG_CACHE_HOME \
+                       XDG_SESSION_COOKIE
+
+               # Build system is using /proc/self/oom_score_adj, bug #604394
+               addpredict /proc/self/oom_score_adj
+
+               if use pgo ; then
+                       # Update 105.0: "/proc/self/oom_score_adj" isn't enough 
anymore with pgo, but not sure
+                       # whether that's due to better OOM handling by Firefox 
(bmo#1771712), or portage
+                       # (PORTAGE_SCHEDULING_POLICY) update...
+                       addpredict /proc
+
+                       # Clear tons of conditions, since PGO is 
hardware-dependant.
+                       addpredict /dev
+               fi
+
+               if ! mountpoint -q /dev/shm ; then
+                       # If /dev/shm is not available, configure is known to 
fail with
+                       # a traceback report referencing 
/usr/lib/pythonN.N/multiprocessing/synchronize.py
+                       ewarn "/dev/shm is not mounted -- expect build 
failures!"
+               fi
+
+               # Google API keys (see 
http://www.chromium.org/developers/how-tos/api-keys)
+               # Note: These are for Gentoo Linux use ONLY. For your own 
distribution, please
+               # get your own set of keys.
+               if [[ -z "${MOZ_API_KEY_GOOGLE+set}" ]] ; then
+                       
MOZ_API_KEY_GOOGLE="AIzaSyDEAOvatFogGaPi0eTgsV_ZlEzx0ObmepsMzfAc"
+               fi
+
+               if [[ -z "${MOZ_API_KEY_LOCATION+set}" ]] ; then
+                       
MOZ_API_KEY_LOCATION="AIzaSyB2h2OuRgGaPicUgy5N-5hsZqiPW6sH3n_rptiQ"
+               fi
+
+               # Mozilla API keys (see 
https://location.services.mozilla.com/api)
+               # Note: These are for Gentoo Linux use ONLY. For your own 
distribution, please
+               # get your own set of keys.
+               if [[ -z "${MOZ_API_KEY_MOZILLA+set}" ]] ; then
+                       
MOZ_API_KEY_MOZILLA="edb3d487-3a84-46m0ap1e3-9dfd-92b5efaaa005"
+               fi
+
+               # Ensure we use C locale when building, bug #746215
+               export LC_ALL=C
+       fi
+
+       CONFIG_CHECK="~SECCOMP"
+       WARNING_SECCOMP="CONFIG_SECCOMP not set! This system will be unable to 
play DRM-protected content."
+       linux-info_pkg_setup
+}
+
+src_unpack() {
+       local _lp_dir="${WORKDIR}/language_packs"
+       local _src_file
+
+       if [[ ! -d "${_lp_dir}" ]] ; then
+               mkdir "${_lp_dir}" || die
+       fi
+
+       for _src_file in ${A} ; do
+               if [[ ${_src_file} == *.xpi ]]; then
+                       cp "${DISTDIR}/${_src_file}" "${_lp_dir}" || die 
"Failed to copy '${_src_file}' to '${_lp_dir}'!"
+               else
+                       unpack ${_src_file}
+               fi
+       done
+}
+
+src_prepare() {
+       if use lto; then
+               rm -v 
"${WORKDIR}"/firefox-patches/*-LTO-Only-enable-LTO-*.patch || die
+       fi
+
+       # 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"
+               else
+                       die "Unknown musl chost, please post your rustc -vV 
along with emerge --info on Gentoo's bug #915651"
+               fi
+       fi
+
+       # Make LTO respect MAKEOPTS
+       sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \
+               "${S}"/build/moz.configure/lto-pgo.configure || die "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-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-install-strip \
+               --disable-legacy-profile-creation \
+               --disable-parental-controls \
+               --disable-strip \
+               --disable-tests \
+               --disable-updater \
+               --disable-wmf \
+               --enable-negotiateauth \
+               --enable-new-pass-manager \
+               --enable-official-branding \
+               --enable-release \
+               --enable-system-ffi \
+               --enable-system-pixman \
+               --enable-system-policies \
+               --host="${CBUILD:-${CHOST}}" \
+               --libdir="${EPREFIX}/usr/$(get_libdir)" \
+               --prefix="${EPREFIX}/usr" \
+               --target="${CHOST}" \
+               --without-ccache \
+               --without-wasm-sandboxed-libraries \
+               --with-intl-api \
+               --with-libclang-path="$(llvm-config --libdir)" \
+               --with-system-nspr \
+               --with-system-nss \
+               --with-system-zlib \
+               --with-toolchain-prefix="${CHOST}-" \
+               --with-unsigned-addon-scopes=app,system \
+               --x-includes="${ESYSROOT}/usr/include" \
+               --x-libraries="${ESYSROOT}/usr/$(get_libdir)"
+
+       # Set update channel
+       local update_channel=release
+       [[ -n ${MOZ_ESR} ]] && update_channel=esr
+       mozconfig_add_options_ac '' --update-channel=${update_channel}
+
+       if ! use x86 ; 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
+       elif use valgrind; then
+               mozconfig_add_options_ac 'valgrind requirement' 
--disable-sandbox
+       else
+               mozconfig_add_options_ac '' --enable-sandbox
+       fi
+
+       # Enable JIT on riscv64 explicitly
+       # Can be removed once upstream enable it by default in the future.
+       use riscv && mozconfig_add_options_ac 'Enable JIT for RISC-V 64' 
--enable-jit
+
+       if [[ -s "${S}/api-google.key" ]] ; then
+               local key_origin="Gentoo default"
+               if [[ $(cat "${S}/api-google.key" | md5sum | awk '{ print $1 
}') != 709560c02f94b41f9ad2c49207be6c54 ]] ; then
+                       key_origin="User value"
+               fi
+
+               mozconfig_add_options_ac "${key_origin}" \
+                       
--with-google-safebrowsing-api-keyfile="${S}/api-google.key"
+       else
+               einfo "Building without Google API key ..."
+       fi
+
+       if [[ -s "${S}/api-location.key" ]] ; then
+               local key_origin="Gentoo default"
+               if [[ $(cat "${S}/api-location.key" | md5sum | awk '{ print $1 
}') != ffb7895e35dedf832eb1c5d420ac7420 ]] ; then
+                       key_origin="User value"
+               fi
+
+               mozconfig_add_options_ac "${key_origin}" \
+                       
--with-google-location-service-api-keyfile="${S}/api-location.key"
+       else
+               einfo "Building without Location API key ..."
+       fi
+
+       if [[ -s "${S}/api-mozilla.key" ]] ; then
+               local key_origin="Gentoo default"
+               if [[ $(cat "${S}/api-mozilla.key" | md5sum | awk '{ print $1 
}') != 3927726e9442a8e8fa0e46ccc39caa27 ]] ; then
+                       key_origin="User value"
+               fi
+
+               mozconfig_add_options_ac "${key_origin}" \
+                       --with-mozilla-api-keyfile="${S}/api-mozilla.key"
+       else
+               einfo "Building without Mozilla API key ..."
+       fi
+
+       mozconfig_use_with system-av1
+       mozconfig_use_with system-harfbuzz
+       mozconfig_use_with system-harfbuzz system-graphite2
+       mozconfig_use_with system-icu
+       mozconfig_use_with system-jpeg
+       mozconfig_use_with system-libevent
+       mozconfig_use_with system-libvpx
+       mozconfig_use_with system-png
+       mozconfig_use_with system-webp
+
+       mozconfig_use_enable dbus
+       mozconfig_use_enable libproxy
+       mozconfig_use_enable valgrind
+
+       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
+
+       # LTO is handled via configure
+       filter-lto
+
+       if use lto ; 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
+
+               if use pgo ; then
+                       mozconfig_add_options_ac '+pgo' MOZ_PGO=1
+
+                       if use clang ; then
+                               # Used in build/pgo/profileserver.py
+                               export LLVM_PROFDATA="llvm-profdata"
+                       fi
+               fi
+       else
+               # Avoid auto-magic on linker
+               if use clang ; then
+                       # lld is upstream's default
+                       if tc-ld-is-mold ; then
+                               mozconfig_add_options_ac "using ld=mold due to 
system selection" --enable-linker=mold
+                       else
+                               mozconfig_add_options_ac "forcing ld=lld due to 
USE=clang" --enable-linker=lld
+                       fi
+
+               else
+                       if tc-ld-is-mold ; then
+                               mozconfig_add_options_ac "using ld=mold due to 
system selection" --enable-linker=mold
+                       else
+                               mozconfig_add_options_ac "linker is set to bfd 
due to USE=-clang" --enable-linker=bfd
+                       fi
+               fi
+       fi
+
+       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
+
+       if use valgrind; then
+               mozconfig_add_options_ac 'valgrind requirement' 
--disable-jemalloc
+       fi
+
+       # System-av1 fix
+       use system-av1 && append-ldflags "-Wl,--undefined-version"
+
+       # Allow elfhack to work in combination with unstripped binaries
+       # when they would normally be larger than 2GiB.
+       append-ldflags "-Wl,--compress-debug-sections=zlib"
+
+       # Make revdep-rebuild.sh happy; Also required for musl
+       append-ldflags -Wl,-rpath="${MOZILLA_FIVE_HOME}",--enable-new-dtags
+
+       # Pass $MAKEOPTS to build system
+       export MOZ_MAKE_FLAGS="${MAKEOPTS}"
+
+       # Use system's Python environment
+       export PIP_NETWORK_INSTALL_RESTRICTED_VIRTUALENVS=mach
+
+       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
+
+       if use valgrind; then
+               sed -i -e 's/--enable-optimize=-O[0-9s]/--enable-optimize="-g 
-O2"/' .mozconfig || die
+       fi
+
+       ./mach configure || die
+}
+
+src_compile() {
+       local virtx_cmd=
+
+       if tc-ld-is-mold && use lto; then
+               # increase ulimit with mold+lto, bugs #892641, #907485
+               if ! ulimit -n 16384 1>/dev/null 2>&1 ; then
+                       ewarn "Unable to modify ulimits - building with 
mold+lto might fail due to low ulimit -n resources."
+                       ewarn "Please see bugs #892641 & #907485."
+               else
+                       ulimit -n 16384
+               fi
+       fi
+
+       if use pgo; then
+               # Reset and cleanup environment variables used by GNOME/XDG
+               gnome2_environment_reset
+
+               addpredict /root
+
+               if ! use X; then
+                       virtx_cmd=virtwl
+               else
+                       virtx_cmd=virtx
+               fi
+       fi
+
+       if ! use X; then
+               local -x GDK_BACKEND=wayland
+       else
+               local -x GDK_BACKEND=x11
+       fi
+
+       ${virtx_cmd} ./mach build --verbose || die
+}
+
+src_install() {
+       # xpcshell is getting called during install
+       pax-mark m \
+               "${BUILD_DIR}"/dist/bin/xpcshell \
+               "${BUILD_DIR}"/dist/bin/${PN} \
+               "${BUILD_DIR}"/dist/bin/plugin-container
+
+       DESTDIR="${D}" ./mach install || die
+
+       # Upstream cannot ship symlink but we can (bmo#658850)
+       rm "${ED}${MOZILLA_FIVE_HOME}/${PN}-bin" || die
+       dosym ${PN} ${MOZILLA_FIVE_HOME}/${PN}-bin
+
+       # Don't install llvm-symbolizer from sys-devel/llvm package
+       if [[ -f "${ED}${MOZILLA_FIVE_HOME}/llvm-symbolizer" ]] ; then
+               rm -v "${ED}${MOZILLA_FIVE_HOME}/llvm-symbolizer" || die
+       fi
+
+       # Install policy (currently only used to disable application updates)
+       insinto "${MOZILLA_FIVE_HOME}/distribution"
+       newins "${FILESDIR}"/distribution.ini distribution.ini
+       newins "${FILESDIR}"/disable-auto-update.policy.json policies.json
+
+       # Install system-wide preferences
+       local PREFS_DIR="${MOZILLA_FIVE_HOME}/browser/defaults/preferences"
+       insinto "${PREFS_DIR}"
+       newins "${FILESDIR}"/gentoo-default-prefs.js gentoo-prefs.js
+
+       local GENTOO_PREFS="${ED}${PREFS_DIR}/gentoo-prefs.js"
+
+       # Set dictionary path to use system hunspell
+       cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set 
spellchecker.dictionary_path pref"
+       pref("spellchecker.dictionary_path", "${EPREFIX}/usr/share/myspell");
+       EOF
+
+       # Force hwaccel prefs if USE=hwaccel is enabled
+       if use hwaccel ; then
+               cat "${FILESDIR}"/gentoo-hwaccel-prefs.js-r2 \
+               >>"${GENTOO_PREFS}" \
+               || die "failed to add prefs to force hardware-accelerated 
rendering to all-gentoo.js"
+
+               if use wayland; then
+                       cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set 
hwaccel wayland prefs"
+                       pref("gfx.x11-egl.force-enabled", false);
+                       EOF
+               else
+                       cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set 
hwaccel x11 prefs"
+                       pref("gfx.x11-egl.force-enabled", true);
+                       EOF
+               fi
+
+               # 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:@MOZ_FIVE_HOME@:${MOZILLA_FIVE_HOME}:" \
+               -e "s:@APULSELIB_DIR@:${apulselib}:" \
+               -e "s:@DEFAULT_WAYLAND@:${use_wayland}:" \
+               "${ED}/usr/bin/${PN}" || die
+
+       readme.gentoo_create_doc
+}
+
+pkg_preinst() {
+       xdg_pkg_preinst
+
+       # If the apulse libs are available in MOZILLA_FIVE_HOME then apulse
+       # does not need to be forced into the LD_LIBRARY_PATH
+       if use pulseaudio && has_version ">=media-sound/apulse-0.1.12-r4" ; then
+               einfo "APULSE found; Generating library symlinks for sound 
support ..."
+               local lib
+               pushd "${ED}${MOZILLA_FIVE_HOME}" &>/dev/null || die
+               for lib in ../apulse/libpulse{.so{,.0},-simple.so{,.0}} ; do
+                       # A quickpkg rolled by hand will grab symlinks as part 
of the package,
+                       # so we need to avoid creating them if they already 
exist.
+                       if [[ ! -L ${lib##*/} ]] ; then
+                               ln -s "${lib}" ${lib##*/} || die
+                       fi
+               done
+               popd &>/dev/null || die
+       fi
+}
+
+pkg_postinst() {
+       xdg_pkg_postinst
+
+       if ! use gmp-autoupdate ; then
+               elog "USE='-gmp-autoupdate' has disabled the following plugins 
from updating or"
+               elog "installing into new profiles:"
+               local plugin
+               for plugin in "${MOZ_GMP_PLUGIN_LIST[@]}" ; do
+                       elog "\t ${plugin}"
+               done
+               elog
+       fi
+
+       if use pulseaudio && has_version ">=media-sound/apulse-0.1.12-r4" ; then
+               elog "Apulse was detected at merge time on this system and so 
it will always be"
+               elog "used for sound.  If you wish to use pulseaudio instead 
please unmerge"
+               elog "media-sound/apulse."
+               elog
+       fi
+
+       # bug 835078
+       if use hwaccel && has_version "x11-drivers/xf86-video-nouveau"; then
+               ewarn "You have nouveau drivers installed in your system and 
'hwaccel' "
+               ewarn "enabled for Firefox. Nouveau / your GPU might not 
support the "
+               ewarn "required EGL, so either disable 'hwaccel' or try the 
workaround "
+               ewarn "explained in https://bugs.gentoo.org/835078#c5 if 
Firefox crashes."
+       fi
+
+       readme.gentoo_print_elog
+
+       optfeature_header "Optional programs for extra features:"
+       optfeature "desktop notifications" x11-libs/libnotify
+       optfeature "fallback mouse cursor theme e.g. on WMs" 
gnome-base/gsettings-desktop-schemas
+       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
+}

Reply via email to