summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoonas Niilola <juippis@gentoo.org>2024-10-15 15:40:09 +0300
committerJoonas Niilola <juippis@gentoo.org>2024-10-15 15:40:09 +0300
commitcd477c0406a1114f38681bbff16f8fedb9e1a4a7 (patch)
treeaa0044e8f2daa1f79866515e15e028dd400749a0 /www-client/firefox
parentmedia-gfx/inkscape: add 1.4 (diff)
downloadgentoo-cd477c0406a1114f38681bbff16f8fedb9e1a4a7.tar.gz
gentoo-cd477c0406a1114f38681bbff16f8fedb9e1a4a7.tar.bz2
gentoo-cd477c0406a1114f38681bbff16f8fedb9e1a4a7.zip
www-client/firefox: add 131.0.3
Signed-off-by: Joonas Niilola <juippis@gentoo.org>
Diffstat (limited to 'www-client/firefox')
-rw-r--r--www-client/firefox/Manifest101
-rw-r--r--www-client/firefox/firefox-131.0.3.ebuild1369
2 files changed, 1470 insertions, 0 deletions
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
+}