diff options
author | Joonas Niilola <juippis@gentoo.org> | 2024-10-15 15:40:09 +0300 |
---|---|---|
committer | Joonas Niilola <juippis@gentoo.org> | 2024-10-15 15:40:09 +0300 |
commit | cd477c0406a1114f38681bbff16f8fedb9e1a4a7 (patch) | |
tree | aa0044e8f2daa1f79866515e15e028dd400749a0 /www-client/firefox | |
parent | media-gfx/inkscape: add 1.4 (diff) | |
download | gentoo-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/Manifest | 101 | ||||
-rw-r--r-- | www-client/firefox/firefox-131.0.3.ebuild | 1369 |
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 +} |