From: "Joonas Niilola" <juippis@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] repo/gentoo:master commit in: www-client/firefox/
Date: Tue, 27 May 2025 11:54:16 +0000 (UTC) [thread overview]
Message-ID: <1748346187.a8e9e0363c315f7a71da1cdec6324098a0324741.juippis@gentoo> (raw)
commit: a8e9e0363c315f7a71da1cdec6324098a0324741
Author: Joonas Niilola <juippis <AT> gentoo <DOT> org>
AuthorDate: Tue May 27 11:43:07 2025 +0000
Commit: Joonas Niilola <juippis <AT> gentoo <DOT> org>
CommitDate: Tue May 27 11:43:07 2025 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a8e9e036
www-client/firefox: add 139.0
- add a simple patch to fix compiling with system pipewire - note that this is
a fast fix and a proper one should probably be handled on pipewire's side,
- always prefer system gbm (mesa) instead of bundled one,
- always prefer system libdrm instead of bundled one,
- drop autotools.eclass and autotools-related configure flags, as upstream has
finally gotten rid of any autotools-based build scripts,
- drop check-for-propagated-BrowsingContext-in-SessionStoreParent.patch as
it's been merged upstream,
- drop memory_mozalloc_throw.patch as upstream has fixed it in a way that
negates the patch,
- firefox-symbolic.svg is now called org.mozilla.firefox-symbolic.svg in the
source files,
- introduce "system-pipewire" use flag to prefer system pipewire instead of
bundled one to play WebRTC content, and when using screencast,
- rebase our gcc-lto-pgo-gentoo.patch - the gcc part in profileserver.py to be
exact,
- rebase support-system-harfbuzz-graphite2.patch due to the autotools-change.
Signed-off-by: Joonas Niilola <juippis <AT> gentoo.org>
www-client/firefox/Manifest | 102 +++
www-client/firefox/firefox-139.0.ebuild | 1404 +++++++++++++++++++++++++++++++
www-client/firefox/metadata.xml | 1 +
3 files changed, 1507 insertions(+)
diff --git a/www-client/firefox/Manifest b/www-client/firefox/Manifest
index ef598f898236..c350f35ee166 100644
--- a/www-client/firefox/Manifest
+++ b/www-client/firefox/Manifest
@@ -203,5 +203,107 @@ DIST firefox-138.0.4-xh.xpi 273647 BLAKE2B 74a84022bec54543a88ea0b1433d3c5dbe4ba
DIST firefox-138.0.4-zh-CN.xpi 460392 BLAKE2B 6b2cfb027e1affdc8e35b57a55147aefc3a429261031f12ec52f07cfd4e6e73bfc81626311e3ccb3c445a766df4c09e8f0e652c6709e4905e42b52bd981dbf1e SHA512 f5ddd024b0298e6c734c148dfd01da6dbee8c172c93b9d30c1b820eeb860214ea89d90391c9c3c6e9521470860638f3c5bab10d75dfc832136ecf0853cb4ee2b
DIST firefox-138.0.4-zh-TW.xpi 463422 BLAKE2B d502bb8689b40878236347064d9e2eebc257aef4cc0f9bb7c84248fc5e412c7bb4234fe6d7e73539bdb0755be2dd1f6e3e94f656e507f7a14696ff88021fbc00 SHA512 0cb8c41dbaea4833fbda8fda9aecfd6dcaf7f9ab24b2e4eb2033b7cefaec45c628f7c4aac6a1366f1153800ce8112188689f1316975deb9f79cf8acd34236e42
DIST firefox-138.0.4.source.tar.xz 623414956 BLAKE2B 1e65a896e0c3188510ecb1fe0cb7f181c6977e04a5b50079b04323c4b508297945ac8865a2273a0cfe038e841cc2972d930d627f8d39db3ce9288fc5fe5a1ed7 SHA512 64d80456da8df27d7eeed7eb20c35fcf213bc948eb48739b6101e2c476ea9a9133da928477a79683c96c160f8d53bed52be487f01a8d29e38d39071f12676806
+DIST firefox-139-patches-03.tar.xz 11536 BLAKE2B a7610d1348a2a4d02305c8d694a1648997040c69cb1445b901fe456045d0b1a73f28b0102ed03d34f70d8cc1ea9ab0245599a104b0063c7fb0dcb5a8fdd6f60b SHA512 4733d34a842d525824fbcf6ef5d8f33e26b4f37a16aa87043427eaaf1e0665aa257cb8487bd692e4fd095c2a78553ab3f0213208124c3455e534394576fb5614
+DIST firefox-139.0-ach.xpi 297653 BLAKE2B 8d32423d58ceda3d7d98704b68463f9f22f0ba0bddcabcf894f4a925605c641631567590a43d4a40aa799ec0a19a2b85c1eb9ca5ad44e05fcd8eb14bb552d6a1 SHA512 b73748b611719c4159f74dcc74afc9f74757a42f9e2f424084a1e08260a16464e55443bd8e71673599939af7506697080dbe806b8156475277d787ff61cbf6bc
+DIST firefox-139.0-af.xpi 269832 BLAKE2B cae6d4b413cbdc8f8e73df86bd9e619f9d6802e26e4451e6c41de72aa550c7efab70bfb3dcce677e5de27c87fab37f9ae5edc1f633cd882fc95761f7faa2a8d5 SHA512 a8786d471d866afb825fe846539d3aa819e8c2f237a41e710e0cf36c8362b129dace2e77aaeb49adc7f157bd1355ea87a6ef13a8b528d5d91e1cd858e5f9db23
+DIST firefox-139.0-an.xpi 335654 BLAKE2B 90ba1ec787b05799df6b461722aee5c75cf698e710f4afc1e10ea69fa95e8056bf810029f30cc19bb7eb453487e0292cfd1f0474ac4bc990d2ffa9b5c65a4b19 SHA512 b78b029fade7c3468ad575038394978f9fdc149857b49bcec6e49d3ee056548566679d93e9825e2cfabe401737c00c22ccd4779c3955bca059e00308f84cc2c3
+DIST firefox-139.0-ar.xpi 444100 BLAKE2B ee3badb8163b3e2eb19d0340bf602a1305fbf235e199b8e422edf907a830dc5107082a44b42cddd3013cc88b998453ebfbf21452afbb65118e4d7f3ecfb3c0c3 SHA512 7dd8a9ad3cd7f4167cf37755a77461910ac3ccf8363f78edb322f642cf54bb293b7b107be5dc4232a179326a13870f58f60fc7310b814e15b759b087fe85f06d
+DIST firefox-139.0-ast.xpi 316648 BLAKE2B a50e21f62a72368a18fc1f07dd5927a41808f1809b32779601e12e9cd9cad597b8eedb8528a634cc2d490093109410b11ad86b7832966e7f4f9b3b06a1d58cfc SHA512 26e8421682d7d65010e066b3492fb27bbea48e7a37dd377f1f969497090cbbbb4fadd999227915e16b1fe954c8627453023bf96544246a961433822e90046dba
+DIST firefox-139.0-az.xpi 321615 BLAKE2B 1c60fc1cafc4c3e3d2ac9c2bffa584f99f0a0d604d6a5e66b04757cf50e3d6a98b774cc3b758915c8fa1791566f768011813a8c1bdc59dcd571195b30a193535 SHA512 1ea514445468d49f0cb9d8fb52b1e2cd0025a6eabbf9d136de21dcb4bbfc771b7f3c2f2201637c16155b5d3cd824b2c42565e1aed7214507b1c4c6424bf2f058
+DIST firefox-139.0-be.xpi 525086 BLAKE2B a9cf82dec264ed017cefd893dacddb8e69fe929567849f2e3282da5d178960c3b0be93f3d588d8e2a4a652e447011446d3e230b00f545e7646335da9888d8e8f SHA512 3a4250c28e217525a077d96cf70a726bb138284087524c081f859f907ed721e5dea7e93bf4e34c29286c125af92bd9c34f8a19025a920581d48fa2e2b68adb74
+DIST firefox-139.0-bg.xpi 454372 BLAKE2B 2b81aef873043bd66c88314beee8a1b178db221b39efa63b705ec0fa6be3fcf1ac83ffcfb2ed331308eb1e15cbf5e353dfbfe77251ba68b1ba6318ed974d2757 SHA512 bba68ba6cff944502a3f8908bf912366f8b680f0a89d390df7896c3eb2f520ae25c46747ecfeffd9211f043062fca8447979a92c0b3bdc36c73a9e6bcea8bf85
+DIST firefox-139.0-bn.xpi 415415 BLAKE2B 0fb1ddb425c7e5ae0602c2fd1c6e860996d4d747ff489c5012433287e4a6e501319eded9ab81859500c0d6fd0b157dd03cb4b5c6a915aacf0214e60f4eea8aa5 SHA512 b177264d4f0995ade061d7a02dca601854d882faa68faef9766e9060fa123d263e28d7b5a8b082cb184474a820bc7603bc81d607b4b5e85b7cc2b9e47d0c87df
+DIST firefox-139.0-br.xpi 398164 BLAKE2B 499b413ab1dd60891e6e84762c1b6f4d7005b47056242902a058c52af478cd6e8f14715172e3a0178cb16cc492e52403ce1c9d6308a96ac8e8172d86a135467f SHA512 cadec1429b9d03f17a272091212dcf3a17893f0f80eaeccb6a2e531cafc171291c73da4c8e7d7f2e57e2e9bd64e73f1c340ba585f18d4664f5e5ac25d536287d
+DIST firefox-139.0-bs.xpi 366737 BLAKE2B c90233bc3b44205f3cab93319cabb21e0e43bc060ed1117e51ad34a4ff57b0b13e550aaa01f9b26511518bcdf5734a2d6e1708c40f57f8017a76fc178ad7414c SHA512 63e535434efdcd157a3742ac5005c743739d5f757ec06b0f1653c28c471d3a12a43dae0a2ec1126eb7f0ecd7126fd387b16c91c5671413c1edf73773d80d6e3b
+DIST firefox-139.0-ca-valencia.xpi 361690 BLAKE2B cf708c950852911e84497a2c6a58c23db14d79dd95b562cf2a75bc1da6a375c299157d966cfeab51144c69e24f68d69720ec0c079c193685ae75a6ca2a0427f8 SHA512 4d9b7c9586ab40bc1a4600518e0edc4d4861fd0235db0c8943296dfd40eec09edf45ecd80083678dbcfc4560be8e4407bd5ab6bd6fab010a4e53fc60ce34e019
+DIST firefox-139.0-ca.xpi 404026 BLAKE2B df595198bfa168725bb84dc056524ccea0c84153b1fa92db78793c03a4d93e78181e1515ceb0d1a5e6a65793c9f01e353bc1a104170e4258ed3a7785145e9257 SHA512 17616944db9e7594feb48bd51da657ae8a1184642319a6b289229cc244214d8d9c457dfb7f6fbdcc76cd5deb3aab6667cb9ad8c14361311b73ffc7e80e150364
+DIST firefox-139.0-cak.xpi 394727 BLAKE2B 0549166d931acd387ef79c997c742c7719a1757c0830896113e936579883dca044acea6ea01413dda6b1a5e5bfcc5806c930e76e2e98bc7145a16c08354ea6f8 SHA512 fdd08f5c8bfcfd1c69e804db3911215acb36a5bf6e9cef085bc98a0cbb14fb49496998bf8e155b2769a75b9301265318223e7658fe13f39e087ac7e007e0f65e
+DIST firefox-139.0-cs.xpi 479926 BLAKE2B 608a29346069501f9229d1b1e2fd99041a6a5aa7b52ffc27f65b4056442ed633775805ab926c60421cae9f936efa5b9502163dbeb09a16bb8ec45de8f57b6fd9 SHA512 4e7d993175ebb07a4557fd33700656c20fa5fcae02e597ce6947ea2aba748e9822058c7608545d235414b6d96d6459bb983913d09a8bb450c12be7dbc0b320db
+DIST firefox-139.0-cy.xpi 446086 BLAKE2B 30c5ea06943b1921c1d6b5cfb4a0495ba28f5689120da679f9d3be311f6cd2f157b254757c03a02e1fc919b130c52ac04aa029041df74f676539e8982e8d4194 SHA512 da647036c3820f47bf3f8a210f013ea7f5a9b161dfb51be4ae93a1496c41953980716b2c33b0d131bed510c14404f1c947aa6a5ea8b29e84a478fc3be8f6c6ab
+DIST firefox-139.0-da.xpi 435209 BLAKE2B c20da4786db1cc68a891cdbaeead8acebf1680769414f8f7fe22e26ac57eecf45f0f4af06db14e355272cab77de567b4cf11d880cb34c8cb0a6a061138a3742a SHA512 4bb93fc7ad048dab601afc9f973b123dbaca22715e4b0d2cca7480080c5a44113adfa7695d50704241ccb3de7db199781c9800ad61282f4e496fe91c45c4f316
+DIST firefox-139.0-de.xpi 456784 BLAKE2B f360ac4870c2583b045f57f29fbe3eaadef5057f86eb4f64197740e0e44634b95a364dabd00b957b0ed941a8bc49ad8d68284adb07004c857357eada3210e6eb SHA512 3d2282ac0bc4c508afb773e8b392a7b17201e8a27995a609afee198dac4c1cae450a2e7a6afee70a90ac1d0daab9dee61f6eb45606c955518240e10a2c71ae20
+DIST firefox-139.0-dsb.xpi 470271 BLAKE2B d3ed7bcfd301cc239bfd13bfa24c9f54f0ddff2f49c177108974d59a776a45f580fe3a7de78e9aed42b9cd6b13ab31887d549d20dd8ba00aa879450b1e9cb324 SHA512 039783fb23b24a0f2efe6a6a282716049847977bfa3d3a9b7c8f7db81f248ac95719f06d3ac4b870dc697217873eaa9aa0d0a34c26b1a849b4db68d9c0860a50
+DIST firefox-139.0-el.xpi 541199 BLAKE2B abbd91e5e150d8ffbb2dbfaa05a963908a9dad06f3100bd9d535d7ad84efb24a24c883b9f630ae6f98203da372adf429ec463b36d65cbd5f43ddc2724b744ba7 SHA512 e6c7f7082d2e8af42390729b2c7099de240e46cca9e8ea9c22323fd3661dcf01f7884be12270d0f97b2a15194e5310efa90fb9be3764d1f1ee018299d43ff27d
+DIST firefox-139.0-en-CA.xpi 413605 BLAKE2B 707b61a5e7ea9fd00d9d3e4a013f82eaaeb82eca681f81e1fce5cbcb786b2ae3b0c6fdf4410695cc95951d8c67f03d65c46a78bd8bb806736f593bda6826c58f SHA512 573cd20b66b422459a92e96c48500befa264e4df7a5273b9f3d7656198a5c3475e10102f38ad91cafaf02ff453c0c4aebaa8694aa72ac9ba97b567984c65549f
+DIST firefox-139.0-en-GB.xpi 415489 BLAKE2B 147fba49403e15404c6b328e990a5d2364da7475a4da140fa4450355d1ca88c3bfe7ea699d3bf6bb8453be763a521899d05329813398a04d951879bb324dec66 SHA512 94202127610997ebd1e2a45ed4d7ae13b50af0cdd51edbb5dacdb73dbd897e2a417aa8fe7fce12495ef1d6135a382d75835c05573ffbf940e110b2868cd620e3
+DIST firefox-139.0-eo.xpi 437561 BLAKE2B 0bf338bb29ecba1e02738d8a90193cbff60c65fdd9dd4a33d5643ed2be8a189fe65f7871008dd6dffeba6913104baa83090bf10af2f6e4fec92f16d091ca6e45 SHA512 d7b977a53643334450e2570dafb51461f7b0acb2ac3dedc4405ee497d6de5a85e71238258218ff7a8f9220ac2d18198b67be316733dd3b2ea866a933cb20cd72
+DIST firefox-139.0-es-AR.xpi 449705 BLAKE2B aefd23a621fc99c38a7b8ab25b62c03605f25017976cfa2dd3fb9610311d3e51739a48986949158da6c8f707453debfd0eff2e4db2ecdeb48309d4443efc78c8 SHA512 2bd7f08a128415df5ec45e89797b884a4c61f628698399d6e48a093d3c8ae20bcbb2093a4f693a7cd2d2a7014839352a5f326bdc485beb53aad45cf2a9691722
+DIST firefox-139.0-es-CL.xpi 450463 BLAKE2B 7f9a52c9a15f8ea89767b650efa321e175efcebeb741d8562cd972b17da2d35eb481cec8dbfb9b89954f88818ed29286caa9a9e5cabc045f21eba7eebd0dac59 SHA512 0c4690a5c79cb8bba5894d28281eb8a06087ce152d6e136df7bdcdc0f7b98ab6b7cd599d331c85212a3093dddf113fa42534af4ddac2c644fa84da84dd60fd7c
+DIST firefox-139.0-es-ES.xpi 451249 BLAKE2B b229125bda71bc82f2ba72c03ba861180476c8545b9383d5c71466266914f49b13f6b265b9feb9fc3d06d76f207faa19a5e14d00a30c291045db098d093beda4 SHA512 3d8d386db468add905098a2eb7f36d0172e718dde1ec7b58948cf2673dabd6a98cbd87f8e7987227a23b9aa164a3aed287f9e765d0725a45320b8998a392f93f
+DIST firefox-139.0-es-MX.xpi 444375 BLAKE2B e40e5fb28663321aa2e11037a5f6799656f848affe80092c7ca637c5c54de5542e4d359d962fe5634fde6b51b7ed253956d63c854acb07cbe55d14572b502b27 SHA512 bc58aa0310dbc5e85b799fe9b460b80019ac23800357227a17553ce269bf3a0c90cd70ecaff2a77b0d19dd870a0ecd42d64a6163177737e0e536211fdd158cbe
+DIST firefox-139.0-et.xpi 362497 BLAKE2B 747b3bb19cba7f3d3df5ba3afa5e748a68d71a56cfa6a679f19d1fe521b20275b50177bd71173dbf859de7284966083a312b7d614204e1dc2b9703fb1e7b263a SHA512 41347d76b34b393a3f5e736410b935df0af75f292bde410bb6e12e3175755de712d5c6cecb9dddd470e03c58d7babbcebe2c5d7a49173bfbfbe3c1fa4becab58
+DIST firefox-139.0-eu.xpi 416692 BLAKE2B e59814f101d8fa1423d3e08420ecfedfc1cf550bb5ddd49d7f1f6683bcfa99429e23bfbc737b2f6120882ec9ca5c86f66af07dddae7e51a60ba302391dc7b76c SHA512 e5f93e1e444ef41c5b10768a37382e754426d7d764b78453ee97f4627d95c170ec4df9569669885034cf9ee03b9ddfd0647c54cc8c05cdaa2e7d99ac80c03d67
+DIST firefox-139.0-fa.xpi 424165 BLAKE2B 1c8ba918a4346ae08c16ddd64df2ffb90015ebc7e9cdeb242000d8e5a09da50c70fc8ad1c2fe60d8b375b4acc49154d8936e3a20bbf5a40fe6411bceff0d4301 SHA512 4428c9e4db61e32d5a7cacd05d3da8d17b9604c51af6c8eff7212ecfd11e25f2c2b258c067f844666b95632239676bd3b80b9a2f352f901b5baf300482c60876
+DIST firefox-139.0-ff.xpi 313851 BLAKE2B 974fc9e51002b6130297957b1f6b1611353266cda0e110ac866e537ab44f36b6315163f7b2f2279af9304ad957d8678a624c6b67d7ed2fe8175775b1a1a6f2f0 SHA512 cfcb11e63c9d7e48fdfa17e6a4befbb087308b84a971edc0edd92a59a5b69d31f395a02eff433ebf6a8c8168d52e7da995e69df95e149878c4cbb50b38ae739c
+DIST firefox-139.0-fi.xpi 432409 BLAKE2B 07f5052535eb19d2e2e45012ce0babe7f618f927329ca7537480d60b9bfa424bb81f76531521b8c6c9b8ed15cb5d8484a0e9b3fadd186134780c32a75322ef47 SHA512 4cfe3e4ca8a0d872862cca31da35ed11370de4297702661ef35850b2d30888d9013b6792ddf045299eb39bd296dae12a06be29fd5e3dba612bc754644a0dd3f9
+DIST firefox-139.0-fr.xpi 462405 BLAKE2B 59b4aab5e4c4c61f93f67ec369bfa0e627b387a6cdccf85de53766fa3e2ef74dc686ee8d8342d761ff544be57637960f1c26f8b39cbf133d63eb1b76c04cdfcb SHA512 ebb4a9c84401fd91d3bfaad88c5bff23b651735a1f54665f28618054c0259c2b925fb6d5f32a3e577864b083aa413809bdf1d8589afa2d558480c5790dba4af8
+DIST firefox-139.0-fur.xpi 453095 BLAKE2B 6c2e67b5dff9c1db4086c34b36c18dc9f735a9b2ff7f3f0a1c0ef685bb12eda95606546aae246cc44c4ee6f0b226b508d1417dd9df49ce95036f3f0f5911f482 SHA512 8ddd5f311c5c43de454a8dd80ea45dd76ecb01b5b27fb787d47ab807b294f4d2fe1932d9dba7bf724af8afc63d9fc958cb8a0701b1bbf33a3978ceffb553924e
+DIST firefox-139.0-fy-NL.xpi 446338 BLAKE2B 96527212985304a62bd56622985c33cb9c1d908f0b1164308de5587cc0302e92daa77abf4143e82ff699dfe767af7758b138bb53806b06c85a7edadf1a04eb2e SHA512 8ee82b6013e2274bc3ed836e8fa9d1a361a686ca6f973cdd9ddda3b53a825b39a3cec4bd0e4da78440c952bc163d5c57918d220b3d1e034d8f42d374953dd175
+DIST firefox-139.0-ga-IE.xpi 318540 BLAKE2B 26df70887aeb16822a57d4babac091b30163a3bba5fd20e6ce50f45f156487d7a52461828adc161729102dc721ad9ed2bf7418f0d9dc21785c169532bbdd060c SHA512 7fd1615f1bb76631758a379a850382e8581198556814f5e2f67af81f571e65e05568837f58e67180c3f0ff748182f07e33b2dd6687799269cc77b3b795df9a59
+DIST firefox-139.0-gd.xpi 402965 BLAKE2B 65ff9daa71ddf99ba125ec4595944df9259b2866995574b0abd5343b9d373c28f876bbc0886a7b17c06a17c36dcb26994d9b4e4953ef7315973499001ad5d339 SHA512 b881bc5b0e3a035831577ab16a1f75838753779478b67a014beee47e50f6e5df4d4b7b16471bb281ecabeca15c1e4a2dfdcc02bcf37e9e5b438d9b4ea334ff8f
+DIST firefox-139.0-gl.xpi 409738 BLAKE2B da961b792e52353669221f55a57aab355d24caa35c8a0626bfd28a05641fe2ac1fc569d2f8c8ca49d592b21dc3976db740e3a2f9abdb467463eb8c01df1be6bb SHA512 540558dac9ea713e54062d0328ef77016730153b9c6a564a4972f7a5a01da3203529a69e9e02343c687d0ac201dcc957257bf1ff44d5c99b51a609b3969cb8a0
+DIST firefox-139.0-gn.xpi 453113 BLAKE2B e60499b4aa2f8802e132c2270bfec868aaa54d15b6c74645615d6f2d5f58c8dc4e364597d6ede05c01dbedfcf9fb026e19df7073b021971959e961d2239e4a9d SHA512 510f3718db4680b0230156dc50bd73ca63a215f49438aec415871b065abd04629191c939c3364f42ec582e8b3a0aa635314eebc4b66da2cabca83f9c462631ea
+DIST firefox-139.0-gu-IN.xpi 362211 BLAKE2B 173be7eee94b38b7d0c013002f7f25335704afb98f23e9c45855a2bd4ade3797e939a80c2ddb70c3c0d7d0852cf40d504fb94aeb18195a39fbceb3942d769215 SHA512 206b9efe274a987787088ec5bef1466cd2fd7d355515e320c4f80092a7d95d94a2f88e927ab272365b6a5ab57afad86ddc993af1289c58b04ae0e0115b22fe64
+DIST firefox-139.0-he.xpi 448703 BLAKE2B b3d3a3489e73cfa68d95a8e4891d59c2b6a8c668eca395823853ecaa3b7c163e4daf3a7d80ce33bffe217b8bf06b38a981de9aa5df3c3938444f01b3479d613d SHA512 772eac713c0330979ab3b813fbccc48976ab819a7e0c7c704412a7b52d38705469e9a6ab249708e21c4f9e9d5b1d089989692a2e2e92e0f673e54379adee8523
+DIST firefox-139.0-hi-IN.xpi 380724 BLAKE2B 3b0d3a94cc16e4619fffcc37f20496fc2f52d499e792d347dbc8c44502b97954ec7fac94062e096eaad59a95ff503e61d8ca2087fa20d75c732ed3407fd6bacb SHA512 607ce1fe57f1d491ba4e6e92ba6fcec6c88598c27ed4668a6d30be8bf51eff22aa9518084eb2974fc3a99615d053cd10de5ade0baf70b31c6dabf907af94bf3a
+DIST firefox-139.0-hr.xpi 431204 BLAKE2B 83e06dcad8e4c72db99a9c3a3e6f3558ba102079e18a0fc6acd6efcbed71384b1d43d11cbd7f156464fbc9a132ef0fff1501647e9c26e148c442d12942691f04 SHA512 5af950e7e71b8529e440af47777a3a008f6a9994b45ae4161ce2ba5548e3a6ae9eab498d6a2e82dafa929f690c1bdad4e8f0ad7ffb3d278665616e8ab031d58b
+DIST firefox-139.0-hsb.xpi 466852 BLAKE2B b849519049592536a0deb8a69667a13661629b5dc26c46f513d79e937492f032ce750830dfade04a52d929d4644f6814cc1584bf9896a2b7b5204772e5d1ff5a SHA512 4afcdfbb4e0c2c021ed65f3810093d3640587294bc3f615470ac155ef72242f7fa390233ab9cf8ffdc7948b7184a70775682548883fd37c574991aa34eefb5e1
+DIST firefox-139.0-hu.xpi 470461 BLAKE2B fec160476c8eb3fe153003f9a20c7a2ab9e54f7e9ab3a3485e79b1327dc66be8e17c1a47622070b67265a7b18a25ad48061944c3954c5457d027430d3539a1f1 SHA512 6f66f3a97203528b8d43104f9fb8f540b20fbb93798caf377b425ec371768432e34ccd6b44f4aa876d74bbd2041a9c76a8e2a11ffce9398d5795d136b4abc479
+DIST firefox-139.0-hy-AM.xpi 457464 BLAKE2B 35a0180a68fe42a1fc441b7ed2f216d1c7c515ddac943ac23dc91c5e48c95c6dce3aea7d52ef614ba7c66802656c67d3dddcd1403873704785e137e373fbf4a2 SHA512 07c095310175ba96f664fb0e58507b2267c05f5860229749f322b9a82847e47874b0ba5e7fb34949803edaa897957cefa5d120563961c5f7187085fdaf2e5e33
+DIST firefox-139.0-ia.xpi 434198 BLAKE2B c76bf4bdc0e6f228ffa8e33e3052583ef16e60973501c711f1f120a7e2ed941ce114c5620ff81bfd6987afb19484c3c5e3d553140c0e684f008709ddc68edba4 SHA512 6be1593aa8fc47010df3e21cb3d8326c3d9153af154d7b2bdeebdfcdbd92fe3b373604a90865781cdb5fccd1085f9666f96d58795daae3a6c3b3df4400b82253
+DIST firefox-139.0-id.xpi 426325 BLAKE2B 9b4efdb4caece08b804c6a21a8ecb1dad20bd28e5f6caad8b60f5de890d138186e71615d0b049c66e7fcc1c14a7e3923722197df43d0f16a36c137c03bf043bc SHA512 eda65d60956a731c8c576a054c01c7bc4a132e7cc495957cc19e6c4a52b3de902731ab4c38257ec4fb25046e2d573b1d823b7191d97d870b01bedbe423150a69
+DIST firefox-139.0-is.xpi 436857 BLAKE2B daef9096f4d69e0882acc6db2e1dddd63b2e89fca7502ee16ff7226c13f35a1c17f96a27d66c3c130c5f94e85621089cd954661f5a1b294363201869a697b643 SHA512 ab42569fcaf590de151fb6df716764fba02b826aee064adea56bbb1607b1e4488f186e696fa3419aa386b409cf92a6c8f6b625b6270ac819ff28eeaaaacf8c5c
+DIST firefox-139.0-it.xpi 444970 BLAKE2B fc274f872044445746b59f2e91d110b6760621dbf5484613a6c540236aae6d1e2df9fa0c0aea3a2d2d28f3bd342e11d26268683216e977fef2ec1a1497962c01 SHA512 a06df120c82f2ae471f0d0730f1548b2ad07c0235f025506faea2951ba1f5a0f896377a0bb910cc1128e345884325e6f6659cbca92b3cf09e1166ea6c8cf0260
+DIST firefox-139.0-ja.xpi 485460 BLAKE2B bd3f09685603ed0409d96e56a2d001c6f46be92b2bc541731e929ccd49a20359b4a286ea2bfe37e322715c43cfd9a5b45f0663cf656bed887f715bf349b8cc08 SHA512 2309b4644871e2d9000bc4f5aac2e050a487a8677e521b9e4786b7f683f5c9a9f15254a131fbb8d1bb1b02188c851720ff4a7e3899cb47d4c88edd99e26a9f4f
+DIST firefox-139.0-ka.xpi 498906 BLAKE2B ed1105ae2e8f159a5c37d7f0fb53dba27e95eced04518430064b699eca8605ae9452275953143015a6d96f1ecae1655ce6a9d48a10c8d7a7ec250610aa2a0399 SHA512 7cb56b9958f33e481ba3fe5cceaf9534524163ef40f5164fdc2825d4ad7a8a4cb547f45e20dc3ac05ca72be2d051988f0ce0d2a5e2566abce50496a0a0509ae6
+DIST firefox-139.0-kab.xpi 425606 BLAKE2B f2a7b4abb64fa6cc0822847d53f8e6ac9718342692aac678b42a700be0395d92b7a2a1ffe00cd26c666ab0dd719562167a5916a2cfee170e8b1b595cfaa85988 SHA512 342ecd07a8f5f580e4b505fbb6e72d654a9d4380d8a37922f5936a4305a55627714179f657c71a4224271a2662f93989c2e5849f454243b2455ee7195b0b5db4
+DIST firefox-139.0-kk.xpi 507021 BLAKE2B 147088e7d5442ad00c38764a145e8af007f04c3c64cbb8b39a2d98beb3f4229b050e21455393d2607c1deaaf97257511683b057f5b853bcd3b19edc9a1493502 SHA512 c2f8010f59714048d35de76dc32dd35e396060ea6b0e0cdd6862eea76261b5059d03e533a4552c041a9912901c1447cb8403699610ba3fee2a5219dc981769f9
+DIST firefox-139.0-km.xpi 352027 BLAKE2B e7c0a84128c021ddb363018c2a6630dbfb07044c5cbeb429bee92a8dbca84750fbb11f47b4ba54e067c0825d2a1ba1ce5db5a842a902b2426ba5575a2c92da32 SHA512 504a7fd39af29ff4ad6796b6157f3274ab25f37f28d9d77a26f9a292428394e386e51dbe1482f05044f7fdf48ced24a837a2ad0c94360887a298a043f23c64a6
+DIST firefox-139.0-kn.xpi 334942 BLAKE2B ecae7b7bf7651b459378313e6785f3445ea3749c4293570b5ed57095042da027d61a71398706c0cefe8f686080131c34c75e1bdd8eff55f96949b8be88ebd07e SHA512 19ff8e28daa5fa7bfbe1033df0d7c6893bec943591f4f774c9464f0e1eee70967503d8cb095f7f8782d0332333d861033eda710c9dccbb1bdeb67a51f248b797
+DIST firefox-139.0-ko.xpi 471626 BLAKE2B 9f4f3f21581fa37e290cad834fd1c2c079fa225a00ad8afe924570453e52735e3ad17285cd21ef9158a57c6185d4f4a5937f992d0bdadf3fb6e271187b682087 SHA512 1300e82efca6ebeeaaad21d4c954bca3fd2629d19c4c1c517d1b774245ba850f1e38933ba369b295fa5010a1d7ed1c79b81bed86821802e911330df5fd2f1be6
+DIST firefox-139.0-lij.xpi 321769 BLAKE2B 7eb4e8c908cc147edbafe7f58362f443795f28f4a68714a93c9b89aa721e0a9c015d2134a82f7aac17f88a649c5579881d8f40f5a12980be0f4697e7b7094991 SHA512 2a1a9bbc2734e47cd9e806f7e2847c7dafd5a35097aa85def0e57b3749b26201a5897808da98bd7147f9749e1b960419dbfb6abee16b179b13bf3816b091f2d2
+DIST firefox-139.0-lt.xpi 383460 BLAKE2B f81fa3001b5d334eac211cfa4952ffcb807ae0cf9de6d05e3c92aa039ae90d6ef49a3789721a8be88f2713518037e143bab20cfacffaa92ada21c472f8d0a84b SHA512 0abcb78790f77c51229098b5761ef2cbddd6e39cbb77434bbf4955cbb99f743337afbe0f6d9ce0f73d7ce9410bc8fd67ad322f9dd9769c191c945cfd3890106b
+DIST firefox-139.0-lv.xpi 391400 BLAKE2B 9e61383cbb60dd311685e04576ebc0d5acb309791868cf96abf930ce53dec50b85685e560b1d8c7d397a5807c2c821f0e5ecfaa15689ecb2c83651067cf53bff SHA512 e4779967d18a878be9f06cd551cf451730d2dc5dc53d05086c0e19dabcfa8209de3a5aa22626c87e4a3334d3a7ca8c9a089c3816fc1e1898eacfd928767f698e
+DIST firefox-139.0-mk.xpi 320012 BLAKE2B ef6e6a1526e4fc10b3c5d143f8209bd507df89f6f1ce4da6562ca085415dd71b83883667192e4f7f506ff45691f0cd280f05bbf158b768b83e06e0be96fc2818 SHA512 2597ef95b0748bd877d599913034ce63f29ca9c17772e85e4491b9d17aa31162dc1bf7258ffbfa5f9826b4fb3e45460a0d7eb50f7402cf5927550de2b40d16b8
+DIST firefox-139.0-mr.xpi 359449 BLAKE2B df846296c091e2a983a30ea0ce8c96ef81c8d574a743fd871d27f433cfe35d25915ed38f6397d5fed9df5b904f30299cb83c877f63ca84f3f432ae0aa9d7e65a SHA512 1dbe91a3f76d0610839929677e136397a30a934dece4cb65d603c7405f8a26b1debaac1b9ef2dcc6a687bb74fe2f7d647bb02d9909f3a4aa487ef91d2e19e0a1
+DIST firefox-139.0-ms.xpi 298612 BLAKE2B 938a5ea2ac01dc87e18501080299076d016efea43c3ad4b37c9ac6ff63c2269eb1ad3b24a2bd68cfd133cb436239024500ab9eedc3388b1faa22964e1bc10e65 SHA512 406224668b677e494494185738076919a7e5b7810a5b05069bdc151c770a8c6ee47caf7661c888169c6a2f256b17627133fa5c97c3d2b9ebb53248cb7338b4ed
+DIST firefox-139.0-my.xpi 346245 BLAKE2B 623b56dc3a65c7d6abce1c4922b5b33014fb9fc0edc39d5ceb0059405d8ab6d6d1927541e5e3e031f410c7a4428a724ef966ed9ab53e1030081e208e8596c43c SHA512 0a1c193c6725ef099006ecad682f8a3dafa5ef990a2f0aa8770ead14c247c72f4fba37a5dbed72719de4d454cf8c1470f15eff2fd9111f021ee0f7ff1da334c5
+DIST firefox-139.0-nb-NO.xpi 425033 BLAKE2B 35921178d9c2ac1066ca052a8b6958e62291a261578c6b37b2dcfd9775ab8e570a1e29eb52bf378e924006779246203c79429b9344eaf09ad46988d05f37fe8c SHA512 c5faf7abec06788badc9400cb1fe8a60a1a547c06e1435deb226f2b410d7b2b519b9e1118e7f8deccecdbea8dd442094b1765b5e8702b844966efe8a6883c17c
+DIST firefox-139.0-ne-NP.xpi 352273 BLAKE2B 31f7f93224aab930e5ae33067b5669454a0566a6fff897ad6cfb9a225b86806b000f3cab3722053768658e2418f9e3e72ff6d50ff15ad63a819e44db227f1b8a SHA512 b0910f02e2d62398c698769a655aa9b740758fcdcca87672144892af6941ed0a0838ca798cdc41a03a011de45fc4f1fd530f67a6f880b16bf231bedd7fdfe417
+DIST firefox-139.0-nl.xpi 440347 BLAKE2B d99a2ac08014e0d021cb7c9fd4201964bc7d804bef13400139a8bef6ca00113b348af48721f2b5b97e8e9aa42c81439370878c111169e2d899fa2c88797e2f2c SHA512 5dc20e5fe7b089ee8f609b9be91c2cccb28d52a18bf8d13807946d464120047afc94c6082e01e087249b25adff63d0a7bd2b858152ab23fb80ef68c95eaeede5
+DIST firefox-139.0-nn-NO.xpi 432703 BLAKE2B 661c307a91288f90c859cf8ff776d6ebe40abb77c21132d01279202e4b7f67d40061af137ef2224c46ca2f04bf6a3147c9010f08ed4deb42723a73a549355288 SHA512 5d92518b27988cf0b58658d2874f834b55a3e7f7c0194f2d2dd10e5f09aad468312cbed4028ce29cec52c9c3a7aee06e66566c1b31865a858f4be1f5d6ba8602
+DIST firefox-139.0-oc.xpi 416055 BLAKE2B 6ad9cd74fbadeed7dd650895fe20cab849a32772fc339cf9a2bc96f62c273de0739143a775864fda0b25193c2180277fcec5d1ffadf2dca41e7c88cf6749c536 SHA512 93f8a43f2d3c2fb2ae2abe2da34e36b01b63face73be3c4862e58627dfb93759ae48b48089fb2ea039ee98b7bbffbbc16e45c5ce381d0c20268645ca5441b245
+DIST firefox-139.0-pa-IN.xpi 496784 BLAKE2B da98f9126498526b2cf7601e463e375e4e6ca2da8e4b230d2404ab3a6a4a35fd5398a872dc07b4260a25516477a0c48cc095a5b7a9dcea24db5c87d199a2cc4e SHA512 10b4a80e64ce6e53daf73fcd842e2cc333ff55c92ebff06d66ec8beb3ed7c10f529496bda8d6be34f9c41317b2e46f1bd1b71e4fc2f4fbc8872a43d1e9725559
+DIST firefox-139.0-pl.xpi 459807 BLAKE2B 5a61f8b1c6e3de78e9926e8cb60a4c06a42c2658cdfa88056d05e7e92ff602ff82b66c62b0b94e61bf4422b112f007ea7431637be0308a2ba50ad5e9f646525f SHA512 6974e68e685981362abc2c81a2dbcd42b06624448beb1d58856d7c1d09eca3a3cb3d171abda94a9471c0b81c182d5c75c016c713155eee048ef9c5e1e9996d71
+DIST firefox-139.0-pt-BR.xpi 444924 BLAKE2B 6bc2bb68f4ce0548d1568f5a8ff1567ee654d85892844d3ffaed1cf1dcab841a56966e0e178cc92bd25ae9e97d6adebe8d9783e7aaae7a0d2f4c44dcf32b268e SHA512 a07aed72aeba6ac7d53e61a1ae6ad082aa1362c5568a69b49da9a8d1821c1443e95a41e3363dca2f68592970ba030be025f6696a77693267787cb424d24c7c0c
+DIST firefox-139.0-pt-PT.xpi 450737 BLAKE2B 9b8b4cdde1f31aea032227deeea7a9d5f04730c004bc4b6d167f590c37557c1a36463f0911e0e987979acb5ab94a833a9433e094c5cc2516919be27d146cfa63 SHA512 9341a154a8272393805901d062b67c1b7f22f9cb75ce92dbd7434ba7c3797ad28796f683083b970878c0f8bcb1e778e40609bbaf09ed9ae03472243db1a8cf2d
+DIST firefox-139.0-rm.xpi 442531 BLAKE2B 9f0915389e11f7c4d09e4314eb3b8fab6cbd972d220ee79be7daf02511493dadbe2c8717df7c4f6d6e3b3ade208de4d413da783b40b9687019350c5e1467bb00 SHA512 1db97f9a591e730812cd0455c1be22973e73e14501351c27b2f6f6297a09ac04f3d4aaa109feadaede1462913f0814bdbf476a1826fa8aa52484fbd1e743376b
+DIST firefox-139.0-ro.xpi 369468 BLAKE2B a38349fc1b2dcf1dd2d1751efd5c800279e1de342b127881f4c983fa3873b360a69b0c51aeb9efae08030f47fbb84e9e4ad15ac23f60177cb845abbe8ff0030e SHA512 5225b497b507189509511981101d168100da2ffe8ad48b1de00b1ce7c36637fc2cd74057648d452725b09435fe27c86740c5dfe96f831ad68210c9e35c7a2846
+DIST firefox-139.0-ru.xpi 529326 BLAKE2B 62f96936388379ac137bfb7066b072b8a2d5a8e912e95c3e953d88402efe3a844484e9f4a90931a9cd8a005eac633aebaf601a41e761964730146abe4f549d6b SHA512 e659a6b17dadc463bdd16a6d26c92ab00244dc691c837ec7857f8ed79e5c375f8f3f859bc18bcc909f9a5d1de515a18caf6dbe9445c33349560d865713a1f397
+DIST firefox-139.0-sc.xpi 409835 BLAKE2B ac4959a720aca4bb04fd6f0fd0f3cfad76344871e858a3dc47ee2cd96cc7ab6a16ddc5a4edaec4c64ced5b451a3d112d237939d1cfa27a1da2584bbe4fef45ed SHA512 cbf98e8933e3fea1ed81b0dab69d347d77c397d4fa6c1cdf3e3bc4f5dd95e4ef8f9e361f23d554a5f946092005b5d71acc2084b8d25aa7302309d906e1189719
+DIST firefox-139.0-sco.xpi 327255 BLAKE2B 616582ef63780785353ee13b40bf0ad58fe6d7a0aab89a89c9b81deb246a7b0b53a5818a00a6e53ca7eace6ecc64927f4d7b607d4b119d5fb0fd1ddd9fde40c9 SHA512 34ef44fe4d720080e97048ecfe40a79f4e1a11c847d5439ee619734e5fe1df26875f84bf7c1848ad4890dfe4111dd7f600f6e413c4323686692b717d36c00c7d
+DIST firefox-139.0-si.xpi 416104 BLAKE2B 4c56b8c9d38f38724c58568b7dfb5c2b59545785e810e50af2170a2f066ffca515e2da982f55253124b3353bca651200111fac6a37ad0b086008712ac6e377e4 SHA512 3e17b625ac18ccbf00dde90ef3f88475e55459ce7369a8967ff263b07b256bd889bb3f34e5814a279217276285fb80f40b5ea30a85065ca75b2c55845e1dae20
+DIST firefox-139.0-sk.xpi 472198 BLAKE2B a6be6663c22e923331910d07b6393926f10a79e33516a4a2866bd6c8aead432b3e687a49e4f6a8d62d137b4652f458c7e489456b4e2234c1193e07cb36c76222 SHA512 0059a6e717cb2f98fc9299ae1cbef2cfd43a5f500d182180e471f08b8de9ee1eb91e9d4ff4c9319c61ed2516852cbf7dc05fe51ba80a784c7b9ba015aae39d7d
+DIST firefox-139.0-skr.xpi 493738 BLAKE2B dfe9120af93da938b0e352055f3a86a566ab4bc5f03c79db36fa3a3a1e3c80274ffad063c38ca1309ce5de3d015b8226435869df11bbb4589ac000a00d48b1a4 SHA512 f549c8ffa3432d9d6216c203a5a83e9fea64657569cdd198affddcc361133b1d2d8c6505110754c489114b01d90aec7a3c5f7dbd7a79158841b151ce9febe4b6
+DIST firefox-139.0-sl.xpi 444953 BLAKE2B dd43bf3003f5ce23a5a7f3ab83b238dbe3911342c6ef174cd778a25ac2700e11f38869e45a0ff17fd6b0d9528cd5a45eba98f80a3d25e1def8d3570ec1598bc8 SHA512 9951ef8ebeaec29738babfd7f435ec52353ad335359642deaf1c0db5ae48de0acea8cdeaea462cfc5faf5e375cab7330cb5a156e04b63afddfafd8f19db3e205
+DIST firefox-139.0-son.xpi 276309 BLAKE2B 501e91adb5ffdc9edeb4f323bfdf5f7dad5e390e1b7c0f474763814ada083c75da534bdd29470fc1b32e8e47d57351a2eced0d20e565c8461f5ee018bf9e933c SHA512 6938f37af15e7be77587bf6c9de9d31f6f88d94c6e8885c2346bfc392e93dffd2973a82dc3b66939e42b48427f0e6191d5ec4cb417c3e177acb25e713e6cacd4
+DIST firefox-139.0-sq.xpi 460105 BLAKE2B da453c95921f95059a8b8ba98d27f0c6bf3052e2d94384122e57f3cb7685580cd62c3885bd66f8bfc540b5761eff91c33c2f8dcfc1c8fcb4af90d0b7bff0e191 SHA512 b5856aeb73d17c673256eb76844d31153c266d64eeaae09cbbcd84e121cb8d2b2bce5b46751fbb03f2405d9a218cec358dd839588898844b638dd9de72acf1d2
+DIST firefox-139.0-sr.xpi 456113 BLAKE2B 4129658e4e96c2ad80838055b733afdd5559e7bee4ee53bb075c2eeca844640d0dd400724951352a4b80d2b76eaf75fe7ae4aa4588e20857a387ef1aef28a9ee SHA512 46dfd8b699616aaad79ef9f1927da1163fb800686afaf69682c75f2c808ae4dcd83d44f9937b80548bb7ee650e0368bca80bdc12f322d1c1279705786b62c499
+DIST firefox-139.0-sv-SE.xpi 440190 BLAKE2B eb190646483222b8c9f8d87b7fde8401a0051231d247094fb86370aec037843b0eb5b130600f970d3127f3c9d9a35f83ad416141ad4ce11fed86078cd9080fa6 SHA512 ca237c37851d2814af5b6f567576ad88f4bc7dd6cbcc5e9db0c94c641423e8ae5f8b86b75090e705e035fe48150fe5c919ba7a2658f8ed195cc40bf3055c8506
+DIST firefox-139.0-szl.xpi 346233 BLAKE2B 0dab3a753ad99524292379053455e4d8cc79111f9b09384804abe61f71414f5886f5238b2d8b75f0d9fd6c89c9d346faa49fd1d8915d805d0967c28ee053d51e SHA512 70a7afa70ab9019f28d8dc0b4676636a2db5e4b96748bff1f5e4c830a171498f31550fcd4abe623cf31696eaef7b2986c6e151e4462b2d3ab2a415872e1e71b9
+DIST firefox-139.0-ta.xpi 341130 BLAKE2B 89380faeec0c1fb3a8d18c55f17a2862627519a12920210ce1b973b3c46d1ef8e7d60fcede26b35d669cc9402a0181efd976f1deaa87b9779ec60e361b0a2fdf SHA512 87ef8d0b04b193fc1e2fbca024d40f6cf0d1723aa1c10351f8dce57b39ad3f5889d37e0a8089efd004e76e211f3030147a52c576cffa27b4069140365c7221f9
+DIST firefox-139.0-te.xpi 385840 BLAKE2B d02a73436c69901e2a0d096f8e91883fcf8376d0e1dcf96e79566fb5d45b1dfb5408dd59b6bf6ee7fe60da8f299933f9f19990aadf22954758ed6ae4655c37ad SHA512 01e698f08d3c7cddc8840483e10a89ab5da89ad2e58cf5bf803137d23828c4e0c01a0310afbe0f03b589913bb17e94022ecc599b16add7b3afe8efba0dd7ebf6
+DIST firefox-139.0-th.xpi 507678 BLAKE2B 31e0a530487f771e5876e6790d26249cca1de9ddf93214267a06bb481b23d351a1d84319bb5b72f67c84bd37dbe16c3d5f58a9cd20397c3486f226a9f19f8f61 SHA512 82a078280f0db1031b35cb1ad74e444f194b73ac16c6928be857ec0be572b39d0b545d66b0a3a596e5561a3a35abc17d9cf0558fd5766481a1557db83dfc5441
+DIST firefox-139.0-tl.xpi 360238 BLAKE2B e4ad29283e2a172487502936325b5e53e8b735c6982389edc8da2c58a892292d50f699c72d9b56c8f92b02ad228ab089dca741f4cad085a6dd3973fbe0b7fb2d SHA512 3a96590aaea2cabbd3be2833e83d7ac8b7dd4d38d45702f9870f41d07b6bee5728a1312a606019c4b22b38d6b98869bd668f39a2f01081008816dee477988d19
+DIST firefox-139.0-tr.xpi 452760 BLAKE2B 5c22a15a86798fe880f170d22ce1eab7529fd253b88f08894fcdca4dd880149284401b0f12cd2447ae413cfc269fbf75db396044733db6957e16b4ecf84cd094 SHA512 83cb47b65d410de24afc826423ae4c9509b43de6bf66ab6312ce64f618b49ab4c512a740bf4f780c2a1c470a545857046073564b740aa90e2eeede2f41be139d
+DIST firefox-139.0-trs.xpi 326650 BLAKE2B b745701d9541b08934abc2a84f8a9a87824b2a9a783492dd47833d2a792613dc4eb3474a68889a57e8a937afe1047d506614338fd0d7700a258d769423a458a1 SHA512 4cd825438c7d01535b1d65710e1881e6d2f85116535661dd8362794a0ba593c6e507361f4e3371abaa0dcbf7f80b624633e8a3f740ba2729b3cc11b6fc7d014d
+DIST firefox-139.0-uk.xpi 521124 BLAKE2B 38fd262f0e08fbb845d59f17d12c0d4e23b581611df6b7c8e2b1ae81a2b8e693a6f9eb212863d013ddea4da9e1bd95b5655e6a2f79f131227e6409fd9955b0d3 SHA512 43e06cc8431198fd451cfaae14adcc457395c02bec8e4018756e84b442f884ff724230cd0e828f36743cb9800e24de8b932ada66e55a5a1c0de7312656bcd229
+DIST firefox-139.0-ur.xpi 373546 BLAKE2B 03564f7faf2e06767a74bc41ceb46e1fba69edb90772bcc4abacc040331144b53675f0fe228c7c4721c4cffbaa47109397f7fcca4865c90209b78d82bcc3a608 SHA512 7ea3e4c7667129dfc4783f77da2d595e044d6623192cb43ba51c0d892f0f082c403c2945c50303ed063cfbf67f68010467e403f0f641dd844252f3bee93a637f
+DIST firefox-139.0-uz.xpi 306875 BLAKE2B 52697c818d19e411fcc89c2ed7441993142d173f3f1c06066fa7aae94e6b2c8281d348c36a1b8dae679fdd773a6bd0d363c66bdb4130ac07f941865e50a25732 SHA512 398f817e89afc4119b669ca37415768925e582df603473208cdbc2b254487fbaa39e85821b7215f8733a350dedb5927b0731be4f9910e2d1a259ac331caca6ce
+DIST firefox-139.0-vi.xpi 473298 BLAKE2B 1afeb90da285ad5bf657ad0c650b4015899ddd6df8553bf7bb84ef07a8811f0822a0822b0057d30835ad8caddac101d736c431e8d4ee53b93cc8fce30cfb13bd SHA512 b616553b96c708cf424c5fead1cbb7c959ce125ef768478e0ebe8f6ffd815c5ddf6b40541737557bde5c89ddc85f404841522392bb80e3257fe9edcae0d174e0
+DIST firefox-139.0-xh.xpi 276209 BLAKE2B 335f347f5771877ad65d972df27b7aac64cbd39db6c0f0c2e5dc9848b1acf06e94e22c0ec3159e4470eda6fc5c6065f3c12bf86bdf39dd44310fad6c2f64d563 SHA512 f76892da4846770b43dd6ebfc047f536adb0a92b5a9bcbb14ae1c456a2291871eb823115a3f71e999e63088cfad1474a334574a925a3edf36130db9090c2f1e3
+DIST firefox-139.0-zh-CN.xpi 464971 BLAKE2B a880f2062b6ad1f93292b14fdb8451e5b7fa5ce81d3151ad61fe7e80842d9a3177509de718838a9a1dadec5125b28fa673dae8a87c90bba4aca3a259340d544a SHA512 3fcee19114e6478d4e2e469c86484863cfbaf81059ddaba81a48631c666d3468ce9f62449f7650ae0094519a11543dc52a26e44e87a052054223905476e6563d
+DIST firefox-139.0-zh-TW.xpi 468022 BLAKE2B fe35b36cc2463f76f2cd6b87d809b26bf6805cfdd9d7494c033f3aa3a76c39399afa15d1ac93622ce41ac076b22a284710c10c8c38ba0e588311d695898dc91a SHA512 df903d57247b37801382e8f3c8456d955db77ed9d49d91f67ee414d506ebab5275c607ad9376f2e967d079595d134187507f24f3634577f02c188bb8b3d28769
+DIST firefox-139.0.source.tar.xz 634198424 BLAKE2B 920df1c0b1389234d779861de71c971582cd0822054a23f1a159c4ffe7e98e09049fac1f202004e6e6f85ea0384c21f0807f3c843c5784de8b0474b6de843cab SHA512 84a2b47f2ff71aac226a774ab0ac9ab8d9a16f5620a06f7abb6648732209d022aef35a9d4873e91ebd67a4fc494fc238524e25c38fad8046db26afda06e6f970
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-139.0.ebuild b/www-client/firefox/firefox-139.0.ebuild
new file mode 100644
index 000000000000..46a8a5708f5b
--- /dev/null
+++ b/www-client/firefox/firefox-139.0.ebuild
@@ -0,0 +1,1404 @@
+# 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-138-loong-patches-01.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_{10..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"
+
+# "wasm-sandbox? ( llvm_slot_19 )" - most likely due to wasi-sdk-25.0 being llvm-19 based, and
+# llvm/clang-19 turning on reference types for wasm targets. Luckily clang-19 is already stable in
+# Gentoo so it should be widely adopted already - however, it might be possible to workaround
+# the constraint simply by modifying CFLAGS when using clang-17/18. Will need to investigate (bmo#1905251)
+REQUIRED_USE="|| ( X wayland )
+ debug? ( !system-av1 )
+ pgo? ( jumbo-build )
+ wasm-sandbox? ( llvm_slot_19 )
+ wayland? ( dbus )
+ wifi? ( dbus )
+"
+
+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.110
+ >=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
+ newins "${S}"/browser/installer/linux/app/flatpak/files/share/icons/hicolor/symbolic/apps/org.mozilla.firefox-symbolic.svg 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
+}
diff --git a/www-client/firefox/metadata.xml b/www-client/firefox/metadata.xml
index 54c445821d47..85dd6c16983b 100644
--- a/www-client/firefox/metadata.xml
+++ b/www-client/firefox/metadata.xml
@@ -33,6 +33,7 @@
instead of bundled</flag>
<flag name="system-libvpx">Use the system-wide <pkg>media-libs/libvpx</pkg>
instead of bundled</flag>
+ <flag name="system-pipewire">Use system <pkg>media-video/pipewire</pkg> for WebRTC and screencast instead of bundled one</flag>
<flag name="system-png">Use the system-wide <pkg>media-libs/libpng</pkg>
instead of bundled (requires APNG patches)</flag>
<flag name="system-webp">Use the system-wide <pkg>media-libs/libwebp</pkg>
next reply other threads:[~2025-05-27 11:54 UTC|newest]
Thread overview: 1385+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-05-27 11:54 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-09 11:01 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-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=1748346187.a8e9e0363c315f7a71da1cdec6324098a0324741.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