From: "Joonas Niilola" <juippis@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] repo/gentoo:master commit in: www-client/firefox/
Date: Wed, 09 Jul 2025 11:01:10 +0000 (UTC) [thread overview]
Message-ID: <1752058864.6e71c8fc9ffc73cd4c585018c2ab67a3337e1ae8.juippis@gentoo> (raw)
commit: 6e71c8fc9ffc73cd4c585018c2ab67a3337e1ae8
Author: Joonas Niilola <juippis <AT> gentoo <DOT> org>
AuthorDate: Wed Jul 9 11:00:36 2025 +0000
Commit: Joonas Niilola <juippis <AT> gentoo <DOT> org>
CommitDate: Wed Jul 9 11:01:04 2025 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=6e71c8fc
www-client/firefox: add 140.0.4
Signed-off-by: Joonas Niilola <juippis <AT> gentoo.org>
www-client/firefox/Manifest | 101 +++
www-client/firefox/firefox-140.0.4.ebuild | 1399 +++++++++++++++++++++++++++++
2 files changed, 1500 insertions(+)
diff --git a/www-client/firefox/Manifest b/www-client/firefox/Manifest
index 528b1d492f71..864ca0278391 100644
--- a/www-client/firefox/Manifest
+++ b/www-client/firefox/Manifest
@@ -506,6 +506,107 @@ DIST firefox-140.0.1-xh.xpi 272287 BLAKE2B 5c4cbccb2b0f8c0ce69f84adb70c24acec731
DIST firefox-140.0.1-zh-CN.xpi 460048 BLAKE2B 2d3bc33d7b266a70406c1780c2b9f3ca72733a52adef831dcaff3b04442222e0cb3e7660bf8e196a2789d0fa04a5972cb75e085ec4fc8ecb6fc1f4b84a028e3d SHA512 734fdc9560886ec944f804bb7f1bea786d1444c7e4aa34770fb6897aa8639156edac30af33f7ff4ce3044479d4b0cdf5d69c76d28a0128555f771e931074000d
DIST firefox-140.0.1-zh-TW.xpi 462993 BLAKE2B dabdd791aa484cb9fdb22dc35b670a18211d62227333e742e1607f510167a71210e2268ea9dd184795e6d882cde82a8a510f252094b9e38c02b749336ec6c1b9 SHA512 d373466c233da9493f98dacba2af1d3f884fdeb430368123b8098a809b1436ae12f18f5e44868db86f43259b52cd6d693d20a6390a2411adfc763705012b137f
DIST firefox-140.0.1.source.tar.xz 633875268 BLAKE2B 5be32e347d2084aca99afa44bb50587b1085c3efb82021a06471dabcf07f18f7bd967aa740b69f2b0ab93bafbaafc13e7eac23c028f899a78217da5c78b07eda SHA512 d521405f49a38b8449a24f90e5ea14d4337085918779d93d282cec80b2627f381648529d6f69930eb6e90e37302797b0049fec5846d25dc40f556bbd86d55ef1
+DIST firefox-140.0.4-ach.xpi 293874 BLAKE2B ea354d7067ed049cee3b0f6a67d1fd8df476e721040a7677105fcc89dc9f3a8dd58308ac7d70b7d6cce628f57c116767697d64a750d4c421eb42f2a18076a7df SHA512 3511d1bef3af4f8149e589354c66573d9fa42675818a4871c6a819d5a9ccbbea337d85bb4857c1c28904907c4a17127dfb392dacaf2b6bd04dcaa6c31f9f6577
+DIST firefox-140.0.4-af.xpi 266122 BLAKE2B 4789d21755a4e98716774ab0c6c78ab080244f113fdcb4fd078da6de759c59f3235dc8026d4f7625a1aec6544c3a1e895dacfa8075a42c93c6411ba26f3e2079 SHA512 f7e8793e07b85151dbac030bf939a1f27c39854c81431c764eda143a8c42b56c0fa46b9dd03d67e17e53089ae8049a1718e7c42d313813334d1908668fd8ce6b
+DIST firefox-140.0.4-an.xpi 331814 BLAKE2B 3c91bdc13c259227204803927a5c8e1ca22b7457073258c81bcfce0082ebbc8b430f6bef91b9009257a4902e5deb345ca295a95a31db8860b0d7cc62c0f2d0fb SHA512 521c74182935767f905a33ef5967d273e278358de0499e8a9234cf037ebeb5d95c5fef05e0b6d5829655fd54abcdb40436dc2385e6fb137401a70efd076f1bba
+DIST firefox-140.0.4-ar.xpi 440811 BLAKE2B 563c8131a42db2414c8de878f66edc810db48331224f2080652eb2b331d980e325313080dc3260e5a78872663d9b8982ea34805810b01496b0df768257a358f7 SHA512 7e0cab4f16f195ac56aa976016a42bfce713cea99dc2abc62b461519c8cb7599d0d6955a4d49faf28c399f70725c245c10309157d77c3916dc808f9814e3b71e
+DIST firefox-140.0.4-ast.xpi 311725 BLAKE2B 2a89110ecd1e5aaf4e66a3416457b9ca2e64772e18a999ac9d31bcdb77678acae232388d36d56bd7871b87069b9b9dc3127cd5841f26a505c24faa8946e51615 SHA512 8d17ee81afd737faa153a82709d9937bb56991fb4b9a4cb1bef066614e5ce902d092ccaf498aea1487a99c4e087f4e58195c982af2b1363562d2bb293cd21434
+DIST firefox-140.0.4-az.xpi 317921 BLAKE2B f217974628c671d5d18ab1b910eb09b76645de368f93a4e1f08fc3b63ab8adc9ce3cb3d225ac7372bdaee6b6db254c1c7d47cad4a8ef1fff01a851c3a567873b SHA512 9e0e6aa19b7bd205783e89a2e9987c54c506bcf03f480dd2f5832812df8f9493a4868fc4d20ead0167bd72683cd56542034379d98966820b9b7ad88a87c3abac
+DIST firefox-140.0.4-be.xpi 520286 BLAKE2B 9785aecfc5b46ae369d93c3ad29bcb6ae41b8467beb8a54882ce2094905eed5ab3cb8ac92c70ad9cc7775761f1ad49a5b667ed7e6eff862a1a87e98f8a5b3c37 SHA512 b604c635305ca4ab0fcb78d9a5f9b182ecc5751601bcca39c21ac9e9789bb46c1634c2403955c7d9eca61808b1c1d0f991c560e5f9eed85ccc4df42b5b550d61
+DIST firefox-140.0.4-bg.xpi 448626 BLAKE2B 701fd4681f17961c5c503dd54beb8391d7da8422fd7cd19456a84c2a2846a2b7460e8980dea8884cf08237facbf13299673156254428b24c0aedea4d911ca2fd SHA512 bddb4bf57f71c1c157aa5bd325b7179cf18a8da47f9d36ceccff966dab50212da7dc572f4e31a4605b56ff887472a60e0e8038d9676c6a2d6fa8b4a4cdc4a713
+DIST firefox-140.0.4-bn.xpi 411547 BLAKE2B c9065698767f5117e166dfbc812e546c0197af126a6a0f975bb05d818305d57245dcd5a28eb50eddd893b92122733034774cb2e8dd5dc032c4227e4e9eac4c69 SHA512 58d35ae67dc04e140759650894df80835728ac6ccf15596ba1d249ec38d78825ee114419b29e309bc671ae8bb4ed15a5876ec7c803a12988a822f028c3b90bae
+DIST firefox-140.0.4-br.xpi 392875 BLAKE2B ec5affdebd56807aa31de85cb87de829d986626f11273f1a19126d25a6097e2fb883e36dd45f57b4d9b51aa09606033a7f68e322d9a2d1fca58fb94b2ad5ecba SHA512 9340a899bcafe9cd52c98b6160aff083ce4b905a47f51615f9e7beb841f400cead4f55eb889dc857a35d9a6bd5020d97087225f87fd62357bd6d2e4ff16645da
+DIST firefox-140.0.4-bs.xpi 385028 BLAKE2B 4275031e11fa616c467ba6a049c2f3a34c10bf9e779436a2646e84bc9ef532aab01ae12ea2f661d34b5a7ec0b70aa78e2716c8a471d978e99cd0b168bec73208 SHA512 02394e088912b9a9563b61b0f8f38726a0fdc27e74d728ba7a10de50d1a9d43bc063e4e18b32fd288a0cde1a05f3bc39ba4b36327679b5642a1d1dfe88140e34
+DIST firefox-140.0.4-ca-valencia.xpi 357400 BLAKE2B 9766f2fbadcabddfb73946684e81c86ddea6d9270e83abbfe2d983b41c50e3ece6b74cf4a2352139dfe535999f6a66ae2e42ed72fe4dcf329b5c94d04e502536 SHA512 c8fa762091c1aa88d10f0d7909f517c864ac82b730b5ecf90c9179276a29cd924513723c02bd02f55bb0a773d658f03395bfb19ed4ef0a0974db6deffb98bfe2
+DIST firefox-140.0.4-ca.xpi 396796 BLAKE2B d9d9d94ade4756b7bb6c893dd8b9812d4587dcc24a62385fb22b602674c939d91bcbf2a79dd8e24bf61a87d6c54e2c2d4be472a418076df0cd484f7de748aed6 SHA512 6c335e4e560b5b17bc18028a79a5b87c975434c1548c55eac4af4da3cd5233725912099d053fcdce6b194e331bdbc9cdffcb7ddf0b1d5ccb0c502c54debdf339
+DIST firefox-140.0.4-cak.xpi 390350 BLAKE2B 8343b8d1f173d9bf5f7d2f9c840ee7bfa2bef7f26e0f2a4954149fec031f79d0878102fec5d9109aaade62a1e6ce57bba2b4aff50f5734dbb23498706609beea SHA512 619d05b0858f3e88c926e417f46dca7ba9fbdaf32dbb92ad9bb8cccc0f3541015fd1605fd25a453bd47f107e0feced1ea5eaf5e020576abf104ba7b7583fd4c4
+DIST firefox-140.0.4-cs.xpi 474968 BLAKE2B a0af8fca4731dfe588b9102f6f538685b46a27740d37edf7b98ffd040b722f0b87268f905a7dfaef5bfa9ac86f1f5b35db9b2f825fbd3bc5c8d4eab75d307435 SHA512 fb1274b5680da70ef09988481cd82000c33e1c776bb053fcbaf3b3c822c8776f9b00757fb455d802e7946e08ae2c926e78d6cefd41621d5587c250c0baa5d30d
+DIST firefox-140.0.4-cy.xpi 441204 BLAKE2B 8188080e3b744e3a29d4b29f678489e0330887264960ded267099a937079f40cab5666b6efa8ab9777993d0261fc57c8b6d9fcea4a09a9717e45257378c0b55d SHA512 04fc3fd05faa34ef09d9653d2fe3e6b0a3d1799c705ee0c103304d77f1dde3bfc3fdde0691d78ec4dddf9b00661816812172c13ecf326150253d6fbe5f98f659
+DIST firefox-140.0.4-da.xpi 430381 BLAKE2B 41b178b2617143c03ac233408c1fe89254f1745efd43888a71ad079df697cae3f8180770b3dd404288e832cb11745fd565c3447f2c5a6e702810db4582e50449 SHA512 ba9533589ce3adea3e15016b1d5450d251b602e69450a7e927ebc0af1c201e4612270c94b7974a7a4f03e802334db950857f00355fa11a20ad70ec60dccefa9c
+DIST firefox-140.0.4-de.xpi 451863 BLAKE2B d9979f84f6d8e8e108fad8a8ed8013667e032c8f7df48ff2bab24fdb1d4d27b52bac1628fbfa9d9b11eaa9634e2b392825873188ee725075c63947c0b85fab1e SHA512 533bb04bbfd25507e27cf1a963632288e6802a4fd5443621910bb4fd8168d57c44ff8dea52f3fd474f2e87fc9c7a6f06aeb0342c4f9f37217b50d9229219e249
+DIST firefox-140.0.4-dsb.xpi 465279 BLAKE2B 1e766ec54a05c665ccb8111c29c370a8ff088ad0ccf0a54e0f177b26c44f03df3bc25e371507ed3386a6295d73c9198a64e2319ae67e30d55718cb7af4dc330c SHA512 93cc29d485bde355f272cd3cc536d39e3b3782aace36df0a091cd82620f9722dbee68b182a175b9385039d95c46648ba2ff8cafa8b2778dffe7b75f5b19f29f6
+DIST firefox-140.0.4-el.xpi 536135 BLAKE2B 09c1ba1d847c818d5bc678766892af560796cd2d5256390e8a836f6aa6a0addd3847cd1e62ecfc1ceff32d58df7fa1251be069d1c95a1afad9099d5d0864ccfb SHA512 b286ef7183f60a44f5765ee40c4ca880e723e46525c914e0261b5eff3b157ee793c822c2f97149c28c6cb000840bcf015a44eda1edadb5aa30a7815333552d8d
+DIST firefox-140.0.4-en-CA.xpi 406741 BLAKE2B f3c28fd8a18a32f5ec698e52489db21c140fbc927a1a2918e0a2a6b9387e6e1f610faa1f55ce5570bd8c3d9139c7facb08b63d2868158ef4ce4719d4439b34ee SHA512 eb26c8b3c57b84134ac25b16c8383280185f5bd15f00bbd0c2955caa4953839cfe2ec123b915433d492c70200d807aab0fc0fa42b681dd5e38b52668b13d1360
+DIST firefox-140.0.4-en-GB.xpi 410679 BLAKE2B 54c3cb2003038977ab07669f865e5aa5894c18b762239e4feaad99a3e607d66fb39303888ba24827b8a301129dbf5995a5527c4345bbb7a181b6849fb482ee04 SHA512 df88ade8bc55960bd2c1b5fee6ddfa837984ea4055ea30ddbe8e21ef1120dbb0ff56f7c5f25739d5abdea24f149a96b0f92a8bcb7d76c8c3ffb52ae192305793
+DIST firefox-140.0.4-eo.xpi 432749 BLAKE2B 8d4a846593ae6df8b8568a84af4e1bf0e6c88242f686d520ef2360be319a9c2a0c43a3d60c4db0df21950fb8b8706553b470f82e3b21bf151055d2b5e5a209ed SHA512 e0ce49af463cdcbc7373878302a7c6ca89909f8edc12bcc0226dfb601a0e1a412649906d505def1e53441ecf1fcfed9c94a5de8dfefee4f703aa1ba8b6727c2b
+DIST firefox-140.0.4-es-AR.xpi 444777 BLAKE2B 3ebb334820246687483effbbfdb6694999be60edb8bd99d685a83912abbb32ae33cd21f3f09c47732468dabdb3acbcbfef3132afadd6197e988b72f453ea1341 SHA512 b2a8765b8fc4bd80ef071b7604752305658ab1a7348eec178dfc803fc23b6b6aa294957ba13df2a2b8944ae50e4d5736795f9ce1491b7e87a135e3db9b994c25
+DIST firefox-140.0.4-es-CL.xpi 445536 BLAKE2B fbbbec119f23d0a4761eafb181ca4c35fe4e627d0a2e5c1991db59c31751a6e84087911fa1882f2efd2979b11c15d2067c30a439403b0a56cfe8d847eed0908f SHA512 143322dd2f29383f9275bedf869b90ad3541dae6025dc73289fb481cbb1ed323424a4ef40aa7c92f91074d7bce15e087b621fd9789e78bb40ca3e34ea8ae61f4
+DIST firefox-140.0.4-es-ES.xpi 446246 BLAKE2B 1d7ca346e76a376d74b4e5559fab448423986a46ce304f8a46437aa53c1235b15baa61eadc951067027cefa244ee67e51108d955f482bae2b98509fa902864bd SHA512 3d6fb65ce2a2359c656ca46346b26fdde01d06f0230beed6bdd6729bfe6e913f2b080cba4941e9ca2775d2a1412997d4b13aa575089c68cb297cbeb6a4915ed2
+DIST firefox-140.0.4-es-MX.xpi 436651 BLAKE2B 7390b3f7606c5598989a9957b9406ef9490936251db51453e7ec21c16db2a416be2bec52db39f5bf594e96bc81fcf0484ace613bb27e219b14d30bd955a7ab6c SHA512 4e5bb883ea0a7681e7eef1bdbe799cd79fdb5059cedbd6d9391b55a0f480e593cde2472379c80c7ceaaac2f28fe8f96384638b13f55422f1da7e2d84cca75888
+DIST firefox-140.0.4-et.xpi 358818 BLAKE2B 54f7ba918ae78f1c38d6095e9d0309d2cd88b3ed3c8bc397ca0dc23d3a1d7baac0fec27ab8661bd8b9a870a169b7b90627a7a04cb851e3b7fe67107ff7068f24 SHA512 a3dfa1b7134f07a343c9750fbdddf92c4394a4887a435826d92acb9637fdb235e2f4797d1cb50753ffb13ee1361526ccbeeb4138d8c67a8a4bb3ed90dab1d914
+DIST firefox-140.0.4-eu.xpi 410461 BLAKE2B f289e87a530fe90e5fb73d738ac8ff4e49bef097402d3884cb766cd37bcb68e598736f416cd486e4c8fb45332df69fffb1c0b0997b36fe15b7863bf4c4bcde3e SHA512 f538c4b01b9e85784c346e0f7035c25769210b06f199d0c5b5c95df688a3d0463666d8f4a050b9ad9140f60766a49c699cb74d4eeb8b36222da5fe2038efb541
+DIST firefox-140.0.4-fa.xpi 421028 BLAKE2B f460181ccb095e31b844abd4df12eeb14b60acbecbdb7d0e972ad71b8ae7e092dad4a288f74e71e668a94ff43e743f427589c7226197b829d7c770b96e79ed0c SHA512 b9c21908ad839eb1299b6a61b45a87507f9bd02aa2f68cceb40cf2ba82d72e775d2f50041ee440c512dd4acd6d7b05f0caa22a2a1da185f23f9ce080a791fbb7
+DIST firefox-140.0.4-ff.xpi 309689 BLAKE2B 1b98c7b7686f74b8026c03ccca2bbef39b195c232a56f33aa32883e526ae05215e53c32571c2356b7d8180b933262304bee62d91ed1503536bda3fff0de6842e SHA512 6ab8053a792c88c62e0b561f950b26f8de692845889d9d71165764fc911877c4c90d0a61b1934c73cea051fed2c03cabe9623e3dcf259f4aa7f7833377742abc
+DIST firefox-140.0.4-fi.xpi 428575 BLAKE2B 0840c3d0324add130c41e169af336cc0c25fef24357116ca32a3a73b3a0616fbcded58848e42fd0c30cb5c7c7337b6e15128f58f037955953c2dd91ced39dd53 SHA512 d380eeab37055086bf5471095fd3d9e60a576b856d0fe42d64797445a012eb5d8323dbd336a00c63118c9fbac556e2e558698e46db85d836a86748ede58a5c01
+DIST firefox-140.0.4-fr.xpi 457588 BLAKE2B 8da043c774dc162038253758aa09da14cc035a7a9d27a6f15fb6125c8a87a641649839462a6e6fd9aceafe2f925cfa18a8105385f46cbc535d8db0c9c97dc741 SHA512 a007f0e338df5fd1bef8c2177ed54e30e5e9b6d083ced6216afb5d83fd047ca48819fa94e3bb513cb5cd18b6ee5625a78536f5f0633518235da4ee1cb1890760
+DIST firefox-140.0.4-fur.xpi 451058 BLAKE2B 90937946a5b6c3367727f4f8c2ae63ee278093b71babb77f5e2279db6ca62c51723641ed005c2ac10ed8b297f46985abddb4bbed115eefe65a191b3eeeaaf879 SHA512 c84ee9501e193ea085b77c9eb74215498333df323e06e161bfdce2c57e7e77b317ce269f8fccb878903bfec479e35d25e893240ade63a3fd13b1ed85edc85045
+DIST firefox-140.0.4-fy-NL.xpi 441365 BLAKE2B 3346d17f9d821f114bb11bd0cd528c1cc52986a8aae0a8ad30dc29028aca0032aa1ae8769e27714ba643d0362011d7f87935f0195dbd2b5b54efdec9b51cfd7d SHA512 5c054352ff57fd59649806a3b9ec66d51bfca5de50e60591d2394566e8567ad30ee1cdd05a619cea91aec1fb0766fa11c47bec697af37c143630f775431e7e0b
+DIST firefox-140.0.4-ga-IE.xpi 314783 BLAKE2B 8f3e53a6fd8b8ce5681f09ab3aef929f8c5e963b259bb049de72df75fec9323529626ccb5cd8fb06a170f7abab80f0b400abff47b390a6878b34ca0688c97316 SHA512 fa3bbf5e1a0f47b03f37f65ed7b5be545e1c5a3fda228d19480c95bb89f08405368d45646b13fe63bfba9b3f962600f4d8fc47eec62010d9bfe94ac5ebf00cd2
+DIST firefox-140.0.4-gd.xpi 398925 BLAKE2B b26d321a44c69890203a96bf09bd6de536d0fd6e2dd44e5dfd0e2cd33a4a6e9cc2871c632c7f0e56f53ce62a219f8b2a37c79283f21c6639cb68bed8660e5f22 SHA512 047061af1d4b253862102cdecde045a33ad5aad239a5f590d51ea62c307d7c13650e1b41edc2c05f7ea91f886504a44e1ceacb5d82e8637d3290eb619b03ff83
+DIST firefox-140.0.4-gl.xpi 404606 BLAKE2B 276bd26bef24c6108e546d5e2e18fbd9ab17858623bf2f6a2d5b35850cc6e40fa37c06d810a6a22bcacfbab7b70a810757e16ed996b712475ecacf578f5a3f24 SHA512 8d20109d8f4e5b08d58672d306f5358265974ce9b5668309104f14717dc2a3732a115ec48858c708115fec2b7ce82ea8bb22873f9b0bdd0056b0df8c2ec596bf
+DIST firefox-140.0.4-gn.xpi 448655 BLAKE2B 3e4565b438737a0775f92fd0ae26d451f75491db6ade639ef189bb5fe86e092928bcf67a2db82bb6c84f46a607039ef3fdcb49369445475ca9fc346d2e16f904 SHA512 cb8e228f1c516212cdcfd3a3c50b0c27fc82d1d5d9d130622c805ade8f65a80f33d91ef10764e204722714ae03cbc53680df9aa30096bdaf7e20be12549cf8df
+DIST firefox-140.0.4-gu-IN.xpi 358452 BLAKE2B 902f4dab29edbd91d4ca3b7914f87667e8ab402f68e026115d05e00633b37931825f1e1b8ef689fe3ecedc2399442652820f997cc1d627bc7977fb62ecbcd0e2 SHA512 27e4d2bca19d2bfff7c9a8494f4ffd3bd92e9ca2a033cf558e39095346efa748ab4db8fdc63049ece0b261117f612d3015e154cc9cbab3ff386b7c8610a645f2
+DIST firefox-140.0.4-he.xpi 443918 BLAKE2B 5bb49b499515b03d0502cc3f2a5a3efc44a492b77acbb0cac44a1805a524fd64b0f0d423a5b54f141a37bb3d1a43f428e597196e5f0f19dc710ec5b6dc8c6b53 SHA512 b5fdcb54a2e5105cd66f73e06ea513fb3cbf73d5e22eb4812b3cbbfe5db7c31c1ded66f5eda7148c416941f4dbe6df800432700886266adff5ec7692a37f1336
+DIST firefox-140.0.4-hi-IN.xpi 376939 BLAKE2B 7295faa1d4dbf8d0fa9bbefd4978338f6a45c8e654df2f59b0fa2f359049d211654bd2a99038520b92947523b4a93b5a5f2f4803df3affa03de1b3f7a0a1d2e2 SHA512 4240a85e28faed8084e519ea6779d7ed27a404adf7d13e02230471b732375d1a84b568568f165fe0809a87991c82b2c2283eec6088b8fd262f432f448128cd42
+DIST firefox-140.0.4-hr.xpi 433944 BLAKE2B a0818182b616f92339328c91705d2a8f4f862dfb4c0c5fbda58a75e6b12d9c2bda5ad3f9541caf07bae9eb041ae6f16823400d80882530f0137e4beb0edb84f1 SHA512 2c43e2f8f401a2cf4fe6cd490a432b2ec32191cfaf8d6d6346629d743ae1848c3268244d6b15c28e47cd5cac643b431f07f2d839c52e93dfee809301c8a22142
+DIST firefox-140.0.4-hsb.xpi 461877 BLAKE2B 70ed2b8391b695eeaeb2afdd28a3e301132b348e41769c42657859290713bcbf3d23fe51172d0fbc1d001dee431d47c0e7a753886a3fc526e634aa825f87e317 SHA512 f6c0f66f008c1c4ba2182060d0d77b628300208c46670cc73e215a1d0596ab3dc4b3c967f6cc9c4ae2e4df6eed269af37f4a2ba852e5b846edcee6ffeef9a02b
+DIST firefox-140.0.4-hu.xpi 465365 BLAKE2B 2a93cf2aa5bd37ef4c9a9453d65be79868270b0fd72e671ce7cb7c25a58ad0cfe33f80b332d9eef1ca467c787c8ca75be455d77e7ff969d05fc2d9237bed6062 SHA512 4d4da1a26590cb628e36a84ed2b3a25a6635e221ab56eb684affaf31b5384a93aa87415056c0d287eeaea8122bdd695f9dc9ec70b13b66eee5f6726140b2f190
+DIST firefox-140.0.4-hy-AM.xpi 453985 BLAKE2B a9b8fb604a1454e1aaf3053cfafd7e32f7198d9dbf5e1fc8298acb652224f958452e0c9b0af33c8b95d1ea51bc8234a9166b918523b5fa346538f7fc14fe35d4 SHA512 daa69746c1230a41fcd8b940b6f20067bb7324ab9d145ecdd093a4918b057ab8ff1aa8adc0678e8cd83b06abc29c9c64a4d9430ac0d9831d9a67c2135e63eefb
+DIST firefox-140.0.4-ia.xpi 429314 BLAKE2B e3956914fcd30d0239d65cbd228f528c598b3b09c485bff4f645cdf5e0ee15ebafa13f1bbe76d62c29d5a983b1e099fe88ab19c16a37e56f3421b13fc0a8c02b SHA512 300fc6e4cc18df407c1e74b359b093596aac730888c2adebcfdb55390d55806dabf602efef2a118fbc9c5ba83046de6591aa4832741895245e26cc06135301fb
+DIST firefox-140.0.4-id.xpi 418228 BLAKE2B 543439e77297daf076cef0ac3c020d01b0b47963cf3e90bef338e263b5886835e74ffc7e9af251f2a2a6a2d77ca1a90092755a7f360b7bf764e80d2430d42a5a SHA512 3d21054ff5c11b657eef0ace14db53eb7820b3881389fe9c97450b2655910a8fb570cacede44ffe60eca7f40dac33c8e8fa259a26c873393d9347cb4f267a0a0
+DIST firefox-140.0.4-is.xpi 430703 BLAKE2B 3c3462e108378944a7234f5208a33113a729aac69ab49d9f4bea749f1c3766de59a646c9aed91a5da643ca4bd2ebc4ab3ec75f6f75681bcbde4f4f51025f3339 SHA512 7641e1aef0271b4158ebca7a1f5bbc61988f7cd1c73df69de3c4508ff18e8bb2cea09355d53251290df3f1ad15415513e1c657b515e7e2841a00cb09e5763cbb
+DIST firefox-140.0.4-it.xpi 440145 BLAKE2B 51540f3a5cc0f70c7fb05e0fb8d2a62751d3aa32196b7352bfb106e647dfbc17dfa45951eb60c39b7098de28dd6df15d656041ee5742d0ef625646f1210a1956 SHA512 dfa3c09729c6808fcc56fa8aa6cf3214c99d108bd91e2b88aec1f19422d5a6cb531a85d8b2be991f7cfd7fac0e480e73dda8246851fd7a018ca4d3498e189a54
+DIST firefox-140.0.4-ja.xpi 480526 BLAKE2B 54e1f8a29ce59f00f069513d8525ba0accaaf4f02159098236a331bf848e1422b06c9fd770185ba7d1e3d1a1b06f96736fc1103a4467da0a0333d6e57624d58a SHA512 9b680c879dd8e7143db2d6bfdabf98e55fbeb033ae7640fd8121cde78e16afa29e998ce58c965283e00b3f0736ed06069910cc834327f038807dc9b396efd8c1
+DIST firefox-140.0.4-ka.xpi 493887 BLAKE2B cf81e8079dc91e3d11f7fe1d834a5b25a4323ecb854b1b1c40372ca942e2143c46f20f31d3562c1711c3bfe60770436a6a0586155910c9c1df753cd92de75577 SHA512 4feefde5016bd85e3ade12a9efee0fad77ed71dc0aec73f877b048648dd0b4deede33295ee906a96453234b638b3b43989f58f220ab72c263c50853368b834c0
+DIST firefox-140.0.4-kab.xpi 419763 BLAKE2B 5b6aee6afc4a97170da5fb726d52d3efb5f52900ed1af397f118fda3ee9aa477b9016d702c937553929cb2b521a785a73b1e86d043cd7795ff457c740b6520ba SHA512 521d796fd52759db4c5afd966089d82dec6ec5aac2d42875bd60c385b2ddef0695ef5c981aef0b1da1ebb032e4d00209a0c21232ff99958aea3de2bbb13c9dbe
+DIST firefox-140.0.4-kk.xpi 500399 BLAKE2B 5ca7aadc46c575e83ab362fce1091cf530496da8112106f935273385c7a121d62fcae2c82b350443646310fe29dcf16200f8cfdc4ef93213874091f552af8bf7 SHA512 ae5ba6418fe04a2267ff13fe68fdb8bcd403b30c82a9a6bf741be20e99d252cd1175eea94a6e9a87d85247dd0b0d081e4178b1855a35aba9828a8afcd08c3c9a
+DIST firefox-140.0.4-km.xpi 348186 BLAKE2B a314d199f11420a88c280a9540b1f9165f73a39d3ba8a525bac8a1efbf926bdde07d5639b9c044d8961e375e8345f8c16df8c457f1885629fe5eeab1e2f1ae33 SHA512 6bfc35c2764fc1aa49d95790b3d7368c1e54629abf245f3fc9b47ef957e99d459ff75eda648bc4a9e7df3c8c5e417cdb2d1a8e21d9293f617da21a52fbf7202c
+DIST firefox-140.0.4-kn.xpi 331272 BLAKE2B d15667c14d89c23617aca79d5043016ff6edda7a9d5ee1f945de4a436220a59ac8a40a2e7cc1bcdbe258a63c32e6b819656475ce680dddc4462477cbbd376cd3 SHA512 d30f51d5d3711218c8374cb9d3e3c02a57933f0e70649b4b4a2e332d7ca578e43146d165b431c48bec0ac318b81cb5c63bcc4bb085db4492d4166ebe27f33677
+DIST firefox-140.0.4-ko.xpi 466755 BLAKE2B 87bd0f8befc42030c0f29aec394e14f1ef1c5c4c51fb7e36d9e113fc26345add67c14d657903cb74d777623fd9a2d9e4732b390b0be7b6ec9792087bb2f67326 SHA512 a9c6651490592036215bf5d8113ff838f1cb0fd3865baac9fb09f3cba1b9386aca67e7ebff70d63643c57ac0364bcab749350426f36b2d85611a241d3a76724e
+DIST firefox-140.0.4-lij.xpi 318009 BLAKE2B 59e2b783fb277c01798dc7660a91cac050d8048f13e8173fbaf471c03280fd75813ddac9cefb59877a6abd5372b2361ef23119d4cc90c8012cc5916a5af980bc SHA512 cd3bed1c7cce8b1e880fc99c5a2a804f91926ff426c0c44a7a1f951c8467823b07f90443a391241abd309fbf71585c58656d1dcb82ef6249ec4cd2ef3287cdc4
+DIST firefox-140.0.4-lt.xpi 379454 BLAKE2B 025ff3e6356c3c8b29cf358d28c301dfcc1f50f3d586836a0519268b855235324abfbcf99492270a1fe297a5059aa9ec40dbf563a80240239004c0f2ab537b24 SHA512 0e51d5b13730a6efd049be7685fcc2f2c4cad21f72a704adc8fa5494f31df899809822571c5810712dd42864846c8186d41b4f905e843d4a7b60876a17551486
+DIST firefox-140.0.4-lv.xpi 384042 BLAKE2B 3f8ab55280c9a405a179186bfd1878302d3227937af16f24bc3dfbf4a170de995f6f846e7dbc704aaa12bf055a3dae255e560e5a3f1662fa34b9c425a75c4e84 SHA512 52488514ccd11e0352b6284d9877003cf6d9372503f0883c8345711cfe2a77169a79baf2cb786076362b84a0be4680f3d56e82371909ed06582fb3de66c5e14f
+DIST firefox-140.0.4-mk.xpi 316308 BLAKE2B f18e31167c923fc5141883bef661111ec39077311ed7b0cbb116514551e0d450f3cd87e79e8566e635383300a490b7af84b6b3c229529e101863a34a381e64ec SHA512 8dce5a039926ef9002127a6e4a993cc3ab14dba382f6682cf4371910f1838defc3c1817aa53fa21b66093defa3a0035147bf06d9a933b8a60d54c074f381d1f3
+DIST firefox-140.0.4-mr.xpi 355739 BLAKE2B d5dcea1b23e427ded0c36edcf0d068433daca92274c11c4ed1d2bb9adcc8127462b02d7e121100c712afd09b6c357345d08e07914109a89090f0145cef71bf52 SHA512 6e2b44f02f85edd40730b0984c667b64e1fe58113ae86e61b5af257ddbd98b45f60b540ebe4f7ab1a177cd214bd4d102c028dca3361b2efa22eb08496a27ccb6
+DIST firefox-140.0.4-ms.xpi 294876 BLAKE2B 13651bd47f27d31e2357ef9f39c068a0cf01c60beb1eccca0ab5254d6ba55cb3d68a8ba93a159ad8e879877a466078b5f1dbe0ee7de9f675dcb4e386f006d631 SHA512 e597cfd9fe1867e31ae87f83ef51b7cbc2e4bcc64ad702402245bc49e4c5b62c3c506a6254246fd8a0107efa44b1e5b69a0252ca9ecb4674f6f52eb2a405b114
+DIST firefox-140.0.4-my.xpi 342540 BLAKE2B 774e20f479ce45d42deeb96f054edf36052c7f0cd7caf9e0cb82d406c2270fe2ce3c2c4d656e85780e6cf0db7af02c1b3947b9056ad770aa9608bfd88582ce98 SHA512 6347fcb5c56c78ff64b867668fe849d7655237500154757f370837ab9f7aa527ee7d72656568b4bd78c406e0451e617b23c50c70a83c932ac2508f13d97290ba
+DIST firefox-140.0.4-nb-NO.xpi 423615 BLAKE2B dfc4c7ec3d8b6e58c9cadee2379c3f6d030092c9c3daae6a52f209bd4be9e91ee6f456417df2ac0c59aa44c9cf513c79dc23ebcca3fc6ad96f765b5ceb84ad17 SHA512 ca07964b591595623771536fd83de26c70b9bf010b03a9792aca2ffaef66200a26b6c875230d1921be74943ab7097d1eb12b31ae4e9758a777923f835a9479a1
+DIST firefox-140.0.4-ne-NP.xpi 348482 BLAKE2B f4d53a4769373427381522bcf213d560c55fca79899b057b5857e0efaef68bcf644908dc1c51b7688a02f7044f2d72a18ca4bbd88c3b72094ab66f10a01b8464 SHA512 b58a803fdfec5e3e5966a7d9a68061deb51a71add3bee4cf0746c99862ebd29864dcb636d75561f1cb80a290fa0670349c37e5d04ed830c5ff18c08e2e0660fb
+DIST firefox-140.0.4-nl.xpi 435435 BLAKE2B c4ca3cbe3db1a28670939a395473a55c794e616872b080d260a610154859b4900ec6165c5a4feafe94c499ae96b8be4383bde8e219d68e8c292105a98118ecc6 SHA512 6dd3fca1ea3d572c04d49b77ef239ac57a28c837634741ee6772883f4e648d2760d49b1202ae13d19dca4e8736ddfb5bc81741bc10b5864bd9fa70fcbf1d583b
+DIST firefox-140.0.4-nn-NO.xpi 427003 BLAKE2B fca04f9b714a9d220dd9362025de1c1ffaf4b9b4dd2760f769a1f66d0a801836734808c97f09e8275e50fd24d8cc50759a9cea03eacd123b976159297f6d6ffe SHA512 194be6e50a0761df53f708be5b9f71a66bbe2dfe7fe96d6170831e4179f763c1747367d0186914cad04a13ec2f22d3b10f4c61372d1b3e2f78ee2c68f5adb525
+DIST firefox-140.0.4-oc.xpi 410441 BLAKE2B 732d8ead6841146084b4379a3db92f72bbdf118688275247daec03d3ed6b08f5d5520ae5381847684439fa5255f062bf3ecccb2f09613677e8a25e58f9b284c1 SHA512 e5f1c13fcc5b98c5dbda9a0d45bb28301b1841f6f11deda0e98682f08cc27b427b2f8c75dae474ffa2a38ac1931a9037da89961fcafe9f55d2a7d9758628a366
+DIST firefox-140.0.4-pa-IN.xpi 491026 BLAKE2B 4be2ab139ee0b0d2deb6347de79aae247a7a6a2c4e57d55162e9ad73f920975ec6c706f51f5b8186f111b6b487b95f69a188711793184dd503640dd32e98c9e2 SHA512 598811a52a3b0bb7e841bcad502d0b77e3373668d4073d2981b994cb3c34f7d5355ffd7bf92bc38bbb55d399f3d97c377d8fa36e305428118edab179ca5d1738
+DIST firefox-140.0.4-pl.xpi 459747 BLAKE2B a5d287fff58184560a0a7291e8cea0bf0dfa14e5bb5c8b9745a8355bf0f2590e5db85c2b4e2f390aacb8d9c3c521eedd5460fcc6b2db0e3ef58b1b15d1804d5e SHA512 c404c3b5a92ed273bda2e09527c4e094e60c4cc5babb0dbe5f5c46a2427aa3ece54acef095f0279068b40b0562538752e2becf796b97fccc5fc90c56f585eea3
+DIST firefox-140.0.4-pt-BR.xpi 439983 BLAKE2B f4f9f8e9775594a9ce42c3783c93331c663039a8141ea01e941bd2eee0cb19e3093618850b16129d5e1a25c73e3d2fa4dd3da86bb59b5d7e801f0423c5576a0d SHA512 3bce89879bff52d256138fde07c62978bc18a227e8daaaa858a4e6ab4782f40fcc63ec1a630dd6329284d675c7c27cf32653414263432bd97640b1a5a83256a7
+DIST firefox-140.0.4-pt-PT.xpi 445781 BLAKE2B d1fb8ef1f685b1453f1b1779355918d97eabbafb69a047b566ea72a01bfabbf25dfbcc2615a1ca638c163f7fc818affa63ec8addb2d94b438fc613da59894c60 SHA512 7281558459074db67b7a1509487090c098801efbfa02ddf35ba308019d7831250e96c253a7cb968e8d9d8e522ec2d498bbb41047adb3e9acf71ac16cd2abe4ff
+DIST firefox-140.0.4-rm.xpi 435126 BLAKE2B 9e0dad1b447d3b4ad60c1787588b081136a2499434037ac9c96a818a04ce49724dde01cf30956fab7b91a36983eb44d5efd54ed0e00769a7cd483a4df5233fb1 SHA512 38bcf27da9c8c3f83ac0cc4a2d315bb02873fb4cc219e872dc528e6de4ef558574898639b2ae6d093423e629f45b1b9bce0e0ee2d00969c22abd82498ec1da31
+DIST firefox-140.0.4-ro.xpi 365392 BLAKE2B ea2b2ee7b5c72bfd55f5df7a3a6876da92cdafb0c4a75180759982d4b3dadc41e904a3f59c88e6d8de41ec086bbc19bd3e730688c5790c5b08f913bb8f349578 SHA512 54c0c55a022a63afb8da5d39e29fd17333078c2b85598db876224b0bb38609caba1a3cbe5c51542b6c924642b46609fe1ae4fa77f32379b83a7b3089cb6a0604
+DIST firefox-140.0.4-ru.xpi 524302 BLAKE2B 6f1f7bc5ac4a179f0651a7b91c8e060e5d161bfea580f4d637dbfb90282bf19874e5976be4abcaf94660bffacdb296e40afc84d38a8f0e71a4522a7b21f67404 SHA512 e90a384660f090f33c3e8fb0d03299252ee6f343d0bb67b798b84ec577b586eabfa9d7a7af82036aa21a4a015d00e1081f32d263e32c7798ad91162ae0c77fb7
+DIST firefox-140.0.4-sc.xpi 401431 BLAKE2B c51fcdcacac3dce54d491ebba42a65500f86d159a10c7ced4367485b6db6f29128aa3a63478ce9e6c3b48705d7d9c8347269af3af5e825ec710763f6c170bae3 SHA512 f3f0f60c1c1e08fd008aae62cb14275fee7d4b4afe81665e8f01d209988e116b9f4b52743fa13c4942e3fda63cd3659dd9b6ececb76fd63068184e07123ba6b0
+DIST firefox-140.0.4-sco.xpi 322160 BLAKE2B 40a577685a573943b6b99e82bd5e454428a25244daed0711981244bd0ce0103f3332a065513424bb91eeac4d2659e8397b49969a58f85c1b690b64a906a74c8e SHA512 da03b16559a0cdf63663c35cdb476dbe22931f3b57dc0fa88efe1f11c6d660aec7ba1026dda4d253720cf95e1f1098c4d4debaad4b0d31f8bd1f8edcb83efafa
+DIST firefox-140.0.4-si.xpi 411045 BLAKE2B e6919c491304d6deda2866342e982efba0cfb66c37ffd7bedc59470c5b34dc2913c1e2c36f9595e04ae34be7c84429ff82a94729a68bcb1f10e5be7e66c01f35 SHA512 1e937fa044aebe682a2282bbe9f77ed0a445715f4af2aa45a46d079f31e676ec9defb88fdd8a77041bd776790a5e4745e94abc2e981a0393f2c42af5bfa5717f
+DIST firefox-140.0.4-sk.xpi 467202 BLAKE2B 071882b5d1ee3a172aa8cbc1bb8f73cdb4e66f330af103550f831bbe1db1d66e174f0fb2f03440909f0c03d8252bddc769b27d0dec362bb12a030a6e9c8b2491 SHA512 de4c47a27a836fb792a771128945d0fabe25be4318b4a8295a57f0db25ee4e40f20ea0231f60c943bb7d7fdd6cec641bb6da28669ea6eee084a4ea8b95ae6a39
+DIST firefox-140.0.4-skr.xpi 485335 BLAKE2B b68dc97bbc831851625ab28539bafb9c77e5c9dd81f29458002fccdf2e1ee6e99a1d4d2f3f5b7eb04906fc2c100a220bd554f5f34c58f728bfcc277887dc502c SHA512 5407d288f6a79649e40f8433693525734ae4e9fbab6fa1cf61cff227ae2d3e061fa8e95787513c3a8e15a38182eed623fa790dc69e537c83edef4aa3ea3b9a98
+DIST firefox-140.0.4-sl.xpi 440266 BLAKE2B 7782c00e0c57b70f7b712615ffb71b310e0e8b7601e92c1a1ad18a04bb52c193672de4e648dac0fd7f1c1381cbbe67548c774e3d2578043405386b7bc8e3f392 SHA512 4c8327cd88015d03b9b220984fef925d9cae303b2c4e84187dd59c310d5676e7d5e6936586b815949fd6ae4a504aaf62f4d0eea452f819528f73b8f9b7ecd31c
+DIST firefox-140.0.4-son.xpi 272631 BLAKE2B 9ce7f545338e5ffb06ddcf8be7901609d7834c5b7428408b9ba2e1fae33afb4c4555df60c8e940943c159e808be411753761fae263fe74599c85d420caf14d3a SHA512 8cfaf90ac0383ae54d68ff484eb0d1ab86609cf30910667a9af3db4ad4fa974ded5dd61effeb8b9d3f21f25883ada960be08b7a2397d5e772facb1fd6a843d93
+DIST firefox-140.0.4-sq.xpi 452604 BLAKE2B 34675601957362199ffd357089d85b73c33cbd6f13360e43baca361796f691bd3b7c03e485f2a31bff06d700228c10eb066cea1b0699b4cd4a5674eb6695b72d SHA512 88fcfa4631c651cdbf53a2adfb4fa08fb425c32730807a3dd4ca6d482ab76a20a767bbaa6b34511660cc2ecc11ecf3843f9511d7788bdc866325b3a14f2e1afd
+DIST firefox-140.0.4-sr.xpi 449692 BLAKE2B f002475c7841ec18ee6e31752beb7dd0e27acfb283924a225585af39d0f34bfbd85577007f975bd75f0289a26ba07ec31ee351e10fd71e8a9e9a08d2c7f05458 SHA512 3b64522534c0252bf3ad002cda626d3ca83def54b29c149b584599db9b00501eddd782e66743009998c6b457676878f7e967e335cfeb4cc7c93f5bca67685c0b
+DIST firefox-140.0.4-sv-SE.xpi 435394 BLAKE2B d642a3283482a84340e203a7658e22b5d7891a728554640be39995d22d4a5b0213741ddf8c3453079c602da7ba0a6e55489eba80418b34c1d64f68902d973379 SHA512 37bca5fc3698d9926de717223add76db59c52fca274482b843e857db1df1dab6285b993251062a73480238a2179ab0580b1e9d7f9541da5456fdc50ab14123ab
+DIST firefox-140.0.4-szl.xpi 341193 BLAKE2B b5370c2c38fc793c391336703d0070c53055922ac58bfd1506af2428f5e4ffcf02139ae53670dd3e231211697943f49caa94c5e7017ee26dd705e6803492de2b SHA512 123977c35058b3eec3c9f18dc6aad472a72521b4f7b90321a8cd66c68f17df0e21298bb46ccf7381eaa92439e8809c5501453d0a6e58e8c87631d44cae1ab9d4
+DIST firefox-140.0.4-ta.xpi 337497 BLAKE2B 8f2e587989d38cc397cd2ffeb08d58e429392e244624d9a1a13f393073a39a64b9c93502920b378ef0ce2e83c30bd4e9e5de3a268913c8f79714472697130a7b SHA512 a6c2bc9d4d53cb2dfa564857e5b51bd4dc81ed40294f0301378990520d2b1cad203f662ec3d5669bd967afef7426968adeb7da3458e2f4e8ef381fbfa8a726fb
+DIST firefox-140.0.4-te.xpi 381679 BLAKE2B 934eddc5024a22849d5b19b454d1a30386c6aee89b8cb9a8a36a15efd033bc97f43ce55af8130b1637a17b2837c2684834d500f68c216d0c79409adf754658c2 SHA512 a24be76eb54ef625c239bce1fdedd39d96e641856ea414013b17949c9eca205fd06a37767e00a040bc69f215874d499ab0d22c5055cc63ae5dcc4c99471aeddc
+DIST firefox-140.0.4-th.xpi 502947 BLAKE2B 2a206e52791d86a4ab436c38f25548349fd2b5cfff144dd643b02eb682f3e4c3e0a0b667e56dcf4d24a3f3e19280e15f55eb823a9ff9789455a5f5c2e22155bb SHA512 d68bdb80fba870c1c97f5950cb4c3619de5813252752666d84c055cde24c2486f7f5ede8ee0cd82e411fa97442e846955e5ab7b2956e9734cdd95a76c7776fb8
+DIST firefox-140.0.4-tl.xpi 356152 BLAKE2B 557ba8db8a4e000fb3164253901959b1a18f366b9c7597c285c9cacfcd4f81d51e9b31d441e61e65a3a64e3a13fb443122a14de2799ea8643c03cb91c0e9a799 SHA512 91ec7782dca54489f9b42fa21c1580c3361b8fa12ce2d9468abe1db617eb635b7956d1d6a879adf090be1c4c07042b1d14a61d200b3d67f499af152bc1a0cfb1
+DIST firefox-140.0.4-tr.xpi 447904 BLAKE2B d69d825a351f8fd8616c4debf86b7840e3c3b2068e065b6d4b05c828d08a08e4735f9f1f6424114fc04a53df27c7c5f6eab80bfead70e856a4c2f9cc1c33644d SHA512 187aafe24b4bc74281cd3d0846c2f0f0dd3d1d05eb43b55b32cd22e5e8108788c30fca08cc62109c980a65af436acc8c0067122105c55010938402eb4d0a1ed8
+DIST firefox-140.0.4-trs.xpi 322007 BLAKE2B eda1fd6efbf6e1e7660be9c2920c198b2752b45b3177a6dae24d4ddae29b59711ed1362f3d6315ad3bc241edd25e8b59ad76aff64bf51deb85b700cef929bf76 SHA512 93b2e70231c445bf0f545ca9ea9d0f7b5ecee71fe53dcb003bcd55e25217aaaa09d733a0732e9b9c9b18ac386a9650a4fbd60a94d85b52fa53decbf005685215
+DIST firefox-140.0.4-uk.xpi 513996 BLAKE2B d2e1e6c47bca680067cccdd91c564a43376fa99c141dea3d229cc5102fcc7aae3584d3347fe1f6b05ee48903b9cbc8acb0290d5adf3c06a9f0e937914ed5f7f8 SHA512 4a56f02e244ecc5bdfaac9f0e16349c5f1f761bd1de9a63df7d7cf86d9ebb558ec371497147fc1b5d5d95e546a6e182cc76c98cd19009a549aa9504b79371d04
+DIST firefox-140.0.4-ur.xpi 369642 BLAKE2B 9dd966a7f70d7f86a683f3a9152765c61ff5f3e96c32a0f81beb7a20268a80c122df6bda5194e4957950b8ee7c9f92126000d9e5d36e1fc653f771bb510e2a3a SHA512 bef3f96435fc2d3ef655a6b43defb99df14914ef98ab5a70fd755852d0d97c7e614f144d097c5dbca36e1d34343273d6ee715aa3898bd74a93a60f314e36a7cb
+DIST firefox-140.0.4-uz.xpi 302983 BLAKE2B ae2bf13e781b77148b5cf238ad0f2006bb58cc23b28169a9080a6f9e1b31aafca0922857453285b7b48040d995dcdf1bc7721f531fad27a64cce9e0603da04f5 SHA512 0affbd1c2608812af027e732b19fb31314b8bb0560c5c1679a32458d3aa59cf543d7599c9869424b220fb39652574327e7957e9eb1fee3796f8395d46c3e5ac7
+DIST firefox-140.0.4-vi.xpi 468224 BLAKE2B adad906bd0fdd4c17bad1a645c41035c39ac8525693b62e2880898e17961a786010f88c682d559d596456496ba87359c334be7566ee38e193a5af08e7e2b4a24 SHA512 2b395105f9bb8f724ebe7e48f291fbe7ca0b8c2b6d5e2628ab37ffb7b9540280b39c62eac6f4a33519a421bbf5da7bdf791a4f31ac08a1b61d51474bf4d000cf
+DIST firefox-140.0.4-xh.xpi 272298 BLAKE2B d46fef696d4c4844dfc2e056f0013c632133f64f63b371437d2c32ff30c839da2ef7083e7e03acd0b5fef398e6106c908214feabc955bdb30e06e317ec193b53 SHA512 756167fc0b33830ea8f491c85dc6227935a0afbb134f177ff18f761010e1be2b4803c3127db3cf0dd38cff3dfcfdf501784f67031f01213ab273f011f637d347
+DIST firefox-140.0.4-zh-CN.xpi 460037 BLAKE2B ba60349550da85791de7b52b822a7de35be7ae6e53d380c1c824f1d6f45f11a19d34cce74b69ecba51ef44e899b07562b7b8d6edd2752d0920ac5bd4a186d857 SHA512 73dfde1d2fe030a659149b89482b88cec3a9203d1db43fb667a3cca840280bdffe7a672ba7dd11cc93d259f7f29f4c6ec1f816e610236c573ba6ebce479f3828
+DIST firefox-140.0.4-zh-TW.xpi 462993 BLAKE2B ec676369121967ca711921b9b7c90448df1398f44b401c311c2107217d5d6a1fe5a6cf5b3a584bbcae5bb421dba1ded1f7ff40746d290726d5bf2ad595f0d54d SHA512 31f4a7377548cd3c4f6e8aa3dc6b0ecd6fd35dcd72f7899531eed367462ffb88a793b32f229851748303bb9b851e470b5a745243c3162f1994237ebeabc9c761
+DIST firefox-140.0.4.source.tar.xz 642671864 BLAKE2B 7cdcf5ff710860c1e0e2c7fb8e1ceebbe4211dfcb847b4f2e547eebf991214e00a8306452fa30899b7b731f1c89cd7af1efc005203871fc59e4bb597822b3b24 SHA512 3de7c0871b8a45683f5c226fb3e91e597e8f89ef154b208b2a57c4d3ea9f39cb5c69ecbd5eca3b6da68d3775688d2289c1360c7d110c67bb1be1cf26ef8cf36d
DIST firefox-140.0.source.tar.xz 639951312 BLAKE2B 588d290e3ff70e47a0235ff8abe22c17a76c28389ff9bcbbfaf05efa9fc37ec29a5f64c2fb736f270f8b0c0467c0ce7ba1b5c7f186c86ba1528a4d362ff1c2d4 SHA512 ef209827a422bab443e2b6fc59ac16f0ad99293b3c8f10a978f222ac8da5ff568b2fadfb97784feeafa4a24883d44ea2f34b47b2bb19863a27e00d2d787b8ad3
DIST wasi-sdk-25.0-arm64-linux.tar.gz 115160800 BLAKE2B 1ce22aaea87d0720d40d46ebdd96508c8fb0593b53c4489022fd5a1a9afb043a26a6e162a992d73454f612f2b6ab01e17a99c189c0c8b8c2d2d68fd96fabee1b SHA512 ef4eff22c1efec4dc5ab199d09d93ee0004f9fa67b32cac0030f8b6a40def10f714391cec8e803c200995dd8bfad3ebad9ec79b4195aa6b2ea61ea47a8b9e61f
DIST wasi-sdk-25.0-x86_64-linux.tar.gz 114450290 BLAKE2B 07618828d4c25d67421aa72d38fc49bbff9052b8ecfe0fa9f4207e71880e9c650f458567cfa5bd389d5f830fcfee89142a77d33c29e7bccd1da7ddba2bc47b95 SHA512 716acc4b737ad6f51c6b32c3423612c03df9a3165bde3d6e24df5c86779b8be9463f5a79e620f2fc49707275563a6c9710242caca27e1ad9dd2c69e8fce8a766
diff --git a/www-client/firefox/firefox-140.0.4.ebuild b/www-client/firefox/firefox-140.0.4.ebuild
new file mode 100644
index 000000000000..3a8f1f226e39
--- /dev/null
+++ b/www-client/firefox/firefox-140.0.4.ebuild
@@ -0,0 +1,1399 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+FIREFOX_PATCHSET="firefox-139-patches-03.tar.xz"
+FIREFOX_LOONG_PATCHSET="firefox-139-loong-patches-02.tar.xz"
+
+LLVM_COMPAT=( 19 20 )
+
+# This will also filter rust versions that don't match LLVM_COMPAT in the non-clang path; this is fine.
+RUST_NEEDS_LLVM=1
+
+# If not building with clang we need at least rust 1.76
+RUST_MIN_VER=1.82.0
+
+PYTHON_COMPAT=( python3_{11..13} )
+PYTHON_REQ_USE="ncurses,sqlite,ssl"
+
+VIRTUALX_REQUIRED="manual"
+
+# Information about the bundled wasi toolchain from
+# https://github.com/WebAssembly/wasi-sdk/
+WASI_SDK_VER=25.0
+WASI_SDK_LLVM_VER=19
+
+MOZ_ESR=
+
+MOZ_PV=${PV}
+MOZ_PV_SUFFIX=
+if [[ ${PV} =~ (_(alpha|beta|rc).*)$ ]] ; then
+ MOZ_PV_SUFFIX=${BASH_REMATCH[1]}
+
+ # Convert the ebuild version to the upstream Mozilla version
+ MOZ_PV="${MOZ_PV/_alpha/a}" # Handle alpha for SRC_URI
+ MOZ_PV="${MOZ_PV/_beta/b}" # Handle beta for SRC_URI
+ MOZ_PV="${MOZ_PV%%_rc*}" # Handle rc for SRC_URI
+fi
+
+if [[ -n ${MOZ_ESR} ]] ; then
+ # ESR releases have slightly different version numbers
+ MOZ_PV="${MOZ_PV}esr"
+ HOMEPAGE="https://www.mozilla.org/firefox https://www.mozilla.org/firefox/enterprise/"
+ SLOT="esr"
+else
+ HOMEPAGE="https://www.mozilla.org/firefox"
+ SLOT="rapid"
+fi
+
+MOZ_PN="${PN%-bin}"
+MOZ_P="${MOZ_PN}-${MOZ_PV}"
+MOZ_PV_DISTFILES="${MOZ_PV}${MOZ_PV_SUFFIX}"
+MOZ_P_DISTFILES="${MOZ_PN}-${MOZ_PV_DISTFILES}"
+
+inherit check-reqs desktop flag-o-matic gnome2-utils linux-info llvm-r1 multiprocessing \
+ optfeature pax-utils python-any-r1 readme.gentoo-r1 rust toolchain-funcs virtualx xdg
+
+MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/releases/${MOZ_PV}"
+
+if [[ ${PV} == *_rc* ]] ; then
+ MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/candidates/${MOZ_PV}-candidates/build${PV##*_rc}"
+fi
+
+PATCH_URIS=(
+ https://dev.gentoo.org/~juippis/mozilla/patchsets/${FIREFOX_PATCHSET}
+)
+
+DESCRIPTION="Firefox Web Browser"
+SRC_URI="${MOZ_SRC_BASE_URI}/source/${MOZ_P}.source.tar.xz -> ${MOZ_P_DISTFILES}.source.tar.xz
+ ${PATCH_URIS[@]}
+ loong? (
+ https://dev.gentoo.org/~xen0n/distfiles/www-client/${MOZ_PN}/${FIREFOX_LOONG_PATCHSET}
+ )
+ wasm-sandbox? (
+ amd64? ( https://github.com/WebAssembly/wasi-sdk/releases/download/wasi-sdk-${WASI_SDK_VER/.*/}/wasi-sdk-${WASI_SDK_VER}-x86_64-linux.tar.gz )
+ arm64? ( https://github.com/WebAssembly/wasi-sdk/releases/download/wasi-sdk-${WASI_SDK_VER/.*/}/wasi-sdk-${WASI_SDK_VER}-arm64-linux.tar.gz )
+ )"
+
+S="${WORKDIR}/${PN}-${PV%_*}"
+LICENSE="MPL-2.0 GPL-2 LGPL-2.1"
+KEYWORDS="~amd64 ~arm64 ~loong ~ppc64 ~riscv ~x86"
+
+IUSE="+clang dbus debug eme-free hardened hwaccel jack libproxy pgo pulseaudio sndio selinux"
+IUSE+=" +system-av1 +system-harfbuzz +system-icu +system-jpeg +system-jpeg +system-libevent"
+IUSE+=" +system-libvpx system-pipewire system-png +system-webp test valgrind wayland wifi +X"
+
+# Firefox-only IUSE
+IUSE+=" +gmp-autoupdate gnome-shell jpegxl +jumbo-build openh264 +telemetry wasm-sandbox"
+
+REQUIRED_USE="|| ( X wayland )
+ debug? ( !system-av1 )
+ pgo? ( jumbo-build )
+ wayland? ( dbus )
+ wifi? ( dbus )
+"
+
+RESTRICT="!test? ( test )"
+
+FF_ONLY_DEPEND="!www-client/firefox:0
+ selinux? ( sec-policy/selinux-mozilla )"
+BDEPEND="${PYTHON_DEPS}
+ $(llvm_gen_dep '
+ llvm-core/clang:${LLVM_SLOT}
+ llvm-core/llvm:${LLVM_SLOT}
+ clang? (
+ llvm-core/lld:${LLVM_SLOT}
+ pgo? ( llvm-runtimes/compiler-rt-sanitizers:${LLVM_SLOT}[profile] )
+ )
+ wasm-sandbox? ( llvm-core/lld:${LLVM_SLOT} )
+ ')
+ app-alternatives/awk
+ app-arch/unzip
+ app-arch/zip
+ >=dev-util/cbindgen-0.27.0
+ net-libs/nodejs
+ virtual/pkgconfig
+ amd64? ( >=dev-lang/nasm-2.14 )
+ x86? ( >=dev-lang/nasm-2.14 )
+ pgo? (
+ X? (
+ sys-devel/gettext
+ x11-base/xorg-server[xvfb]
+ x11-apps/xhost
+ )
+ !X? (
+ || (
+ gui-wm/tinywl
+ <gui-libs/wlroots-0.17.3[tinywl(-)]
+ )
+ x11-misc/xkeyboard-config
+ )
+ )"
+COMMON_DEPEND="${FF_ONLY_DEPEND}
+ >=app-accessibility/at-spi2-core-2.46.0:2
+ dev-libs/expat
+ dev-libs/glib:2
+ dev-libs/libffi:=
+ >=dev-libs/nss-3.112
+ >=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/libdrm
+ x11-libs/pango
+ x11-libs/pixman
+ dbus? (
+ sys-apps/dbus
+ )
+ jack? ( virtual/jack )
+ pulseaudio? (
+ || (
+ media-libs/libpulse
+ >=media-sound/apulse-0.1.12-r4[sdk]
+ )
+ )
+ libproxy? ( net-libs/libproxy )
+ selinux? ( sec-policy/selinux-mozilla )
+ sndio? ( >=media-sound/sndio-1.8.0-r1 )
+ system-av1? (
+ >=media-libs/dav1d-1.0.0:=
+ >=media-libs/libaom-1.0.0:=
+ )
+ system-harfbuzz? (
+ >=media-libs/harfbuzz-2.8.1:0=
+ !wasm-sandbox? ( >=media-gfx/graphite2-1.3.13 )
+ )
+ system-icu? ( >=dev-libs/icu-76.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-pipewire? ( media-video/pipewire:= )
+ system-png? ( >=media-libs/libpng-1.6.45: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 "llvm-core/clang:${LLVM_SLOT}" ; then
+ einfo "llvm-core/clang:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
+ return 1
+ fi
+
+ if use clang && ! tc-ld-is-mold ; then
+ if ! has_version -b "llvm-core/lld:${LLVM_SLOT}" ; then
+ einfo "llvm-core/lld:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
+ return 1
+ fi
+ fi
+
+ if use pgo ; then
+ if ! has_version -b "=llvm-runtimes/compiler-rt-sanitizers-${LLVM_SLOT}*[profile]" ; then
+ einfo "=llvm-runtimes/compiler-rt-sanitizers-${LLVM_SLOT}*[profile] is missing!" >&2
+ einfo "Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
+ return 1
+ fi
+ fi
+
+ einfo "Using LLVM slot ${LLVM_SLOT} to build" >&2
+}
+
+MOZ_LANGS=(
+ af ar ast be bg br ca cak cs cy da de dsb
+ el en-CA en-GB en-US es-AR es-ES et eu
+ fi fr fy-NL ga-IE gd gl he hr hsb hu
+ id is it ja ka kab kk ko lt lv ms nb-NO nl nn-NO
+ pa-IN pl pt-BR pt-PT rm ro ru
+ sk sl sq sr sv-SE th tr uk uz vi zh-CN zh-TW
+)
+
+# Firefox-only LANGS
+MOZ_LANGS+=( ach )
+MOZ_LANGS+=( an )
+MOZ_LANGS+=( az )
+MOZ_LANGS+=( bn )
+MOZ_LANGS+=( bs )
+MOZ_LANGS+=( ca-valencia )
+MOZ_LANGS+=( eo )
+MOZ_LANGS+=( es-CL )
+MOZ_LANGS+=( es-MX )
+MOZ_LANGS+=( fa )
+MOZ_LANGS+=( ff )
+MOZ_LANGS+=( fur )
+MOZ_LANGS+=( gn )
+MOZ_LANGS+=( gu-IN )
+MOZ_LANGS+=( hi-IN )
+MOZ_LANGS+=( hy-AM )
+MOZ_LANGS+=( ia )
+MOZ_LANGS+=( km )
+MOZ_LANGS+=( kn )
+MOZ_LANGS+=( lij )
+MOZ_LANGS+=( mk )
+MOZ_LANGS+=( mr )
+MOZ_LANGS+=( my )
+MOZ_LANGS+=( ne-NP )
+MOZ_LANGS+=( oc )
+MOZ_LANGS+=( sc )
+MOZ_LANGS+=( sco )
+MOZ_LANGS+=( si )
+MOZ_LANGS+=( skr )
+MOZ_LANGS+=( son )
+MOZ_LANGS+=( szl )
+MOZ_LANGS+=( ta )
+MOZ_LANGS+=( te )
+MOZ_LANGS+=( tl )
+MOZ_LANGS+=( trs )
+MOZ_LANGS+=( ur )
+MOZ_LANGS+=( xh )
+
+mozilla_set_globals() {
+ # https://bugs.gentoo.org/587334
+ local MOZ_TOO_REGIONALIZED_FOR_L10N=(
+ fy-NL ga-IE gu-IN hi-IN hy-AM nb-NO ne-NP nn-NO pa-IN sv-SE
+ )
+
+ local lang xflag
+ for lang in "${MOZ_LANGS[@]}" ; do
+ # en and en_US are handled internally
+ if [[ ${lang} == en ]] || [[ ${lang} == en-US ]] ; then
+ continue
+ fi
+
+ # strip region subtag if $lang is in the list
+ if has ${lang} "${MOZ_TOO_REGIONALIZED_FOR_L10N[@]}" ; then
+ xflag=${lang%%-*}
+ else
+ xflag=${lang}
+ fi
+
+ SRC_URI+=" l10n_${xflag/[_@]/-}? ("
+ SRC_URI+=" ${MOZ_SRC_BASE_URI}/linux-x86_64/xpi/${lang}.xpi -> ${MOZ_P_DISTFILES}-${lang}.xpi"
+ SRC_URI+=" )"
+ IUSE+=" l10n_${xflag/[_@]/-}"
+ done
+}
+mozilla_set_globals
+
+moz_clear_vendor_checksums() {
+ debug-print-function ${FUNCNAME} "$@"
+
+ if [[ ${#} -ne 1 ]] ; then
+ die "${FUNCNAME} requires exact one argument"
+ fi
+
+ einfo "Clearing cargo checksums for ${1} ..."
+
+ sed -i \
+ -e 's/\("files":{\)[^}]*/\1/' \
+ "${S}"/third_party/rust/${1}/.cargo-checksum.json || die
+}
+
+moz_install_xpi() {
+ debug-print-function ${FUNCNAME} "$@"
+
+ if [[ ${#} -lt 2 ]] ; then
+ die "${FUNCNAME} requires at least two arguments"
+ fi
+
+ local DESTDIR=${1}
+ shift
+
+ insinto "${DESTDIR}"
+
+ local emid xpi_file xpi_tmp_dir
+ for xpi_file in "${@}" ; do
+ emid=
+ xpi_tmp_dir=$(mktemp -d --tmpdir="${T}")
+
+ # Unpack XPI
+ unzip -qq "${xpi_file}" -d "${xpi_tmp_dir}" || die
+
+ # Determine extension ID
+ if [[ -f "${xpi_tmp_dir}/install.rdf" ]] ; then
+ emid=$(sed -n -e '/install-manifest/,$ { /em:id/!d; s/.*[\">]\([^\"<>]*\)[\"<].*/\1/; p; q }' "${xpi_tmp_dir}/install.rdf")
+ [[ -z "${emid}" ]] && die "failed to determine extension id from install.rdf"
+ elif [[ -f "${xpi_tmp_dir}/manifest.json" ]] ; then
+ emid=$(sed -n -e 's/.*"id": "\([^"]*\)".*/\1/p' "${xpi_tmp_dir}/manifest.json")
+ [[ -z "${emid}" ]] && die "failed to determine extension id from manifest.json"
+ else
+ die "failed to determine extension id"
+ fi
+
+ einfo "Installing ${emid}.xpi into ${ED}${DESTDIR} ..."
+ newins "${xpi_file}" "${emid}.xpi"
+ done
+}
+
+mozconfig_add_options_ac() {
+ debug-print-function ${FUNCNAME} "$@"
+
+ if [[ ${#} -lt 2 ]] ; then
+ die "${FUNCNAME} requires at least two arguments"
+ fi
+
+ local reason=${1}
+ shift
+
+ local option
+ for option in ${@} ; do
+ echo "ac_add_options ${option} # ${reason}" >>${MOZCONFIG}
+ done
+}
+
+mozconfig_add_options_mk() {
+ debug-print-function ${FUNCNAME} "$@"
+
+ if [[ ${#} -lt 2 ]] ; then
+ die "${FUNCNAME} requires at least two arguments"
+ fi
+
+ local reason=${1}
+ shift
+
+ local option
+ for option in ${@} ; do
+ echo "mk_add_options ${option} # ${reason}" >>${MOZCONFIG}
+ done
+}
+
+mozconfig_use_enable() {
+ debug-print-function ${FUNCNAME} "$@"
+
+ if [[ ${#} -lt 1 ]] ; then
+ die "${FUNCNAME} requires at least one arguments"
+ fi
+
+ local flag=$(use_enable "${@}")
+ mozconfig_add_options_ac "$(use ${1} && echo +${1} || echo -${1})" "${flag}"
+}
+
+mozconfig_use_with() {
+ debug-print-function ${FUNCNAME} "$@"
+
+ if [[ ${#} -lt 1 ]] ; then
+ die "${FUNCNAME} requires at least one arguments"
+ fi
+
+ local flag=$(use_with "${@}")
+ mozconfig_add_options_ac "$(use ${1} && echo +${1} || echo -${1})" "${flag}"
+}
+
+virtwl() {
+ debug-print-function ${FUNCNAME} "$@"
+
+ [[ $# -lt 1 ]] && die "${FUNCNAME} needs at least one argument"
+ [[ -n $XDG_RUNTIME_DIR ]] || die "${FUNCNAME} needs XDG_RUNTIME_DIR to be set; try xdg_environment_reset"
+ tinywl -h >/dev/null || die 'tinywl -h failed'
+
+ local VIRTWL VIRTWL_PID
+ coproc VIRTWL { WLR_BACKENDS=headless exec tinywl -s 'echo $WAYLAND_DISPLAY; read _; kill $PPID'; }
+ local -x WAYLAND_DISPLAY
+ read WAYLAND_DISPLAY <&${VIRTWL[0]}
+
+ debug-print "${FUNCNAME}: $@"
+ "$@"
+ local r=$?
+
+ [[ -n $VIRTWL_PID ]] || die "tinywl exited unexpectedly"
+ exec {VIRTWL[0]}<&- {VIRTWL[1]}>&-
+ return $r
+}
+
+pkg_pretend() {
+ if [[ ${MERGE_TYPE} != binary ]] ; then
+ # Ensure we have enough disk space to compile
+ if use pgo || use debug ; then
+ CHECKREQS_DISK_BUILD="14300M"
+ elif tc-is-lto ; then
+ CHECKREQS_DISK_BUILD="10600M"
+ else
+ CHECKREQS_DISK_BUILD="7400M"
+ fi
+
+ check-reqs_pkg_pretend
+ fi
+}
+
+pkg_setup() {
+
+ # Get LTO from environment; export after this phase for use in src_configure (etc)
+ use_lto=no
+
+ if [[ ${MERGE_TYPE} != binary ]] ; then
+
+ if tc-is-lto; then
+ use_lto=yes
+ # LTO is handled via configure
+ filter-lto
+ fi
+
+ if use pgo ; then
+ if ! has userpriv ${FEATURES} ; then
+ eerror "Building ${PN} with USE=pgo and FEATURES=-userpriv is not supported!"
+ fi
+ fi
+
+ if [[ ${use_lto} = yes ]]; then
+ # -Werror=lto-type-mismatch -Werror=odr are going to fail with GCC,
+ # bmo#1516758, bgo#942288
+ filter-flags -Werror=lto-type-mismatch -Werror=odr
+ fi
+
+ # Ensure we have enough disk space to compile
+ if use pgo || use debug ; then
+ CHECKREQS_DISK_BUILD="14300M"
+ elif [[ ${use_lto} == "yes" ]] ; then
+ CHECKREQS_DISK_BUILD="10600M"
+ else
+ CHECKREQS_DISK_BUILD="7400M"
+ fi
+
+ check-reqs_pkg_setup
+ llvm-r1_pkg_setup
+ rust_pkg_setup
+ python-any-r1_pkg_setup
+
+ # Avoid PGO profiling problems due to enviroment leakage
+ # These should *always* be cleaned up anyway
+ unset \
+ DBUS_SESSION_BUS_ADDRESS \
+ DISPLAY \
+ ORBIT_SOCKETDIR \
+ SESSION_MANAGER \
+ XAUTHORITY \
+ XDG_CACHE_HOME \
+ XDG_SESSION_COOKIE
+
+ # Build system is using /proc/self/oom_score_adj, bug #604394
+ addpredict /proc/self/oom_score_adj
+
+ if use pgo ; then
+ # Update 105.0: "/proc/self/oom_score_adj" isn't enough anymore with pgo, but not sure
+ # whether that's due to better OOM handling by Firefox (bmo#1771712), or portage
+ # (PORTAGE_SCHEDULING_POLICY) update...
+ addpredict /proc
+
+ # Clear tons of conditions, since PGO is hardware-dependant.
+ addpredict /dev
+ fi
+
+ if ! mountpoint -q /dev/shm ; then
+ # If /dev/shm is not available, configure is known to fail with
+ # a traceback report referencing /usr/lib/pythonN.N/multiprocessing/synchronize.py
+ ewarn "/dev/shm is not mounted -- expect build failures!"
+ fi
+
+ # Google API keys (see http://www.chromium.org/developers/how-tos/api-keys)
+ # Note: These are for Gentoo Linux use ONLY. For your own distribution, please
+ # get your own set of keys.
+ if [[ -z "${MOZ_API_KEY_GOOGLE+set}" ]] ; then
+ MOZ_API_KEY_GOOGLE="AIzaSyDEAOvatFogGaPi0eTgsV_ZlEzx0ObmepsMzfAc"
+ fi
+
+ if [[ -z "${MOZ_API_KEY_LOCATION+set}" ]] ; then
+ MOZ_API_KEY_LOCATION="AIzaSyB2h2OuRgGaPicUgy5N-5hsZqiPW6sH3n_rptiQ"
+ fi
+
+ # Mozilla API keys (see https://location.services.mozilla.com/api)
+ # Note: These are for Gentoo Linux use ONLY. For your own distribution, please
+ # get your own set of keys.
+ if [[ -z "${MOZ_API_KEY_MOZILLA+set}" ]] ; then
+ MOZ_API_KEY_MOZILLA="edb3d487-3a84-46m0ap1e3-9dfd-92b5efaaa005"
+ fi
+
+ # Ensure we use C locale when building, bug #746215
+ export LC_ALL=C
+ fi
+
+ export use_lto
+
+ CONFIG_CHECK="~SECCOMP"
+ WARNING_SECCOMP="CONFIG_SECCOMP not set! This system will be unable to play DRM-protected content."
+ linux-info_pkg_setup
+}
+
+src_unpack() {
+ local _lp_dir="${WORKDIR}/language_packs"
+ local _src_file
+
+ if [[ ! -d "${_lp_dir}" ]] ; then
+ mkdir "${_lp_dir}" || die
+ fi
+
+ for _src_file in ${A} ; do
+ if [[ ${_src_file} == *.xpi ]]; then
+ cp "${DISTDIR}/${_src_file}" "${_lp_dir}" || die "Failed to copy '${_src_file}' to '${_lp_dir}'!"
+ else
+ unpack ${_src_file}
+ fi
+ done
+}
+
+src_prepare() {
+ if [[ ${use_lto} == "yes" ]]; then
+ rm -v "${WORKDIR}"/firefox-patches/*-LTO-Only-enable-LTO-*.patch || die
+ fi
+
+ # Workaround for bgo#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"
+ use loong && eapply "${WORKDIR}/firefox-loong-patches"
+
+ # Allow user to apply any additional patches without modifing ebuild
+ eapply_user
+
+ # Make cargo respect MAKEOPTS
+ export CARGO_BUILD_JOBS="$(makeopts_jobs)"
+
+ # Workaround for bgo#915651
+ if ! use elibc_glibc ; then
+ if use amd64 ; then
+ export RUST_TARGET="x86_64-unknown-linux-musl"
+ elif use x86 ; then
+ export RUST_TARGET="i686-unknown-linux-musl"
+ elif use arm64 ; then
+ export RUST_TARGET="aarch64-unknown-linux-musl"
+ elif use loong; then
+ # Only the LP64D ABI of LoongArch64 is actively supported among
+ # the wider Linux ecosystem, so the assumption is safe.
+ export RUST_TARGET="loongarch64-unknown-linux-musl"
+ elif use ppc64 ; then
+ export RUST_TARGET="powerpc64le-unknown-linux-musl"
+ elif use riscv ; then
+ # We can pretty safely rule out any 32-bit riscvs, but 64-bit riscvs also have tons of
+ # different ABIs available. riscv64gc-unknown-linux-musl seems to be the best working
+ # guess right now though.
+ elog "riscv detected, forcing a riscv64 target for now."
+ export RUST_TARGET="riscv64gc-unknown-linux-musl"
+ else
+ die "Unknown musl chost, please post a new bug with your rustc -vV along with emerge --info"
+ fi
+ fi
+
+ # Pre-built wasm-sandbox path manipulation.
+ if use wasm-sandbox ; then
+ if use amd64 ; then
+ export wasi_arch="x86_64"
+ elif use arm64 ; then
+ export wasi_arch="arm64"
+ else
+ die "wasm-sandbox enabled on unknown/unsupported arch!"
+ fi
+
+ sed -i \
+ -e "s:%%PORTAGE_WORKDIR%%:${WORKDIR}:" \
+ -e "s:%%WASI_ARCH%%:${wasi_arch}:" \
+ -e "s:%%WASI_SDK_VER%%:${WASI_SDK_VER}:" \
+ -e "s:%%WASI_SDK_LLVM_VER%%:${WASI_SDK_LLVM_VER}:" \
+ toolkit/moz.configure || die "Failed to update wasi-related paths."
+ fi
+
+ # Make LTO respect MAKEOPTS
+ sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \
+ "${S}"/build/moz.configure/lto-pgo.configure || die "Failed sedding multiprocessing.cpu_count"
+
+ sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \
+ "${S}"/third_party/chromium/build/toolchain/get_cpu_count.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-updater \
+ --disable-wmf \
+ --enable-negotiateauth \
+ --enable-new-pass-manager \
+ --enable-official-branding \
+ --enable-packed-relative-relocs \
+ --enable-release \
+ --enable-system-policies \
+ --host="${CBUILD:-${CHOST}}" \
+ --libdir="${EPREFIX}/usr/$(get_libdir)" \
+ --prefix="${EPREFIX}/usr" \
+ --target="${CHOST}" \
+ --without-ccache \
+ --with-intl-api \
+ --with-libclang-path="$(llvm-config --libdir)" \
+ --with-system-ffi \
+ --with-system-gbm \
+ --with-system-libdrm \
+ --with-system-nspr \
+ --with-system-nss \
+ --with-system-pixman \
+ --with-system-zlib \
+ --with-toolchain-prefix="${CHOST}-" \
+ --with-unsigned-addon-scopes=app,system
+
+ # Set update channel
+ local update_channel=release
+ [[ -n ${MOZ_ESR} ]] && update_channel=esr
+ mozconfig_add_options_ac '' --enable-update-channel=${update_channel}
+
+ # Whitelist to allow unkeyworded arches to build with "--disable-rust-simd" by default.
+ if use amd64 || use arm64 || use ppc64 || use loong || use riscv ; then
+ mozconfig_add_options_ac '' --enable-rust-simd
+ fi
+
+ # For future keywording: This is currently (97.0) only supported on:
+ # amd64, arm, arm64 & x86.
+ # Might want to flip the logic around if Firefox is to support more arches.
+ # bug 833001, bug 903411#c8
+ if use loong || use ppc64 || use riscv; then
+ mozconfig_add_options_ac '' --disable-sandbox
+ elif use valgrind; then
+ mozconfig_add_options_ac 'valgrind requirement' --disable-sandbox
+ else
+ mozconfig_add_options_ac '' --enable-sandbox
+ fi
+
+ # riscv-related options, bgo#947337, bgo#947338
+ if use riscv ; then
+ mozconfig_add_options_ac 'Disable JIT for RISC-V 64' --disable-jit
+ mozconfig_add_options_ac 'Disable webrtc for RISC-V' --disable-webrtc
+ fi
+
+ if [[ -s "${S}/api-google.key" ]] ; then
+ local key_origin="Gentoo default"
+ if [[ $(cat "${S}/api-google.key" | md5sum | awk '{ print $1 }') != 709560c02f94b41f9ad2c49207be6c54 ]] ; then
+ key_origin="User value"
+ fi
+
+ mozconfig_add_options_ac "${key_origin}" \
+ --with-google-safebrowsing-api-keyfile="${S}/api-google.key"
+ else
+ einfo "Building without Google API key ..."
+ fi
+
+ if [[ -s "${S}/api-location.key" ]] ; then
+ local key_origin="Gentoo default"
+ if [[ $(cat "${S}/api-location.key" | md5sum | awk '{ print $1 }') != ffb7895e35dedf832eb1c5d420ac7420 ]] ; then
+ key_origin="User value"
+ fi
+
+ mozconfig_add_options_ac "${key_origin}" \
+ --with-google-location-service-api-keyfile="${S}/api-location.key"
+ else
+ einfo "Building without Location API key ..."
+ fi
+
+ if [[ -s "${S}/api-mozilla.key" ]] ; then
+ local key_origin="Gentoo default"
+ if [[ $(cat "${S}/api-mozilla.key" | md5sum | awk '{ print $1 }') != 3927726e9442a8e8fa0e46ccc39caa27 ]] ; then
+ key_origin="User value"
+ fi
+
+ mozconfig_add_options_ac "${key_origin}" \
+ --with-mozilla-api-keyfile="${S}/api-mozilla.key"
+ else
+ einfo "Building without Mozilla API key ..."
+ fi
+
+ mozconfig_use_with system-av1
+ mozconfig_use_with system-harfbuzz
+ mozconfig_use_with system-icu
+ mozconfig_use_with system-jpeg
+ mozconfig_use_with system-libevent
+ mozconfig_use_with system-libvpx
+ mozconfig_use_with system-pipewire
+ 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
+
+ # wasm-sandbox
+ # Since graphite2 is one of the sandboxed libraries, system-graphite2 obviously can't work with +wasm-sandbox.
+ if use wasm-sandbox ; then
+ mozconfig_add_options_ac '+wasm-sandbox' --with-wasi-sysroot="${WORKDIR}/wasi-sdk-${WASI_SDK_VER}-${wasi_arch}-linux/share/wasi-sysroot/"
+ else
+ mozconfig_add_options_ac 'no wasm-sandbox' --without-wasm-sandboxed-libraries
+ mozconfig_use_with system-harfbuzz system-graphite2
+ fi
+
+ ! use jpegxl && mozconfig_add_options_ac '-jpegxl' --disable-jxl
+
+ if [[ ${use_lto} == "yes" ]] ; then
+ if use clang ; then
+ # Upstream only supports lld or mold when using clang.
+ if tc-ld-is-mold ; then
+ # mold expects the -flto line from *FLAGS configuration, bgo#923119
+ append-ldflags "-flto=thin"
+ mozconfig_add_options_ac "using ld=mold due to system selection" --enable-linker=mold
+ else
+ mozconfig_add_options_ac "forcing ld=lld due to USE=clang and USE=lto" --enable-linker=lld
+ fi
+
+ mozconfig_add_options_ac '+lto' --enable-lto=cross
+
+ else
+ # ThinLTO is currently broken, see bmo#1644409.
+ # mold does not support gcc+lto combination.
+ mozconfig_add_options_ac '+lto' --enable-lto=full
+ mozconfig_add_options_ac "linker is set to bfd" --enable-linker=bfd
+ fi
+
+ else
+ # Avoid auto-magic on linker
+ if use clang ; then
+ # lld is upstream's default
+ if tc-ld-is-mold ; then
+ mozconfig_add_options_ac "using ld=mold due to system selection" --enable-linker=mold
+ else
+ mozconfig_add_options_ac "forcing ld=lld due to USE=clang" --enable-linker=lld
+ fi
+
+ else
+ if tc-ld-is-mold ; then
+ mozconfig_add_options_ac "using ld=mold due to system selection" --enable-linker=mold
+ else
+ mozconfig_add_options_ac "linker is set to bfd due to USE=-clang" --enable-linker=bfd
+ fi
+ fi
+ fi
+
+ # PGO was moved outside lto block to allow building pgo without lto.
+ if use pgo ; then
+ mozconfig_add_options_ac '+pgo' MOZ_PGO=1
+
+ if use clang ; then
+ # Used in build/pgo/profileserver.py
+ export LLVM_PROFDATA="llvm-profdata"
+ fi
+ fi
+
+ mozconfig_use_enable debug
+ if use debug ; then
+ mozconfig_add_options_ac '+debug' --disable-optimize
+ mozconfig_add_options_ac '+debug' --enable-jemalloc
+ mozconfig_add_options_ac '+debug' --enable-real-time-tracing
+ else
+ mozconfig_add_options_ac 'Gentoo defaults' --disable-real-time-tracing
+
+ if is-flag '-g*' ; then
+ if use clang ; then
+ mozconfig_add_options_ac 'from CFLAGS' --enable-debug-symbols=$(get-flag '-g*')
+ else
+ mozconfig_add_options_ac 'from CFLAGS' --enable-debug-symbols
+ fi
+ else
+ mozconfig_add_options_ac 'Gentoo default' --disable-debug-symbols
+ fi
+
+ if is-flag '-O0' ; then
+ mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O0
+ elif is-flag '-O4' ; then
+ mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O4
+ elif is-flag '-O3' ; then
+ mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O3
+ elif is-flag '-O1' ; then
+ mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O1
+ elif is-flag '-Os' ; then
+ mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-Os
+ else
+ mozconfig_add_options_ac "Gentoo default" --enable-optimize=-O2
+ fi
+ fi
+
+ # Debug flag was handled via configure
+ filter-flags '-g*'
+
+ # Optimization flag was handled via configure
+ filter-flags '-O*'
+
+ # elf-hack
+ # Filter "-z,pack-relative-relocs" and let the build system handle it instead.
+ if use amd64 || use x86 ; then
+ filter-flags "-z,pack-relative-relocs"
+
+ if tc-ld-is-mold ; then
+ # relr-elf-hack is currently broken with mold, bgo#916259
+ mozconfig_add_options_ac 'disable elf-hack with mold linker' --disable-elf-hack
+ else
+ mozconfig_add_options_ac 'relr elf-hack' --enable-elf-hack=relr
+ fi
+ elif use loong || use ppc64 || use riscv ; then
+ # '--disable-elf-hack' is not recognized on loong/ppc64/riscv,
+ # see bgo #917049, #930046
+ :;
+ else
+ mozconfig_add_options_ac 'disable elf-hack on non-supported arches' --disable-elf-hack
+ fi
+
+ if ! use elibc_glibc; then
+ mozconfig_add_options_ac '!elibc_glibc' --disable-jemalloc
+ fi
+
+ if use valgrind; then
+ mozconfig_add_options_ac 'valgrind requirement' --disable-jemalloc
+ fi
+
+ # System-av1 fix
+ use system-av1 && append-ldflags "-Wl,--undefined-version"
+
+ # Make revdep-rebuild.sh happy; Also required for musl
+ append-ldflags -Wl,-rpath="${MOZILLA_FIVE_HOME}",--enable-new-dtags
+
+ # Pass $MAKEOPTS to build system
+ export MOZ_MAKE_FLAGS="${MAKEOPTS}"
+
+ # Use system's Python environment
+ export PIP_NETWORK_INSTALL_RESTRICTED_VIRTUALENVS=mach
+
+ export MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE="none"
+
+ if ! use telemetry; then
+ mozconfig_add_options_mk '-telemetry setting' "MOZ_CRASHREPORTER=0"
+ mozconfig_add_options_mk '-telemetry setting' "MOZ_DATA_REPORTING=0"
+ mozconfig_add_options_mk '-telemetry setting' "MOZ_SERVICES_HEALTHREPORT=0"
+ mozconfig_add_options_mk '-telemetry setting' "MOZ_TELEMETRY_REPORTING=0"
+ fi
+
+ mozconfig_use_enable test tests
+
+ # 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 [[ ${use_lto} == "yes" ]] && tc-ld-is-mold; then
+ # increase ulimit with mold+lto, bugs #892641, #907485
+ if ! ulimit -n 16384 1>/dev/null 2>&1 ; then
+ ewarn "Unable to modify ulimits - building with mold+lto might fail due to low ulimit -n resources."
+ ewarn "Please see bugs #892641 & #907485."
+ else
+ ulimit -n 16384
+ fi
+ fi
+
+ if use pgo; then
+ # Reset and cleanup environment variables used by GNOME/XDG
+ gnome2_environment_reset
+
+ addpredict /root
+
+ if ! use X; then
+ virtx_cmd=virtwl
+ else
+ virtx_cmd=virtx
+ fi
+ fi
+
+ if ! use X; then
+ local -x GDK_BACKEND=wayland
+ else
+ local -x GDK_BACKEND=x11
+ fi
+
+ ${virtx_cmd} ./mach build --verbose || die
+}
+
+src_test() {
+ # https://firefox-source-docs.mozilla.org/testing/automated-testing/index.html
+ local -a failures=()
+
+ # Some tests respect this
+ local -x MOZ_HEADLESS=1
+
+ # Check testing/mach_commands.py
+ einfo "Testing with cppunittest ..."
+ ./mach cppunittest
+ local ret=$?
+ if [[ ${ret} -ne 0 ]]; then
+ eerror "Test suite cppunittest failed with error code ${ret}"
+ failures+=( cppunittest )
+ fi
+
+ if [[ ${#failures} -eq 0 ]]; then
+ einfo "Test suites succeeded"
+ else
+ die "Test suites failed: ${failures[@]}"
+ fi
+}
+
+src_install() {
+ # xpcshell is getting called during install
+ pax-mark m \
+ "${BUILD_DIR}"/dist/bin/xpcshell \
+ "${BUILD_DIR}"/dist/bin/${PN} \
+ "${BUILD_DIR}"/dist/bin/plugin-container
+
+ DESTDIR="${D}" ./mach install || die
+
+ # Upstream cannot ship symlink but we can (bmo#658850)
+ rm "${ED}${MOZILLA_FIVE_HOME}/${PN}-bin" || die
+ dosym ${PN} ${MOZILLA_FIVE_HOME}/${PN}-bin
+
+ # Don't install llvm-symbolizer from llvm-core/llvm package
+ if [[ -f "${ED}${MOZILLA_FIVE_HOME}/llvm-symbolizer" ]] ; then
+ rm -v "${ED}${MOZILLA_FIVE_HOME}/llvm-symbolizer" || die
+ fi
+
+ # Install policy (currently only used to disable application updates)
+ insinto "${MOZILLA_FIVE_HOME}/distribution"
+ newins "${FILESDIR}"/distribution.ini distribution.ini
+ newins "${FILESDIR}"/disable-auto-update.policy.json policies.json
+
+ # Install system-wide preferences
+ local PREFS_DIR="${MOZILLA_FIVE_HOME}/browser/defaults/preferences"
+ insinto "${PREFS_DIR}"
+ newins "${FILESDIR}"/gentoo-default-prefs.js gentoo-prefs.js
+
+ local GENTOO_PREFS="${ED}${PREFS_DIR}/gentoo-prefs.js"
+
+ # Set dictionary path to use system hunspell
+ cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set spellchecker.dictionary_path pref"
+ pref("spellchecker.dictionary_path", "${EPREFIX}/usr/share/myspell");
+ EOF
+
+ # Force hwaccel prefs if USE=hwaccel is enabled
+ if use hwaccel ; then
+ cat "${FILESDIR}"/gentoo-hwaccel-prefs.js-r2 \
+ >>"${GENTOO_PREFS}" \
+ || die "failed to add prefs to force hardware-accelerated rendering to all-gentoo.js"
+
+ if use wayland; then
+ cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set hwaccel wayland prefs"
+ pref("gfx.x11-egl.force-enabled", false);
+ EOF
+ else
+ cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set hwaccel x11 prefs"
+ pref("gfx.x11-egl.force-enabled", true);
+ EOF
+ fi
+
+ # Install the vaapitest binary on supported arches (122.0 supports all platforms, bmo#1865969)
+ exeinto "${MOZILLA_FIVE_HOME}"
+ doexe "${BUILD_DIR}"/dist/bin/vaapitest
+
+ # Install the v4l2test on supported arches (+ arm, + riscv64 when keyworded)
+ if use arm64 ; then
+ exeinto "${MOZILLA_FIVE_HOME}"
+ doexe "${BUILD_DIR}"/dist/bin/v4l2test
+ fi
+ fi
+
+ if ! use gmp-autoupdate ; then
+ local plugin
+ for plugin in "${MOZ_GMP_PLUGIN_LIST[@]}" ; do
+ einfo "Disabling auto-update for ${plugin} plugin ..."
+ cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to disable autoupdate for ${plugin} media plugin"
+ pref("media.${plugin}.autoupdate", false);
+ EOF
+ done
+ fi
+
+ # Force the graphite pref if USE=system-harfbuzz is enabled, since the pref cannot disable it
+ if use system-harfbuzz ; then
+ cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set gfx.font_rendering.graphite.enabled pref"
+ sticky_pref("gfx.font_rendering.graphite.enabled", true);
+ EOF
+ fi
+
+ # Add telemetry config prefs, just in case something happens in future and telemetry build
+ # options stop working.
+ if ! use telemetry ; then
+ cat "${FILESDIR}"/gentoo-telemetry-prefs.js >>"${GENTOO_PREFS}" || die "failed to set telemetry prefs"
+ fi
+
+ # Install language packs
+ local langpacks=( $(find "${WORKDIR}/language_packs" -type f -name '*.xpi') )
+ if [[ -n "${langpacks}" ]] ; then
+ moz_install_xpi "${MOZILLA_FIVE_HOME}/distribution/extensions" "${langpacks[@]}"
+ fi
+
+ # Install icons
+ local icon_srcdir="${S}/browser/branding/official"
+
+ # Prefer the upstream svg file they use when packaging flatpak so it's always up-to-date.
+ insinto /usr/share/icons/hicolor/symbolic/apps
+ newins "${S}"/browser/installer/linux/app/flatpak/files/share/icons/hicolor/symbolic/apps/org.mozilla.firefox-symbolic.svg firefox-symbolic.svg
+ dosym -r /usr/share/icons/hicolor/symbolic/apps/firefox-symbolic.svg /usr/share/icons/hicolor/symbolic/apps/org.mozilla.firefox-symbolic.svg
+
+ local icon size
+ for icon in "${icon_srcdir}"/default*.png ; do
+ size=${icon%.png}
+ size=${size##*/default}
+
+ if [[ ${size} -eq 48 ]] ; then
+ newicon "${icon}" ${PN}.png
+ fi
+
+ newicon -s ${size} "${icon}" ${PN}.png
+ done
+
+ # Install menu
+ local app_name="Mozilla ${MOZ_PN^}"
+ local desktop_file="${FILESDIR}/icon/${PN}-r3.desktop"
+ local exec_command="${PN}"
+ local icon="${PN}"
+ local use_wayland="false"
+
+ if [[ -n ${MOZ_ESR} ]] ; then
+ local desktop_filename="${PN}-esr.desktop"
+ else
+ local desktop_filename="${PN}.desktop"
+ fi
+
+ if use wayland ; then
+ use_wayland="true"
+ fi
+
+ cp "${desktop_file}" "${WORKDIR}/${PN}.desktop-template" || die
+
+ sed -i \
+ -e "s:@NAME@:${app_name}:" \
+ -e "s:@EXEC@:${exec_command}:" \
+ -e "s:@ICON@:${icon}:" \
+ "${WORKDIR}/${PN}.desktop-template" || die
+
+ newmenu "${WORKDIR}/${PN}.desktop-template" "${desktop_filename}"
+
+ rm "${WORKDIR}/${PN}.desktop-template" || die
+
+ if use gnome-shell ; then
+ # Install search provider for Gnome
+ insinto /usr/share/gnome-shell/search-providers/
+ doins browser/components/shell/search-provider-files/org.mozilla.firefox.search-provider.ini
+
+ insinto /usr/share/dbus-1/services/
+ doins browser/components/shell/search-provider-files/org.mozilla.firefox.SearchProvider.service
+
+ # Toggle between rapid and esr desktop file names
+ if [[ -n ${MOZ_ESR} ]] ; then
+ sed -e "s/firefox.desktop/${desktop_filename}/g" \
+ -i "${ED}/usr/share/gnome-shell/search-providers/org.mozilla.firefox.search-provider.ini" ||
+ die "Failed to sed org.mozilla.firefox.search-provider.ini file."
+ fi
+
+ # Make the dbus service aware of a previous session, bgo#939196
+ sed -e \
+ "s/Exec=\/usr\/bin\/firefox/Exec=\/usr\/$(get_libdir)\/firefox\/firefox --dbus-service \/usr\/bin\/firefox/g" \
+ -i "${ED}/usr/share/dbus-1/services/org.mozilla.firefox.SearchProvider.service" ||
+ die "Failed to sed org.mozilla.firefox.SearchProvider.service dbus file"
+
+ # Update prefs to enable Gnome search provider
+ cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to enable gnome-search-provider via prefs"
+ pref("browser.gnome-search-provider.enabled", true);
+ EOF
+ fi
+
+ # Install wrapper script
+ [[ -f "${ED}/usr/bin/${PN}" ]] && rm "${ED}/usr/bin/${PN}"
+ newbin "${FILESDIR}/${PN}-r1.sh" ${PN}
+
+ # Update wrapper
+ sed -i \
+ -e "s:@PREFIX@:${EPREFIX}/usr:" \
+ -e "s:@DEFAULT_WAYLAND@:${use_wayland}:" \
+ "${ED}/usr/bin/${PN}" || die
+
+ readme.gentoo_create_doc
+}
+
+pkg_postinst() {
+ xdg_pkg_postinst
+
+ if ! use gmp-autoupdate ; then
+ elog "USE='-gmp-autoupdate' has disabled the following plugins from updating or"
+ elog "installing into new profiles:"
+ local plugin
+ for plugin in "${MOZ_GMP_PLUGIN_LIST[@]}" ; do
+ elog "\t ${plugin}"
+ done
+ elog
+ fi
+
+ # bug 835078
+ if use hwaccel && has_version "x11-drivers/xf86-video-nouveau"; then
+ ewarn "You have nouveau drivers installed in your system and 'hwaccel' "
+ ewarn "enabled for Firefox. Nouveau / your GPU might not support the "
+ ewarn "required EGL, so either disable 'hwaccel' or try the workaround "
+ ewarn "explained in https://bugs.gentoo.org/835078#c5 if Firefox crashes."
+ fi
+
+ readme.gentoo_print_elog
+
+ optfeature_header "Optional programs for extra features:"
+ optfeature "desktop notifications" x11-libs/libnotify
+ optfeature "fallback mouse cursor theme e.g. on WMs" gnome-base/gsettings-desktop-schemas
+ optfeature "screencasting with pipewire" sys-apps/xdg-desktop-portal
+ if use hwaccel && has_version "x11-drivers/nvidia-drivers"; then
+ optfeature "hardware acceleration with NVIDIA cards" media-libs/nvidia-vaapi-driver
+ fi
+
+ if ! has_version "sys-libs/glibc"; then
+ elog
+ elog "glibc not found! You won't be able to play DRM content."
+ elog "See Gentoo bug #910309 or upstream bug #1843683."
+ elog
+ fi
+}
next reply other threads:[~2025-07-09 11:01 UTC|newest]
Thread overview: 1385+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-07-09 11:01 Joonas Niilola [this message]
-- strict thread matches above, loose matches on Subject: below --
2025-10-16 17:28 [gentoo-commits] repo/gentoo:master commit in: www-client/firefox/ Joonas Niilola
2025-10-15 14:27 Sam James
2025-10-15 13:28 Joonas Niilola
2025-10-14 12:20 Joonas Niilola
2025-10-13 19:21 Joonas Niilola
2025-10-07 10:50 Joonas Niilola
2025-10-02 16:14 Joonas Niilola
2025-10-01 13:31 Joonas Niilola
2025-09-24 7:57 Joonas Niilola
2025-09-19 15:16 Joonas Niilola
2025-09-19 15:16 Joonas Niilola
2025-09-17 13:37 Joonas Niilola
2025-09-17 11:05 Sam James
2025-09-16 9:26 Joonas Niilola
2025-09-16 5:37 Joonas Niilola
2025-09-10 7:18 Sam James
2025-09-09 15:15 Joonas Niilola
2025-08-28 10:28 Joonas Niilola
2025-08-28 10:28 Joonas Niilola
2025-08-23 1:20 Sam James
2025-08-22 12:06 Joonas Niilola
2025-08-22 9:31 WANG Xuerui
2025-08-20 11:30 WANG Xuerui
2025-08-19 19:09 Joonas Niilola
2025-08-19 12:01 Joonas Niilola
2025-08-18 19:22 Joonas Niilola
2025-08-13 6:25 Joonas Niilola
2025-08-08 19:32 Joonas Niilola
2025-08-06 6:24 Joonas Niilola
2025-08-02 14:50 Michael Orlitzky
2025-07-30 10:48 Joonas Niilola
2025-07-26 6:44 Joonas Niilola
2025-07-24 20:21 Arthur Zamarin
2025-07-23 10:38 Joonas Niilola
2025-07-23 10:38 Joonas Niilola
2025-07-22 11:35 Joonas Niilola
2025-07-22 11:35 Joonas Niilola
2025-07-21 19:42 Joonas Niilola
2025-07-18 19:19 Sam James
2025-07-09 11:51 Joonas Niilola
2025-07-07 9:39 Joonas Niilola
2025-06-27 9:25 Joonas Niilola
2025-06-25 12:00 Joonas Niilola
2025-06-24 12:06 Joonas Niilola
2025-06-23 19:51 Joonas Niilola
2025-06-19 6:46 Joonas Niilola
2025-06-16 3:47 WANG Xuerui
2025-06-11 16:01 Joonas Niilola
2025-05-30 9:05 Joonas Niilola
2025-05-30 7:44 WANG Xuerui
2025-05-30 7:44 WANG Xuerui
2025-05-29 13:36 Joonas Niilola
2025-05-29 8:31 WANG Xuerui
2025-05-29 8:28 Sam James
2025-05-28 9:07 Joonas Niilola
2025-05-28 6:28 Joonas Niilola
2025-05-27 12:13 Joonas Niilola
2025-05-27 11:54 Joonas Niilola
2025-05-21 4:44 Joonas Niilola
2025-05-19 8:49 Sam James
2025-05-19 4:46 Joonas Niilola
2025-05-18 14:04 Joonas Niilola
2025-05-18 14:04 Joonas Niilola
2025-05-15 15:54 Joonas Niilola
2025-05-14 10:10 Joonas Niilola
2025-05-07 3:34 WANG Xuerui
2025-05-02 17:46 Sam James
2025-05-02 17:29 Joonas Niilola
2025-05-02 14:30 Joonas Niilola
2025-05-01 7:20 Joonas Niilola
2025-05-01 6:36 Joonas Niilola
2025-04-29 4:16 Joonas Niilola
2025-04-19 15:49 Joonas Niilola
2025-04-16 10:44 Joonas Niilola
2025-04-13 7:37 Joonas Niilola
2025-04-10 10:37 Joonas Niilola
2025-04-04 15:44 Sam James
2025-04-04 10:59 Joonas Niilola
2025-04-02 8:16 WANG Xuerui
2025-04-01 12:36 Joonas Niilola
2025-04-01 3:39 Joonas Niilola
2025-03-28 6:22 Joonas Niilola
2025-03-27 11:57 Joonas Niilola
2025-03-18 20:40 Joonas Niilola
2025-03-06 14:22 Joonas Niilola
2025-03-06 12:57 Joonas Niilola
2025-03-06 12:57 Joonas Niilola
2025-03-06 9:42 Arthur Zamarin
2025-03-04 16:16 Joonas Niilola
2025-03-04 14:43 Joonas Niilola
2025-03-04 6:46 WANG Xuerui
2025-02-21 9:37 WANG Xuerui
2025-02-21 9:37 WANG Xuerui
2025-02-21 9:37 WANG Xuerui
2025-02-21 9:37 WANG Xuerui
2025-02-19 11:48 Joonas Niilola
2025-02-10 13:28 Joonas Niilola
2025-02-08 8:00 Joonas Niilola
2025-02-07 17:17 Joonas Niilola
2025-02-05 20:22 Joonas Niilola
2025-02-05 12:18 Joonas Niilola
2025-02-05 11:50 Sam James
2025-02-04 14:09 Joonas Niilola
2025-02-03 20:41 Joonas Niilola
2025-01-22 12:02 Joonas Niilola
2025-01-15 11:06 Joonas Niilola
2025-01-10 13:59 Joonas Niilola
2025-01-10 8:48 Arthur Zamarin
2025-01-08 6:33 Joonas Niilola
2025-01-07 17:19 Joonas Niilola
2025-01-06 20:30 Joonas Niilola
2025-01-06 20:11 Joonas Niilola
2024-12-23 6:43 Joonas Niilola
2024-12-21 12:06 Joonas Niilola
2024-12-18 17:20 Joonas Niilola
2024-12-18 17:20 Joonas Niilola
2024-12-18 17:20 Joonas Niilola
2024-12-12 6:58 Joonas Niilola
2024-12-09 6:17 Joonas Niilola
2024-12-09 6:17 Joonas Niilola
2024-12-09 6:17 Joonas Niilola
2024-12-09 6:17 Joonas Niilola
2024-12-04 18:14 Joonas Niilola
2024-12-02 11:25 Joonas Niilola
2024-11-26 20:21 Joonas Niilola
2024-11-26 14:13 Joonas Niilola
2024-11-22 18:24 Arthur Zamarin
2024-11-17 6:16 Joonas Niilola
2024-11-16 13:12 Joonas Niilola
2024-11-13 13:37 Joonas Niilola
2024-11-13 11:45 Joonas Niilola
2024-11-13 11:45 Joonas Niilola
2024-11-10 18:18 Eli Schwartz
2024-11-10 12:29 Joonas Niilola
2024-11-09 22:22 Matt Jolly
2024-11-09 11:59 Matt Jolly
2024-11-09 7:24 Matt Jolly
2024-11-06 11:41 Joonas Niilola
2024-10-31 11:42 Joonas Niilola
2024-10-29 16:39 Joonas Niilola
2024-10-29 13:47 Joonas Niilola
2024-10-29 11:29 Joonas Niilola
2024-10-25 11:09 Joonas Niilola
2024-10-21 7:34 Joonas Niilola
2024-10-15 12:45 Joonas Niilola
2024-10-11 12:20 Joonas Niilola
2024-10-11 11:25 Arthur Zamarin
2024-10-11 8:53 Joonas Niilola
2024-10-11 8:37 Joonas Niilola
2024-10-10 13:46 Joonas Niilola
2024-10-10 12:36 Joonas Niilola
2024-10-10 12:36 Joonas Niilola
2024-10-09 7:15 Joonas Niilola
2024-10-08 19:03 Arthur Zamarin
2024-10-03 16:12 Arthur Zamarin
2024-10-03 12:45 Joonas Niilola
2024-10-03 12:45 Joonas Niilola
2024-10-03 12:45 Joonas Niilola
2024-10-01 16:08 Joonas Niilola
2024-10-01 13:19 Joonas Niilola
2024-10-01 11:07 Joonas Niilola
2024-09-28 12:46 Joonas Niilola
2024-09-21 22:48 Sam James
2024-09-18 17:41 Joonas Niilola
2024-09-18 10:22 Joonas Niilola
2024-09-12 8:05 Joonas Niilola
2024-09-11 6:41 Joonas Niilola
2024-09-10 18:41 Arthur Zamarin
2024-09-10 11:45 Joonas Niilola
2024-09-10 11:45 Joonas Niilola
2024-09-09 12:58 Joonas Niilola
2024-09-09 11:28 Joonas Niilola
2024-09-09 11:28 Joonas Niilola
2024-09-08 6:06 Arthur Zamarin
2024-09-03 10:44 Joonas Niilola
2024-09-03 5:40 Joonas Niilola
2024-08-27 7:00 Joonas Niilola
2024-08-21 10:46 Joonas Niilola
2024-08-16 13:09 Joonas Niilola
2024-08-16 13:09 Joonas Niilola
2024-08-15 5:07 Joonas Niilola
2024-08-11 14:45 Joonas Niilola
2024-08-11 14:45 Joonas Niilola
2024-08-11 14:45 Joonas Niilola
2024-08-11 14:45 Joonas Niilola
2024-08-09 16:45 Joonas Niilola
2024-08-07 13:04 Sam James
2024-08-07 11:30 Joonas Niilola
2024-08-07 11:30 Joonas Niilola
2024-08-07 5:42 Joonas Niilola
2024-08-07 5:42 Joonas Niilola
2024-08-06 16:32 Joonas Niilola
2024-08-06 10:22 Joonas Niilola
2024-08-06 6:03 Joonas Niilola
2024-07-29 7:03 Joonas Niilola
2024-07-29 7:03 Joonas Niilola
2024-07-29 7:03 Joonas Niilola
2024-07-29 7:03 Joonas Niilola
2024-07-27 11:59 Joonas Niilola
2024-07-24 10:33 Joonas Niilola
2024-07-23 5:51 Joonas Niilola
2024-07-20 6:49 Joonas Niilola
2024-07-17 7:24 Joonas Niilola
2024-07-15 13:07 Joonas Niilola
2024-07-13 7:58 Joonas Niilola
2024-07-12 13:21 Joonas Niilola
2024-07-11 11:21 Joonas Niilola
2024-07-11 11:21 Joonas Niilola
2024-07-11 11:21 Joonas Niilola
2024-07-11 11:01 Sam James
2024-07-11 11:01 Sam James
2024-07-10 12:59 Joonas Niilola
2024-07-10 10:22 Joonas Niilola
2024-07-09 6:39 Joonas Niilola
2024-06-26 11:17 Joonas Niilola
2024-06-19 13:00 Joonas Niilola
2024-06-12 12:46 Joonas Niilola
2024-06-12 12:46 Joonas Niilola
2024-06-12 6:22 Arthur Zamarin
2024-06-11 11:17 Joonas Niilola
2024-06-11 5:56 Arthur Zamarin
2024-06-11 5:01 Joonas Niilola
2024-06-01 8:37 Joonas Niilola
2024-05-31 21:03 Sam James
2024-05-31 21:03 Sam James
2024-05-30 4:36 Ionen Wolkens
2024-05-28 11:58 Joonas Niilola
2024-05-28 11:58 Joonas Niilola
2024-05-15 10:58 Joonas Niilola
2024-05-15 10:58 Joonas Niilola
2024-05-15 10:31 Sam James
2024-05-14 15:05 Joonas Niilola
2024-05-14 5:13 Joonas Niilola
2024-05-13 6:49 Joonas Niilola
2024-05-13 6:49 Joonas Niilola
2024-05-06 1:51 Ionen Wolkens
2024-05-06 1:51 Ionen Wolkens
2024-04-30 13:36 Joonas Niilola
2024-04-29 19:20 Joonas Niilola
2024-04-29 8:18 Joonas Niilola
2024-04-25 11:37 Joonas Niilola
2024-04-25 11:37 Joonas Niilola
2024-04-22 18:39 Joonas Niilola
2024-04-18 10:54 Joonas Niilola
2024-04-18 10:28 Joonas Niilola
2024-04-18 10:25 Joonas Niilola
2024-04-17 12:47 Joonas Niilola
2024-04-16 13:48 Joonas Niilola
2024-04-16 13:32 Joonas Niilola
2024-04-16 7:18 Yixun Lan
2024-04-15 11:49 Yixun Lan
2024-04-15 6:03 Joonas Niilola
2024-04-06 16:15 Joonas Niilola
2024-04-05 14:18 Joonas Niilola
2024-04-05 10:55 Joonas Niilola
2024-04-01 6:47 Joonas Niilola
2024-03-24 17:39 Joonas Niilola
2024-03-24 14:25 Joonas Niilola
2024-03-24 14:25 Joonas Niilola
2024-03-24 9:20 Sam James
2024-03-23 20:49 Joonas Niilola
2024-03-23 17:02 Joonas Niilola
2024-03-22 12:48 Joonas Niilola
2024-03-22 12:48 Joonas Niilola
2024-03-22 11:29 Arthur Zamarin
2024-03-22 9:40 Sam James
2024-03-20 10:44 Joonas Niilola
2024-03-19 9:44 Joonas Niilola
2024-03-17 7:45 Joonas Niilola
2024-03-11 5:28 Joonas Niilola
2024-03-11 5:28 Joonas Niilola
2024-03-05 14:37 Joonas Niilola
2024-03-02 15:25 Arthur Zamarin
2024-02-24 7:30 Joonas Niilola
2024-02-23 4:46 Sam James
2024-02-22 11:05 Joonas Niilola
2024-02-22 11:05 Joonas Niilola
2024-02-21 13:48 Joonas Niilola
2024-02-20 13:20 Joonas Niilola
2024-02-16 10:22 Joonas Niilola
2024-02-06 11:25 Joonas Niilola
2024-02-02 18:06 Joonas Niilola
2024-01-31 17:41 Joonas Niilola
2024-01-31 8:30 Joonas Niilola
2024-01-25 13:44 Sam James
2024-01-25 13:14 Joonas Niilola
2024-01-25 13:14 Joonas Niilola
2024-01-24 8:03 Joonas Niilola
2024-01-23 12:36 Joonas Niilola
2024-01-23 5:07 Ionen Wolkens
2024-01-20 14:05 Joonas Niilola
2024-01-09 12:24 Joonas Niilola
2024-01-06 9:32 Joonas Niilola
2024-01-01 19:01 Joonas Niilola
2023-12-22 11:41 Joonas Niilola
2023-12-22 11:41 Joonas Niilola
2023-12-22 8:44 Arthur Zamarin
2023-12-19 17:18 Joonas Niilola
2023-12-19 17:18 Joonas Niilola
2023-12-19 12:14 Joonas Niilola
2023-11-30 12:00 Joonas Niilola
2023-11-23 13:27 Sam James
2023-11-23 12:26 Joonas Niilola
2023-11-23 12:26 Joonas Niilola
2023-11-22 14:22 Joonas Niilola
2023-11-22 14:22 Joonas Niilola
2023-11-22 12:52 Joonas Niilola
2023-11-22 6:18 Joonas Niilola
2023-11-21 16:22 Joonas Niilola
2023-11-21 12:34 Joonas Niilola
2023-11-09 11:04 Joonas Niilola
2023-11-01 13:17 Joonas Niilola
2023-10-27 9:12 Joonas Niilola
2023-10-27 9:12 Joonas Niilola
2023-10-27 9:12 Joonas Niilola
2023-10-26 17:17 Joonas Niilola
2023-10-25 10:27 Joonas Niilola
2023-10-24 9:10 Joonas Niilola
2023-10-16 13:21 Joonas Niilola
2023-10-12 10:40 Joonas Niilola
2023-10-07 6:20 Joonas Niilola
2023-10-06 12:34 Arthur Zamarin
2023-10-06 12:16 Joonas Niilola
2023-10-03 15:47 Joonas Niilola
2023-09-29 10:43 Joonas Niilola
2023-09-29 7:58 Joonas Niilola
2023-09-28 10:42 Joonas Niilola
2023-09-28 10:42 Joonas Niilola
2023-09-27 13:40 Joonas Niilola
2023-09-27 10:46 Joonas Niilola
2023-09-27 3:10 Sam James
2023-09-26 20:40 Sam James
2023-09-26 11:09 Joonas Niilola
2023-09-16 8:05 Joonas Niilola
2023-09-15 14:38 Joonas Niilola
2023-09-15 8:53 Sam James
2023-09-15 8:53 Sam James
2023-09-14 11:45 Joonas Niilola
2023-09-14 11:45 Joonas Niilola
2023-09-14 11:45 Joonas Niilola
2023-09-10 6:29 Joonas Niilola
2023-09-06 7:46 Joonas Niilola
2023-09-05 6:33 Joonas Niilola
2023-09-01 12:25 Joonas Niilola
2023-09-01 11:07 Joonas Niilola
2023-09-01 8:16 Arthur Zamarin
2023-08-31 10:34 Joonas Niilola
2023-08-30 17:25 Joonas Niilola
2023-08-30 14:26 Joonas Niilola
2023-08-30 14:26 Joonas Niilola
2023-08-30 14:26 Joonas Niilola
2023-08-29 10:39 Joonas Niilola
2023-08-24 5:43 Joonas Niilola
2023-08-23 11:37 Joonas Niilola
2023-08-22 5:45 Joonas Niilola
2023-08-17 9:57 Joonas Niilola
2023-08-17 9:18 Joonas Niilola
2023-08-17 2:55 Sam James
2023-08-10 16:10 Andreas K. Hüttel
2023-08-09 8:32 Joonas Niilola
2023-08-09 6:43 Joonas Niilola
2023-08-07 12:58 Joonas Niilola
2023-08-06 9:20 Joonas Niilola
2023-08-02 14:07 Joonas Niilola
2023-08-02 11:39 Joonas Niilola
2023-08-02 5:55 Joonas Niilola
2023-08-02 5:55 Joonas Niilola
2023-08-01 15:19 Joonas Niilola
2023-08-01 10:04 Joonas Niilola
2023-07-20 13:46 Joonas Niilola
2023-07-19 7:48 Joonas Niilola
2023-07-18 5:22 Joonas Niilola
2023-07-16 7:41 Joonas Niilola
2023-07-12 8:37 Joonas Niilola
2023-07-12 8:37 Joonas Niilola
2023-07-12 8:37 Joonas Niilola
2023-07-08 3:39 Sam James
2023-07-07 11:38 Joonas Niilola
2023-07-07 11:38 Joonas Niilola
2023-07-06 6:48 Joonas Niilola
2023-07-05 9:49 Joonas Niilola
2023-07-05 7:59 Joonas Niilola
2023-07-05 6:08 Joonas Niilola
2023-07-04 16:58 Joonas Niilola
2023-07-04 16:32 Joonas Niilola
2023-06-29 6:41 Joonas Niilola
2023-06-29 6:41 Joonas Niilola
2023-06-24 2:59 Sam James
2023-06-08 12:23 Arthur Zamarin
2023-06-08 11:04 Joonas Niilola
2023-06-08 11:04 Joonas Niilola
2023-06-07 10:51 Joonas Niilola
2023-06-07 10:46 Joonas Niilola
2023-06-07 6:41 Joonas Niilola
2023-06-06 19:21 Joonas Niilola
2023-06-03 6:09 Joonas Niilola
2023-06-03 6:09 Joonas Niilola
2023-06-02 18:59 Joonas Niilola
2023-06-02 16:15 Joonas Niilola
2023-05-25 11:46 Joonas Niilola
2023-05-16 5:58 Joonas Niilola
2023-05-13 9:01 Joonas Niilola
2023-05-12 6:01 Joonas Niilola
2023-05-12 6:01 Joonas Niilola
2023-05-11 18:43 Arthur Zamarin
2023-05-10 8:34 Joonas Niilola
2023-05-09 9:16 Joonas Niilola
2023-05-06 8:18 Joonas Niilola
2023-05-02 6:13 Joonas Niilola
2023-05-02 6:13 Joonas Niilola
2023-05-02 6:06 Joonas Niilola
2023-05-01 17:49 Joonas Niilola
2023-04-25 10:05 Joonas Niilola
2023-04-24 5:21 Joonas Niilola
2023-04-23 14:20 Joonas Niilola
2023-04-19 6:27 Joonas Niilola
2023-04-18 8:35 Joonas Niilola
2023-04-15 6:19 Joonas Niilola
2023-04-14 12:25 Joonas Niilola
2023-04-14 9:17 Joonas Niilola
2023-04-12 10:52 Joonas Niilola
2023-04-12 8:58 Joonas Niilola
2023-04-12 7:35 Sam James
2023-04-11 9:52 Joonas Niilola
2023-04-03 7:38 Joonas Niilola
2023-04-02 15:51 Jory Pratt
2023-03-31 5:40 Yixun Lan
2023-03-31 5:40 Yixun Lan
2023-03-31 5:40 Yixun Lan
2023-03-25 6:32 Joonas Niilola
2023-03-17 15:52 Arthur Zamarin
2023-03-17 12:39 Joonas Niilola
2023-03-17 12:39 Joonas Niilola
2023-03-15 8:24 Joonas Niilola
2023-03-14 11:20 Joonas Niilola
2023-03-08 16:25 Joonas Niilola
2023-03-01 14:58 Joonas Niilola
2023-03-01 14:58 Joonas Niilola
2023-02-28 10:01 Joonas Niilola
2023-02-24 8:49 Joonas Niilola
2023-02-22 7:14 Joonas Niilola
2023-02-21 12:10 Joonas Niilola
2023-02-21 12:10 Joonas Niilola
2023-02-21 7:47 Sam James
2023-02-20 16:36 Joonas Niilola
2023-02-20 12:02 Joonas Niilola
2023-02-14 15:51 Mike Gilbert
2023-02-14 0:30 Mike Gilbert
2023-02-03 7:26 Joonas Niilola
2023-01-31 10:08 Joonas Niilola
2023-01-30 6:16 Joonas Niilola
2023-01-29 8:50 Joonas Niilola
2023-01-24 10:01 Joonas Niilola
2023-01-21 9:15 Arthur Zamarin
2023-01-17 20:56 Arthur Zamarin
2023-01-17 20:04 Sam James
2023-01-17 14:25 Joonas Niilola
2023-01-17 10:01 Joonas Niilola
2023-01-17 9:51 Joonas Niilola
2023-01-17 9:00 Joonas Niilola
2023-01-05 9:31 Joonas Niilola
2023-01-05 9:23 Joonas Niilola
2023-01-05 9:23 Joonas Niilola
2022-12-18 9:06 Joonas Niilola
2022-12-16 6:31 Joonas Niilola
2022-12-15 11:40 Joonas Niilola
2022-12-15 11:40 Joonas Niilola
2022-12-15 6:16 Sam James
2022-12-14 13:16 Joonas Niilola
2022-12-14 12:34 Joonas Niilola
2022-12-03 8:37 Joonas Niilola
2022-11-29 8:24 Joonas Niilola
2022-11-21 11:21 Joonas Niilola
2022-11-21 8:36 Joonas Niilola
2022-11-18 7:20 Joonas Niilola
2022-11-17 19:16 Joonas Niilola
2022-11-17 16:40 Arthur Zamarin
2022-11-17 12:47 Joonas Niilola
2022-11-17 12:47 Joonas Niilola
2022-11-17 9:00 Joonas Niilola
2022-11-17 7:05 Joonas Niilola
2022-11-16 12:53 Joonas Niilola
2022-11-15 13:10 Joonas Niilola
2022-11-15 9:19 Joonas Niilola
2022-11-10 8:06 Joonas Niilola
2022-11-10 7:54 Joonas Niilola
2022-11-08 18:07 Joonas Niilola
2022-11-08 17:20 Joonas Niilola
2022-11-07 15:05 Joonas Niilola
2022-11-07 8:49 Joonas Niilola
2022-11-05 11:33 Joonas Niilola
2022-11-04 11:07 Joonas Niilola
2022-11-03 23:08 Sam James
2022-11-03 11:32 Joonas Niilola
2022-11-01 7:24 Joonas Niilola
2022-10-31 11:50 Joonas Niilola
2022-10-26 9:00 Joonas Niilola
2022-10-25 11:35 Joonas Niilola
2022-10-25 11:35 Joonas Niilola
2022-10-25 9:49 Joonas Niilola
2022-10-25 9:45 Arthur Zamarin
2022-10-20 8:37 Joonas Niilola
2022-10-19 15:57 Joonas Niilola
2022-10-18 12:54 Joonas Niilola
2022-10-10 12:20 Joonas Niilola
2022-10-06 11:13 Joonas Niilola
2022-10-04 15:00 Joonas Niilola
2022-10-04 14:58 Joonas Niilola
2022-10-03 17:08 Joonas Niilola
2022-10-03 13:27 Joonas Niilola
2022-09-26 6:27 Joonas Niilola
2022-09-25 6:42 Joonas Niilola
2022-09-24 13:57 Joonas Niilola
2022-09-23 12:53 Joonas Niilola
2022-09-22 14:16 Joonas Niilola
2022-09-22 4:09 Sam James
2022-09-21 12:30 Joonas Niilola
2022-09-21 12:30 Joonas Niilola
2022-09-21 8:40 Joonas Niilola
2022-09-20 13:37 Joonas Niilola
2022-09-20 11:16 Joonas Niilola
2022-09-18 7:22 Joonas Niilola
2022-09-16 16:20 Joonas Niilola
2022-09-16 9:34 Joonas Niilola
2022-09-15 6:44 Joonas Niilola
2022-09-09 8:37 Joonas Niilola
2022-09-09 8:37 Joonas Niilola
2022-09-09 5:26 Joonas Niilola
2022-09-06 9:23 Joonas Niilola
2022-09-04 16:11 Joonas Niilola
2022-08-30 8:42 Joonas Niilola
2022-08-28 6:42 Joonas Niilola
2022-08-25 4:25 Joonas Niilola
2022-08-24 18:08 Arthur Zamarin
2022-08-24 17:57 Joonas Niilola
2022-08-24 17:57 Joonas Niilola
2022-08-24 11:53 Joonas Niilola
2022-08-23 13:11 Joonas Niilola
2022-08-23 13:11 Joonas Niilola
2022-08-23 13:11 Joonas Niilola
2022-08-21 12:20 Joonas Niilola
2022-08-16 7:55 Joonas Niilola
2022-08-16 1:08 Sam James
2022-08-10 17:41 Joonas Niilola
2022-08-09 9:08 Joonas Niilola
2022-08-01 17:41 Joonas Niilola
2022-08-01 17:41 Joonas Niilola
2022-08-01 11:03 Joonas Niilola
2022-07-27 8:22 Joonas Niilola
2022-07-26 12:14 Joonas Niilola
2022-07-26 10:35 Joonas Niilola
2022-07-20 5:15 Sam James
2022-07-19 10:43 Joonas Niilola
2022-07-16 6:19 Joonas Niilola
2022-07-13 15:13 Joonas Niilola
2022-07-04 6:17 Joonas Niilola
2022-07-01 8:10 Arthur Zamarin
2022-06-29 15:53 Joonas Niilola
2022-06-29 15:15 Joonas Niilola
2022-06-28 19:41 Joonas Niilola
2022-06-27 19:22 Joonas Niilola
2022-06-26 12:46 Joonas Niilola
2022-06-25 12:37 Joonas Niilola
2022-06-20 19:32 Joonas Niilola
2022-06-19 8:34 Joonas Niilola
2022-06-15 11:30 Joonas Niilola
2022-06-15 11:30 Joonas Niilola
2022-06-15 5:47 Joonas Niilola
2022-06-09 18:15 Joonas Niilola
2022-06-09 17:00 Joonas Niilola
2022-06-09 16:31 Joonas Niilola
2022-06-09 13:48 Joonas Niilola
2022-06-05 13:36 Joonas Niilola
2022-06-03 7:28 Joonas Niilola
2022-06-02 14:17 Joonas Niilola
2022-06-02 11:49 Joonas Niilola
2022-06-01 20:11 Sam James
2022-06-01 10:40 Joonas Niilola
2022-05-31 18:15 Joonas Niilola
2022-05-30 6:05 Joonas Niilola
2022-05-22 9:31 Joonas Niilola
2022-05-22 9:31 Joonas Niilola
2022-05-21 12:25 Joonas Niilola
2022-05-21 9:19 Joonas Niilola
2022-05-16 12:55 Joonas Niilola
2022-05-16 6:25 Joonas Niilola
2022-05-14 0:51 Sam James
2022-05-14 0:47 Sam James
2022-05-08 9:15 Jakov Smolić
2022-05-06 10:35 Joonas Niilola
2022-05-05 14:26 Joonas Niilola
2022-05-05 14:26 Joonas Niilola
2022-05-04 14:15 Joonas Niilola
2022-05-04 11:51 Joonas Niilola
2022-05-04 5:44 Joonas Niilola
2022-05-04 5:44 Joonas Niilola
2022-05-03 17:31 Joonas Niilola
2022-04-14 11:51 Joonas Niilola
2022-04-13 8:31 Joonas Niilola
2022-04-11 12:24 Joonas Niilola
2022-04-10 17:38 Arthur Zamarin
2022-04-10 16:33 Joonas Niilola
2022-04-10 12:54 Joonas Niilola
2022-04-10 9:07 Joonas Niilola
2022-04-09 15:25 Joonas Niilola
2022-04-07 13:03 Joonas Niilola
2022-04-07 13:03 Joonas Niilola
2022-04-07 7:07 Joonas Niilola
2022-04-05 17:00 Joonas Niilola
2022-03-23 13:05 Joonas Niilola
2022-03-23 13:05 Joonas Niilola
2022-03-23 8:15 Joonas Niilola
2022-03-14 16:26 Joonas Niilola
2022-03-14 11:38 Joonas Niilola
2022-03-13 17:51 Joonas Niilola
2022-03-11 23:49 Sam James
2022-03-09 17:19 Joonas Niilola
2022-03-09 17:19 Joonas Niilola
2022-03-08 7:53 Joonas Niilola
2022-03-08 7:53 Joonas Niilola
2022-03-06 17:30 Joonas Niilola
2022-03-06 17:30 Joonas Niilola
2022-03-06 9:39 Sam James
2022-03-05 8:28 Joonas Niilola
2022-03-05 8:28 Joonas Niilola
2022-02-18 12:27 Joonas Niilola
2022-02-17 9:04 Joonas Niilola
2022-02-17 9:04 Joonas Niilola
2022-02-13 6:57 Joonas Niilola
2022-02-12 12:34 Arthur Zamarin
2022-02-12 8:08 Joonas Niilola
2022-02-10 12:43 Joonas Niilola
2022-02-10 12:43 Joonas Niilola
2022-02-08 18:25 Joonas Niilola
2022-02-08 17:28 Joonas Niilola
2022-02-08 17:28 Joonas Niilola
2022-01-30 8:06 Joonas Niilola
2022-01-28 7:45 Joonas Niilola
2022-01-27 13:40 Joonas Niilola
2022-01-27 13:40 Joonas Niilola
2022-01-24 8:11 Joonas Niilola
2022-01-21 18:14 Joonas Niilola
2022-01-20 10:30 Joonas Niilola
2022-01-15 11:46 Joonas Niilola
2022-01-14 9:11 Joonas Niilola
2022-01-13 8:31 Joonas Niilola
2022-01-13 8:24 Sam James
2022-01-12 14:29 Joonas Niilola
2022-01-12 14:29 Joonas Niilola
2022-01-12 7:21 Joonas Niilola
2022-01-11 23:19 Sam James
2022-01-11 20:46 Joonas Niilola
2022-01-11 20:32 Joonas Niilola
2022-01-11 20:32 Joonas Niilola
2021-12-19 11:57 Joonas Niilola
2021-12-18 6:36 Sam James
2021-12-17 9:06 Joonas Niilola
2021-12-14 13:14 Joonas Niilola
2021-12-14 10:37 Sam James
2021-12-13 6:30 Joonas Niilola
2021-12-13 6:30 Joonas Niilola
2021-12-13 1:16 Sam James
2021-12-12 21:31 Andreas K. Hüttel
2021-12-12 1:41 Thomas Deutschmann
2021-12-11 17:54 Thomas Deutschmann
2021-12-10 0:18 Thomas Deutschmann
2021-12-10 0:18 Thomas Deutschmann
2021-12-10 0:18 Thomas Deutschmann
2021-12-06 15:48 Thomas Deutschmann
2021-12-06 15:28 Thomas Deutschmann
2021-12-06 15:28 Thomas Deutschmann
2021-11-20 2:37 Thomas Deutschmann
2021-11-09 20:53 Thomas Deutschmann
2021-11-05 3:43 Sam James
2021-11-04 12:45 Thomas Deutschmann
2021-11-04 8:41 Joonas Niilola
2021-11-03 23:48 Thomas Deutschmann
2021-11-03 17:05 Thomas Deutschmann
2021-11-03 15:09 Thomas Deutschmann
2021-11-03 7:35 Joonas Niilola
2021-11-03 2:23 Thomas Deutschmann
2021-11-03 2:23 Thomas Deutschmann
2021-11-03 0:13 Thomas Deutschmann
2021-11-02 23:28 Thomas Deutschmann
2021-11-02 22:42 Thomas Deutschmann
2021-10-23 0:33 Thomas Deutschmann
2021-10-23 0:33 Thomas Deutschmann
2021-10-10 10:27 Joonas Niilola
2021-10-09 7:10 Joonas Niilola
2021-10-08 18:25 Sam James
2021-10-07 11:15 Joonas Niilola
2021-10-07 11:15 Joonas Niilola
2021-10-06 1:26 Thomas Deutschmann
2021-10-06 1:26 Thomas Deutschmann
2021-09-24 22:49 Sam James
2021-09-24 17:45 Sam James
2021-09-23 18:23 Thomas Deutschmann
2021-09-06 16:03 Thomas Deutschmann
2021-09-06 16:03 Thomas Deutschmann
2021-08-24 13:17 Thomas Deutschmann
2021-08-24 13:17 Thomas Deutschmann
2021-08-17 21:39 Sam James
2021-08-17 13:14 Thomas Deutschmann
2021-08-14 12:14 Joonas Niilola
2021-08-14 11:24 Joonas Niilola
2021-08-13 0:43 Thomas Deutschmann
2021-08-13 0:43 Thomas Deutschmann
2021-08-11 12:23 Thomas Deutschmann
2021-08-11 1:38 Thomas Deutschmann
2021-07-26 5:23 Joonas Niilola
2021-07-26 0:30 Sam James
2021-07-23 17:58 Sam James
2021-07-23 17:58 Sam James
2021-07-22 23:41 Thomas Deutschmann
2021-07-20 2:10 Thomas Deutschmann
2021-07-12 23:32 Thomas Deutschmann
2021-07-12 23:32 Thomas Deutschmann
2021-07-12 23:32 Thomas Deutschmann
2021-07-12 23:32 Thomas Deutschmann
2021-06-23 13:28 Thomas Deutschmann
2021-06-16 0:29 Thomas Deutschmann
2021-06-13 18:21 Thomas Deutschmann
2021-06-07 16:16 Sam James
2021-06-04 12:57 Thomas Deutschmann
2021-06-01 19:04 Thomas Deutschmann
2021-06-01 8:13 Thomas Deutschmann
2021-06-01 8:13 Thomas Deutschmann
2021-06-01 8:13 Thomas Deutschmann
2021-05-31 7:54 Thomas Deutschmann
2021-05-31 7:52 Thomas Deutschmann
2021-05-28 21:21 Thomas Deutschmann
2021-05-28 13:31 Thomas Deutschmann
2021-05-21 16:20 Thomas Deutschmann
2021-05-08 19:55 Thomas Deutschmann
2021-05-08 19:21 Thomas Deutschmann
2021-05-07 15:02 Thomas Deutschmann
2021-05-07 15:02 Thomas Deutschmann
2021-05-05 15:33 Thomas Deutschmann
2021-05-04 16:25 Thomas Deutschmann
2021-04-29 21:38 Thomas Deutschmann
2021-04-29 19:23 Thomas Deutschmann
2021-04-25 23:30 Thomas Deutschmann
2021-04-25 23:30 Thomas Deutschmann
2021-04-23 21:47 Thomas Deutschmann
2021-04-22 3:01 Sam James
2021-04-20 20:56 Thomas Deutschmann
2021-04-19 21:35 Thomas Deutschmann
2021-04-19 8:32 Thomas Deutschmann
2021-04-19 8:32 Thomas Deutschmann
2021-04-12 21:10 Thomas Deutschmann
2021-04-06 11:06 Joonas Niilola
2021-03-30 22:06 Sam James
2021-03-30 18:22 Thomas Deutschmann
2021-03-30 0:57 Thomas Deutschmann
2021-03-27 20:50 Thomas Deutschmann
2021-03-22 20:55 Thomas Deutschmann
2021-03-22 20:55 Thomas Deutschmann
2021-03-11 20:13 Thomas Deutschmann
2021-02-27 12:40 Joonas Niilola
2021-02-26 13:58 Sam James
2021-02-25 12:16 Joonas Niilola
2021-02-25 12:16 Joonas Niilola
2021-02-23 20:30 Thomas Deutschmann
2021-02-23 19:55 Thomas Deutschmann
2021-02-23 19:55 Thomas Deutschmann
2021-02-14 14:06 Thomas Deutschmann
2021-02-12 14:32 Joonas Niilola
2021-02-12 14:32 Joonas Niilola
2021-02-12 9:33 Joonas Niilola
2021-02-12 9:33 Joonas Niilola
2021-02-12 9:33 Joonas Niilola
2021-02-12 9:33 Joonas Niilola
2021-02-12 1:10 Thomas Deutschmann
2021-02-12 1:10 Thomas Deutschmann
2021-02-11 18:29 Joonas Niilola
2021-02-10 21:53 Thomas Deutschmann
2021-02-09 17:46 Thomas Deutschmann
2021-02-05 22:10 Thomas Deutschmann
2021-02-05 20:02 Thomas Deutschmann
2021-02-05 20:02 Thomas Deutschmann
2021-02-05 18:33 Thomas Deutschmann
2021-02-05 18:33 Thomas Deutschmann
2021-02-01 15:01 Thomas Deutschmann
2021-02-01 15:01 Thomas Deutschmann
2021-02-01 5:55 Joonas Niilola
2021-01-31 21:49 Sam James
2021-01-31 21:49 Sam James
2021-01-30 18:40 Sam James
2021-01-26 3:04 Thomas Deutschmann
2021-01-26 3:04 Thomas Deutschmann
2021-01-23 1:58 Thomas Deutschmann
2021-01-22 21:06 Thomas Deutschmann
2021-01-11 15:51 Joonas Niilola
2021-01-10 3:10 Joonas Niilola
2021-01-10 3:10 Joonas Niilola
2021-01-09 23:03 Sam James
2021-01-09 15:32 Joonas Niilola
2021-01-09 14:04 Joonas Niilola
2021-01-09 12:38 Joonas Niilola
2021-01-07 13:52 Joonas Niilola
2020-12-23 13:35 Thomas Deutschmann
2020-12-22 15:20 Thomas Deutschmann
2020-12-21 23:43 Thomas Deutschmann
2020-12-17 14:52 Thomas Deutschmann
2020-12-17 6:05 Joonas Niilola
2020-12-17 4:00 Sam James
2020-12-16 18:33 Thomas Deutschmann
2020-12-15 13:32 Thomas Deutschmann
2020-12-14 18:38 Thomas Deutschmann
2020-12-14 18:38 Thomas Deutschmann
2020-12-14 0:18 Thomas Deutschmann
2020-12-11 18:40 Thomas Deutschmann
2020-12-10 0:38 Thomas Deutschmann
2020-12-10 0:06 Thomas Deutschmann
2020-12-03 2:19 Thomas Deutschmann
2020-12-01 19:40 Thomas Deutschmann
2020-11-28 14:01 Thomas Deutschmann
2020-11-25 20:03 Thomas Deutschmann
2020-11-24 19:33 Thomas Deutschmann
2020-11-19 0:33 Thomas Deutschmann
2020-11-19 0:20 Sam James
2020-11-17 23:15 Thomas Deutschmann
2020-11-17 16:53 Thomas Deutschmann
2020-11-16 19:33 Thomas Deutschmann
2020-11-16 15:01 Thomas Deutschmann
2020-11-16 15:01 Thomas Deutschmann
2020-11-16 0:09 Thomas Deutschmann
2020-11-16 0:09 Thomas Deutschmann
2020-11-15 23:50 Thomas Deutschmann
2020-11-13 1:44 Thomas Deutschmann
2020-11-13 1:35 Thomas Deutschmann
2020-11-09 19:28 Thomas Deutschmann
2020-11-09 19:28 Thomas Deutschmann
2020-11-09 19:28 Thomas Deutschmann
2020-10-28 17:09 Thomas Deutschmann
2020-10-27 17:30 Thomas Deutschmann
2020-10-23 0:31 Sam James
2020-10-21 22:49 Thomas Deutschmann
2020-10-21 17:11 Thomas Deutschmann
2020-10-21 17:11 Thomas Deutschmann
2020-10-20 21:10 Thomas Deutschmann
2020-10-20 19:49 Thomas Deutschmann
2020-10-20 19:49 Thomas Deutschmann
2020-10-20 14:26 Thomas Deutschmann
2020-10-20 14:26 Thomas Deutschmann
2020-10-16 22:55 Thomas Deutschmann
2020-10-16 21:33 Thomas Deutschmann
2020-10-12 18:09 Thomas Deutschmann
2020-10-11 18:44 Thomas Deutschmann
2020-10-11 18:43 Thomas Deutschmann
2020-10-10 17:40 Thomas Deutschmann
2020-10-10 17:40 Thomas Deutschmann
2020-10-10 17:40 Thomas Deutschmann
2020-10-10 17:40 Thomas Deutschmann
2020-10-07 1:08 Thomas Deutschmann
2020-10-05 15:40 Thomas Deutschmann
2020-10-04 14:36 Thomas Deutschmann
2020-10-04 14:05 Thomas Deutschmann
2020-10-03 23:45 Sam James
2020-10-03 16:11 Sam James
2020-10-03 11:59 Thomas Deutschmann
2020-10-03 0:43 Sam James
2020-10-02 19:25 Thomas Deutschmann
2020-10-02 15:19 Thomas Deutschmann
2020-10-01 11:43 Thomas Deutschmann
2020-10-01 11:43 Thomas Deutschmann
2020-10-01 11:43 Thomas Deutschmann
2020-09-30 23:49 Thomas Deutschmann
2020-09-30 23:49 Thomas Deutschmann
2020-09-30 19:42 Thomas Deutschmann
2020-09-30 18:46 Thomas Deutschmann
2020-09-30 18:05 Thomas Deutschmann
2020-09-30 12:45 Thomas Deutschmann
2020-09-30 12:45 Thomas Deutschmann
2020-09-30 11:31 Thomas Deutschmann
2020-09-30 2:16 Thomas Deutschmann
2020-09-30 1:09 Thomas Deutschmann
2020-09-05 17:30 Thomas Deutschmann
2020-09-01 21:50 Thomas Deutschmann
2020-09-01 21:50 Thomas Deutschmann
2020-08-31 11:42 Thomas Deutschmann
2020-08-30 2:00 Thomas Deutschmann
2020-08-29 23:19 Thomas Deutschmann
2020-08-26 10:04 Sam James
2020-08-25 23:54 Sam James
2020-08-25 22:46 Sam James
2020-08-25 19:08 Thomas Deutschmann
2020-08-10 8:00 Thomas Deutschmann
2020-08-07 20:35 Thomas Deutschmann
2020-08-03 16:10 Thomas Deutschmann
2020-07-31 1:30 Thomas Deutschmann
2020-07-30 20:23 Sam James
2020-07-30 3:19 Sam James
2020-07-30 3:19 Sam James
2020-07-27 21:51 Thomas Deutschmann
2020-07-27 16:37 Thomas Deutschmann
2020-07-27 15:55 Thomas Deutschmann
2020-07-27 14:24 Thomas Deutschmann
2020-07-27 14:24 Thomas Deutschmann
2020-07-24 1:02 Thomas Deutschmann
2020-07-20 13:46 Thomas Deutschmann
2020-07-20 13:46 Thomas Deutschmann
2020-07-17 17:20 Thomas Deutschmann
2020-07-17 17:20 Thomas Deutschmann
2020-07-17 17:20 Thomas Deutschmann
2020-07-14 19:00 Thomas Deutschmann
2020-07-14 14:09 Thomas Deutschmann
2020-07-09 23:48 Thomas Deutschmann
2020-07-07 13:46 Thomas Deutschmann
2020-07-06 19:24 Thomas Deutschmann
2020-07-06 11:27 Mart Raudsepp
2020-07-05 19:12 Thomas Deutschmann
2020-07-03 18:00 Thomas Deutschmann
2020-07-03 11:46 Thomas Deutschmann
2020-07-03 11:11 Thomas Deutschmann
2020-07-02 22:48 Thomas Deutschmann
2020-07-01 17:36 Thomas Deutschmann
2020-06-30 20:29 Thomas Deutschmann
2020-06-30 20:29 Thomas Deutschmann
2020-06-17 14:22 Thomas Deutschmann
2020-06-17 14:22 Thomas Deutschmann
2020-06-05 10:40 Thomas Deutschmann
2020-06-05 7:21 Mart Raudsepp
2020-06-04 11:02 Thomas Deutschmann
2020-06-04 7:47 Thomas Deutschmann
2020-06-04 4:20 Georgy Yakovlev
2020-06-03 23:54 Thomas Deutschmann
2020-06-03 23:54 Thomas Deutschmann
2020-06-03 0:46 Thomas Deutschmann
2020-05-12 23:39 Thomas Deutschmann
2020-05-08 19:48 Thomas Deutschmann
2020-05-08 10:07 Thomas Deutschmann
2020-05-07 20:16 Thomas Deutschmann
2020-05-06 18:50 Mart Raudsepp
2020-05-06 12:38 Thomas Deutschmann
2020-05-04 16:01 Thomas Deutschmann
2020-05-04 16:01 Thomas Deutschmann
2020-04-28 20:08 Thomas Deutschmann
2020-04-27 0:28 Thomas Deutschmann
2020-04-27 0:15 Thomas Deutschmann
2020-04-26 11:23 David Seifert
2020-04-23 17:53 Thomas Deutschmann
2020-04-21 19:21 Thomas Deutschmann
2020-04-18 18:48 Thomas Deutschmann
2020-04-15 22:09 Thomas Deutschmann
2020-04-15 12:14 Thomas Deutschmann
2020-04-15 11:55 Thomas Deutschmann
2020-04-14 23:42 Thomas Deutschmann
2020-04-14 23:42 Thomas Deutschmann
2020-04-12 10:52 Mart Raudsepp
2020-04-11 21:11 Thomas Deutschmann
2020-04-06 22:45 Thomas Deutschmann
2020-04-06 22:13 Thomas Deutschmann
2020-04-05 15:12 Thomas Deutschmann
2020-04-05 9:35 Mart Raudsepp
2020-04-04 11:50 Thomas Deutschmann
2020-04-04 10:53 Thomas Deutschmann
2020-04-04 10:53 Thomas Deutschmann
2020-04-04 10:53 Thomas Deutschmann
2020-03-30 15:43 Thomas Deutschmann
2020-03-30 12:18 Thomas Deutschmann
2020-03-30 11:46 Thomas Deutschmann
2020-03-30 11:46 Thomas Deutschmann
2020-03-30 11:46 Thomas Deutschmann
2020-03-30 11:46 Thomas Deutschmann
2020-03-30 11:46 Thomas Deutschmann
2020-03-12 12:56 Mart Raudsepp
2020-03-11 21:47 Thomas Deutschmann
2020-03-11 21:47 Thomas Deutschmann
2020-03-11 19:21 Thomas Deutschmann
2020-03-10 16:45 Thomas Deutschmann
2020-03-10 16:45 Thomas Deutschmann
2020-03-10 16:05 Jory Pratt
2020-02-24 23:04 Thomas Deutschmann
2020-02-24 22:36 Thomas Deutschmann
2020-02-24 22:36 Thomas Deutschmann
2020-02-24 22:36 Thomas Deutschmann
2020-02-24 22:36 Thomas Deutschmann
2020-02-24 22:35 Thomas Deutschmann
2020-02-24 16:53 Thomas Deutschmann
2020-02-24 16:53 Thomas Deutschmann
2020-02-13 14:52 Thomas Deutschmann
2020-02-12 13:42 Jory Pratt
2020-02-10 19:18 Jory Pratt
2020-02-10 16:18 Jory Pratt
2020-02-08 16:53 David Seifert
2020-01-22 21:10 Thomas Deutschmann
2020-01-20 20:08 Thomas Deutschmann
2020-01-20 20:08 Thomas Deutschmann
2020-01-08 20:40 Thomas Deutschmann
2020-01-08 19:57 Thomas Deutschmann
2020-01-08 19:57 Thomas Deutschmann
2020-01-08 0:04 Thomas Deutschmann
2020-01-07 18:18 Jory Pratt
2020-01-06 16:25 Jory Pratt
2019-12-28 1:21 Aaron Bauman
2019-12-16 19:24 Thomas Deutschmann
2019-12-14 21:52 Thomas Deutschmann
2019-12-13 12:54 Agostino Sarubbo
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1752058864.6e71c8fc9ffc73cd4c585018c2ab67a3337e1ae8.juippis@gentoo \
--to=juippis@gentoo.org \
--cc=gentoo-commits@lists.gentoo.org \
--cc=gentoo-dev@lists.gentoo.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox