Gentoo Archives: gentoo-commits

From: Joonas Niilola <juippis@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: www-client/firefox/
Date: Sat, 05 Nov 2022 11:34:03
Message-Id: 1667648030.88033bdc7edd619a1cb2a228d5d159a007518e36.juippis@gentoo
1 commit: 88033bdc7edd619a1cb2a228d5d159a007518e36
2 Author: Joonas Niilola <juippis <AT> gentoo <DOT> org>
3 AuthorDate: Sat Nov 5 11:32:15 2022 +0000
4 Commit: Joonas Niilola <juippis <AT> gentoo <DOT> org>
5 CommitDate: Sat Nov 5 11:33:50 2022 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=88033bdc
7
8 www-client/firefox: add 106.0.5
9
10 Signed-off-by: Joonas Niilola <juippis <AT> gentoo.org>
11
12 www-client/firefox/Manifest | 98 +++
13 www-client/firefox/firefox-106.0.5.ebuild | 1321 +++++++++++++++++++++++++++++
14 2 files changed, 1419 insertions(+)
15
16 diff --git a/www-client/firefox/Manifest b/www-client/firefox/Manifest
17 index f0e121c45fdb..ed787c89441a 100644
18 --- a/www-client/firefox/Manifest
19 +++ b/www-client/firefox/Manifest
20 @@ -196,3 +196,101 @@ DIST firefox-106.0.4-xh.xpi 427009 BLAKE2B adb8dc6d9301ca7061869d2978cb577717299
21 DIST firefox-106.0.4-zh-CN.xpi 595324 BLAKE2B ec383c5f61068e24eaed41751b4ae0257bcff2d4a787dbe4caec1c84063ab845b1db7d1bf944f0914c6abe8e5a7311320f208293d190acc32cf4dafc8fbca652 SHA512 8e8a0d09f62163864c8ed476e488b34655a3c544550e295c43d82f0a05ab2c0d54c0b5aa3a4d50d78320fb529a75762ee5f4e34147634cd0bd35084034146502
22 DIST firefox-106.0.4-zh-TW.xpi 596104 BLAKE2B 8b841004d3f729df0207303f91fd0377e8e30e0f8bb5a52a83cc8a66d78427185d0ef1cec07e22cba8856b1879df374af6c542b4e8703f5a8d93a5cfaa479abf SHA512 381e77139467a9c2dc87bfe951d1ff4cd47dfa667683bb4fb2c83b9c4f2a0cab48a3c921c57beba7dc8d0ac49a981f9b8709e8200f55fcee1d65deb006932eb1
23 DIST firefox-106.0.4.source.tar.xz 500524844 BLAKE2B a8983a5b6e2d7c812ccb31bc1303057c71e2a280b7ec9b7d245358a193ee501e1b9de99d0cc2be76f4ff40fddd97be6187c4f315c3138514b53c469c93de337c SHA512 598171d3de33fe64b662681f3455d21f788d521ad47c96309a789c20662c3a45e436d6ebb99245e1366ae3cb6c17b672179ec4b7230a86e0fbe6625b40922c5c
24 +DIST firefox-106.0.5-ach.xpi 460141 BLAKE2B 23a2807b68108b94efe96632c66c31af9be6ac02bafcfaf1b81fe0ece1326a5ce498c09e1e12fc437e0c6894ef593300528623b7436882962e200df30e36ae82 SHA512 989a52559baeab98583137dcf737d0df5fa039d6d2b1720a13c828c0c871fd2914fa82b907e1683b1975aad0a9fdb2e8c4e5dcd8769e666ab64579c3d8f55923
25 +DIST firefox-106.0.5-af.xpi 428348 BLAKE2B f22d45c0b2291b1c7d28f2d3f4e620740723ff80a39dbde48f4290092f0d3f6ee8ea413a492d3909fe67fb7c1b0aaaaa4ad4be7df428f97c2e1e5b36b1e00b15 SHA512 4297e1685cf35d5a722a7789528953818705961ac2eace517f72837e6dee1a5b40a5fc3ce2273835591da9661869148d2434bf6e2740a2fc3ab1bf3245519aa6
26 +DIST firefox-106.0.5-an.xpi 507375 BLAKE2B 2da42a2202e934a9d857ac1756440b7e21f9dca31ffcbb9f7d2f1caba2ae51f0e0457611e98e905de9d605d00f16850bd5b26c861b66ce484c366071959f7e09 SHA512 20fb66e5fb04b3a76299397434df21030234a5db0bd8bb1471f52baf9a35e4f65802c4a25d322e4b3ba09cd2e571a751cf85790fe9d11ad1c6a0eee3728d67dc
27 +DIST firefox-106.0.5-ar.xpi 573889 BLAKE2B 641790ef9c04008689459ff421a42c54a7d2c0162cc169f191615e416878f5f9f7cf207e3c05ed36638f6385e479fd84acafb4e1fb3b88eb2cea96073da06355 SHA512 18bc61f4e711a6de18da01819712f54a3d63baeb9a4d6482244fe19fe8b8476cec269cd7a95985d88b9ee721d369bf20009115baa9b86d69b9904cee7ae434fc
28 +DIST firefox-106.0.5-ast.xpi 494685 BLAKE2B caa4369d237be6d7fcdb9088741e1762346285332c2702fb14e12cb60ff1e7d34d1e9be91723a38a05069e978c2772565d7a9398cfa734cf2ca7da914fbd4beb SHA512 187383816596fd2e75ecd99cbda2d90c3043c56a8bbeddcc3f401bdb989cc2614dd5a0d5e977ce557370b26aa50e4fb9831b2c2fd50bc0ab2685e98457e9e164
29 +DIST firefox-106.0.5-az.xpi 497307 BLAKE2B d50c12c2d057ba2394447bcb075fc39a4c1a5aedc26c2b70266b9f5b632a9799e8f3f563c1871800cf78597d056ca4f4c4fae8ac49af0ae4d29a0ee3ee2e86aa SHA512 125bb03c7ecfd9d03f976577b43bc95afeb97fbe58eb03e65d5db95531653dd202acfa0ebfc6515186e4a3a419deeee8f4654b186214e897313d2e64b443b993
30 +DIST firefox-106.0.5-be.xpi 647942 BLAKE2B e9eaf050f13f98d9ff0a3c24f1265063c390ac1eabb3f692fa78d618b41485b931f94e89181f6bd22b1151c45857f531a0ddf8d68a22d522bc1c678ab76116dc SHA512 e5d4c9c759142029772b9b0b3ecf062f00ba65ed35e97aa03324174dedbb9e60f6de45235a167346f0136a96e84c828afb7df847be88dfae0d43fd9c93ea0736
31 +DIST firefox-106.0.5-bg.xpi 586680 BLAKE2B 58f98073bc97d3f2814b45a0216d9c62754fc95fabfbe8b7369166bd2415255be1ec1f4a76398234fe6283cdff67fe80781bdbb54e13f9791c393fdc232e8d48 SHA512 ed7d62ce2803e785c30113591b6bddfd18acdeaf49505fa6d5dc94f5c5ecfdc7b81d8edc5f8ba69fc623fab01bdf2af6b38fdede5fd92d736f184293dae2855a
32 +DIST firefox-106.0.5-bn.xpi 587368 BLAKE2B 311c8e3f1c98e77b393d95d538cb082de7ddaffb327abcce093ca429d5d51121e74afce22b3e4e0cbe617167545fda8a34761aa46a1517e960f82078a03d7392 SHA512 512a9713d95f724d4373fe610401f68f65009d5f521f590aedee2e5f5310c8242eb4c540cff4413303bcb91439622b35bd114dfd2bd1e22ab22049da917ad105
33 +DIST firefox-106.0.5-br.xpi 546137 BLAKE2B 7d9e19d8b4d72d9eb06e2aee42461a3d7e072494617877ee8d528311f08b83a4249ea7a2a87055f537c959d4e13c33ad985026d820499ffb60e877b42754d892 SHA512 1d246872fbd8dacdb6766bef83d90f6e424f7a68b59cbe69144072a080cfde4f5e4d3497e941468b7c403a5430932aa02e2e95877f920f836c9f62bdb7de7a43
34 +DIST firefox-106.0.5-bs.xpi 468737 BLAKE2B 3e4a32ac4e5783d16a038b87bf4c36e5281d7df4f126e6f62c0316f47a518c13e0f5adc69f04d73a25e74c1dc44a167ea6c8417f20cad1931b6db815406f3c3a SHA512 08d3dee0621be4794b54c1a2ee4124db5400b700b3b32ab20952e9aa36ace53ff2d9a7e54c3f0c7afb5cbf6813e8760eb4577e31c14b0536c781188d318670c9
35 +DIST firefox-106.0.5-ca-valencia.xpi 545342 BLAKE2B 462915071d206634987ee37f01e93e779fd0e033197057224a8239aa49b735b1510de37ffd360716383ee7fd1a267015bed34c35d9694c8a84e547bb8e308b80 SHA512 62b0c413e7204ef76e5cfdb4f54ccff0b0a11272d61ed0a50f00c8242e25aced12cb432ae9721ad5315f8011a22c5647b4fc51a713445434e9c3b06b96715710
36 +DIST firefox-106.0.5-ca.xpi 548760 BLAKE2B c960bb6df611404d4e000e4be6ae657ab28693072087ac99485dc3a063b54669289264d0e168965f9e7fdce191a90f6a3e4a2d96ae074bb31dc10a95f73daf64 SHA512 1927624fc5deabaa28ffff7021b012cef86dbae2b97b5761ab872399e08bfef155df55e2c3e9d9c9d202fef0796a160315f2114e184ee0615d7d73da50c48ff0
37 +DIST firefox-106.0.5-cak.xpi 560420 BLAKE2B 8e5ea466a44b278ee056b2313ba81ed1f5c567e6d3b93482ef4b150d61a88668d3043cc057f00838a195e175342d48196a3081f72da4251648f21ba4b604f39c SHA512 10ff1850133ed3df93d92ad918c969e61b27c39d48c20d98c3e7d94dadc1f0d26b42a731a5f190024386fd95ab7f73770237c7f17ebe61e6378edaad7255255b
38 +DIST firefox-106.0.5-cs.xpi 580716 BLAKE2B c12d73a035c6c58d9ef838143b4488a2a8bdaf599cd2b10b625729d84dba7c115bbb1f3cae8d9cea011c2ad04811f52e82933d6efaa9c5dba3c601716affc9ff SHA512 69a9b3e9aa43ebbc5efd3df68689c39f65f8ed1b69d450245a15649dcdeb0bae57a94c73936b2d8eec8ec01fa67fcb7f99e8ae96d5dded2c815dfdb19244d98c
39 +DIST firefox-106.0.5-cy.xpi 562869 BLAKE2B 5b1c021deb34b6c36b6c632dfc57f3eef61b4b19769ae9cee6e4a2e278184e8a121dd7c9667f800de1b3137fdced82a4fa140cd561bdee472f668e71e48964ef SHA512 e03b3ca3263fb9700c4c3c196db20bd5d5f79103b11a749bca6c94ef9074580cee2e714f5daacb489fc3f2b297dea7377d2be48e111de212c4b5c165b590205b
40 +DIST firefox-106.0.5-da.xpi 553184 BLAKE2B 94672bdb02c980133101723bfad85fc698e0b61b36b9846cf13b4ce02cecf7a71930eb1556cfe13d5d7c86fad9293e9950fe697bd68ffce5134f0998b4fcd767 SHA512 0eb2656b92cbb8221afe0c305cba6d6a58d70e12f30b2234f5e137b385efa00125cd12478ea7bd9884d75a8309d5bb27e52929cafb0a909b83fb4bbd061d2ddc
41 +DIST firefox-106.0.5-de.xpi 574539 BLAKE2B ef67ca8b4a1c034612cbf74f91d53b6bd7b59eb2606fc055a0c40f30295945fdf5f6eb3637bd790ca0dc526e548ab6d17c22b8ec21389136ff089173cac6c469 SHA512 2aa7502602c90e46f8e09c24959ce2d82251d3e883b24dee7bea2406c704fd3e08ee0171d1754b90938a976361532432948b0b1ad643fcfd948b942769c1bd0b
42 +DIST firefox-106.0.5-dsb.xpi 588022 BLAKE2B 60214020ef945d63552aa99e414189ad0c4730c5184233d61c89b7e97fcf362c3b9afa8a089466572749380d4a0d406a700e59981a1e026e23eb42cfa3968e00 SHA512 854487150d1d16acede7db4ec14474f0d8fe3033c8159e14ab4ae790fd5ae55a55dfcafc7b403de26a6c047260bd6d6d242b5d09dbe478a80a236ec72c917838
43 +DIST firefox-106.0.5-el.xpi 663912 BLAKE2B dcb5d30b47ac3076491eaa66c3d243e33b3f8bd515ae4b12d4a3c0b2df1f0c7cf85a3fa2b91284e029ee0a5ebea25cf6971f2971a9b65e5a0481a59aa560b174 SHA512 c94e5fb8408770e607c41b70d66ef594df27a5391648754d43f8100e6b456d8c9d5e82862571ac934ae7740d0fc2935f47220a383b8d3e210e047a64f3dd291f
44 +DIST firefox-106.0.5-en-CA.xpi 528600 BLAKE2B ce1db9b93e4742eaa00aa311325ee7a146132c87a7db17a30f1fb033c30b74bf91b5344591078ddaa73d4a12d8823e6d2787c0c8b87696794c87a567321ab61c SHA512 4bc0f77cc7672195a0991281ce04ac72613cee6513d9f26ab9b68871b1b6aabe7bc31a8ad24612fe2a711bc177416a950c3acbe46ae6df033cbca19d8afcdf87
45 +DIST firefox-106.0.5-en-GB.xpi 529339 BLAKE2B 9255dc520c9d8b8396c7f0676a8c5137dfa0450f825b4bb8e9490e001fcf59373d06cedcaa06fa0db7cdbb487048773e002bf4190969b0d5110984033b7c5faf SHA512 0fb4220ada4f45995df7ae947f09c75b77be887f59e29aba9a879e37feed3a69002db8b730774dfeb539e2cc0d2de988a1d54d8b7f9ad94afcc83c84ad5bb6da
46 +DIST firefox-106.0.5-eo.xpi 556645 BLAKE2B c2a73d2c56124758178d0ecb8aeb78439feba10f7d32211467e5f3e891f679b81174e522c6379425d013953a52f3b306b905e9903ee4cc199f15a29a349ef812 SHA512 6e930b548e62d627127d12c941c2c6aae1f1f0dc1e12db8d4c0315d59f5ab7172c157851923ead23588051447250e989561e502cb3bda697eac8f3cbe4706e38
47 +DIST firefox-106.0.5-es-AR.xpi 568414 BLAKE2B ea1d94699741f3033f351fd3edfc60a91df1fe5029c05671bc8fc72d5204f21d9e8042d1d69d8f3b555801781b70283db5d1f7619364e9952ca101022f8c2311 SHA512 1f2079eacd96c57f1bbbdfd8f81dde812a9cf75fe2971fb00f068a203e2bdc8ce673afb0a91061ed7c0a248eca9d531ebaffd06917f9bd040eef2dfa795ea0e7
48 +DIST firefox-106.0.5-es-CL.xpi 567432 BLAKE2B 8573934a82146a7fe5ea3dbaf2f05bda79e538dbcca667f6ad73e52b4f3ac9dee456bfecdd44a666bd35796450b4328a7bea6bb8fdea99550792ed87aa50d546 SHA512 756f0481deee76514c2b5f944512b1f03199e311626a0d982841abbe25050f139e7fb040f87b677a75dfaee3f2c96daca6f23c664775d893e1bd8f3cf96db3de
49 +DIST firefox-106.0.5-es-ES.xpi 559853 BLAKE2B d5cdda148367d42cc47c6360459a3bd966f6c5514c7d165a21341dd1973c91e70e350526c669ec9b51f1c4a775b4f06d3e5826ef29e316eb0487f5aebc8d212c SHA512 955bd318f19140884f8a23aee84e0350f411f948575cbb311eb27aebf57ae1bf37417ad338747a423c8e041daf65557dde845b8aa1831092ed3118fa60336f68
50 +DIST firefox-106.0.5-es-MX.xpi 571140 BLAKE2B 29f0f296850c35d83945af4fb906d2d97ce79c994aa7ce968d2f38adc82b76a86bd17824609801704bc3873e243c24e9961e6dc5a65ba09f2a96a50ab94cc25f SHA512 7f5a3807bc17515c9a134e43e2b997ab0d13ea73b9f86a30b344ccefa97940c426b4d60cfd33157cabb8ee4d44afa88e6e397be0c6ac02b7f6d89d18d8a97869
51 +DIST firefox-106.0.5-et.xpi 539261 BLAKE2B 1d334a8d0051e8b59929815c063ac84e5c59e02814f86351d0f041ea520285650fa9fee406fc666d170d0da109b577399ec6aa2ac26f81fbeea651aecea1776c SHA512 9b51d6174127883aafe1365c66b5ebf8d069173d784d72207abde9a1bccc866345c4452925cb14434792b6a25aaab408de32b66b934bb68c77185d7b3e2b0535
52 +DIST firefox-106.0.5-eu.xpi 554714 BLAKE2B f65774834da1357dfba6e86b4c325d6e1ec9f4c9fb47d5b5c7bfc2bbbcba34a9e5fd690d1903f0fcf7963a8b0988423c4a4d933f80e4738d382583579154d21d SHA512 2495d93c8b322eaba043cce0d130a7f20e01ad06f30a789c2dee39bb452461b38da39858f4c265557a66be49608ede13941d78268bdf9645669e62504df3aa88
53 +DIST firefox-106.0.5-fa.xpi 571102 BLAKE2B 28902621e67d45f0c39f41909f7ccc73c41570c4c621d485b25d6ab6472d58fbdea3f7689f2dcb226b25ed7d2871646892f352e15118bb844d913374b56317e8 SHA512 3a1897de30d86afaa9d02de85836d892a1a88d443d3ee24dae6a2b4400e35a2d77069c4c961dfc95f9c8e08251d550320d947b21bbe502c716a96daaa216ac6f
54 +DIST firefox-106.0.5-ff.xpi 480595 BLAKE2B 4d5f5bde29471e3cc62b3279335a74e56b3ba52762fdd950e57b3839d3a14e7d3af05ec19a89ee9cb6707891fc02008e2d832044045217ff5c765541fc632a3e SHA512 506d830866e5bc3d4ab6d2cc001c5589d25be529eed4e431a189da8b62c7626e4b9043d441d5983d78fcc0acbbb4dd8b76697e0e14c647576eb3968f1b8d7eb6
55 +DIST firefox-106.0.5-fi.xpi 553336 BLAKE2B 50b1d610f5ab88c46db42d97b66c8f537b81dc854196709840112c37413b6ed9430cfc08363b70fa84e484fd1755bbd778ea110fe8986225249fd6de9888c659 SHA512 40878cb2020741e137b5b97e4f7a0ae84400be13609df8efd84a0b5245b5020b367216a80ae23441ed82052ff455f4dbd7796a893e75138fdf203323017400c9
56 +DIST firefox-106.0.5-fr.xpi 580188 BLAKE2B 475a58b193f77116941bc04a70211880d6f9b417587d3efca0eba06316ba0c92539c17dab49afeb5194cfbce6d8bdf3a0598d8372107dadb341295a7b53d4b73 SHA512 2df772b33566f8c78ec3a674140fa30b984644bcc119cfa8f5369d2f8e3a231f0d4d57c031db595d2230fee75b4dd6cac943638b011e35a96f334f1e01162d34
57 +DIST firefox-106.0.5-fy-NL.xpi 563944 BLAKE2B bb763501b1ef72add2692648cb6e098ec5290a882faeacb24e6ca35f3e5d2ed0ee56f90d1da41cf803dd9dc553a7af41bfe13d78d70abe704787ca3446f8c969 SHA512 ae2cf29accad018d899a72f055ed4e977c0561ec4a1885927e4f5e7cd79a224bc0c06c25603e431e589d7dbfd00c8faae60088a5d5431f4aad1f629e0856145c
58 +DIST firefox-106.0.5-ga-IE.xpi 476062 BLAKE2B 7b6a4a83c036023d7bfcb250fb35c344bd137ea32848b8cb4ec138fbdb58d1493a22469166a4298582248be7251bd3f221d6206c2c122cec56a72df6402a4e69 SHA512 63f28fd7adf325ab5bda438df0ee8b0202a052a999cecb626f381c2ab39e7097dc2f0e43c2fc7f9f7736d6884f6d24e49cd9b8a995a2d14c5b1034e7d0123455
59 +DIST firefox-106.0.5-gd.xpi 554231 BLAKE2B 55e70ffa4282d45a9c981db3236f73655bdac2a5fd813767e55e08743d3ea78bed770014b0ca8538609f6f06d6e1c79a06d8bccd946b6eb20a36510c998f16cf SHA512 9ea72384a445fefdb372e09b8bfaea75aef3f8cbc7b0b512c2fb57a9715953fb3720dd1ca099853c94b3c2f0700c44276d95afe55ba31ab78d751f4254fd320a
60 +DIST firefox-106.0.5-gl.xpi 548339 BLAKE2B 5434dcba35ec3c8d43724abb6a18db1e606cea31b483148826b6553a8337c54c315015d3c96aac47972d06aca3aa4ae5e175fd10709cb46ff2815704158a5319 SHA512 f2290a5cda8ae73d86890cb9d5533ef3145d1180a19d562e3c2f27c8ed1fbee64e2b2a8fcc2e74035337b8ee037cf217e11ff3f621fe240aca7c5a7df221064b
61 +DIST firefox-106.0.5-gn.xpi 577833 BLAKE2B 3f467bef54792583e091db63f3fa181054c7d0ce2d98a2f5609df19846e07a25907f788fb12997b1ce4ba01178093705fd4c0a76e4df4b04ea7c988e131adc1b SHA512 93290132e49bcb49479f8e25a5da71079b4412ccfe41e5abc085782342414201a88558a490b8695ed56debb763b548dab82268dfd25cbff08738f6175e78317c
62 +DIST firefox-106.0.5-gu-IN.xpi 537613 BLAKE2B 38750424136a440892485d0e5ce2d8c8d9e66bd6de614fea0f12e54365d9e5d38f7a72affebca47a937020395765007a363387b53a440b16dcc9b79f731a03ea SHA512 ecc4937e0fe5883735d4295b3cdd43871c75615277f9242564385d2a71b710200c91eef7be0088100024359ec7af6cb2efea965011a61d1616edd9ab62d63681
63 +DIST firefox-106.0.5-he.xpi 574405 BLAKE2B 53aa45151d128a83b59911c1bff1bd6b0deba8d8047d2bdcd7dda2553bacdd048b3826f68819190f642e87f4cc8d84343b09a078f074baae791776f651c628da SHA512 09a96c117fdc88eadf49c9c775ee5fcbb0ddf4215045e9058806a3e7a4511d60ea1a9eaba6b111e86bad6bcb0e6899393513f57076e61181b671846840c9353c
64 +DIST firefox-106.0.5-hi-IN.xpi 565724 BLAKE2B 11448db45c622c29e2bfefa83c36fff517f8cc9612785e822aaf3410b0b2eed86d22d0531aed31974022820e42187c4cdbc0a38719300485763275fb78c8878b SHA512 83414fdd1782e47d916fe6c3c3b6245d6c1f3d08f4c6f5be12ac6bf218b611f99e485ff02a39fbc554dcf7303517e30d6c899437bb39d70bdb7df5c1be0c6c7b
65 +DIST firefox-106.0.5-hr.xpi 539354 BLAKE2B 35fa9d08640c86b35d255cba0e345b5581f78362d27780731b51663dd78ee1cb6b1ebe22f34255da4e191e91b16dcb6dbc98ae05ec192806f602829cdad49c63 SHA512 71129e6403dbe4bf4a0a04bf1804de0b043207a553eed2277f56ec4a4cc6908b1854d0c11733f27d4faf426e65f24c933794c763e60d6dbde3a7ec1a1120b33f
66 +DIST firefox-106.0.5-hsb.xpi 583937 BLAKE2B eaea0f3043a401056c760faa413b3d8dab2f3b72ca9812cbe689f15bddd1e3b622825b54bd9251de33edee0e3fa011507dcc74e24e209e4fb574fb704cc8d766 SHA512 ac8f13d21664f1dbd826b63fe20c605448432427fc1cd46dd4112ee1bf47bafdd5db33dc2df33dec10a3048afbaf6bb57775f9e6d0e389c760d1bc488e1f51fb
67 +DIST firefox-106.0.5-hu.xpi 588143 BLAKE2B 2357d3f0a5acca5c668530a6fbe3e9abd4a2d25c1cb8ecc99f565eb865ed609b4027d2397b7cf014b5055839e4414461bc33c38fe8a94122c50c36c5b8dd0282 SHA512 f0e9f25fd3f214f8558c7a2a81cabb81cf93cbae1726897bd981f1481f2765b91092fefb5f43ab6a49894ccde2559c75bff9bb6e62d35f6e47bacf9b36c18455
68 +DIST firefox-106.0.5-hy-AM.xpi 592235 BLAKE2B 7cc4253fc3991d39405d62bde5a72827f2d27fe478e9c8b8b7d824931aade4b7a6fa8be9196f46eb978f7d9edc0564bb8b8e866ac2325dd3b700ba20f6b02acf SHA512 a7160a126a93a59bc83de487a57e053c1cdfb252a8b4119b961f4ab33d1a8468e3567affefdf293f682762397fb6c774c2a77236b651752ae4986e32158c3f33
69 +DIST firefox-106.0.5-ia.xpi 552330 BLAKE2B 00629c7bd84098e64a0078d6c22b2827befb18720d30a87a0cf6b8b9daed805eeae19b5308d2ad37d505d7924785c326b232935d9ee6928f40da50644725fb33 SHA512 45d9a7830c004f4d68effa895fb5fa5c4fe19c2a4bae7e2b395b5e9ff5b7c4f281e0ea3895a3a9804c11c19343b304d6421172b08cfd6e76c0800f883463b94e
70 +DIST firefox-106.0.5-id.xpi 549214 BLAKE2B 46dbe8bed67933867ca9e9e7ea333a0ed659d1f558a2cdfc6f61b22cada77b7499917fc4a5244eae81c9b7bfe459d8d510cc4b1059ef540fa49af521032c390b SHA512 be5f5df01bf46840a0805fa565053253fcbbd3da6571e11899850feeaf5112715431fd518f0ccc03a7581a38e1214165d1fbaa70026558c816b3e5e1f7eb08ce
71 +DIST firefox-106.0.5-is.xpi 562110 BLAKE2B e415aaf752ec7e215cb24c778fe61ec4e6c915b6d4324b027fce5e5c356e3c363d9bed1f9a48d3cc3f21f89cabf06cc1b39dfa5f3dbdec2bbadc4916d1489cfa SHA512 cdbf650a8b267a46b83e8c343fbacc6936f21109f8ae701ee78d31dacd29bb6f538d9fd2b0c79dbeba65500298dfe3027d32115b7edc42bb660d42cd485b562d
72 +DIST firefox-106.0.5-it.xpi 489730 BLAKE2B 326eb72f5d0bdcaf1998299415f614f0d1262f2436edc3d2318e9ad78f40c650b47a51aa45b0c96063f1984de276f0306b9fae60f3b730b5fe56dac0661c1e6b SHA512 43a3490ab6bbbd4377b867e6a0f9509a9c309b020f8b6cd02b24308f4c0e9a67365925100c197563cf7cd6c3f8d2048fd4202c09d311a4f53c09b4fd4211f020
73 +DIST firefox-106.0.5-ja.xpi 613425 BLAKE2B 555becd498685819ea062675c94c777f3539665ef8e5963ec5569c399b0e5a0e5120f3fd63c2da824932deea67b46fb11d613145599408b08e5fb48a3d313463 SHA512 5a00550ee0acb443b30cd17589c6de9273a2266c7dd83ea1808ec58c4e8a01006120d137a075f820a86b410f7aacb29e3bcb4a7c926c7201e12d2d0dab0839e8
74 +DIST firefox-106.0.5-ka.xpi 617310 BLAKE2B df71888b6ee5af28928df532154b9e0dfe68b3abef81ca723374136a48e4703f93f4dfe8211cf7875b56694a4bea7930554d184128a44cce5a735aaf17251518 SHA512 13a4dbcf91d06b7b00f3f46bd8b2a69815e60b12c3f6703ffcfebf7fd6ab55cb1b2fbaefbcf4cd14a7cf1ed2ee60b3b4e9fe9ccc54342c827f6d808551336f37
75 +DIST firefox-106.0.5-kab.xpi 572397 BLAKE2B 019a878fb42e150b67ab01b16ce4fa8b2cb37549782b40bf741f77dc94bc254d678c0fa79654b7348b375e1f31200863c3aefd67256646c2c604f30d0891757b SHA512 fa6c9d60dbc00a4cbe400e5bb99f8b2a7804a6b6a4f35afb2386ff0c279ebba911bc00c5625c821cdfbb24ee39d36ab35c7abfda12cd782c4a4480a35826b233
76 +DIST firefox-106.0.5-kk.xpi 633105 BLAKE2B 34ce6ff2b80ca85e2913175e1a3b338dd453fc33fd30241473efae501349548668d99d2265410475a1e4f7e2ddb2b61e2b4d04e97098e010ba6836eb75d0a951 SHA512 0e87e271f22900da932e397895b2b4ffaed0b1f54fb774b46f9c5a0f0f63b34afa3f37af5a49391e324865c6b0c8bd5238d26612f12881f46b6bd5595cf0ac7e
77 +DIST firefox-106.0.5-km.xpi 540442 BLAKE2B 59211d216f68a3af1e8ec63d6042e10439204071cb7c0d650f12fe364813092cdd3be90fdfaeb134770783c8e0bc373ef32491c28fbe8b202a86a8c86e3c5dea SHA512 f9e21e08ca3900bfd547fd0c62260b1306dd1654d7a42fac27b0385b1ffd108c6907cf617093e4a2c87560f9189db67bab66bc6f59dac7637e6e21a42d647ab8
78 +DIST firefox-106.0.5-kn.xpi 505947 BLAKE2B 824acef632ceaa75f13817b335d69a1d861a88709d32e0ed16258bf17f1c1e85a5603541ded22eb194c48b133321439de0ae0804518716bbc735f7ae2e76be23 SHA512 5c7682f213cfd289bb314910ad8ec27bf34f619969cbc1577f4783c06381dc4d458410b020e208f566155acb15fd36a7b65d2fffca964e3910793446fb99554a
79 +DIST firefox-106.0.5-ko.xpi 599627 BLAKE2B a859239fa6e08e107d690a5be6515afe7504267dc4a19fb791e3605fc645b64f4cf41a47efa282de6104f32a000aaa70d95fbf783a1fc43238af3e117e06cad0 SHA512 c444b6179484829944ef415f897cd91629473436879779351c3347b979bffe5786c7d357a5f8d5e147ec2ac9160f17f56b752fbe3d7e49b357d10a63162b6dc6
80 +DIST firefox-106.0.5-lij.xpi 477209 BLAKE2B 20259c9783e6e2f9320d661388ffaf28c78b88da067cafd60814c278448d7eb40619f13724bc2f85b66ce4a6a2411912ae51865a2ca4a4289523d31ae058f0b3 SHA512 b2deb5dc97271d293aea6745ca778b0365a5aacc584d0a6bbaf3c664c20ee175cdbec6922cdee69b39d63aea933effd5ad0efe39382929662531bd59386bc603
81 +DIST firefox-106.0.5-lt.xpi 569659 BLAKE2B 6487cf12f74f8fd4200de45f9cd25f362c457904163da7b47aaf2c57829c576b8033748178ad28cc26b29d8c7fab7c80ba4eddf3e3bc91d6771a3e9654db8e3a SHA512 629145846d89adcde1bbe44babcdc5b80d8dee8ca7d3387c61c587f089cb672537e5dffa584927c2933ebf9b1797fa461351a8a1e8e0b03f412eaf5697fa25cd
82 +DIST firefox-106.0.5-lv.xpi 472685 BLAKE2B 726cf76968ebcceb07b593a0296e399882298aadcbde6abdd7c39ce623fca4f2f41544fd18898cfe2990b0d2617da0f85158db70ddf6eba2e87250d1433b401c SHA512 b709952d31326b5865e125c8e6ba244fe3ced420dd1d375b3399be18986c81ee644493f51dc62a3c76e8f07f073292cb51fc48617da0217566cbf0978030997f
83 +DIST firefox-106.0.5-mk.xpi 496316 BLAKE2B 849f69eb7a7215791d4702f82022e95138ba941c8a9278c648cd6e13cb3cde9e00fb442b2986973dfe4c176d985cb775b932d33184f54c03370e5d1ce8ddb72d SHA512 0c4c19610acdd1debdb9dbfe03ef72b3ecf5a0ee199c36ce44b209e09a23eaff762b3712feb5cfbc639136e2ed9ac4516fc7c44044abc51f07b7ed26b741b879
84 +DIST firefox-106.0.5-mr.xpi 539617 BLAKE2B e91b907627babb6a2013dfd05daf3ae6d77b9b244ea3355e8cc7f35885ef449cd508483756eec5d60a8da81388a8fc5e2aaf24a393361baa63a70ad30abd9e3c SHA512 ccfc3a35554ba08cb823c2585d16e5d9ecf1634f8a7274bb0710941341f63478b29f25eca512e27b186c6c3152376450a9a7266159e34f553e700aec3a1850ec
85 +DIST firefox-106.0.5-ms.xpi 456690 BLAKE2B 03bc0f3486633c3c99c7f628db8134af4e7331aadd61755a54b55eb909d5a1e59376ce16b55aab622ee9f82c73d6ae0a795c092e74a11cdd4f5fb751cb09b4cd SHA512 81f21ca063f790fc46dbfb06434e90dbd3ba959f46155abfe0b7265715a0c93379362c934fa3d18933202b58a26b9f73a39008c8f1e0676af27fdbc9c89e8702
86 +DIST firefox-106.0.5-my.xpi 526208 BLAKE2B d698b5d32812864487fc59dde2a8c3c5ef5c83c689dca223d0873bb6a09f1f0a23a8353661f60b010240be484b48decb157a43ba099bced4a10cdf6e6fba5e6f SHA512 42aafc9ea3928921debe84d6b660784b94abae8b9ab5c891c852108ed97213264b6abf7727d59a54f5eb1ec547b4ebb97af88d077ec886abb25645fa159c8b2d
87 +DIST firefox-106.0.5-nb-NO.xpi 550278 BLAKE2B bd497419715f9c099ead0c66853890740ecd7bb87da5d800bc460a5c441c67c6e2608cac85b85aec8e8de3fdf1f7ca2b9be052add6503364715125782419e299 SHA512 672350062c9e928919c8ddf2f785ec4e53aa1881a973b470810575749e74c8f7516391989380615dbd17ce9d33ece7aecc3aba0ef50a9413dd764fc8e82c0717
88 +DIST firefox-106.0.5-ne-NP.xpi 493202 BLAKE2B 8992b3fd6a569ea354d9b3e39fe110c8c5ed4af4cbb2ed53def260cb790ac8841f9223e6256a037887d7c3d2cc2ef38d82a4d8ad126135a4c64f2577187a9d33 SHA512 e881a890bacacad23b530602ce671a500bf56632d712f085014d0d81fc8937cc609ccde7ecef8c0ed797c2fbecfc6a5741bf568e2c70ed733dad4ec064a26017
89 +DIST firefox-106.0.5-nl.xpi 557954 BLAKE2B 37880fe10730d1c328b09716f11e2a8be33e1c2d5299362e8ace4069d37d4d900eaa08760fb0e0f3a24cc80a09aa8415b94b12ad93280fd9ceb1798bc595b06b SHA512 8deeaa8f36c4b1bd84dc7acfd6d857228719dbe0d1e5351f71f6b8a86f2554d97ac74d43166eefc5c83720c81050b0934c0a0e742652ab95eb7083c5c3bd0941
90 +DIST firefox-106.0.5-nn-NO.xpi 550862 BLAKE2B 5f24a45f8b48e0c5415996a4d9b4a4be6307fe0cc3879bb2e6c68631e438528d7b271baeff6e4c034d8301461da3b9d7a446c4ea5c6dd355d9aceeccf2f05a3b SHA512 177695e949f83583873b9a3057c0448fab85af4668ad4bac7412e42b353b2f6394107abebefbd0322af3fd7c82c97693bc9d682e172caa6e9581911d0c7e66f3
91 +DIST firefox-106.0.5-oc.xpi 574500 BLAKE2B 3f326f02f7d5549c765a159da0d5f74af3a7a63a89277b2f98167bf4672a6830fec3bf68ab08343693baf7147dd62d0b9f718412b0c2f8e7b5c3e921f1806664 SHA512 9a9cc0e337448728f9122fb5eee34197f5599adb08b12c2ab2476927298467fcee60913c6bef0f4b18f207caa4a3b23b9b5811bbd79ea031d130a4a66997d522
92 +DIST firefox-106.0.5-pa-IN.xpi 630418 BLAKE2B 2152f57d7b635db4596ed0780593e4b8ed2e151ee0af7902ec394b781824b7a6b1e16af9e2ee2fc7f0493a1edcc400b83063e0d76a96e7472103d18c87d13b3d SHA512 7cce02ef634bbba9c988eaa62b8b6a460a8fa761da65f2b452006cae2643333502b6220592c21536b36cdf9d12f673e216fc91223d1663102290d4c0be4ffa2b
93 +DIST firefox-106.0.5-pl.xpi 580618 BLAKE2B bb3e7a8998f0c0f15d402946f2736f28563d37881622172fc3b84304d50292b8a5be564521f565dbbc48bdf840eb9755d36968b6b682a43b67b2f53f39c655a7 SHA512 aa4d1467f9d8aa1ca55a29607a6d788eb37225d8e5c4e2aff2e7befbac6edcae5b42b350186f689be0b3a9021c580ad941e128d0ca5f00d4728d5641784d2990
94 +DIST firefox-106.0.5-pt-BR.xpi 563207 BLAKE2B 76b9e38ef20fcdbfc06eddcf19e89119e1dde736823467481bedaf646a37205e97a00d75cb20abec38e355a7c32fe32d2f2ebd754ff7ef34d7d2d79a9e2dd3e7 SHA512 e2f9a8c9dd84aa10b415c5e7d837e123503059f806c76d9c29ae7f15d50704b49ef4fff3603defec0a24277012e495271eb113b887114235a3ddf9161de5fc2b
95 +DIST firefox-106.0.5-pt-PT.xpi 567720 BLAKE2B ce79e4401e4d5b9158c7b3594674f9def5edc12c600a836e0e13786fea963f320fb6dc60215bb6623024309b04f49fa7d8e940530e39dc192be9db26bf341d14 SHA512 76c8f4fb02acc531654cf779043fa5800473e2e079f04339ff4ada7a020ffac57c6dc8381bc7add56e28a6ee86d38a987bc4e463c142e3fddca3154d29bb34d5
96 +DIST firefox-106.0.5-rm.xpi 558463 BLAKE2B 7f312dcfc3b45ecd30bcd5064880533e103471f1c84e6b9c21ae536f3b1c772d7d3ed838f83ecc1637d73537fb730ce19ca4b40de79928422aced758363a2d54 SHA512 1dc522ae3b927952a42cd81bc514b134b54dcf01ce5a919345228dcdc410693e63c0f15127aee1a81730a26d3ec4a411ef089f10bc3cc03d464dfb07c6284dda
97 +DIST firefox-106.0.5-ro.xpi 539422 BLAKE2B e1fd038df1d26f0c5bd71d60de2623ad8b1ba6334786e3d0d9b32409cb902a034aec9ad63496b78567f54ec65731aa202102556fefedf7de7c4d3d4106304b62 SHA512 fed46c3a08d3a3e3c3038341a09c3488da9f98ebb81365e977134ee964308dfe6a83f8b98b76e728a2a2f2bf8395d1e05f0f4baeb13eb9369c4e7fe628871439
98 +DIST firefox-106.0.5-ru.xpi 652369 BLAKE2B bf77822f79dd91443445b515fb4335a166961a3ad9fda9b0d0171df0b693e6982ef87d2355d929b7184ad4e2cbe4f8d06aa6b25667be6b92f04b91f05d0c43fd SHA512 c2c4ff14e671c51fde2d48698a6d9d6739758b14c29aefc6f6b400b524b96896a950c66c404fd9fa97c395205f4e61a852142608bc0b1e7c2d115239303d4c49
99 +DIST firefox-106.0.5-sco.xpi 509981 BLAKE2B 2a0ed699c4ccccef4182aa2fcb7387d40469b55e6899a2d27740cd6077d888746179ecb49d0d18c1b9bef02fea4ca92cf665436f079137208c54dd4133dd31bb SHA512 d68f4fedfa5b9bb02a3670ff06463d931db938cb0bea2dc677849fa41c60cf47ae62d11b736d031ebae846d7d8539ca6ed01defd198ecb20e1414412e2e76f9d
100 +DIST firefox-106.0.5-si.xpi 577779 BLAKE2B 4ba309dd6dd1c82bcabc22f2cfdda7cda51058b17691e1a8b1917c2dca3a425ccce27986281fdabd2990be0eb1fe9e8fc9b251f4324b09b073450655d59e4db3 SHA512 add05d95b33e3b58f0a87c8f7dc537f7ce9e4083db30d79fa8343c14a21d11a28965362ae0ce3aaffde82a4dcb489b83c7d5e73708d7298fff77edf6ddedff87
101 +DIST firefox-106.0.5-sk.xpi 588292 BLAKE2B f580d1ba5e236546fb9187700a1f6066d8b878e1de9f9c3fd9cb860b486cc9af65d51fa94a30c9067a721ebcaa3a2ac9a41d543a09ab9317d8bfa27897bedc3d SHA512 171379ddeaaa0ca74a77dfb38b6a6b050c85f1196cce7f201eeec91dd420d7727e87585ec2ee909a8c87260007fc864472d4ddd00d4e050b13068219dbf3d361
102 +DIST firefox-106.0.5-sl.xpi 561270 BLAKE2B 05aa422fced74664b279c78294ccfcf19d16e068b20590bd103036722ac8970163ba1cd764d27ceb7b8015514e67006ab03f53e0dea27f621d9135b40ea76b1c SHA512 bb461cd7a7b6f90494b1c99dfd7b99f1dffee7454c1adafc89c00fffa25c2ce17c45b1a99f0bf3b7955ae9c172b8f31ce0adc6e0686d7a7bda41550b34b1922b
103 +DIST firefox-106.0.5-son.xpi 429538 BLAKE2B ddaf8104c05a43780b4995ff9e54a39aed42638e07bf541ff4488d5453bea12ff25d79ca00a3444d8c7f2c8e6df7915998398072df56e16078f264b421c58c71 SHA512 fa03ba54882abc6951d44011679d3446465973799675feea44189643e52e504042a2d8e19ea940508ca2e2c2233135f936258510b8d58e023597c26206d3ae9c
104 +DIST firefox-106.0.5-sq.xpi 565743 BLAKE2B 9ee8d512fed4fe0f7512830af6a9c5f815a883d9c6eb92f95d971d9befaef1336654afcf4a68bb97c1fd4b38ff127350651cde41bf61f5d5c18c70006f02479b SHA512 14f2c51e030a2a71170a4a83e847a80c00e6e7e06e1e5ac9e5c13ac9e3f32157ded5504f1b7060cce49343a6640ac9516d68c6d12c2acd41877e42ac38d920bb
105 +DIST firefox-106.0.5-sr.xpi 607534 BLAKE2B 61cc1b99fde5f11246433b6d7c408f29d07fb9216bbbe5b0e6ee848ca3b8fed1213e66cecf1da31b5e29e5f526b5557415338b92b3e5e5e4dfee268a48750a95 SHA512 190b07ac194854474155d6962906f3acbc27cea8a97e447a506030f6fba436e266f67147c426fbe14d0d4026f4c24d1f3e21dfe22c09fa22aa5e28a1dd29a73d
106 +DIST firefox-106.0.5-sv-SE.xpi 559807 BLAKE2B 3904d2a976b1f7ccc516c2907b2f552ded0b8808bde5e90c00d6fc37996a0df4b220aeebd9bb010c9bc299c75671074040e3eef58e9a45118fd88ee7ee9ce93d SHA512 417ac990e19ad5792b4b4e5f36961a8d2e5563288dab6e983a141ada9700bb01d3a1df1aa694811f2760b59223800034a8debf0f30eab56199755ea6950046ef
107 +DIST firefox-106.0.5-szl.xpi 523781 BLAKE2B c98b53203c8e28742efb2a487f26a272212201d6d7068f610144e097a50372bac8ed4ddc38b154bc326cc9e47ff6f16066f611e5ea996f36445ecf269d2d19b4 SHA512 19a4da3d44c0dcdba287fea0345f909278ed73192e9d7eee33cc263caf7f30b0c1f4b425941f0c355abb931c7863dc43479d3c8c70f90b3262aaf0f913aeedec
108 +DIST firefox-106.0.5-ta.xpi 517840 BLAKE2B f1c9d0c0ce3c5f54f8329e253c898d695106cc4dca94666e707926989065499d573d7da33f1123fabe9df1804dedc6487d2aec883570de8ff2c2a9afbc8029e4 SHA512 92a69e5a448a72724ce09ed05f33833c5de4e5c3c2b6bef12c6eb5551700a260c119f7891abe8b048ca3d28b40c0f872a89cff8d138d674b10c164880cca7c77
109 +DIST firefox-106.0.5-te.xpi 564272 BLAKE2B 9b78f32aa3d8f860eec7dedc60603babd0e76ebd64956169b2d0a1321b25e4af0f0abb6a396d67003b5ca360658b7508aeca592b4507642d9a6960df2f351413 SHA512 9663021e2d9007d6bc15c52e53ab99efe841ac1b810a4e6ecb5ef0de088506c0e8928d29f7d6b5ce94cf6c4b7dbea8d03879f1832808c18d5a7bd69de58d81fb
110 +DIST firefox-106.0.5-th.xpi 628695 BLAKE2B ee25db9d7d68e9071e953d2abe574d728a9b2779ea96c3d99b4dd8027bdce3fb2f67e1bcacabf87d4eee4c808b6cb0962616229108d50908dc110d091847fd80 SHA512 6117c8f99c7297e27f77fc62a18645a57d62f53e40fd88e1377af7ea640c6e469dbbfe7d6d72b54fae493c8e21c54bb13667b9864f708d1268b671e4692c7187
111 +DIST firefox-106.0.5-tl.xpi 528360 BLAKE2B dd4fd51644aefb6768b161faec0109f12c0b31a9607c1e41d8e36f54ee4998ad81675f5b1ec48059e1598723e56be4f7c56f9562040222fd9e440ee8e030134d SHA512 bd8b4fada5b0ef7df2e5e7a842a1b681902cff5d9c86dd3ecf915af675440bc47b2e4fcae9affd34d1baccde192a1d3c56d2bea99b44c0d57e816d53c4fb3a00
112 +DIST firefox-106.0.5-tr.xpi 573861 BLAKE2B 16a3d060e69efc9aff18198117b97368bc1f32fcc1ba2284b9310458e9ad3f13e1e58a4d5291fee9008a1f32e748f2b2226e44c375496d0c18d08ba860d2a337 SHA512 5e38b6adeac66d64d727097008cf3eae3915a1298993a964f5aee72c48e52cb76e52aa0ecac8cf7ab7aab6c6baa3e542e7f80739daf4a5981becd0d785a2c9d9
113 +DIST firefox-106.0.5-trs.xpi 493783 BLAKE2B f32516bf984b2f3362d62c6cc31bee04555e93504a7cb36f1d8386ae54fcbf9887a5594a4bf6c270187f38cb8a5647ce29ccccc3fc4a9b07a32ecf9aec5a1941 SHA512 c6e2298a21625c56480279f1f9df8996cd245bf3d353c311c3564247de36649368c552cb7bd3b18ee55dd7f734066aa92ef069b7cab6a422a72fe1215e1889c1
114 +DIST firefox-106.0.5-uk.xpi 645602 BLAKE2B 4c7d0922636a2d046c4c9089f44636b397909b012943874671dbc08a952568a882d8c68b61a7bf3b4a314a9acb1a48908a7965260064acd25ad45fe572b607a2 SHA512 2a5bc9a511eb139bcce10f8655fd0311a00507e362003a0d4396dd406339d706c6383685723741822e12dd24574cd925eae1ff527568834343b887d8e5654081
115 +DIST firefox-106.0.5-ur.xpi 566156 BLAKE2B aa26ff80472014e1b3f65edf4c5ef5fc46dd69a695934ac5a25c6231983396594417ffd5e9c4e7118e5eaff817c6ebea5917c14d5847adc30a9e6dcd174ac603 SHA512 1dd97f6db124789cefd2b80ea41c7e808ae3de06c70bb66342aa3bd0c4f398ea56d9ed61df5e6052ebefd967d1ec24a32adc278246b39a8de5634d470373758b
116 +DIST firefox-106.0.5-uz.xpi 485828 BLAKE2B 09cc2c11a3e78a6a8e4e8c0d2f45bb5fb100d705e7d60f93217e212ddf913776ee1ab4fe6cd18c0bf7a3312d5dd2eccd7ad6e66a65471cbb2b12fc5129dcd364 SHA512 cb8f2c166889281e2412fa34248688b0f6c732d503e22074685891c1404f8ba250ec79f799248f96c8a777f9e7a55bd057202238f146e683cf893e1030c212fd
117 +DIST firefox-106.0.5-vi.xpi 595202 BLAKE2B cb5bddd1aa07e20997fe0cc2ba8ce39c58694abce050bc7531d91f451a30e48644f0892db17f8909c53fd4e037e9d3ce83c05a383ea7ff5b7e320c2be22a8d4a SHA512 63c3e69251ba65cdedbcc06cc1a70bb40235eeef5be86b2220571f23aadc8fe293ef80a75972187f5b4ae64e7ba325283cb07c917f68aaba9fdbf03a53156336
118 +DIST firefox-106.0.5-xh.xpi 426998 BLAKE2B 233fffe6c5cae7492d9ed68434a2d8728d1630f1ef2022658c6be649b02694a1ccade9254f6d428a4b60776ba9a32a2c947783892b835cc4cb812cc4e193b092 SHA512 0c85f12a7fc443f48f6b1c3a50acd54feceb65216124bde64f47d02f921e9a33369b611b205c21468a69bd7315f0b2c553a727b9819a816da76fb11ed13a4dd0
119 +DIST firefox-106.0.5-zh-CN.xpi 595327 BLAKE2B 8ec7d74b482bb78aeddc5549bc4dcfb61c8a6c0aacba208ec107dde36a5798b79abc6258fd1b9180922ddcf59beee8c144ed8bd53d14fefa3f909d3657e64c6f SHA512 54261aaee801365967968f97f3658bc34a91a8c068c563fc31de54f5fbe5e4d20bc8be4995ea5a74719b9efd2d0b38719c5ff19b2826f042db5ded80f1847e27
120 +DIST firefox-106.0.5-zh-TW.xpi 596097 BLAKE2B 12f423ad06d9424cf0e08d960bcb43291e205bde5555a52e0f9351c3590c7b6f66c84e9b49fdd7b722df101c7c7fa65f80a6e8df3369a24869395ee8d3c41c2e SHA512 73ebf18f10a31877e9423c9bd1a04c0bcca9a091a3d8cdcadcb6a11cf9f5b29c94b7c19b57560734ee71f79ca296b0e589f85054527498cb7c5027ebb246353f
121 +DIST firefox-106.0.5.source.tar.xz 500379208 BLAKE2B 76cbb04bd0555cdf69d9c29fdcd57745eceaca581224d0a4c3de14735baca72632f800485749184eb7ccb183adf0a706010bda651b7c3a293cedb3f90ec9e207 SHA512 879b054340d632c5d972888ceb67da0d02f28f6755e9683c8e4e7fb71b55bde0e588b98e24bae448ffea8ddd3e30c44dc0563554ecd69506862796a64ca040d7
122
123 diff --git a/www-client/firefox/firefox-106.0.5.ebuild b/www-client/firefox/firefox-106.0.5.ebuild
124 new file mode 100644
125 index 000000000000..0c86994fb351
126 --- /dev/null
127 +++ b/www-client/firefox/firefox-106.0.5.ebuild
128 @@ -0,0 +1,1321 @@
129 +# Copyright 1999-2022 Gentoo Authors
130 +# Distributed under the terms of the GNU General Public License v2
131 +
132 +EAPI=8
133 +
134 +FIREFOX_PATCHSET="firefox-106-patches-02j.tar.xz"
135 +
136 +LLVM_MAX_SLOT=14
137 +
138 +PYTHON_COMPAT=( python3_{8..11} )
139 +PYTHON_REQ_USE="ncurses,sqlite,ssl"
140 +
141 +WANT_AUTOCONF="2.1"
142 +
143 +VIRTUALX_REQUIRED="manual"
144 +
145 +MOZ_ESR=
146 +
147 +MOZ_PV=${PV}
148 +MOZ_PV_SUFFIX=
149 +if [[ ${PV} =~ (_(alpha|beta|rc).*)$ ]] ; then
150 + MOZ_PV_SUFFIX=${BASH_REMATCH[1]}
151 +
152 + # Convert the ebuild version to the upstream Mozilla version
153 + MOZ_PV="${MOZ_PV/_alpha/a}" # Handle alpha for SRC_URI
154 + MOZ_PV="${MOZ_PV/_beta/b}" # Handle beta for SRC_URI
155 + MOZ_PV="${MOZ_PV%%_rc*}" # Handle rc for SRC_URI
156 +fi
157 +
158 +if [[ -n ${MOZ_ESR} ]] ; then
159 + # ESR releases have slightly different version numbers
160 + MOZ_PV="${MOZ_PV}esr"
161 +fi
162 +
163 +MOZ_PN="${PN%-bin}"
164 +MOZ_P="${MOZ_PN}-${MOZ_PV}"
165 +MOZ_PV_DISTFILES="${MOZ_PV}${MOZ_PV_SUFFIX}"
166 +MOZ_P_DISTFILES="${MOZ_PN}-${MOZ_PV_DISTFILES}"
167 +
168 +inherit autotools check-reqs desktop flag-o-matic gnome2-utils linux-info \
169 + llvm multiprocessing pax-utils python-any-r1 toolchain-funcs \
170 + virtualx xdg
171 +
172 +MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/releases/${MOZ_PV}"
173 +
174 +if [[ ${PV} == *_rc* ]] ; then
175 + MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/candidates/${MOZ_PV}-candidates/build${PV##*_rc}"
176 +fi
177 +
178 +PATCH_URIS=(
179 + https://dev.gentoo.org/~{juippis,whissi,slashbeast}/mozilla/patchsets/${FIREFOX_PATCHSET}
180 +)
181 +
182 +SRC_URI="${MOZ_SRC_BASE_URI}/source/${MOZ_P}.source.tar.xz -> ${MOZ_P_DISTFILES}.source.tar.xz
183 + ${PATCH_URIS[@]}"
184 +
185 +DESCRIPTION="Firefox Web Browser"
186 +HOMEPAGE="https://www.mozilla.com/firefox"
187 +
188 +KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
189 +
190 +SLOT="rapid"
191 +LICENSE="MPL-2.0 GPL-2 LGPL-2.1"
192 +
193 +IUSE="+clang cpu_flags_arm_neon dbus debug eme-free hardened hwaccel"
194 +IUSE+=" jack libproxy lto +openh264 pgo pulseaudio sndio selinux"
195 +IUSE+=" +system-av1 +system-harfbuzz +system-icu +system-jpeg +system-libevent +system-libvpx system-png system-python-libs +system-webp"
196 +IUSE+=" wayland wifi"
197 +
198 +# Firefox-only IUSE
199 +IUSE+=" geckodriver +gmp-autoupdate screencast +X"
200 +
201 +REQUIRED_USE="debug? ( !system-av1 )
202 + pgo? ( lto )
203 + wifi? ( dbus )"
204 +
205 +# Firefox-only REQUIRED_USE flags
206 +REQUIRED_USE+=" || ( X wayland )"
207 +REQUIRED_USE+=" screencast? ( wayland )"
208 +
209 +FF_ONLY_DEPEND="!www-client/firefox:0
210 + !www-client/firefox:esr
211 + screencast? ( media-video/pipewire:= )
212 + selinux? ( sec-policy/selinux-mozilla )"
213 +BDEPEND="${PYTHON_DEPS}
214 + app-arch/unzip
215 + app-arch/zip
216 + >=dev-util/cbindgen-0.24.3
217 + net-libs/nodejs
218 + virtual/pkgconfig
219 + >=virtual/rust-1.61.0
220 + || (
221 + (
222 + sys-devel/clang:14
223 + sys-devel/llvm:14
224 + clang? (
225 + sys-devel/lld:14
226 + pgo? ( =sys-libs/compiler-rt-sanitizers-14*[profile] )
227 + )
228 + )
229 + (
230 + sys-devel/clang:13
231 + sys-devel/llvm:13
232 + clang? (
233 + sys-devel/lld:13
234 + pgo? ( =sys-libs/compiler-rt-sanitizers-13*[profile] )
235 + )
236 + )
237 + )
238 + amd64? ( >=dev-lang/nasm-2.14 )
239 + x86? ( >=dev-lang/nasm-2.14 )
240 + pgo? (
241 + X? (
242 + x11-base/xorg-server[xvfb]
243 + x11-apps/xhost
244 + )
245 + wayland? (
246 + >=gui-libs/wlroots-0.15.1-r1[tinywl]
247 + x11-misc/xkeyboard-config
248 + )
249 + )"
250 +COMMON_DEPEND="${FF_ONLY_DEPEND}
251 + || (
252 + >=app-accessibility/at-spi2-core-2.46.0:2
253 + dev-libs/atk
254 + )
255 + dev-libs/expat
256 + dev-libs/glib:2
257 + dev-libs/libffi:=
258 + >=dev-libs/nss-3.83
259 + >=dev-libs/nspr-4.35
260 + media-libs/alsa-lib
261 + media-libs/fontconfig
262 + media-libs/freetype
263 + media-libs/mesa
264 + media-video/ffmpeg
265 + sys-libs/zlib
266 + virtual/freedesktop-icon-theme
267 + x11-libs/cairo
268 + x11-libs/gdk-pixbuf
269 + x11-libs/pango
270 + x11-libs/pixman
271 + dbus? (
272 + dev-libs/dbus-glib
273 + sys-apps/dbus
274 + )
275 + jack? ( virtual/jack )
276 + libproxy? ( net-libs/libproxy )
277 + selinux? ( sec-policy/selinux-mozilla )
278 + sndio? ( >=media-sound/sndio-1.8.0-r1 )
279 + screencast? ( media-video/pipewire:= )
280 + system-av1? (
281 + >=media-libs/dav1d-1.0.0:=
282 + >=media-libs/libaom-1.0.0:=
283 + )
284 + system-harfbuzz? (
285 + >=media-gfx/graphite2-1.3.13
286 + >=media-libs/harfbuzz-2.8.1:0=
287 + )
288 + system-icu? ( >=dev-libs/icu-71.1:= )
289 + system-jpeg? ( >=media-libs/libjpeg-turbo-1.2.1 )
290 + system-libevent? ( >=dev-libs/libevent-2.1.12:0=[threads] )
291 + system-libvpx? ( >=media-libs/libvpx-1.8.2:0=[postproc] )
292 + system-png? ( >=media-libs/libpng-1.6.35:0=[apng] )
293 + system-webp? ( >=media-libs/libwebp-1.1.0:0= )
294 + wayland? (
295 + >=media-libs/libepoxy-1.5.10-r1
296 + x11-libs/gtk+:3[wayland]
297 + x11-libs/libdrm
298 + x11-libs/libxkbcommon[wayland]
299 + )
300 + wifi? (
301 + kernel_linux? (
302 + dev-libs/dbus-glib
303 + net-misc/networkmanager
304 + sys-apps/dbus
305 + )
306 + )
307 + X? (
308 + virtual/opengl
309 + x11-libs/cairo[X]
310 + x11-libs/gtk+:3[X]
311 + x11-libs/libX11
312 + x11-libs/libXcomposite
313 + x11-libs/libXdamage
314 + x11-libs/libXext
315 + x11-libs/libXfixes
316 + x11-libs/libxkbcommon[X]
317 + x11-libs/libXrandr
318 + x11-libs/libXtst
319 + x11-libs/libxcb:=
320 + )"
321 +RDEPEND="${COMMON_DEPEND}
322 + jack? ( virtual/jack )
323 + openh264? ( media-libs/openh264:*[plugin] )
324 + pulseaudio? (
325 + || (
326 + media-sound/pulseaudio
327 + >=media-sound/apulse-0.1.12-r4
328 + )
329 + )"
330 +DEPEND="${COMMON_DEPEND}
331 + pulseaudio? (
332 + || (
333 + media-sound/pulseaudio
334 + >=media-sound/apulse-0.1.12-r4[sdk]
335 + )
336 + )
337 + X? (
338 + x11-libs/libICE
339 + x11-libs/libSM
340 + )"
341 +
342 +S="${WORKDIR}/${PN}-${PV%_*}"
343 +
344 +# Allow MOZ_GMP_PLUGIN_LIST to be set in an eclass or
345 +# overridden in the enviromnent (advanced hackers only)
346 +if [[ -z "${MOZ_GMP_PLUGIN_LIST+set}" ]] ; then
347 + MOZ_GMP_PLUGIN_LIST=( gmp-gmpopenh264 gmp-widevinecdm )
348 +fi
349 +
350 +llvm_check_deps() {
351 + if ! has_version -b "sys-devel/clang:${LLVM_SLOT}" ; then
352 + einfo "sys-devel/clang:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
353 + return 1
354 + fi
355 +
356 + if use clang ; then
357 + if ! has_version -b "=sys-devel/lld-${LLVM_SLOT}*" ; then
358 + einfo "=sys-devel/lld-${LLVM_SLOT}* is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
359 + return 1
360 + fi
361 +
362 + if use pgo ; then
363 + if ! has_version -b "=sys-libs/compiler-rt-sanitizers-${LLVM_SLOT}*" ; then
364 + einfo "=sys-libs/compiler-rt-sanitizers-${LLVM_SLOT}* is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
365 + return 1
366 + fi
367 + fi
368 + fi
369 +
370 + einfo "Using LLVM slot ${LLVM_SLOT} to build" >&2
371 +}
372 +
373 +MOZ_LANGS=(
374 + af ar ast be bg br ca cak cs cy da de dsb
375 + el en-CA en-GB en-US es-AR es-ES et eu
376 + fi fr fy-NL ga-IE gd gl he hr hsb hu
377 + id is it ja ka kab kk ko lt lv ms nb-NO nl nn-NO
378 + pa-IN pl pt-BR pt-PT rm ro ru
379 + sk sl sq sr sv-SE th tr uk uz vi zh-CN zh-TW
380 +)
381 +
382 +# Firefox-only LANGS
383 +MOZ_LANGS+=( ach )
384 +MOZ_LANGS+=( an )
385 +MOZ_LANGS+=( az )
386 +MOZ_LANGS+=( bn )
387 +MOZ_LANGS+=( bs )
388 +MOZ_LANGS+=( ca-valencia )
389 +MOZ_LANGS+=( eo )
390 +MOZ_LANGS+=( es-CL )
391 +MOZ_LANGS+=( es-MX )
392 +MOZ_LANGS+=( fa )
393 +MOZ_LANGS+=( ff )
394 +MOZ_LANGS+=( gn )
395 +MOZ_LANGS+=( gu-IN )
396 +MOZ_LANGS+=( hi-IN )
397 +MOZ_LANGS+=( hy-AM )
398 +MOZ_LANGS+=( ia )
399 +MOZ_LANGS+=( km )
400 +MOZ_LANGS+=( kn )
401 +MOZ_LANGS+=( lij )
402 +MOZ_LANGS+=( mk )
403 +MOZ_LANGS+=( mr )
404 +MOZ_LANGS+=( my )
405 +MOZ_LANGS+=( ne-NP )
406 +MOZ_LANGS+=( oc )
407 +MOZ_LANGS+=( sco )
408 +MOZ_LANGS+=( si )
409 +MOZ_LANGS+=( son )
410 +MOZ_LANGS+=( szl )
411 +MOZ_LANGS+=( ta )
412 +MOZ_LANGS+=( te )
413 +MOZ_LANGS+=( tl )
414 +MOZ_LANGS+=( trs )
415 +MOZ_LANGS+=( ur )
416 +MOZ_LANGS+=( xh )
417 +
418 +mozilla_set_globals() {
419 + # https://bugs.gentoo.org/587334
420 + local MOZ_TOO_REGIONALIZED_FOR_L10N=(
421 + fy-NL ga-IE gu-IN hi-IN hy-AM nb-NO ne-NP nn-NO pa-IN sv-SE
422 + )
423 +
424 + local lang xflag
425 + for lang in "${MOZ_LANGS[@]}" ; do
426 + # en and en_US are handled internally
427 + if [[ ${lang} == en ]] || [[ ${lang} == en-US ]] ; then
428 + continue
429 + fi
430 +
431 + # strip region subtag if $lang is in the list
432 + if has ${lang} "${MOZ_TOO_REGIONALIZED_FOR_L10N[@]}" ; then
433 + xflag=${lang%%-*}
434 + else
435 + xflag=${lang}
436 + fi
437 +
438 + SRC_URI+=" l10n_${xflag/[_@]/-}? ("
439 + SRC_URI+=" ${MOZ_SRC_BASE_URI}/linux-x86_64/xpi/${lang}.xpi -> ${MOZ_P_DISTFILES}-${lang}.xpi"
440 + SRC_URI+=" )"
441 + IUSE+=" l10n_${xflag/[_@]/-}"
442 + done
443 +}
444 +mozilla_set_globals
445 +
446 +moz_clear_vendor_checksums() {
447 + debug-print-function ${FUNCNAME} "$@"
448 +
449 + if [[ ${#} -ne 1 ]] ; then
450 + die "${FUNCNAME} requires exact one argument"
451 + fi
452 +
453 + einfo "Clearing cargo checksums for ${1} ..."
454 +
455 + sed -i \
456 + -e 's/\("files":{\)[^}]*/\1/' \
457 + "${S}"/third_party/rust/${1}/.cargo-checksum.json \
458 + || die
459 +}
460 +
461 +moz_install_xpi() {
462 + debug-print-function ${FUNCNAME} "$@"
463 +
464 + if [[ ${#} -lt 2 ]] ; then
465 + die "${FUNCNAME} requires at least two arguments"
466 + fi
467 +
468 + local DESTDIR=${1}
469 + shift
470 +
471 + insinto "${DESTDIR}"
472 +
473 + local emid xpi_file xpi_tmp_dir
474 + for xpi_file in "${@}" ; do
475 + emid=
476 + xpi_tmp_dir=$(mktemp -d --tmpdir="${T}")
477 +
478 + # Unpack XPI
479 + unzip -qq "${xpi_file}" -d "${xpi_tmp_dir}" || die
480 +
481 + # Determine extension ID
482 + if [[ -f "${xpi_tmp_dir}/install.rdf" ]] ; then
483 + emid=$(sed -n -e '/install-manifest/,$ { /em:id/!d; s/.*[\">]\([^\"<>]*\)[\"<].*/\1/; p; q }' "${xpi_tmp_dir}/install.rdf")
484 + [[ -z "${emid}" ]] && die "failed to determine extension id from install.rdf"
485 + elif [[ -f "${xpi_tmp_dir}/manifest.json" ]] ; then
486 + emid=$(sed -n -e 's/.*"id": "\([^"]*\)".*/\1/p' "${xpi_tmp_dir}/manifest.json")
487 + [[ -z "${emid}" ]] && die "failed to determine extension id from manifest.json"
488 + else
489 + die "failed to determine extension id"
490 + fi
491 +
492 + einfo "Installing ${emid}.xpi into ${ED}${DESTDIR} ..."
493 + newins "${xpi_file}" "${emid}.xpi"
494 + done
495 +}
496 +
497 +mozconfig_add_options_ac() {
498 + debug-print-function ${FUNCNAME} "$@"
499 +
500 + if [[ ${#} -lt 2 ]] ; then
501 + die "${FUNCNAME} requires at least two arguments"
502 + fi
503 +
504 + local reason=${1}
505 + shift
506 +
507 + local option
508 + for option in ${@} ; do
509 + echo "ac_add_options ${option} # ${reason}" >>${MOZCONFIG}
510 + done
511 +}
512 +
513 +mozconfig_add_options_mk() {
514 + debug-print-function ${FUNCNAME} "$@"
515 +
516 + if [[ ${#} -lt 2 ]] ; then
517 + die "${FUNCNAME} requires at least two arguments"
518 + fi
519 +
520 + local reason=${1}
521 + shift
522 +
523 + local option
524 + for option in ${@} ; do
525 + echo "mk_add_options ${option} # ${reason}" >>${MOZCONFIG}
526 + done
527 +}
528 +
529 +mozconfig_use_enable() {
530 + debug-print-function ${FUNCNAME} "$@"
531 +
532 + if [[ ${#} -lt 1 ]] ; then
533 + die "${FUNCNAME} requires at least one arguments"
534 + fi
535 +
536 + local flag=$(use_enable "${@}")
537 + mozconfig_add_options_ac "$(use ${1} && echo +${1} || echo -${1})" "${flag}"
538 +}
539 +
540 +mozconfig_use_with() {
541 + debug-print-function ${FUNCNAME} "$@"
542 +
543 + if [[ ${#} -lt 1 ]] ; then
544 + die "${FUNCNAME} requires at least one arguments"
545 + fi
546 +
547 + local flag=$(use_with "${@}")
548 + mozconfig_add_options_ac "$(use ${1} && echo +${1} || echo -${1})" "${flag}"
549 +}
550 +
551 +virtwl() {
552 + debug-print-function ${FUNCNAME} "$@"
553 +
554 + [[ $# -lt 1 ]] && die "${FUNCNAME} needs at least one argument"
555 + [[ -n $XDG_RUNTIME_DIR ]] || die "${FUNCNAME} needs XDG_RUNTIME_DIR to be set; try xdg_environment_reset"
556 + tinywl -h >/dev/null || die 'tinywl -h failed'
557 +
558 + # TODO: don't run addpredict in utility function. WLR_RENDERER=pixman doesn't work
559 + addpredict /dev/dri
560 + local VIRTWL VIRTWL_PID
561 + coproc VIRTWL { WLR_BACKENDS=headless exec tinywl -s 'echo $WAYLAND_DISPLAY; read _; kill $PPID'; }
562 + local -x WAYLAND_DISPLAY
563 + read WAYLAND_DISPLAY <&${VIRTWL[0]}
564 +
565 + debug-print "${FUNCNAME}: $@"
566 + "$@"
567 +
568 + [[ -n $VIRTWL_PID ]] || die "tinywl exited unexpectedly"
569 + exec {VIRTWL[0]}<&- {VIRTWL[1]}>&-
570 +}
571 +
572 +pkg_pretend() {
573 + if [[ ${MERGE_TYPE} != binary ]] ; then
574 + if use pgo ; then
575 + if ! has usersandbox $FEATURES ; then
576 + die "You must enable usersandbox as X server can not run as root!"
577 + fi
578 + fi
579 +
580 + # Ensure we have enough disk space to compile
581 + if use pgo || use lto || use debug ; then
582 + CHECKREQS_DISK_BUILD="13500M"
583 + else
584 + CHECKREQS_DISK_BUILD="6600M"
585 + fi
586 +
587 + check-reqs_pkg_pretend
588 + fi
589 +}
590 +
591 +pkg_setup() {
592 + if [[ ${MERGE_TYPE} != binary ]] ; then
593 + if use pgo ; then
594 + if ! has userpriv ${FEATURES} ; then
595 + eerror "Building ${PN} with USE=pgo and FEATURES=-userpriv is not supported!"
596 + fi
597 + fi
598 +
599 + # Ensure we have enough disk space to compile
600 + if use pgo || use lto || use debug ; then
601 + CHECKREQS_DISK_BUILD="13500M"
602 + else
603 + CHECKREQS_DISK_BUILD="6400M"
604 + fi
605 +
606 + check-reqs_pkg_setup
607 +
608 + llvm_pkg_setup
609 +
610 + if use clang && use lto ; then
611 + local version_lld=$(ld.lld --version 2>/dev/null | awk '{ print $2 }')
612 + [[ -n ${version_lld} ]] && version_lld=$(ver_cut 1 "${version_lld}")
613 + [[ -z ${version_lld} ]] && die "Failed to read ld.lld version!"
614 +
615 + local version_llvm_rust=$(rustc -Vv 2>/dev/null | grep -F -- 'LLVM version:' | awk '{ print $3 }')
616 + [[ -n ${version_llvm_rust} ]] && version_llvm_rust=$(ver_cut 1 "${version_llvm_rust}")
617 + [[ -z ${version_llvm_rust} ]] && die "Failed to read used LLVM version from rustc!"
618 +
619 + if ver_test "${version_lld}" -ne "${version_llvm_rust}" ; then
620 + eerror "Rust is using LLVM version ${version_llvm_rust} but ld.lld version belongs to LLVM version ${version_lld}."
621 + eerror "You will be unable to link ${CATEGORY}/${PN}. To proceed you have the following options:"
622 + eerror " - Manually switch rust version using 'eselect rust' to match used LLVM version"
623 + eerror " - Switch to dev-lang/rust[system-llvm] which will guarantee matching version"
624 + eerror " - Build ${CATEGORY}/${PN} without USE=lto"
625 + eerror " - Rebuild lld with llvm that was used to build rust (may need to rebuild the whole "
626 + eerror " llvm/clang/lld/rust chain depending on your @world updates)"
627 + die "LLVM version used by Rust (${version_llvm_rust}) does not match with ld.lld version (${version_lld})!"
628 + fi
629 + fi
630 +
631 + python-any-r1_pkg_setup
632 +
633 + # Avoid PGO profiling problems due to enviroment leakage
634 + # These should *always* be cleaned up anyway
635 + unset \
636 + DBUS_SESSION_BUS_ADDRESS \
637 + DISPLAY \
638 + ORBIT_SOCKETDIR \
639 + SESSION_MANAGER \
640 + XAUTHORITY \
641 + XDG_CACHE_HOME \
642 + XDG_SESSION_COOKIE
643 +
644 + # Build system is using /proc/self/oom_score_adj, bug #604394
645 + addpredict /proc/self/oom_score_adj
646 +
647 + if use pgo ; then
648 + # Update 105.0: "/proc/self/oom_score_adj" isn't enough anymore with pgo, but not sure
649 + # whether that's due to better OOM handling by Firefox (bmo#1771712), or portage
650 + # (PORTAGE_SCHEDULING_POLICY) update...
651 + addpredict /proc
652 +
653 + # May need a wider addpredict when using wayland+pgo.
654 + addpredict /dev/dri
655 +
656 + # Allow access to GPU during PGO run
657 + local ati_cards mesa_cards nvidia_cards render_cards
658 + shopt -s nullglob
659 +
660 + ati_cards=$(echo -n /dev/ati/card* | sed 's/ /:/g')
661 + if [[ -n "${ati_cards}" ]] ; then
662 + addpredict "${ati_cards}"
663 + fi
664 +
665 + mesa_cards=$(echo -n /dev/dri/card* | sed 's/ /:/g')
666 + if [[ -n "${mesa_cards}" ]] ; then
667 + addpredict "${mesa_cards}"
668 + fi
669 +
670 + nvidia_cards=$(echo -n /dev/nvidia* | sed 's/ /:/g')
671 + if [[ -n "${nvidia_cards}" ]] ; then
672 + addpredict "${nvidia_cards}"
673 + fi
674 +
675 + render_cards=$(echo -n /dev/dri/renderD128* | sed 's/ /:/g')
676 + if [[ -n "${render_cards}" ]] ; then
677 + addpredict "${render_cards}"
678 + fi
679 +
680 + shopt -u nullglob
681 + fi
682 +
683 + if ! mountpoint -q /dev/shm ; then
684 + # If /dev/shm is not available, configure is known to fail with
685 + # a traceback report referencing /usr/lib/pythonN.N/multiprocessing/synchronize.py
686 + ewarn "/dev/shm is not mounted -- expect build failures!"
687 + fi
688 +
689 + # Google API keys (see http://www.chromium.org/developers/how-tos/api-keys)
690 + # Note: These are for Gentoo Linux use ONLY. For your own distribution, please
691 + # get your own set of keys.
692 + if [[ -z "${MOZ_API_KEY_GOOGLE+set}" ]] ; then
693 + MOZ_API_KEY_GOOGLE="AIzaSyDEAOvatFogGaPi0eTgsV_ZlEzx0ObmepsMzfAc"
694 + fi
695 +
696 + if [[ -z "${MOZ_API_KEY_LOCATION+set}" ]] ; then
697 + MOZ_API_KEY_LOCATION="AIzaSyB2h2OuRgGaPicUgy5N-5hsZqiPW6sH3n_rptiQ"
698 + fi
699 +
700 + # Mozilla API keys (see https://location.services.mozilla.com/api)
701 + # Note: These are for Gentoo Linux use ONLY. For your own distribution, please
702 + # get your own set of keys.
703 + if [[ -z "${MOZ_API_KEY_MOZILLA+set}" ]] ; then
704 + MOZ_API_KEY_MOZILLA="edb3d487-3a84-46m0ap1e3-9dfd-92b5efaaa005"
705 + fi
706 +
707 + # Ensure we use C locale when building, bug #746215
708 + export LC_ALL=C
709 + fi
710 +
711 + CONFIG_CHECK="~SECCOMP"
712 + WARNING_SECCOMP="CONFIG_SECCOMP not set! This system will be unable to play DRM-protected content."
713 + linux-info_pkg_setup
714 +}
715 +
716 +src_unpack() {
717 + local _lp_dir="${WORKDIR}/language_packs"
718 + local _src_file
719 +
720 + if [[ ! -d "${_lp_dir}" ]] ; then
721 + mkdir "${_lp_dir}" || die
722 + fi
723 +
724 + for _src_file in ${A} ; do
725 + if [[ ${_src_file} == *.xpi ]]; then
726 + cp "${DISTDIR}/${_src_file}" "${_lp_dir}" || die "Failed to copy '${_src_file}' to '${_lp_dir}'!"
727 + else
728 + unpack ${_src_file}
729 + fi
730 + done
731 +}
732 +
733 +src_prepare() {
734 + use lto && rm -v "${WORKDIR}"/firefox-patches/*-LTO-Only-enable-LTO-*.patch
735 + ! use ppc64 && rm -v "${WORKDIR}"/firefox-patches/*bmo-1775202-ppc64*.patch
736 + eapply "${WORKDIR}/firefox-patches"
737 +
738 + # Allow user to apply any additional patches without modifing ebuild
739 + eapply_user
740 +
741 + # Make cargo respect MAKEOPTS
742 + export CARGO_BUILD_JOBS="$(makeopts_jobs)"
743 +
744 + # Make LTO respect MAKEOPTS
745 + sed -i \
746 + -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \
747 + "${S}"/build/moz.configure/lto-pgo.configure \
748 + || die "sed failed to set num_cores"
749 +
750 + # Make ICU respect MAKEOPTS
751 + sed -i \
752 + -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \
753 + "${S}"/intl/icu_sources_data.py \
754 + || die "sed failed to set num_cores"
755 +
756 + # sed-in toolchain prefix
757 + sed -i \
758 + -e "s/objdump/${CHOST}-objdump/" \
759 + "${S}"/python/mozbuild/mozbuild/configure/check_debug_ranges.py \
760 + || die "sed failed to set toolchain prefix"
761 +
762 + sed -i \
763 + -e 's/ccache_stats = None/return None/' \
764 + "${S}"/python/mozbuild/mozbuild/controller/building.py \
765 + || die "sed failed to disable ccache stats call"
766 +
767 + einfo "Removing pre-built binaries ..."
768 + find "${S}"/third_party -type f \( -name '*.so' -o -name '*.o' \) -print -delete || die
769 +
770 + # Clearing checksums where we have applied patches
771 + moz_clear_vendor_checksums bindgen
772 +
773 + # Create build dir
774 + BUILD_DIR="${WORKDIR}/${PN}_build"
775 + mkdir -p "${BUILD_DIR}" || die
776 +
777 + # Write API keys to disk
778 + echo -n "${MOZ_API_KEY_GOOGLE//gGaPi/}" > "${S}"/api-google.key || die
779 + echo -n "${MOZ_API_KEY_LOCATION//gGaPi/}" > "${S}"/api-location.key || die
780 + echo -n "${MOZ_API_KEY_MOZILLA//m0ap1/}" > "${S}"/api-mozilla.key || die
781 +
782 + xdg_environment_reset
783 +}
784 +
785 +src_configure() {
786 + # Show flags set at the beginning
787 + einfo "Current BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}"
788 + einfo "Current CFLAGS:\t\t${CFLAGS:-no value set}"
789 + einfo "Current CXXFLAGS:\t\t${CXXFLAGS:-no value set}"
790 + einfo "Current LDFLAGS:\t\t${LDFLAGS:-no value set}"
791 + einfo "Current RUSTFLAGS:\t\t${RUSTFLAGS:-no value set}"
792 +
793 + local have_switched_compiler=
794 + if use clang && ! tc-is-clang ; then
795 + # Force clang
796 + einfo "Enforcing the use of clang due to USE=clang ..."
797 + have_switched_compiler=yes
798 + AR=llvm-ar
799 + AS=llvm-as
800 + CC=${CHOST}-clang
801 + CXX=${CHOST}-clang++
802 + NM=llvm-nm
803 + RANLIB=llvm-ranlib
804 + elif ! use clang && ! tc-is-gcc ; then
805 + # Force gcc
806 + have_switched_compiler=yes
807 + einfo "Enforcing the use of gcc due to USE=-clang ..."
808 + AR=gcc-ar
809 + CC=${CHOST}-gcc
810 + CXX=${CHOST}-g++
811 + NM=gcc-nm
812 + RANLIB=gcc-ranlib
813 + fi
814 +
815 + if [[ -n "${have_switched_compiler}" ]] ; then
816 + # Because we switched active compiler we have to ensure
817 + # that no unsupported flags are set
818 + strip-unsupported-flags
819 + fi
820 +
821 + # Ensure we use correct toolchain
822 + export HOST_CC="$(tc-getBUILD_CC)"
823 + export HOST_CXX="$(tc-getBUILD_CXX)"
824 + tc-export CC CXX LD AR NM OBJDUMP RANLIB PKG_CONFIG
825 +
826 + # Pass the correct toolchain paths through cbindgen
827 + if tc-is-cross-compiler ; then
828 + export BINDGEN_CFLAGS="${SYSROOT:+--sysroot=${ESYSROOT}} --target=${CHOST} ${BINDGEN_CFLAGS-}"
829 + fi
830 +
831 + # Set MOZILLA_FIVE_HOME
832 + export MOZILLA_FIVE_HOME="/usr/$(get_libdir)/${PN}"
833 +
834 + # python/mach/mach/mixin/process.py fails to detect SHELL
835 + export SHELL="${EPREFIX}/bin/bash"
836 +
837 + # Set state path
838 + export MOZBUILD_STATE_PATH="${BUILD_DIR}"
839 +
840 + # Set MOZCONFIG
841 + export MOZCONFIG="${S}/.mozconfig"
842 +
843 + # Initialize MOZCONFIG
844 + mozconfig_add_options_ac '' --enable-application=browser
845 +
846 + # Set Gentoo defaults
847 + export MOZILLA_OFFICIAL=1
848 +
849 + mozconfig_add_options_ac 'Gentoo default' \
850 + --allow-addon-sideload \
851 + --disable-cargo-incremental \
852 + --disable-crashreporter \
853 + --disable-gpsd \
854 + --disable-install-strip \
855 + --disable-parental-controls \
856 + --disable-strip \
857 + --disable-updater \
858 + --enable-negotiateauth \
859 + --enable-new-pass-manager \
860 + --enable-official-branding \
861 + --enable-release \
862 + --enable-system-ffi \
863 + --enable-system-pixman \
864 + --enable-system-policies \
865 + --host="${CBUILD:-${CHOST}}" \
866 + --libdir="${EPREFIX}/usr/$(get_libdir)" \
867 + --prefix="${EPREFIX}/usr" \
868 + --target="${CHOST}" \
869 + --without-ccache \
870 + --without-wasm-sandboxed-libraries \
871 + --with-intl-api \
872 + --with-libclang-path="$(llvm-config --libdir)" \
873 + --with-system-nspr \
874 + --with-system-nss \
875 + --with-system-zlib \
876 + --with-toolchain-prefix="${CHOST}-" \
877 + --with-unsigned-addon-scopes=app,system \
878 + --x-includes="${ESYSROOT}/usr/include" \
879 + --x-libraries="${ESYSROOT}/usr/$(get_libdir)"
880 +
881 + # Set update channel
882 + local update_channel=release
883 + [[ -n ${MOZ_ESR} ]] && update_channel=esr
884 + mozconfig_add_options_ac '' --update-channel=${update_channel}
885 +
886 + if ! use x86 && [[ ${CHOST} != armv*h* ]] ; then
887 + mozconfig_add_options_ac '' --enable-rust-simd
888 + fi
889 +
890 + # For future keywording: This is currently (97.0) only supported on:
891 + # amd64, arm, arm64 & x86.
892 + # Might want to flip the logic around if Firefox is to support more arches.
893 + if use ppc64; then
894 + mozconfig_add_options_ac '' --disable-sandbox
895 + else
896 + mozconfig_add_options_ac '' --enable-sandbox
897 + fi
898 +
899 + if [[ -s "${S}/api-google.key" ]] ; then
900 + local key_origin="Gentoo default"
901 + if [[ $(cat "${S}/api-google.key" | md5sum | awk '{ print $1 }') != 709560c02f94b41f9ad2c49207be6c54 ]] ; then
902 + key_origin="User value"
903 + fi
904 +
905 + mozconfig_add_options_ac "${key_origin}" \
906 + --with-google-safebrowsing-api-keyfile="${S}/api-google.key"
907 + else
908 + einfo "Building without Google API key ..."
909 + fi
910 +
911 + if [[ -s "${S}/api-location.key" ]] ; then
912 + local key_origin="Gentoo default"
913 + if [[ $(cat "${S}/api-location.key" | md5sum | awk '{ print $1 }') != ffb7895e35dedf832eb1c5d420ac7420 ]] ; then
914 + key_origin="User value"
915 + fi
916 +
917 + mozconfig_add_options_ac "${key_origin}" \
918 + --with-google-location-service-api-keyfile="${S}/api-location.key"
919 + else
920 + einfo "Building without Location API key ..."
921 + fi
922 +
923 + if [[ -s "${S}/api-mozilla.key" ]] ; then
924 + local key_origin="Gentoo default"
925 + if [[ $(cat "${S}/api-mozilla.key" | md5sum | awk '{ print $1 }') != 3927726e9442a8e8fa0e46ccc39caa27 ]] ; then
926 + key_origin="User value"
927 + fi
928 +
929 + mozconfig_add_options_ac "${key_origin}" \
930 + --with-mozilla-api-keyfile="${S}/api-mozilla.key"
931 + else
932 + einfo "Building without Mozilla API key ..."
933 + fi
934 +
935 + mozconfig_use_with system-av1
936 + mozconfig_use_with system-harfbuzz
937 + mozconfig_use_with system-harfbuzz system-graphite2
938 + mozconfig_use_with system-icu
939 + mozconfig_use_with system-jpeg
940 + mozconfig_use_with system-libevent
941 + mozconfig_use_with system-libvpx
942 + mozconfig_use_with system-png
943 + mozconfig_use_with system-webp
944 +
945 + mozconfig_use_enable dbus
946 + mozconfig_use_enable libproxy
947 +
948 + use eme-free && mozconfig_add_options_ac '+eme-free' --disable-eme
949 +
950 + mozconfig_use_enable geckodriver
951 +
952 + if use hardened ; then
953 + mozconfig_add_options_ac "+hardened" --enable-hardening
954 + append-ldflags "-Wl,-z,relro -Wl,-z,now"
955 + fi
956 +
957 + local myaudiobackends=""
958 + use jack && myaudiobackends+="jack,"
959 + use sndio && myaudiobackends+="sndio,"
960 + use pulseaudio && myaudiobackends+="pulseaudio,"
961 + ! use pulseaudio && myaudiobackends+="alsa,"
962 +
963 + mozconfig_add_options_ac '--enable-audio-backends' --enable-audio-backends="${myaudiobackends::-1}"
964 +
965 + mozconfig_use_enable wifi necko-wifi
966 +
967 + if use X && use wayland ; then
968 + mozconfig_add_options_ac '+x11+wayland' --enable-default-toolkit=cairo-gtk3-x11-wayland
969 + elif ! use X && use wayland ; then
970 + mozconfig_add_options_ac '+wayland' --enable-default-toolkit=cairo-gtk3-wayland-only
971 + else
972 + mozconfig_add_options_ac '+x11' --enable-default-toolkit=cairo-gtk3
973 + fi
974 +
975 + if use lto ; then
976 + if use clang ; then
977 + # Upstream only supports lld when using clang
978 + mozconfig_add_options_ac "forcing ld=lld due to USE=clang and USE=lto" --enable-linker=lld
979 +
980 + mozconfig_add_options_ac '+lto' --enable-lto=cross
981 +
982 + else
983 + # ThinLTO is currently broken, see bmo#1644409
984 + mozconfig_add_options_ac '+lto' --enable-lto=full
985 + mozconfig_add_options_ac "linker is set to bfd" --enable-linker=bfd
986 + fi
987 +
988 + if use pgo ; then
989 + mozconfig_add_options_ac '+pgo' MOZ_PGO=1
990 +
991 + if use clang ; then
992 + # Used in build/pgo/profileserver.py
993 + export LLVM_PROFDATA="llvm-profdata"
994 + fi
995 + fi
996 + else
997 + # Avoid auto-magic on linker
998 + if use clang ; then
999 + # This is upstream's default
1000 + mozconfig_add_options_ac "forcing ld=lld due to USE=clang" --enable-linker=lld
1001 + else
1002 + mozconfig_add_options_ac "linker is set to bfd" --enable-linker=bfd
1003 + fi
1004 + fi
1005 +
1006 + # LTO flag was handled via configure
1007 + filter-flags '-flto*'
1008 +
1009 + mozconfig_use_enable debug
1010 + if use debug ; then
1011 + mozconfig_add_options_ac '+debug' --disable-optimize
1012 + else
1013 + if is-flag '-g*' ; then
1014 + if use clang ; then
1015 + mozconfig_add_options_ac 'from CFLAGS' --enable-debug-symbols=$(get-flag '-g*')
1016 + else
1017 + mozconfig_add_options_ac 'from CFLAGS' --enable-debug-symbols
1018 + fi
1019 + else
1020 + mozconfig_add_options_ac 'Gentoo default' --disable-debug-symbols
1021 + fi
1022 +
1023 + if is-flag '-O0' ; then
1024 + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O0
1025 + elif is-flag '-O4' ; then
1026 + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O4
1027 + elif is-flag '-O3' ; then
1028 + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O3
1029 + elif is-flag '-O1' ; then
1030 + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O1
1031 + elif is-flag '-Os' ; then
1032 + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-Os
1033 + else
1034 + mozconfig_add_options_ac "Gentoo default" --enable-optimize=-O2
1035 + fi
1036 + fi
1037 +
1038 + # Debug flag was handled via configure
1039 + filter-flags '-g*'
1040 +
1041 + # Optimization flag was handled via configure
1042 + filter-flags '-O*'
1043 +
1044 + # Modifications to better support ARM, bug #553364
1045 + if use cpu_flags_arm_neon ; then
1046 + mozconfig_add_options_ac '+cpu_flags_arm_neon' --with-fpu=neon
1047 +
1048 + if ! tc-is-clang ; then
1049 + # thumb options aren't supported when using clang, bug 666966
1050 + mozconfig_add_options_ac '+cpu_flags_arm_neon' \
1051 + --with-thumb=yes \
1052 + --with-thumb-interwork=no
1053 + fi
1054 + fi
1055 +
1056 + if [[ ${CHOST} == armv*h* ]] ; then
1057 + mozconfig_add_options_ac 'CHOST=armv*h*' --with-float-abi=hard
1058 +
1059 + if ! use system-libvpx ; then
1060 + sed -i \
1061 + -e "s|softfp|hard|" \
1062 + "${S}"/media/libvpx/moz.build \
1063 + || die
1064 + fi
1065 + fi
1066 +
1067 + if use clang ; then
1068 + # https://bugzilla.mozilla.org/show_bug.cgi?id=1482204
1069 + # https://bugzilla.mozilla.org/show_bug.cgi?id=1483822
1070 + # toolkit/moz.configure Elfhack section: target.cpu in ('arm', 'x86', 'x86_64')
1071 + local disable_elf_hack=
1072 + if use amd64 ; then
1073 + disable_elf_hack=yes
1074 + elif use x86 ; then
1075 + disable_elf_hack=yes
1076 + elif use arm ; then
1077 + disable_elf_hack=yes
1078 + fi
1079 +
1080 + if [[ -n ${disable_elf_hack} ]] ; then
1081 + mozconfig_add_options_ac 'elf-hack is broken when using Clang' --disable-elf-hack
1082 + fi
1083 + elif tc-is-gcc ; then
1084 + if ver_test $(gcc-fullversion) -ge 10 ; then
1085 + einfo "Forcing -fno-tree-loop-vectorize to workaround GCC bug, see bug 758446 ..."
1086 + append-cxxflags -fno-tree-loop-vectorize
1087 + fi
1088 + fi
1089 +
1090 + # Additional ARCH support
1091 + case "${ARCH}" in
1092 + arm)
1093 + # Reduce the memory requirements for linking
1094 + if use clang ; then
1095 + # Nothing to do
1096 + :;
1097 + elif use lto ; then
1098 + append-ldflags -Wl,--no-keep-memory
1099 + else
1100 + append-ldflags -Wl,--no-keep-memory -Wl,--reduce-memory-overheads
1101 + fi
1102 + ;;
1103 + esac
1104 +
1105 + if ! use elibc_glibc ; then
1106 + mozconfig_add_options_ac '!elibc_glibc' --disable-jemalloc
1107 + fi
1108 +
1109 + # Allow elfhack to work in combination with unstripped binaries
1110 + # when they would normally be larger than 2GiB.
1111 + append-ldflags "-Wl,--compress-debug-sections=zlib"
1112 +
1113 + # Make revdep-rebuild.sh happy; Also required for musl
1114 + append-ldflags -Wl,-rpath="${MOZILLA_FIVE_HOME}",--enable-new-dtags
1115 +
1116 + # Pass $MAKEOPTS to build system
1117 + export MOZ_MAKE_FLAGS="${MAKEOPTS}"
1118 +
1119 + # Use system's Python environment
1120 + PIP_NETWORK_INSTALL_RESTRICTED_VIRTUALENVS=mach
1121 +
1122 + if use system-python-libs; then
1123 + export MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE="system"
1124 + else
1125 + export MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE="none"
1126 + fi
1127 +
1128 + # Disable notification when build system has finished
1129 + export MOZ_NOSPAM=1
1130 +
1131 + # Portage sets XARGS environment variable to "xargs -r" by default which
1132 + # breaks build system's check_prog() function which doesn't support arguments
1133 + mozconfig_add_options_ac 'Gentoo default' "XARGS=${EPREFIX}/usr/bin/xargs"
1134 +
1135 + # Set build dir
1136 + mozconfig_add_options_mk 'Gentoo default' "MOZ_OBJDIR=${BUILD_DIR}"
1137 +
1138 + # Show flags we will use
1139 + einfo "Build BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}"
1140 + einfo "Build CFLAGS:\t\t${CFLAGS:-no value set}"
1141 + einfo "Build CXXFLAGS:\t\t${CXXFLAGS:-no value set}"
1142 + einfo "Build LDFLAGS:\t\t${LDFLAGS:-no value set}"
1143 + einfo "Build RUSTFLAGS:\t\t${RUSTFLAGS:-no value set}"
1144 +
1145 + # Handle EXTRA_CONF and show summary
1146 + local ac opt hash reason
1147 +
1148 + # Apply EXTRA_ECONF entries to $MOZCONFIG
1149 + if [[ -n ${EXTRA_ECONF} ]] ; then
1150 + IFS=\! read -a ac <<<${EXTRA_ECONF// --/\!}
1151 + for opt in "${ac[@]}"; do
1152 + mozconfig_add_options_ac "EXTRA_ECONF" --${opt#--}
1153 + done
1154 + fi
1155 +
1156 + echo
1157 + echo "=========================================================="
1158 + echo "Building ${PF} with the following configuration"
1159 + grep ^ac_add_options "${MOZCONFIG}" | while read ac opt hash reason; do
1160 + [[ -z ${hash} || ${hash} == \# ]] \
1161 + || die "error reading mozconfig: ${ac} ${opt} ${hash} ${reason}"
1162 + printf " %-30s %s\n" "${opt}" "${reason:-mozilla.org default}"
1163 + done
1164 + echo "=========================================================="
1165 + echo
1166 +
1167 + ./mach configure || die
1168 +}
1169 +
1170 +src_compile() {
1171 + local virtx_cmd=
1172 +
1173 + if use pgo; then
1174 + # Reset and cleanup environment variables used by GNOME/XDG
1175 + gnome2_environment_reset
1176 +
1177 + addpredict /root
1178 +
1179 + if ! use X; then
1180 + virtx_cmd=virtwl
1181 + else
1182 + virtx_cmd=virtx
1183 + fi
1184 + fi
1185 +
1186 + if ! use X; then
1187 + local -x GDK_BACKEND=wayland
1188 + else
1189 + local -x GDK_BACKEND=x11
1190 + fi
1191 +
1192 + ${virtx_cmd} ./mach build --verbose || die
1193 +}
1194 +
1195 +src_install() {
1196 + # xpcshell is getting called during install
1197 + pax-mark m \
1198 + "${BUILD_DIR}"/dist/bin/xpcshell \
1199 + "${BUILD_DIR}"/dist/bin/${PN} \
1200 + "${BUILD_DIR}"/dist/bin/plugin-container
1201 +
1202 + DESTDIR="${D}" ./mach install || die
1203 +
1204 + # Upstream cannot ship symlink but we can (bmo#658850)
1205 + rm "${ED}${MOZILLA_FIVE_HOME}/${PN}-bin" || die
1206 + dosym ${PN} ${MOZILLA_FIVE_HOME}/${PN}-bin
1207 +
1208 + # Don't install llvm-symbolizer from sys-devel/llvm package
1209 + if [[ -f "${ED}${MOZILLA_FIVE_HOME}/llvm-symbolizer" ]] ; then
1210 + rm -v "${ED}${MOZILLA_FIVE_HOME}/llvm-symbolizer" || die
1211 + fi
1212 +
1213 + # Install policy (currently only used to disable application updates)
1214 + insinto "${MOZILLA_FIVE_HOME}/distribution"
1215 + newins "${FILESDIR}"/distribution.ini distribution.ini
1216 + newins "${FILESDIR}"/disable-auto-update.policy.json policies.json
1217 +
1218 + # Install system-wide preferences
1219 + local PREFS_DIR="${MOZILLA_FIVE_HOME}/browser/defaults/preferences"
1220 + insinto "${PREFS_DIR}"
1221 + newins "${FILESDIR}"/gentoo-default-prefs.js gentoo-prefs.js
1222 +
1223 + local GENTOO_PREFS="${ED}${PREFS_DIR}/gentoo-prefs.js"
1224 +
1225 + # Set dictionary path to use system hunspell
1226 + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set spellchecker.dictionary_path pref"
1227 + pref("spellchecker.dictionary_path", "${EPREFIX}/usr/share/myspell");
1228 + EOF
1229 +
1230 + # Force hwaccel prefs if USE=hwaccel is enabled
1231 + if use hwaccel ; then
1232 + cat "${FILESDIR}"/gentoo-hwaccel-prefs.js-r2 \
1233 + >>"${GENTOO_PREFS}" \
1234 + || die "failed to add prefs to force hardware-accelerated rendering to all-gentoo.js"
1235 +
1236 + if use wayland; then
1237 + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set hwaccel wayland prefs"
1238 + pref("gfx.x11-egl.force-enabled", false);
1239 + EOF
1240 + else
1241 + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set hwaccel x11 prefs"
1242 + pref("gfx.x11-egl.force-enabled", true);
1243 + EOF
1244 + fi
1245 + fi
1246 +
1247 + if ! use gmp-autoupdate ; then
1248 + local plugin
1249 + for plugin in "${MOZ_GMP_PLUGIN_LIST[@]}" ; do
1250 + einfo "Disabling auto-update for ${plugin} plugin ..."
1251 + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to disable autoupdate for ${plugin} media plugin"
1252 + pref("media.${plugin}.autoupdate", false);
1253 + EOF
1254 + done
1255 + fi
1256 +
1257 + # Force the graphite pref if USE=system-harfbuzz is enabled, since the pref cannot disable it
1258 + if use system-harfbuzz ; then
1259 + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set gfx.font_rendering.graphite.enabled pref"
1260 + sticky_pref("gfx.font_rendering.graphite.enabled", true);
1261 + EOF
1262 + fi
1263 +
1264 + # Install language packs
1265 + local langpacks=( $(find "${WORKDIR}/language_packs" -type f -name '*.xpi') )
1266 + if [[ -n "${langpacks}" ]] ; then
1267 + moz_install_xpi "${MOZILLA_FIVE_HOME}/distribution/extensions" "${langpacks[@]}"
1268 + fi
1269 +
1270 + # Install geckodriver
1271 + if use geckodriver ; then
1272 + einfo "Installing geckodriver into ${ED}${MOZILLA_FIVE_HOME} ..."
1273 + pax-mark m "${BUILD_DIR}"/dist/bin/geckodriver
1274 + exeinto "${MOZILLA_FIVE_HOME}"
1275 + doexe "${BUILD_DIR}"/dist/bin/geckodriver
1276 +
1277 + dosym ${MOZILLA_FIVE_HOME}/geckodriver /usr/bin/geckodriver
1278 + fi
1279 +
1280 + # Install icons
1281 + local icon_srcdir="${S}/browser/branding/official"
1282 + local icon_symbolic_file="${FILESDIR}/icon/firefox-symbolic.svg"
1283 +
1284 + insinto /usr/share/icons/hicolor/symbolic/apps
1285 + newins "${icon_symbolic_file}" ${PN}-symbolic.svg
1286 +
1287 + local icon size
1288 + for icon in "${icon_srcdir}"/default*.png ; do
1289 + size=${icon%.png}
1290 + size=${size##*/default}
1291 +
1292 + if [[ ${size} -eq 48 ]] ; then
1293 + newicon "${icon}" ${PN}.png
1294 + fi
1295 +
1296 + newicon -s ${size} "${icon}" ${PN}.png
1297 + done
1298 +
1299 + # Install menu
1300 + local app_name="Mozilla ${MOZ_PN^}"
1301 + local desktop_file="${FILESDIR}/icon/${PN}-r3.desktop"
1302 + local desktop_filename="${PN}.desktop"
1303 + local exec_command="${PN}"
1304 + local icon="${PN}"
1305 + local use_wayland="false"
1306 +
1307 + if use wayland ; then
1308 + use_wayland="true"
1309 + fi
1310 +
1311 + cp "${desktop_file}" "${WORKDIR}/${PN}.desktop-template" || die
1312 +
1313 + sed -i \
1314 + -e "s:@NAME@:${app_name}:" \
1315 + -e "s:@EXEC@:${exec_command}:" \
1316 + -e "s:@ICON@:${icon}:" \
1317 + "${WORKDIR}/${PN}.desktop-template" \
1318 + || die
1319 +
1320 + newmenu "${WORKDIR}/${PN}.desktop-template" "${desktop_filename}"
1321 +
1322 + rm "${WORKDIR}/${PN}.desktop-template" || die
1323 +
1324 + # Install wrapper script
1325 + [[ -f "${ED}/usr/bin/${PN}" ]] && rm "${ED}/usr/bin/${PN}"
1326 + newbin "${FILESDIR}/${PN}-r1.sh" ${PN}
1327 +
1328 + # Update wrapper
1329 + sed -i \
1330 + -e "s:@PREFIX@:${EPREFIX}/usr:" \
1331 + -e "s:@MOZ_FIVE_HOME@:${MOZILLA_FIVE_HOME}:" \
1332 + -e "s:@APULSELIB_DIR@:${apulselib}:" \
1333 + -e "s:@DEFAULT_WAYLAND@:${use_wayland}:" \
1334 + "${ED}/usr/bin/${PN}" \
1335 + || die
1336 +}
1337 +
1338 +pkg_preinst() {
1339 + xdg_pkg_preinst
1340 +
1341 + # If the apulse libs are available in MOZILLA_FIVE_HOME then apulse
1342 + # does not need to be forced into the LD_LIBRARY_PATH
1343 + if use pulseaudio && has_version ">=media-sound/apulse-0.1.12-r4" ; then
1344 + einfo "APULSE found; Generating library symlinks for sound support ..."
1345 + local lib
1346 + pushd "${ED}${MOZILLA_FIVE_HOME}" &>/dev/null || die
1347 + for lib in ../apulse/libpulse{.so{,.0},-simple.so{,.0}} ; do
1348 + # A quickpkg rolled by hand will grab symlinks as part of the package,
1349 + # so we need to avoid creating them if they already exist.
1350 + if [[ ! -L ${lib##*/} ]] ; then
1351 + ln -s "${lib}" ${lib##*/} || die
1352 + fi
1353 + done
1354 + popd &>/dev/null || die
1355 + fi
1356 +}
1357 +
1358 +pkg_postinst() {
1359 + xdg_pkg_postinst
1360 +
1361 + if ! use gmp-autoupdate ; then
1362 + elog "USE='-gmp-autoupdate' has disabled the following plugins from updating or"
1363 + elog "installing into new profiles:"
1364 + local plugin
1365 + for plugin in "${MOZ_GMP_PLUGIN_LIST[@]}" ; do
1366 + elog "\t ${plugin}"
1367 + done
1368 + elog
1369 + fi
1370 +
1371 + if use pulseaudio && has_version ">=media-sound/apulse-0.1.12-r4" ; then
1372 + elog "Apulse was detected at merge time on this system and so it will always be"
1373 + elog "used for sound. If you wish to use pulseaudio instead please unmerge"
1374 + elog "media-sound/apulse."
1375 + elog
1376 + fi
1377 +
1378 + local show_doh_information
1379 + local show_normandy_information
1380 + local show_shortcut_information
1381 +
1382 + if [[ -z "${REPLACING_VERSIONS}" ]] ; then
1383 + # New install; Tell user that DoH is disabled by default
1384 + show_doh_information=yes
1385 + show_normandy_information=yes
1386 + show_shortcut_information=no
1387 + else
1388 + local replacing_version
1389 + for replacing_version in ${REPLACING_VERSIONS} ; do
1390 + if ver_test "${replacing_version}" -lt 91.0 ; then
1391 + # Tell user that we no longer install a shortcut
1392 + # per supported display protocol
1393 + show_shortcut_information=yes
1394 + fi
1395 + done
1396 + fi
1397 +
1398 + if [[ -n "${show_doh_information}" ]] ; then
1399 + elog
1400 + elog "Note regarding Trusted Recursive Resolver aka DNS-over-HTTPS (DoH):"
1401 + elog "Due to privacy concerns (encrypting DNS might be a good thing, sending all"
1402 + elog "DNS traffic to Cloudflare by default is not a good idea and applications"
1403 + elog "should respect OS configured settings), \"network.trr.mode\" was set to 5"
1404 + elog "(\"Off by choice\") by default."
1405 + elog "You can enable DNS-over-HTTPS in ${PN^}'s preferences."
1406 + fi
1407 +
1408 + # bug 713782
1409 + if [[ -n "${show_normandy_information}" ]] ; then
1410 + elog
1411 + elog "Upstream operates a service named Normandy which allows Mozilla to"
1412 + elog "push changes for default settings or even install new add-ons remotely."
1413 + elog "While this can be useful to address problems like 'Armagadd-on 2.0' or"
1414 + elog "revert previous decisions to disable TLS 1.0/1.1, privacy and security"
1415 + elog "concerns prevail, which is why we have switched off the use of this"
1416 + elog "service by default."
1417 + elog
1418 + elog "To re-enable this service set"
1419 + elog
1420 + elog " app.normandy.enabled=true"
1421 + elog
1422 + elog "in about:config."
1423 + fi
1424 +
1425 + if [[ -n "${show_shortcut_information}" ]] ; then
1426 + elog
1427 + elog "Since ${PN}-91.0 we no longer install multiple shortcuts for"
1428 + elog "each supported display protocol. Instead we will only install"
1429 + elog "one generic Mozilla ${PN^} shortcut."
1430 + elog "If you still want to be able to select between running Mozilla ${PN^}"
1431 + elog "on X11 or Wayland, you have to re-create these shortcuts on your own."
1432 + fi
1433 +
1434 + # bug 835078
1435 + if use hwaccel && has_version "x11-drivers/xf86-video-nouveau"; then
1436 + ewarn "You have nouveau drivers installed in your system and 'hwaccel' "
1437 + ewarn "enabled for Firefox. Nouveau / your GPU might not support the "
1438 + ewarn "required EGL, so either disable 'hwaccel' or try the workaround "
1439 + ewarn "explained in https://bugs.gentoo.org/835078#c5 if Firefox crashes."
1440 + fi
1441 +
1442 + elog
1443 + elog "Unfortunately Firefox-100.0 breaks compatibility with some sites using "
1444 + elog "useragent checks. To temporarily fix this, enter about:config and modify "
1445 + elog "network.http.useragent.forceVersion preference to \"99\"."
1446 + elog "Or install an addon to change your useragent."
1447 + elog "See: https://support.mozilla.org/en-US/kb/difficulties-opening-or-using-website-firefox-100"
1448 + elog
1449 +}