summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoonas Niilola <juippis@gentoo.org>2022-08-01 14:02:42 +0300
committerJoonas Niilola <juippis@gentoo.org>2022-08-01 14:03:01 +0300
commit6b527e4251e01cec1919c9de84f7961d4b6f38a6 (patch)
treed29f26efbc17dead9675d1d65041a6f3aa78fa68 /www-client/firefox
parentsys-power/thermald: destabilize 2.5 for ~amd64, ~x86 (diff)
downloadgentoo-6b527e4251e01cec1919c9de84f7961d4b6f38a6.tar.gz
gentoo-6b527e4251e01cec1919c9de84f7961d4b6f38a6.tar.bz2
gentoo-6b527e4251e01cec1919c9de84f7961d4b6f38a6.zip
www-client/firefox: add 103.0.1
Closes: https://bugs.gentoo.org/860033 Signed-off-by: Joonas Niilola <juippis@gentoo.org>
Diffstat (limited to 'www-client/firefox')
-rw-r--r--www-client/firefox/Manifest99
-rw-r--r--www-client/firefox/firefox-103.0.1.ebuild1286
2 files changed, 1385 insertions, 0 deletions
diff --git a/www-client/firefox/Manifest b/www-client/firefox/Manifest
index bd0043d4f11d..a0f927df954c 100644
--- a/www-client/firefox/Manifest
+++ b/www-client/firefox/Manifest
@@ -98,6 +98,7 @@ DIST firefox-102.0.1-zh-CN.xpi 566194 BLAKE2B aa405e8beb475726c1a041afc455858ecc
DIST firefox-102.0.1-zh-TW.xpi 567164 BLAKE2B ae898adb1bba36de80168f2a589affebc9e78c9db67cb3d26bade74686b5349bf214f2e7b1b7818f758c14c4ca6c10bea4beffc85ca9eaed40774808947f1bb6 SHA512 fd38490ebf8d4ce2479d943e840a30b246f54a8fc4cc804b39a7286355f37b55a20c857ad4752b71d1266784fff5a7cd196048a9447f9e65fdc2580c252cfa1d
DIST firefox-102.0.1.source.tar.xz 477609884 BLAKE2B 20ff263286f5e14b3c69e09e40fd102a726b7396f5d04a5ae982a41212f4e1cd07d21435631fd655698bf03071118555a3dc53c4a889a323b9d11be2c993ec74 SHA512 a930d359fb81e473b963a93f6db5110871e9fd57f6d0f352513047d363d930dd4811e8dd786c2f6f3541c3871eb1c0169b718652d9ee076fd13a20f52af30417
DIST firefox-103-patches-02j.tar.xz 18668 BLAKE2B c909724483a4ab1b5d143d29ddf18690128910fdebd46fa9014918ae73514800ee7d9de7c19c17ec1427596c72681d0c53e417721d1d4e843e09f2e7aec7dd2d SHA512 e6ff29bcb6150bd0cc7bc1fc6c5878acadbbec9eb58325beaf1ac7df41d455b765fa37d7cc95b8e1ee606ea15ac1bf80b9c4133e8b815b04b0637c741ee8153e
+DIST firefox-103-patches-03j.tar.xz 19152 BLAKE2B dc4080f058bccfe3e092834501ee6210f44a02291d177b3aba5ebf6909d612411c622c794f30437136a8826c2bfe94f568dabdf05360f9a8f14dbe742404d195 SHA512 6edbfa089a0dd97a987065d63c4c2cba417cacdd45e9a6081193e87cae60c38e6327b0cdef0c1f272e082e985289d9bb6807caf262c272165362e696ca974010
DIST firefox-103.0-ach.xpi 454180 BLAKE2B e67d540246e321dca27cc7bad4f7f7e537d1da2c8db5c54143045a47568f6dc0b298d2cbd07dd9a6aa2aeee62f00759e8cbefeb17fd34399bf5ff0ad33424b9a SHA512 9d0bc239526b0ecb4f920b184fdc7682ec8dda7fb43b96dfb199ae94db9041326598fafc2676ce8e9f48c49f459f4ad6bbc5ad4166f3deb465cd6673cac6f84b
DIST firefox-103.0-af.xpi 419562 BLAKE2B 85518c77505ebfd1a038f811b69052454e7675f5ce99b7708532925b6a246d3e28fc35946a91e529da093b6e4f75665163e4a89841f65e4fa6167fe49895687b SHA512 c4582ef1254141aeccc5e93f6ff9b1405e7f742e5d766c6ea83ee68ac9f2cb4e9ff5960cda5b92ce9da6a933aa71ab00e40ee00e006640129e69463fd7f53e73
DIST firefox-103.0-an.xpi 498026 BLAKE2B 13ac12f537bf2ad7762841dfb6da5fd0a33445b2e2e5043a02cde7a74fe802492849607516ac3529746865986ba14d156958a30d47454a5b0af737ae05688eed SHA512 7f4fe332a6b33c4da9aa20c3a51de759fccfd47e051751b32473b9803319587c7cb2593e6d6ed02d702e317d59efa3e255ec3a10671e3257d7299644dd66003f
@@ -195,6 +196,104 @@ DIST firefox-103.0-vi.xpi 576268 BLAKE2B c1d15f1c5997414bd966b1e4e30519814170c71
DIST firefox-103.0-xh.xpi 429255 BLAKE2B 939711d49643893b976cc5aae107150e20bb241cf607b984fd5270161ff7738bca1302d4e722f1f7d0bce4b305e87ab223d9494e0806657380cd96367f9fe74c SHA512 7bbbd031be037b13f327bbf35314e8d1539589251abc830695b0e5d9938a968bed449202e7d3e77139303ff920d948e3313432f9b27dda118f15c3ad86cfe795
DIST firefox-103.0-zh-CN.xpi 577420 BLAKE2B 00a60f769b3cb57ab9afc2465ee7b5eb90d53ac624aa4276397cb0fb41df5e6e17f55297940d686ca7c1eb453ad85d65b8c1a5138583ea4e358672f7098ccdc3 SHA512 8a45b12ff2a46265f4a7838417abc3afc1e8f23c32dc7cff3304d3812d575f914bcd4affe0a8240a92cce7ca42e4a61a5b7d1a79505a7f5792e69fd52b54b7fc
DIST firefox-103.0-zh-TW.xpi 578009 BLAKE2B d5ce598183b1e8fe76d96ac291b7bfa4f15d19e8abe5f048e28c5d6e7ab2db62c255902fbde43ab65342f6c1933246e3d284f8818f8b3be7b08c22bdcc4f5ff9 SHA512 17591afa03fda1ce3212a27f1521327f96607a8705d8354002f7c30f108d46adc7d9f1ed56c9aebf3a92f08e956d77b55d2e76bc4970fa9b1dc75e90719f7211
+DIST firefox-103.0.1-ach.xpi 454180 BLAKE2B 350e8fba5485ed23db305f149e517964a89c058f61144cdfad78c83afac291d6f3214fe480fca7b54cd66434494a79f20d4b57e8e96782973528a65759f8d680 SHA512 36efc86cab0ad0232c25645f94968c6aada5c96e693cf93ca3d244da99942bae6791b8ca8b9a689ffb7e8bac5afa0466178455215350eb3140bd2ca63d764fd5
+DIST firefox-103.0.1-af.xpi 419567 BLAKE2B 7d1d7769906e262cc135bf760fa0bdc34b5ccc3e821082be68a00770253e04f30633f61855558d13158a29c9280c6cb95bdf44488b7da79e0d00b3f0b6bba154 SHA512 e204446bc2fca06d536bce01d9d920f8c6aad2a78ea1cdd4e149582616bde6d1155e5a0aab91119e7b02052368cfe5662bf6636d5fe18c9ab147a357b35a54f5
+DIST firefox-103.0.1-an.xpi 498031 BLAKE2B e7440682fbaef6cda8d5e6f0069d8385fcc112b22613c6221cbc31f7b5ec683479458f42164275ff695ec3b765588db38dfb83a2f26afa1b1c896aad4dc3577d SHA512 35540a4ce39efc8c65282bf5e5934f3b1d932db295976a889f3086437454d0bd0987af17feb6d935154dea41476f59a32910d1196099fdeacb12507a4d067e77
+DIST firefox-103.0.1-ar.xpi 561680 BLAKE2B 606e04a5f6bd8f5b79b9d80b8cf180d21a181a4a5b15d1556879fe8fdbba80c7fc24e6055a5cc4ebf1a9c9069100f61fb670bc32ac3cac7af9c7539cfd611ef9 SHA512 156c635d58dc4283cda6ea951886732747e724228933a3aebf8c7ff1629660a529f5c2052613240dd8c9c85186b754edd26462108dbc3cb6c3951d2bceaedeab
+DIST firefox-103.0.1-ast.xpi 494288 BLAKE2B c443bda216ea18aad76cabf5649977e8b1023012fbc46e986a2cdd08e6bf67b7c8f471025b1c591173749223f975ff71eef3b9bc4c5053728e76d55d22a279c2 SHA512 e8e8b71dde722dfad3360c8b578bd3ba1ea40efcb9214cc5a25e82f90c0d4fcaca16a070e346493b81237bf4265d81523c198d02ea3225eae83622b96062be59
+DIST firefox-103.0.1-az.xpi 485448 BLAKE2B d8095924cc95dee7d2aa16761d79dc6e5bb9070c25562b56c49e3415bb81bfaf773d15554f3128a8da011f860d5ccfed010f32039831b52ed701c24580d26f1a SHA512 2abcef585eaef03f6cce10bb39e9c8de05a324620762f0bdaddbe15550afe65dcc35d71d564c84c2bc263c4d1c1a0aa2119e5a1265b2a3247aa0247222e9b311
+DIST firefox-103.0.1-be.xpi 625934 BLAKE2B 85b364e2f6232afbe0e1d8a1f1837e61dd63443746f14f4129b2249de073b8834028f19a0cc2b09d7b99d01a697f157d0d9769bec919406e4f183f48138cc8a1 SHA512 c887055d8369cabaca43a401011cd4c706f0546ba6ed4648980b0824e75edf73f91673354ccda1355967efe70b289d8f8bb9f581cdc37b05ac41ed8231357e06
+DIST firefox-103.0.1-bg.xpi 574190 BLAKE2B a45d5acddc70f08999e657e5eb3055fcab55ab1b21b29e4c9f9ab67db4b96d8472859367683caa0f26069727d675f90b32e9918fcbbc0d237550fdf2e2f2dea2 SHA512 e0e0e67921bc67ef16cb40fdb6543b39c935d20940a2ed18416f70662d9504a0743a1dab841214bb087ed6472b30d944beb8479eac3986c4287ce1df758630e4
+DIST firefox-103.0.1-bn.xpi 576223 BLAKE2B bf5cdae17920b8946d641aaf78b5a1d7d8bb0c8b3a64cc56458f0c75d2063712fd28ca6955c500c5ad5aab400a2e1f9c3d66ac5dd074bc79271e06304b9e9557 SHA512 1739c3125eeb6826b016ea4d28844e71d45e0bad2f4d422b8c7677dad34b03660840ebafbaedc1fe27c7f66b9a9ed42d0a57c32bbfcc59a7c53493a0ec9e7d9d
+DIST firefox-103.0.1-br.xpi 532123 BLAKE2B 38ce46e4f98ec47190aab10156d37a0589bac61cce0945734a043bfe2fd761da0596fc807592f87dab4c2c9d02ab30d9db2bcc5cf01434be2d7f89d7bad97d40 SHA512 025ea89eba79d5db4d1fe3e277aa9a1e511b8ed7dc2e613059e131575f0abb09715b04de451db552040499e2f6b29421384f315e0fbeccd7f9fecb892b44a52b
+DIST firefox-103.0.1-bs.xpi 462892 BLAKE2B 97222965a6f465b797d208cdb19a7a7c3d2c5a340c5661600ad8bd5d5c10b06b8ce2837ee1af69d75c62cfac0d596f930671778bc831a2a9d013096ece9e6b9a SHA512 bb23a6361e21c2a46d1800d5628e96164db29ba2b8121ba1ca7c590920d3239bf9b5d3d09595a303a2053c9123467bfb0eaceb9dcdec7618c4e2d5fbc91bdee8
+DIST firefox-103.0.1-ca-valencia.xpi 537351 BLAKE2B f39260718b26764535ee9816f45f2fffcd22c0e13043b8243fd285b9c132a90e9e59cd30bfbf3730e29c6d96716534b4a14eb36067abe178ad7971b4a5957ae8 SHA512 dca2e423d4c6390a53eb6caa50aaf093150beb97a3f7a39a937e36235a69e1d4d0fff66629ecc60f63ca35bca3559d5e21d9b4fcd4ced40403c23317cabe543d
+DIST firefox-103.0.1-ca.xpi 534088 BLAKE2B 63835ab296d47859ba2ea60fab1d8c6a1352cf48522e0587bf893291fa4e13411236ca9931a011d4f7c4a0f5e853c144faaacd87442164de236222f618691e0d SHA512 763dcaeed9adc56df75eb4632b6a9184b59b22f5518a223910d20934ade76467b5b2732148fc2f5342ba0371d9682ddf354ccd4b8a3823caedf3b918e44a4e0a
+DIST firefox-103.0.1-cak.xpi 550806 BLAKE2B f01eb8c0bced05784340040546b88c089f0808e1f9b060714ef2ad0fe1ecfb5577f545133c3bf1e5090f6a9efc16dc5faa41f4a997fb3025f44021b2573e8660 SHA512 470917b8df6592f14386a502706c0da6ea787be0599b6b9bc455a4c7532d3b03fad2765fa2c100f62a9a552dab4180c23b3ca992dbda90685e6c4f62f3100851
+DIST firefox-103.0.1-cs.xpi 567609 BLAKE2B 065e5ace8afe256c5439a5661366213f488554b73a5c92b8fa2b0d57120010e5a463d67cb05f624bc7afde81c8afe4018c5517c9337c750022369cf2275b08f0 SHA512 8b60e4284e6c4bae9fa3cd67d58dee9b0ef76f8669585a6eaf8756aa0bbf1452e2c456cd377e70702a2c3407b74198aa086c94b1ea51a2ce919df938ba244ded
+DIST firefox-103.0.1-cy.xpi 545481 BLAKE2B bf45c050be5435c55071e00d1bd0e88c782c75e2e939a63b962bd305a2a1ae75a955783e218c5b495d11d1bee428531c176dc66db04430150639f62286fdffe6 SHA512 a9e91cb710400b9004ac614c74398a30a2d0c811b7f5f2e470192255162a7a5b13e71c8b247ae2a19a7e5397486fbda516b33742ef4a599b57a36e5f390890b9
+DIST firefox-103.0.1-da.xpi 535886 BLAKE2B 12d78d808f512600a1514dbe01ae5dc77e92341e7157f86782a1d2ef913f1dffd9ed34ab14202de6e51fbeb89bc9f43ac0c5a47c93e5baea1a70399a2feaed25 SHA512 c54e5c9d28b709554408c762d9976bc18d2288cbee10e08b7a4ca215ed50be9033ea2f9b2c1a35e12df80fc0939a5b945dcf5cb693884fd05b9e2ac457527a15
+DIST firefox-103.0.1-de.xpi 555988 BLAKE2B 303a0be5291c9173c1d20c9b1a8cf20e77530d394bf80e071007802234577553bdce636cb791bf880924d85ce82cfb993063e9272d8e8db96ca1566c4d19c4d2 SHA512 4cce07a305c17a1516aef2eff0b525a62b37e4f0a03cba62dd54db4a53a4205fe8f908284aaf7dbeddc51f0c3b7cf4b7196fca0a058a76e402039cc790febcbc
+DIST firefox-103.0.1-dsb.xpi 569472 BLAKE2B 06b0345fb26895a0f99791310ac9782244b86d059561f3dfe1273f95a3bd42312ed73ca1720822048f582931699a9c3149d85556f4508ffa0769ac5c750910a0 SHA512 6ffece90e31be81a1352fc8b3b8b25df7d7cabe4788d7398b767ddcdb49822658e0dc0de1bff74078362465ec26c8bcd1e5e35b213281ee9503ca4ace270dfed
+DIST firefox-103.0.1-el.xpi 640805 BLAKE2B 044d238602aff05a75cc31446ee718e681fc93d7681f9e785020f9c774f1a2b980931e03a99942f615fcb1c7874803459b1112a2c29e180e3654b42573ecdf47 SHA512 294d31c28806632fe879350b42cb3e3fa999904c275da304aa9190a797bf5fbe479441180938cf728429e59a5e75b0be2bb59d6ba4454ba6f875ed7f9539acad
+DIST firefox-103.0.1-en-CA.xpi 513842 BLAKE2B 9bffcb48c629e6031ebb67ec4a7cd2204c5426bc06dad92e975acbdbaeb17a8cd8b208bfe42a1c1373b8658a165d84c644229e7827c6ffa0274b17f159600f92 SHA512 bc786ed24bc241d226636e8154cc1750321370326d5e67eb4fa9181b6498e8cff783b2af257ef702bf29b44798ca22852589538860ae3351482e9d886b61d28f
+DIST firefox-103.0.1-en-GB.xpi 514045 BLAKE2B ee925bd08b5e9d4e202337e85351129ae6983e1d83c6a7dcd2f5ac455768a356ca83eb9e9dbe286a887c23dfb1dbf9d29546b06f2ded3dd98e47b0cf1bcb1ead SHA512 54b778e963875b7063deb20d34bcf65f2a4b60050946f63ecc1c2c1119176694e453e60bc2944f8bf91e4d399e765be5d37277db249e576cb0f237ab0b1876c0
+DIST firefox-103.0.1-eo.xpi 540165 BLAKE2B 4a6540f04e0f1b247fb3fb9b0e9332ef5fd4d25fcf33d845e7a60dc46d25201151cb1601a868deec0810c0c001890e5105dda97cf6819687e8c03251d4e13568 SHA512 87bf652f5a8c14b5f029d6d229a951e5d1e513bc5a89b605d32046ae950f7fcf9cad36dcb7531b9ba6ea364161d0b5d0116b39e15c58f000cf66a17c6979a909
+DIST firefox-103.0.1-es-AR.xpi 550477 BLAKE2B 674e6f2779d0a5da638441f5cad8bcddfc095cbbe2dfccf8610e85b405dad60999f0db352aeb0bb298c0748449186f95a03b388d11ec3a331ef456cd1971d071 SHA512 5e7eda59a7ab6aaf8274d21f30863192aac640e0060b3c3874a58190483ce7db359d41115196d8dc5691c9f331e8243b6eb3c570b1c9dc4160a0b7f38a24c023
+DIST firefox-103.0.1-es-CL.xpi 549855 BLAKE2B 520a1bdada5b63de8af347520f78dfe1c30941510b9f2ab4cee215766c13f1318f938b610f06b88d346e2742eff400b847a1675a10a4c08d4604377e9394820e SHA512 b664a17962cc7341da4e2c4623b5a3869e8c028cbe1972d13ca02dcf1c3ff3da1f4426aa24e017b506eacc018c4b05b1d0f25325e2ca36a6b3175431aafa8b89
+DIST firefox-103.0.1-es-ES.xpi 541257 BLAKE2B ee8032d66e174309a8ec8457c9929ae05a3860ccd6d08b4ba5088eb2f385e6b406335a0a8b797b28db42e4bf9a4ac3f989a0740419d36194c38bdb7711b58ef6 SHA512 57eb8cd2376208cc3daf5adbcfb2c577857a8a1d6ca1c38a0d862024c1677e6b667cc18d6c99003acdc13fe56c04bc02aa425af0ff22476a0ae03128315e87e6
+DIST firefox-103.0.1-es-MX.xpi 553698 BLAKE2B 8a1c7c690915485e233de7c517688eb906c1cae737fb9be424f3809b51b0a394c656a5d3f09db975802c9c16f5b5d67e8ad3cf3a70a1ac046ad8f08fc10ff2d2 SHA512 bb7110e8370dfdc3a5386c710373fe4d38b795ef1d42896dc255609797a3009d9b94b25a45e9e600efed32c2f8b0d34e923738712026fee69a09c955f5dfe4b2
+DIST firefox-103.0.1-et.xpi 530732 BLAKE2B af9867d87c191d7f4d3bc47d3b3a8cc4fcdec651e7bc4704bbcd12c6ee5a9cef081b83ca16c9b4a31e45599bf8e749a4a9cc8bb1b90da40a618267e7a968b005 SHA512 9e848eda97cc0733a87d909bad8634c6ce2c4f993209be354b5f35d22e3a1157963d0d25fea8ebbfd6c1cc84974f5b0236cc29bcdeeaba40b8187a2eed9f3e4f
+DIST firefox-103.0.1-eu.xpi 540016 BLAKE2B 23cc04352ed44180903f0873afca91740dac6855aafef6592801c32fe10df33a85b059e79cbe81cd750701a7da79023c1a477a330627c085198e25172f0a66bf SHA512 a4ff6ac7c33166a14b2cd32b8f2f0204c9278f6fd633af42868c944862064847dc13efe1080ea9ffe72fa0477a63ec980b1124960f16cc03485595953f9092c7
+DIST firefox-103.0.1-fa.xpi 561835 BLAKE2B 57a0e1881388a6d8c28eeb848783ff72946a83b3a214e9635f4c9feb03c2e6f6cc2ede18971275b66be52ef27df44f5da5ed06572ff1b1be77b7be62fb70371b SHA512 00f567229df51a5c33a55c08475ead09f1eb85029f414b6206de47d892ebfd7d4cbb303fc761cec289625f1641179305d467fb2400426c4bd31b0d4b2888847e
+DIST firefox-103.0.1-ff.xpi 472339 BLAKE2B d0756543217ce5a001546de3e7c2229864aed307eb0edb1800ae598d4267a8a695cc68b24d0430052db94afa8a1ff69c7bd365f87cb218a11eae5c6b06f28867 SHA512 b42180bb24e5fee6f4ef2ad6a8404945855faf20b8bd9b552903c2a38dd0c23ba0868a8449209ae82b551288a471f5350b4f1dbb15097f0beff10f7f5e396169
+DIST firefox-103.0.1-fi.xpi 534455 BLAKE2B b901dcc37911b268a9c04279885d1fa58b706bc06e4cc6be44c1d44c553ee2cc73024cbcce43112c23c669da455cc8732b4794e845d3327b188ebffa00a7b4f7 SHA512 53951a57c1becfb18db6ad601780b49fd4d4b3b2eda24040b5cf508d465aec23abe61d9fa086d91b99debfcc2755524f488ef5a6776701d08dc7dc500cdb9f2c
+DIST firefox-103.0.1-fr.xpi 561669 BLAKE2B c1609a28d03aa599805968794814747b8825845de3be33ea12e77b0f32c8a8325288e072b78879a54c644bb0631f878b4a21a92c9b1086a6ace1125367432f21 SHA512 261867c89c5f4331faec401b5ad0f9e166760e032924646bc8b6d0d77ddb82b4d150112baee565d5f7a47c195f90eba6a55656bb2f79a556c470603407cca312
+DIST firefox-103.0.1-fy-NL.xpi 546731 BLAKE2B d0aa5d376cca3f97df44af1d9f7987c169e76e07ae732ad79e0198a135c95288915bab75161da3f2205a29c99d82feffd051d07b2527ca5a1930a66b8fa5ca41 SHA512 6519b9d52a9f3ed650076c991fc6cf24713a2f203b047938e6abc642e2ba343e124ff39d8476ae58bfcca93cc99f11213d78d1710c5946ae4b62947a421492b6
+DIST firefox-103.0.1-ga-IE.xpi 471799 BLAKE2B bdd5c5d5d55b0a19b195d81081c285d66688a75291ac23fa0666c74b94a6e92c194923118ea348f4e59140d1f3ebbe4999ef5c3eeed41cdf9ca11436ccf0bace SHA512 2a0ee31afabe79e4f00f8f385953dd7cdb5f80273a4027b776396e2dd26709c0f28c48214f1a62858fd73ea8cbab7ce829f69f78781d283458af47f2a1152b4a
+DIST firefox-103.0.1-gd.xpi 533648 BLAKE2B b97b0f198d86a6968220af72f0915c8c1d41bdfe950349430ebccac97cb403cf127f82978648d043f3699e1c3f6b640fad96ab8d2061953aae5e531ec0b4750b SHA512 56cb374044b5e7a5a924029dc6397601b6e87cf943af8d2f79c9e38df8c97a052d0c992f6e44158e6a23fb3b002e4d85a1592251f7d3c2e60b0f91f9f46cd600
+DIST firefox-103.0.1-gl.xpi 540057 BLAKE2B 0ec6b40c7a9175f127f96e52b79becd9882fe5623f3cf00561ce7c41c4cc73579a1e6fd6e3a9040ee3f6231778034390a86bc479d4389f57fd8f1500f57853c6 SHA512 60116df1014606b97935f36984140b4ff96fbc16e23d749965a94aadabfb43fd098aef9a650763ad30bf3c25ef394a84443e2666075a6e05bea2280955b02ec8
+DIST firefox-103.0.1-gn.xpi 561564 BLAKE2B e1a29760ebb3384d86a83acd8ec196810f57b985ba5d6e5e4dd1fd0be4bf9a265d4604c08b35b4e26b21d703a2694a21a8e41a89032ab6a40bbf68084ab742d5 SHA512 1a044632779a9d7e7040b9ab2cc1da0ab124fef35a6fb70f9fa161fe818d9d6eb9ca0063d6bc8a2d1690e52ecc4aea5226ae3f8f0ab0531df5316d6e6f14da4b
+DIST firefox-103.0.1-gu-IN.xpi 526869 BLAKE2B a891065c702f8eb2137e024b2268f6a03726469575ac695d1c087716a4093f9290fa72b33b195dc708f47f55fcd2fa3fbe411da499fb73dd63e84cada772e4c4 SHA512 2177171610d3466d1c4a26932ae32728bc1363b631f6964f4bcd36cd643230f5fbbaa14ab204a493725a574cbc8a4bec8115f6bd35a17616055209c89ca1c6aa
+DIST firefox-103.0.1-he.xpi 559706 BLAKE2B ce8031d8149a6270fd286012116c25d681b09d6e805623274f7fb53d7ac82117333eaf018971ab3640385a7e76d3988a3799f5e88d2e96e34bb1a16798b926f6 SHA512 2c938099d464c66d6c7e8aa5eca9fb073cc3e0728018c494bf4a01effe7cfd6e78752b2afa9a2d81024a1b7a2e738d1621d1e1690578d455719948b264af9c27
+DIST firefox-103.0.1-hi-IN.xpi 556926 BLAKE2B d2b8a700a52cf366622851ac3013b59ce9072eb7ad1f176465ffc00c101cae0dc904ed32550214e8198d0f3c6a9e5cfe29700999dca39139a63707fae3a05819 SHA512 54f76de0b86f66f0a298df11b260e7fa5c2a5c8809231a98750b9ccddb29d7be1faafe36430d1e06490a95b4b8208f830a50d75c052d298d18637f19debbc607
+DIST firefox-103.0.1-hr.xpi 530620 BLAKE2B c4523bb1337705cb7731908d130db988fad5cba3e823636abcb5dd0e968197156e8e21f38421a128fee7c749a350445980424e243521ad03c8265f25705a58be SHA512 526869c5cea7d7ad06419ad56aafbc56d397534924896510e3304ace4b023346cd4ef3ee69219b39250f6af6d826ce956cfbd0a53694b6837adeb08e9f0cdbc0
+DIST firefox-103.0.1-hsb.xpi 565694 BLAKE2B 930b452e972dc88923d3e41328e15d6d103b5d454ce7634dd4aa7a001685b336746f0b86f50581cdbd1189c4730aca92b48eed99616644003e81a7f20e5602c4 SHA512 99f2943f5502a60cbd14ed1ab9e12d3a88b134a2bfe3bebecc6564e37e1aba0ce5ef17fc535aa1f3e7834d6b85f2ef74c3b70fbd2d261d45e93bd1e6b8c39143
+DIST firefox-103.0.1-hu.xpi 568992 BLAKE2B 22c6ec23da10490925aa16b5b70c5e019dd0802e7bdfe23d231f07105c011ed5789b76a9e57116993ce533b95035d0b75990efb6628a2c6fbf7615bdf26288ab SHA512 2d8b5f6395ee51222e23f81978451b1e00aaeb8be04d053c06abd279da083ea2adedb08da6e544f0e1d7369a5b1cab8ac36c4e6113681254106d6d0b89ea371f
+DIST firefox-103.0.1-hy-AM.xpi 581567 BLAKE2B 43e413889c6bf59148a7e6a1955031720a6d8ececd19bd43aefbf9588fa21a8c284255a99d90289e2170a9cfd1edc9c3d9daba9ba4f1dba83046d09b3bbb6412 SHA512 5c3576ee1ae33af189a1c694ea2be90cdd98d6fc54df583f4f27ad974ddeef55702ab1fbd370b095a5be53f6b4f94bea8358d507a01cc7abfb767d29863f0e6e
+DIST firefox-103.0.1-ia.xpi 535624 BLAKE2B 443464e9cd9044abdd0db41203365a9f4836175d196392d9ea64824c63fdff00ca8a3f7e6b6dca1c83a409366dc2d3f02c7a8550196f36b841ec5e19fc4799c2 SHA512 33b67985658185065dba0e6d09df7de75d7488524158b1ee0f232a9e69ba61ec57b1dffe871ac5b316338abf292092c59b0a336e2abd6d5c7f0d0010f49a135a
+DIST firefox-103.0.1-id.xpi 532811 BLAKE2B 94d704daa9d8e28bdd7e65fc2a9a6feab5f3be0c188dbd8a134727699b7ffca69a66cca0b8c613cbb30b8984c7cf81bfae08c5437c272f4f098c00e18d70b215 SHA512 172a556b4c01db3fa2907a6e874aeb1f4b448e0d747c7d6a27758b7ecc1194fe36f7b52744189b842a6204d8a1dec56dde71889519006bebf7477e3de27e4baa
+DIST firefox-103.0.1-is.xpi 540847 BLAKE2B e35aa14a437a6f257b749302d1b1a1c57b5499f1c3259cd5605a72dbfdf610058878a62d01037c855ef112e61ae1cda27d6daf31ae7aa1b2d1c8541983faba8a SHA512 f88f03651e8e2d3a2787614f523e28527cdbdbd40ffda0bc1c5c43b3de0ce5755d1cc9a38e3f2d52557d14e774a42c7c967303db35cd49d48620f3857ed64504
+DIST firefox-103.0.1-it.xpi 454439 BLAKE2B 61e5148e9df3fe6797b7b6484a3936c6da29803cbeae75fe768cdbe38937fe2b98b8aaa16be8e098c36c16f8fbc28f4ec06a98474c17f1f7ba2ad3d62542e3d6 SHA512 3e96c8b7a644fa1fe8e1589a97f1100a7b400b14d1a996fc045900752af3ab4c92bdefa5b0ce9052b70fc303749fde3aabdeadf1e7b147c7640aa1a0e7731c7b
+DIST firefox-103.0.1-ja.xpi 574517 BLAKE2B 6002448d6fe2946645c2fb3ebd8ee3468504a1b20b61695a80c9d203c73bb7e93d135b5dce08433b3310f47f164dae29bafccebd7b0cb07222c5928c32531dd0 SHA512 e48a75c02ecd3f3675321da8c14312ad55cb78ef3da8082a038960ec32594b2d41a0571111e579110d3cdb0083246281224a35675a04680c947371ee96927968
+DIST firefox-103.0.1-ka.xpi 594023 BLAKE2B 347e9b25912db37490b8c3b50728ffeb9795805e0f0926ab24a7bda220420ee27f5c465085eb137c8cfa5d9cd6dc2cee319fa14aff48fc82d448f802673b3d4d SHA512 99f8b45937b4693f8129b8e2678913c9766f2abe1fd8c263d6bc1f8ef273eec2a8045d6423af5dd360bd4dcc3bdd1bbcb82a2f37ba5839a1b87700b0d22aafa1
+DIST firefox-103.0.1-kab.xpi 554265 BLAKE2B 5c4a589e71bce3dae8c5e2a51f71656b1ceb7bd78cc11e557eba0b449de88d8d49ca26d9a93ece68519fd74d48df532edd1a20ef3513a822de1b8167cfe99285 SHA512 7a50ae25949c456a39d5923a07a104462029cb80418fa9db127301ad1ee524afafb005d9d709dfd9a1e2aabc681666bce5342fa3ce307b812c1ffca36089773b
+DIST firefox-103.0.1-kk.xpi 616956 BLAKE2B a48871662163b31df30c3cd77a34d2529736fd3ea3875f7e71b78821b91928069fd718633c948509a5820305c0ba0ec4096c779db3dc2277d0c35efacd78132c SHA512 08f98b9a0cd0b0f02b1b42be669200706bf7aebe353cb63f1f6ee86cd8ba7436656709c587492d58f0f53b55e93e03555b588d8c872a1a236bb1fbaaf4fa286d
+DIST firefox-103.0.1-km.xpi 531396 BLAKE2B ead91b703e41f62323d7b00918f6a0620f10cd6f64a2202c8abd2bca2dfedcff23516bf239d472f619027329cff82b982c6863f088d0d092a61c29058b43d79f SHA512 31f7b421c3ca5adb5bbbcc0b5fdaf5a777d2f2a1c625e02cefe3511a389d36dbf1209234e52e62cc0343b63a8ee9a506f463eba6382d43fe4ca178b5f5012547
+DIST firefox-103.0.1-kn.xpi 497493 BLAKE2B 4e022946652c166c3719e56c9a9aa710c881534e5d3eec8c593b383bba1d85503ce677a23f1607e29ead0316ef8d80152a59be4c87125b74b035fe6fca723899 SHA512 dbc5a9e2462ba7f92e86785b30fba0cd83ec409eeceda152f34870abc3ae9e38223d6192cdd47f045c5f5e85584b4353b09f7fe6933255abf45c3ad5df752f37
+DIST firefox-103.0.1-ko.xpi 581110 BLAKE2B 1ea3bf3f19cd0f6a93420466bb2d52e5f41b7787574e36b66adb84ed1dabbcff0062836d0a11eb8134cbeed56e1af2345e0a8b926e1974eeca4c6d546002b61a SHA512 87f4f1119647019ab7763bdafc6910013db0227f4fb248ba2c01d616aa5fb1613bbedfe9adfed0369e450f94f56d24029f36b775e2379029af81b6d08b97a4a4
+DIST firefox-103.0.1-lij.xpi 470256 BLAKE2B c73ec59d5babb7033807dad9b43653ca84c294da07cf7eb0b4eaddaa1db6061bedae8e7b0982b0dd34f7c237a56f15b2afad2a3c69b478f4393f7a8ef0aae492 SHA512 035d19c40a4fd22328a067a297c4e0d05277b6f671d342b3be49ff89f5224a3bea6e9abc3a639aaa2a9f895ba522a03f8f590fcd1fd7e6ce1f6e0d7cc8ff8c00
+DIST firefox-103.0.1-lt.xpi 562006 BLAKE2B 2ac04541539edc8274c5965472b3e617b963551c67a0fedc50b6911c30fc5b972ce8ba596420d957911b9e8990f3da4133787a408cae6514a31732935ccfaf33 SHA512 d71a2e9ca6084aa927b87628ec976a799045ff3cb708e01d5018b62a8e9536b7b16360b6c85c9994afa6b510ffa93b6666a771f6dcbf9558c1dd29706316325d
+DIST firefox-103.0.1-lv.xpi 463409 BLAKE2B 4b74e079fa44b8693ab8a6ffd6f4d1726cac2772483129fd55c74ac137a64eb4c4f1022c5289ca04f459e92492b60054fd906a57d6e842606a0c43701f579b4a SHA512 556be9bd482cabb55edb7433b8822a7a7da1e9b16b066df131d6455e0ce04ddb72f69ce33691bb47c32ce02beb4e7d3c8e5a3035a0da10a7cb3d8cc44de35537
+DIST firefox-103.0.1-mk.xpi 474765 BLAKE2B 9c7488301b958d360077005deb5fdf677420cc8b26882e6236f03e28ac42da8ddaf8ed172678e8eb53ff0f913c507fc92d2b6749eeeab1110d582de107cbb8de SHA512 00b1e0759035e70bc47d372220b0c1985ba364808a28720f9b0f1589bf476a405c31a416dcb1fa759f4b7693629fb9f82c8e833ca5142c0e3cd47ea0b23c3f46
+DIST firefox-103.0.1-mr.xpi 530635 BLAKE2B 9d4d17c5b90de850a40abaff901d48c644cffa2dca81c8b7f57234844ce0db171cc6f03bc7beeddbd3431f44d01cf6dcd8f7d8cdfeb2776726dd6e19341a26a4 SHA512 5c2edd61b35c3689232961d22d1aa0badc3cd477a521c75a290ffc25aa2ae23788defdc56745a68727b9676163f34c4511c513aa7e87aa565eb0793bca93c89a
+DIST firefox-103.0.1-ms.xpi 448400 BLAKE2B 53f287df3feefb0dc2db7e0a25caedd60d8530db36ef1bcc969a76e747581bcd8cee3e46d20147c6644263148cb5c608faf491f446632b0327912ffe7a8b67af SHA512 88d5f96298d3fd3a3774d029e150e5769bc1a6fe3fcb3201cd88517ce08184c2f470832350474249e7c14bfab6a6c635117fef5bf49849b27e4c123dc49214b1
+DIST firefox-103.0.1-my.xpi 510289 BLAKE2B 94b395d795863d28b099de316cb1e5b9bc512fbdaeb77ab98414ce8a22ca85ac949d9102129d2f4966ccde4586b217e2d4607e5da9da0dc1beec9968f00316c4 SHA512 19ff692f044f144856ff2bc1f31166e9e7fa299b5f9270a0ab533bfdc9c49ccba6ec503dc47923d3942fcc108832d29eb45bb781104332d12cbdf9156b553f8a
+DIST firefox-103.0.1-nb-NO.xpi 533227 BLAKE2B 0533a374f699e295960bb7dde3b42f78c6c3182b12f4f0ec70dacded8e6bf8836ecf183168ae09c7ba43d65e9bd55a355e20b48740a444934968ef769dad49b4 SHA512 1ca36127aa29cec45a55f8de6f39d8a854d811924849d79790ff92b26f6dbd2e5eb54083e1ace22d645b7abb562b7f2a937bef9d2a0388586c2ae2644ae27d7b
+DIST firefox-103.0.1-ne-NP.xpi 489027 BLAKE2B 40795a9d47f59502a3899c8a5c4611aaf963bd7b69d94127fd7b6a6bb9f45552460670a64cc4d2ec393d1baa28b4925e8b804e6d2293f025ba814c2ae72f666e SHA512 6b66658263e0128aa2c16ad1b00ef9a7353823ab420602e25133d8ef6920e0c1d8d3257a154f962e05193e1e73595e864a10eb68a524d781a5433493b0ee1908
+DIST firefox-103.0.1-nl.xpi 541036 BLAKE2B 0d38e3f8c8c06fd60d8f1655ccde9197961fddb1bd923874cead2db07e29354459195c04bcf35b6d27c73e63ad0b5cc46f2538bb16d65c4b1f1ed4d31e4a1fcf SHA512 38fe6dbb0510842cabcf100cc7ed1181a8c72066e5dd92bda3654ceeb27c563ab2132d9692ba8aa76936035f8016c6ead5981dc22ec6b0097c237fc7dd069980
+DIST firefox-103.0.1-nn-NO.xpi 535172 BLAKE2B 9b9e4e31cf95d93c610c7e223af94adcb037bf7ba8d8cee766aefc7404549b6377e4f2e48df33948a99eb08a90fe05dfd1a6a548854957167f58097008773636 SHA512 fbb1ab6977d8981472534c32ab7eba9c5b6a1aeb204a0bff21120498e47682bc446f2f867dce9eb1a85b48e3ae0e59347c76031615d47551ce083eb5895042e6
+DIST firefox-103.0.1-oc.xpi 556233 BLAKE2B 23e403faff4f44e2056a64eccf16cc338c4f19687ab6a57cb10fb1246a9aab82df2d86c61131174c22bfdf195cd36cd3087f25898d81d28bd3895c8dc12d4989 SHA512 0187396d7b42c369ad23127cc366e20756ecb459036659fe505c72ebab0818105b083f09d40ada144fd3b7b6c28f935590542047fb52df34d8cb6116b3a5eb9a
+DIST firefox-103.0.1-pa-IN.xpi 599787 BLAKE2B 0210a219cf461e172265bee51f073669e69efdd7c8ebf2c0f94d9503d5130d0a81f209c4a5d973d8f33b5036783cc5eae34af95eaea3cda1fc0ed5f39d2ccab5 SHA512 b1cb03ff31eb0d9a19734840900c835508553e56204fdd4b29065f164a2ab26926c996f719bb5d55a9a159df6533e3ac13fbc0af294a47f408a57360e89ac712
+DIST firefox-103.0.1-pl.xpi 560477 BLAKE2B 93c37423eceeba464589cfdd0cd33829df9a0ff2668a75436954342207e3a82ee761046600675b9a1a867fa0a07d746c9840a344f9213f63cf0f05f40e48f220 SHA512 ec78a340d37dc33376dd27c818ce78200c39f32965d35cbdd52372a17b2537735a24e5284035aa5ef7e08c7f3c9f9632224620337482bd357f0ee443c75e9da7
+DIST firefox-103.0.1-pt-BR.xpi 545988 BLAKE2B 099124f7e1c5a001b850f0ce3c1bb25a80b30ffce1657e513c90e944f9476db2c25b9c15890d7f7ef7c5871ef3f56ebe50306c447ec855f0838caf0b3cee53ae SHA512 5f641fe0801cad00f62a635e5997cbcaacc4cc2388e2ace71a9b95af10649d6dbe1d0540bcc6a6e8397805a0be4ff909efbfc95fde282b4e585ac0a76d00abb6
+DIST firefox-103.0.1-pt-PT.xpi 550410 BLAKE2B d70f65d982c6ed3e266b792bd078a9b8ff5dc70e7bb569e740a68f419bda0e4a88edff937d8cc46cc090b9fb11ffc1868e293939bae76175d0f02585eabbb3c6 SHA512 8c7be713ad2e7da4f9eaa82c159d908628973f00f060849dc4523a24c6ea03a9bfe00ed452a48dfc26e4030f6b27061e61027908d10748c4134b1f293ce213d5
+DIST firefox-103.0.1-rm.xpi 539556 BLAKE2B 9644909af76bc6bc8c54449918e9c326ce6bd59f1b317c88faf1419565b872f3bb0d5a8045c8bf8d0692a370f50b7f891eda566863324883a407f1347c692864 SHA512 55eff37fa0f7b7dee136a144e9f6488325130b38189108fd8e1f9c2a03b2f3d4ca4553f0e5dedaba455df5d25e0acdd6cac94eb9c96e1f17c0aa1e23ea919170
+DIST firefox-103.0.1-ro.xpi 528561 BLAKE2B d25d05bd1374db69adabfce1d09438120981a09d96aeb87d9dade9392aef849ca6e7f16df356fe087579065c90b1f35e4d6992e9e195b98ab6e62787b3b42df7 SHA512 27d70d17cbb82dd0a176e8db6c1506d6d051cf3a8032a2f5dfbd0cfce31071d9d91e7f064c81c75deaf3e213de93314ab57b03559e3f45f1cf47562cf4800642
+DIST firefox-103.0.1-ru.xpi 630089 BLAKE2B 6529952c641360de1509055320587f87b945e232661409ac75cf4288ceabf083f9f028f23a66776e4f2866582df55ea6b682722e2ba827f7c85c73d6cc1d66f5 SHA512 bcf51f22b7fe4fff9c120dfb0e5d24a9692b12c2b047fd7c30c9ae516bab0475bb03e6bd8c22c126eadd4aa107b0a3e1b08a4c8ec2eb7265a491fb4d257110c4
+DIST firefox-103.0.1-sco.xpi 496685 BLAKE2B e79bc99927e87c54e5cc45c9108a9066fc324aee9da8720cc9dd7da1af4f151c66bd6c1e04a50272d7db8ebc8a1ae764183a9342428d61402004624783c9702a SHA512 9d432671efafa3b79bb325f535c382b419f143b4c8a5db38a8a672b314268ebf0de808e079fdf4b8e76759979e7bede1c8b7f61d70935079b8642b27f274509d
+DIST firefox-103.0.1-si.xpi 485248 BLAKE2B 2ea6638a4ab598f61f5f089d7525ac9c4a2d543f20624f62b9dd561eaecac8e9552222e7eae1cb66fa4ad83adc87443dc85a014053a1acd7bed4cffef3cf136d SHA512 538194b27afae35733efa98cb650db34af2e21592b3e42cabe81117f95a8214cd65754b51c18420f1244d29c4c22ea32bbdeed571d8355d69c3d627035221a96
+DIST firefox-103.0.1-sk.xpi 569080 BLAKE2B 73a06a8cf41b713e6488610b8ffc8b4d1f2c6f01969e2cde8647e6afe1c1f5f227ca56774d36e3e8f51ebc45e12a6a872849e08876bbd56c55dd31b524d71dce SHA512 6626065cd619502a5decf9584f43a024198d2a842ae8aaafed01950ac51d7dfc2d658652eb619d84f0ab3651692856df1c2b8c35f97fee9b0c7da9cc379183ee
+DIST firefox-103.0.1-sl.xpi 542272 BLAKE2B b05fc307336f56f1a0ceb6cf41bf95ecf38654be0477bb37e0dcdf9d1fdc7dc55db8a55d1e1c97b0b40afef2a408b85fa1547c5146dbb7ff68929bfc23042caa SHA512 d38973c1668641efb8589f3f4a668c6cb7da5d521a21b323dae438ebae6efdcf80e1baeb665ecbe39343b8165c5357a9e567df6fead89b4145f489471bad0117
+DIST firefox-103.0.1-son.xpi 426230 BLAKE2B 135d33247a6512e9e9c35c22c7156ea81e6152c545333c37676f0610480f359fec260633c7d5f3219c764f2f7ab14057c5efe4bbc611d39ac468707733168038 SHA512 272c4a0c46c43cf98298610359ed6ac8a6d66a24b50a7806bf31bc5b69060ac4334ee1db0a104fb8aaf679baa7e7d756046288eb7fe2cc36fb5ba94f149afd87
+DIST firefox-103.0.1-sq.xpi 557264 BLAKE2B e547d43e98e0c1a55031a01514a8f872907193fc6d2d9acba2e07d0de2393abba4861febf9947c367fe4bc90474e664c2d5d96e7f212f74af429eccbfabbef4a SHA512 9269d60e3e42de08ab6d6fc5fd95592eebb61b99b0fa472f714812402b277d550b858cb23ea3866c0c18676a62ad60fa4c4a70a88a5a0daca55650c4dec5262f
+DIST firefox-103.0.1-sr.xpi 582540 BLAKE2B 13f792db4918ef1e143d4caa1bd6d775d6bd431385d04daa2c59ccd9bb9081edd2c872b05de4b0c065641082ad02e7c8b2d4c13b906063615ab1000738c58483 SHA512 77ecd2c9f2a2ee617c88a51391f038e868a50ad6307487cb48113717b671ab40bec11f1b53ef3587d96ba96d52caccf9c4fb5f68b28f74077a25c42e928f7242
+DIST firefox-103.0.1-sv-SE.xpi 542862 BLAKE2B 560d2f411c2ab548af5e10b88f90c0cb6c87b92c89cabdabce62fc060db91515c513664e7d34825c5313a58583ed1844da461ead91a71fa0a01635d4be53e1e5 SHA512 d361caa3f2135a9c4f4927dc5d4ebe6c0f3cc375d5b4147b6a59c9901821143a5097eb39be6c6cd01627a29e7f847c8fd72360a72a101e4d6f2347ba2b8f50f9
+DIST firefox-103.0.1-szl.xpi 508458 BLAKE2B dcd0949e26bf9112015b1e89c42340c5e45d479b4efc610b6bce3a6b9017262fce38601fa22ad53868974f0424d69ada90b3bf892e3481460c2d2bc88371b09e SHA512 75ab9ab58a8f6329ac703e157a8dc526e9b9853948016beaa086725c3deecc8593dc6fec7c7666c626f81677a8fdbe05fff61c8b4b41f8a851abf93c1090fe32
+DIST firefox-103.0.1-ta.xpi 510671 BLAKE2B 3da228200c470a5aaeeb1ad5075f671c84261c8c77eba4db862652ff6b7c5774a5522a0ce6b21a1f50fe8cb0d913d74c9e317ce7c9e13db481b8287cc6dd9774 SHA512 68ef9bf4f52b791ec36a845858f9873c80c2a66b52636d2c06b69820a097e65a3aba0aea401c5562767a8d793a40f0116cc76bb8bcc346c86949acc49e81739c
+DIST firefox-103.0.1-te.xpi 551778 BLAKE2B 1566182a148aa4be855e260edab9fb79fa2623264164f49974360cc9c1adb1872dcd3a74a7b234b3633dde57bd33611ba7f61f26ca861407fe79360f810cb757 SHA512 67628764f316ae9b776885bd2a17948b4a9f1d764b484715422ee8741f1407c2db18de64c90aa4014789e074b94b6eaa585376baa5650d8711f7ed3e81d5dcc7
+DIST firefox-103.0.1-th.xpi 610646 BLAKE2B 3b9ac255f84b34b9ed1f0987e7bce8a5c95822bb302992e47cf6a02c1d5d672329aa15a899b1d4392faa691dc23a742f3b87e594e1f4633e47bfffab7272e85b SHA512 26254ef9a4f2be9b8115623867bf350c6e9023213320a8c21e6177b2d5cdeb47c8a25a34ce1dd0ff36118776aa95a663c3e93c5933e0b24dbf0da5d61e099d76
+DIST firefox-103.0.1-tl.xpi 518725 BLAKE2B 8513a21152b618393e872b3330f1ad82547a1c826ffb4cd32bcc05b8e811cc22e1117ee25299c667f4bbfc3af17f4ee974c9fb917b7191906bb72c5e97664126 SHA512 f86f3ea84f95016eba5eaa99b2d5376055d525a31d6d08b9270d7916c335abf4becdab695236497a04feb7d698f72f9e9a3f27d347e707008b21dc6f9c23c750
+DIST firefox-103.0.1-tr.xpi 555677 BLAKE2B b8a2f8b6ad0cc9cfe18ea5bd23a18eab8b73fb66ac517226d9d66506ed50095db37a45ada84fc3c7e47b12fa0a70df69435ee31e5841e5193995d83e7ff0ca37 SHA512 95f46570d96a81ab44f5ace88f64896e9dfd86acd4d98c91cb63ceaf42731dbc8e7b328b1b764eaeee4eeab4f6fbe7c57bffef5357325391ad71c698fb7ac5a6
+DIST firefox-103.0.1-trs.xpi 488885 BLAKE2B 77e2df1c47c1fffb248e865f105c27d2a09f9537355f0c7a848f33dadcac331a8b2922aa9b2f3787616c93274b61ec05df7bbbc7c9f803aaca34f29c92eab9ff SHA512 5b3bfae7765934189af3837b1591969ceaa483fd06d130ab296552511863b2be972e5a509053cff94e65c6dc176d07c6f6676579a64b30aa150423b1a73e9a9f
+DIST firefox-103.0.1-uk.xpi 623498 BLAKE2B 78d0e757ad2a74d36985ef990a2f06db8d77d603dfa381d465690b46a3bcf429186bf8579dec7ce5f49eef09dc1f40d390dd459e71633d94b2c14dd1b11a1f2c SHA512 452ac5845c7c5968cf8b8450fdb716e719d110f1f29656637850883815e7e3b83983b10b1fb5c15eea65400c3648388f8ba7f4bf96d49824c83d99f08f25c46e
+DIST firefox-103.0.1-ur.xpi 558770 BLAKE2B 1e37442c843df8a96cbadee34fe16ab2e11559e5d87f2d1859eb3e85f78096bc2396a801ac86a9eb7207a8ee49fccabd2376f3e8a8fab4943c4212eaa5cc3b68 SHA512 d8f693b33cde0433f1f358c49f3f1cec98725df47c852c284e0995177589c4e1efbd6279aabb020bfbedca8fd5e0a3eb53da4977d21e80f45b185ecd79eb0a7a
+DIST firefox-103.0.1-uz.xpi 478410 BLAKE2B f594e6a0341f35bc737afbe614245663012e9d07a260921d7cc50cc4041d810927e37cacf74f760b201f01029bce7c92b75a1a6a25e3e9809b54efeb50754a35 SHA512 151638d3e42e41a41ea60ae2689f70a0cdcc99d505cef209ed806134a4bd8f7f586b3bbebd2b28412f49515d7619791e6c644b9de8edf3fd583c9690b9f4caca
+DIST firefox-103.0.1-vi.xpi 576267 BLAKE2B d9c88a6862eedc2a6b1691e869608c7254c7999bb581f19cd5956fae0f165bc77da92ce21201bf9dfb64f8032f5bbd42989f905250f94dcb115bf9ae6c3bf1ab SHA512 9d2b180fc3561656fcf39ead2c12fd272c2cb8e5920a1b54cca534f989c93bc20d3f93e52d2fdbcd2d8c68fc6cafa89f2cf9caf2a9230cc142f663097f1726e2
+DIST firefox-103.0.1-xh.xpi 429247 BLAKE2B 299883a21a176cada6900fd778fe170cd0911fb40b6ac03e9462e83899cf47e0c092889e43690bfbb1ff2a634671f4e65289f71547df2572c41d1bb97acab6d0 SHA512 f02711153bc337bb3bbcbaf2fbe7b54f696fdb43cc4e12559c344387876293ca6826a42c229a65a7f888a86dd4b6723abade6015d32dbd845f33f2ad5164d3a1
+DIST firefox-103.0.1-zh-CN.xpi 577425 BLAKE2B da82d2b3d75a385eebcdedd769f111de4ad05bd7ea2835d4e0c1096a5774af40584d8fe5d29a768455613be03ee3de5aa8d1713cc804195517eed31a590955b4 SHA512 14f5324508a8820bdd8a248a4e989444c444a183aad99f96ef841d98804d1941189e49143ae9c96b63ac0427d277c7a29357752234b9ce0be543c491e9c03b7d
+DIST firefox-103.0.1-zh-TW.xpi 578007 BLAKE2B 4cd77a1ad9046f2799a0da55831533d989b5ff7680988a96b2e9d184ff82edaaa5717830782760e3d2b3ad7a4a4efc75133e9787f5f32969bc3cc57b3674a249 SHA512 4c054aae826b5e54e5f3c5c4c2baf10b63c307684625c3f0d48f3de4ee18bc7923f0e03eff89fe74699b30fd971b80cb5fafe033d1ab2a68949a466c0be3e48c
+DIST firefox-103.0.1.source.tar.xz 480380068 BLAKE2B eb9a4212e44ed835b62674e6bfba63aab0cfa76ac40010cc8da195835f3f3f8733d1de2710a1c2ed9db1b4275ad23b2022988c0592f0579f455e50756c220ef9 SHA512 cb487e1d5d602e6b07093b5e722c4e70b9bf39f42c13c25642f263f90f9d3940d02e6fdbab9e8f41b66a50f81d70300acf81c222f08a26eed3ae55777fdc6303
DIST firefox-103.0.source.tar.xz 475708060 BLAKE2B a8f34699e0cb3a1ffe8823f33484c7646bbc6e2cd16608c74b36b0fa287534beb0aca88008fcb2482737e53edfaa989ebabee53555d2bd06b128fac513733815 SHA512 016c2f276fb94e5174626f7d8b1a821b2de0f5a07f8a10f00a7ea4d4285591b0c23dd3ef45306579de79b3dfa99ccc527224c33f3319f61cf088b1f4bd097f9e
DIST firefox-91.11.0esr-ach.xpi 453206 BLAKE2B f639628151e4891ee209548962ca86de34f4ea124703db73ebb14fa266b2fd74282c256b74c8cb9b2f4fb0b4d41998f3d7b3447be4cf6cb45dbb231fe6b57ce4 SHA512 515e8424da6d1505480f15451c56363bf72471fa4d0e47b3e43b4cac261b088b82a85ad2f3234edfb8499beabf392e0636b227d0d7cc7285e544b1e2bdcdf395
DIST firefox-91.11.0esr-af.xpi 426914 BLAKE2B 1b999eb321f8bf49fc73bfe399030bdc167ba2822ed32e9ebcec3c6648a2c960dc4469a1dc9fc3553db8f3bf65efe5444aaa220bf50fa4d890c89b2542cdf25e SHA512 04bcc68b861a7c9b2e18fc4fdfde0247ff51879f04e8dba9c2998e0cd93ca156f8cf56fb63de63bcf92c56c92da9b7e0379ed0847d251faade20b9e1df968d60
diff --git a/www-client/firefox/firefox-103.0.1.ebuild b/www-client/firefox/firefox-103.0.1.ebuild
new file mode 100644
index 000000000000..f63628c3fda5
--- /dev/null
+++ b/www-client/firefox/firefox-103.0.1.ebuild
@@ -0,0 +1,1286 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="8"
+
+FIREFOX_PATCHSET="firefox-103-patches-03j.tar.xz"
+
+LLVM_MAX_SLOT=14
+
+PYTHON_COMPAT=( python3_{8..11} )
+PYTHON_REQ_USE="ncurses,sqlite,ssl"
+
+WANT_AUTOCONF="2.1"
+
+VIRTUALX_REQUIRED="pgo"
+
+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"
+fi
+
+MOZ_PN="${PN%-bin}"
+MOZ_P="${MOZ_PN}-${MOZ_PV}"
+MOZ_PV_DISTFILES="${MOZ_PV}${MOZ_PV_SUFFIX}"
+MOZ_P_DISTFILES="${MOZ_PN}-${MOZ_PV_DISTFILES}"
+
+inherit autotools check-reqs desktop flag-o-matic gnome2-utils linux-info \
+ llvm multiprocessing pax-utils python-any-r1 toolchain-funcs \
+ virtualx xdg
+
+MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/releases/${MOZ_PV}"
+
+if [[ ${PV} == *_rc* ]] ; then
+ MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/candidates/${MOZ_PV}-candidates/build${PV##*_rc}"
+fi
+
+PATCH_URIS=(
+ https://dev.gentoo.org/~{juippis,whissi,slashbeast}/mozilla/patchsets/${FIREFOX_PATCHSET}
+)
+
+SRC_URI="${MOZ_SRC_BASE_URI}/source/${MOZ_P}.source.tar.xz -> ${MOZ_P_DISTFILES}.source.tar.xz
+ ${PATCH_URIS[@]}"
+
+DESCRIPTION="Firefox Web Browser"
+HOMEPAGE="https://www.mozilla.com/firefox"
+
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+
+SLOT="rapid"
+LICENSE="MPL-2.0 GPL-2 LGPL-2.1"
+
+IUSE="+clang cpu_flags_arm_neon dbus debug eme-free hardened hwaccel"
+IUSE+=" jack libproxy lto +openh264 pgo pulseaudio sndio selinux"
+IUSE+=" +system-av1 +system-harfbuzz +system-icu +system-jpeg +system-libevent +system-libvpx system-png system-python-libs +system-webp"
+IUSE+=" wayland wifi"
+
+# Firefox-only IUSE
+IUSE+=" geckodriver +gmp-autoupdate screencast +X"
+
+REQUIRED_USE="debug? ( !system-av1 )
+ pgo? ( lto )
+ wifi? ( dbus )"
+
+# Firefox-only REQUIRED_USE flags
+REQUIRED_USE+=" || ( X wayland )"
+REQUIRED_USE+=" pgo? ( X )"
+REQUIRED_USE+=" screencast? ( wayland )"
+
+BDEPEND="${PYTHON_DEPS}
+ app-arch/unzip
+ app-arch/zip
+ >=dev-util/cbindgen-0.24.3
+ net-libs/nodejs
+ virtual/pkgconfig
+ virtual/rust
+ || (
+ (
+ sys-devel/clang:14
+ sys-devel/llvm:14
+ clang? (
+ =sys-devel/lld-14*
+ pgo? ( =sys-libs/compiler-rt-sanitizers-14*[profile] )
+ )
+ )
+ (
+ sys-devel/clang:13
+ sys-devel/llvm:13
+ clang? (
+ =sys-devel/lld-13*
+ pgo? ( =sys-libs/compiler-rt-sanitizers-13*[profile] )
+ )
+ )
+ )
+ amd64? ( >=dev-lang/nasm-2.14 )
+ x86? ( >=dev-lang/nasm-2.14 )"
+
+COMMON_DEPEND="
+ dev-libs/atk
+ dev-libs/expat
+ dev-libs/glib:2
+ dev-libs/libffi:=
+ >=dev-libs/nss-3.80
+ >=dev-libs/nspr-4.34
+ 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
+ x11-libs/pango
+ x11-libs/pixman
+ dbus? (
+ dev-libs/dbus-glib
+ sys-apps/dbus
+ )
+ jack? ( virtual/jack )
+ libproxy? ( net-libs/libproxy )
+ selinux? ( sec-policy/selinux-mozilla )
+ sndio? ( >=media-sound/sndio-1.8.0-r1 )
+ screencast? ( media-video/pipewire:= )
+ system-av1? (
+ >=media-libs/dav1d-0.9.3:=
+ >=media-libs/libaom-1.0.0:=
+ )
+ system-harfbuzz? (
+ >=media-gfx/graphite2-1.3.13
+ >=media-libs/harfbuzz-2.8.1:0=
+ )
+ system-icu? ( >=dev-libs/icu-71.1:= )
+ system-jpeg? ( >=media-libs/libjpeg-turbo-1.2.1 )
+ system-libevent? ( >=dev-libs/libevent-2.0:0=[threads] )
+ system-libvpx? ( >=media-libs/libvpx-1.8.2:0=[postproc] )
+ system-png? ( >=media-libs/libpng-1.6.35:0=[apng] )
+ system-webp? ( >=media-libs/libwebp-1.1.0:0= )
+ wayland? (
+ >=media-libs/libepoxy-1.5.10-r1
+ x11-libs/gtk+:3[wayland]
+ x11-libs/libdrm
+ x11-libs/libxkbcommon[wayland]
+ )
+ wifi? (
+ kernel_linux? (
+ dev-libs/dbus-glib
+ net-misc/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/libxkbcommon[X]
+ x11-libs/libXrandr
+ x11-libs/libXtst
+ x11-libs/libxcb:=
+ )"
+
+RDEPEND="${COMMON_DEPEND}
+ !www-client/firefox:0
+ !www-client/firefox:esr
+ jack? ( virtual/jack )
+ openh264? ( media-libs/openh264:*[plugin] )
+ pulseaudio? (
+ || (
+ media-sound/pulseaudio
+ >=media-sound/apulse-0.1.12-r4
+ )
+ )
+ selinux? ( sec-policy/selinux-mozilla )"
+
+DEPEND="${COMMON_DEPEND}
+ pulseaudio? (
+ || (
+ media-sound/pulseaudio
+ >=media-sound/apulse-0.1.12-r4[sdk]
+ )
+ )
+ X? (
+ x11-libs/libICE
+ x11-libs/libSM
+ )"
+
+S="${WORKDIR}/${PN}-${PV%_*}"
+
+# Allow MOZ_GMP_PLUGIN_LIST to be set in an eclass or
+# overridden in the enviromnent (advanced hackers only)
+if [[ -z "${MOZ_GMP_PLUGIN_LIST+set}" ]] ; then
+ MOZ_GMP_PLUGIN_LIST=( gmp-gmpopenh264 gmp-widevinecdm )
+fi
+
+llvm_check_deps() {
+ if ! has_version -b "sys-devel/clang:${LLVM_SLOT}" ; then
+ einfo "sys-devel/clang:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
+ return 1
+ fi
+
+ if use clang ; then
+ if ! has_version -b "=sys-devel/lld-${LLVM_SLOT}*" ; then
+ einfo "=sys-devel/lld-${LLVM_SLOT}* is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
+ return 1
+ fi
+
+ if use pgo ; then
+ if ! has_version -b "=sys-libs/compiler-rt-sanitizers-${LLVM_SLOT}*" ; then
+ einfo "=sys-libs/compiler-rt-sanitizers-${LLVM_SLOT}* is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
+ return 1
+ fi
+ fi
+ fi
+
+ einfo "Using LLVM slot ${LLVM_SLOT} to build" >&2
+}
+
+MOZ_LANGS=(
+ af ar ast be bg br ca cak cs cy da de dsb
+ el en-CA en-GB en-US es-AR es-ES et eu
+ fi fr fy-NL ga-IE gd gl he hr hsb hu
+ id is it ja ka kab kk ko lt lv ms nb-NO nl nn-NO
+ pa-IN pl pt-BR pt-PT rm ro ru
+ sk sl sq sr sv-SE th tr uk uz vi zh-CN zh-TW
+)
+
+# Firefox-only LANGS
+MOZ_LANGS+=( ach )
+MOZ_LANGS+=( an )
+MOZ_LANGS+=( az )
+MOZ_LANGS+=( bn )
+MOZ_LANGS+=( bs )
+MOZ_LANGS+=( ca-valencia )
+MOZ_LANGS+=( eo )
+MOZ_LANGS+=( es-CL )
+MOZ_LANGS+=( es-MX )
+MOZ_LANGS+=( fa )
+MOZ_LANGS+=( ff )
+MOZ_LANGS+=( 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+=( sco )
+MOZ_LANGS+=( si )
+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}"
+}
+
+pkg_pretend() {
+ if [[ ${MERGE_TYPE} != binary ]] ; then
+ if use pgo ; then
+ if ! has usersandbox $FEATURES ; then
+ die "You must enable usersandbox as X server can not run as root!"
+ fi
+ fi
+
+ # Ensure we have enough disk space to compile
+ if use pgo || use lto || use debug ; then
+ CHECKREQS_DISK_BUILD="13500M"
+ else
+ CHECKREQS_DISK_BUILD="6600M"
+ fi
+
+ check-reqs_pkg_pretend
+ fi
+}
+
+pkg_setup() {
+ if [[ ${MERGE_TYPE} != binary ]] ; then
+ if use pgo ; then
+ if ! has userpriv ${FEATURES} ; then
+ eerror "Building ${PN} with USE=pgo and FEATURES=-userpriv is not supported!"
+ fi
+ fi
+
+ # Ensure we have enough disk space to compile
+ if use pgo || use lto || use debug ; then
+ CHECKREQS_DISK_BUILD="13500M"
+ else
+ CHECKREQS_DISK_BUILD="6400M"
+ fi
+
+ check-reqs_pkg_setup
+
+ llvm_pkg_setup
+
+ if use clang && use lto ; then
+ local version_lld=$(ld.lld --version 2>/dev/null | awk '{ print $2 }')
+ [[ -n ${version_lld} ]] && version_lld=$(ver_cut 1 "${version_lld}")
+ [[ -z ${version_lld} ]] && die "Failed to read ld.lld version!"
+
+ local version_llvm_rust=$(rustc -Vv 2>/dev/null | grep -F -- 'LLVM version:' | awk '{ print $3 }')
+ [[ -n ${version_llvm_rust} ]] && version_llvm_rust=$(ver_cut 1 "${version_llvm_rust}")
+ [[ -z ${version_llvm_rust} ]] && die "Failed to read used LLVM version from rustc!"
+
+ if ver_test "${version_lld}" -ne "${version_llvm_rust}" ; then
+ eerror "Rust is using LLVM version ${version_llvm_rust} but ld.lld version belongs to LLVM version ${version_lld}."
+ eerror "You will be unable to link ${CATEGORY}/${PN}. To proceed you have the following options:"
+ eerror " - Manually switch rust version using 'eselect rust' to match used LLVM version"
+ eerror " - Switch to dev-lang/rust[system-llvm] which will guarantee matching version"
+ eerror " - Build ${CATEGORY}/${PN} without USE=lto"
+ eerror " - Rebuild lld with llvm that was used to build rust (may need to rebuild the whole "
+ eerror " llvm/clang/lld/rust chain depending on your @world updates)"
+ die "LLVM version used by Rust (${version_llvm_rust}) does not match with ld.lld version (${version_lld})!"
+ fi
+ fi
+
+ if ! use clang && [[ $(gcc-major-version) -eq 11 ]] \
+ && ! has_version -b ">sys-devel/gcc-11.1.0:11" ; then
+ # bug 792705
+ eerror "Using GCC 11 to compile firefox is currently known to be broken (see bug #792705)."
+ die "Set USE=clang or select <gcc-11 to build ${CATEGORY}/${P}."
+ fi
+
+ python-any-r1_pkg_setup
+
+ # Avoid PGO profiling problems due to enviroment leakage
+ # These should *always* be cleaned up anyway
+ unset \
+ DBUS_SESSION_BUS_ADDRESS \
+ DISPLAY \
+ ORBIT_SOCKETDIR \
+ SESSION_MANAGER \
+ XAUTHORITY \
+ XDG_CACHE_HOME \
+ XDG_SESSION_COOKIE
+
+ # Build system is using /proc/self/oom_score_adj, bug #604394
+ addpredict /proc/self/oom_score_adj
+
+ if use pgo ; then
+ # Allow access to GPU during PGO run
+ local ati_cards mesa_cards nvidia_cards render_cards
+ shopt -s nullglob
+
+ ati_cards=$(echo -n /dev/ati/card* | sed 's/ /:/g')
+ if [[ -n "${ati_cards}" ]] ; then
+ addpredict "${ati_cards}"
+ fi
+
+ mesa_cards=$(echo -n /dev/dri/card* | sed 's/ /:/g')
+ if [[ -n "${mesa_cards}" ]] ; then
+ addpredict "${mesa_cards}"
+ fi
+
+ nvidia_cards=$(echo -n /dev/nvidia* | sed 's/ /:/g')
+ if [[ -n "${nvidia_cards}" ]] ; then
+ addpredict "${nvidia_cards}"
+ fi
+
+ render_cards=$(echo -n /dev/dri/renderD128* | sed 's/ /:/g')
+ if [[ -n "${render_cards}" ]] ; then
+ addpredict "${render_cards}"
+ fi
+
+ shopt -u nullglob
+ fi
+
+ if ! mountpoint -q /dev/shm ; then
+ # If /dev/shm is not available, configure is known to fail with
+ # a traceback report referencing /usr/lib/pythonN.N/multiprocessing/synchronize.py
+ ewarn "/dev/shm is not mounted -- expect build failures!"
+ fi
+
+ # Google API keys (see http://www.chromium.org/developers/how-tos/api-keys)
+ # Note: These are for Gentoo Linux use ONLY. For your own distribution, please
+ # get your own set of keys.
+ if [[ -z "${MOZ_API_KEY_GOOGLE+set}" ]] ; then
+ MOZ_API_KEY_GOOGLE="AIzaSyDEAOvatFogGaPi0eTgsV_ZlEzx0ObmepsMzfAc"
+ fi
+
+ if [[ -z "${MOZ_API_KEY_LOCATION+set}" ]] ; then
+ MOZ_API_KEY_LOCATION="AIzaSyB2h2OuRgGaPicUgy5N-5hsZqiPW6sH3n_rptiQ"
+ fi
+
+ # Mozilla API keys (see https://location.services.mozilla.com/api)
+ # Note: These are for Gentoo Linux use ONLY. For your own distribution, please
+ # get your own set of keys.
+ if [[ -z "${MOZ_API_KEY_MOZILLA+set}" ]] ; then
+ MOZ_API_KEY_MOZILLA="edb3d487-3a84-46m0ap1e3-9dfd-92b5efaaa005"
+ fi
+
+ # Ensure we use C locale when building, bug #746215
+ export LC_ALL=C
+ fi
+
+ CONFIG_CHECK="~SECCOMP"
+ WARNING_SECCOMP="CONFIG_SECCOMP not set! This system will be unable to play DRM-protected content."
+ linux-info_pkg_setup
+}
+
+src_unpack() {
+ local _lp_dir="${WORKDIR}/language_packs"
+ local _src_file
+
+ if [[ ! -d "${_lp_dir}" ]] ; then
+ mkdir "${_lp_dir}" || die
+ fi
+
+ for _src_file in ${A} ; do
+ if [[ ${_src_file} == *.xpi ]]; then
+ cp "${DISTDIR}/${_src_file}" "${_lp_dir}" || die "Failed to copy '${_src_file}' to '${_lp_dir}'!"
+ else
+ unpack ${_src_file}
+ fi
+ done
+}
+
+src_prepare() {
+ use lto && rm -v "${WORKDIR}"/firefox-patches/*-LTO-Only-enable-LTO-*.patch
+ eapply "${WORKDIR}/firefox-patches"
+
+ # Allow user to apply any additional patches without modifing ebuild
+ eapply_user
+
+ # Make cargo respect MAKEOPTS
+ export CARGO_BUILD_JOBS="$(makeopts_jobs)"
+
+ # Make LTO respect MAKEOPTS
+ sed -i \
+ -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \
+ "${S}"/build/moz.configure/lto-pgo.configure \
+ || die "sed failed to set num_cores"
+
+ # Make ICU respect MAKEOPTS
+ sed -i \
+ -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \
+ "${S}"/intl/icu_sources_data.py \
+ || die "sed failed to set num_cores"
+
+ # 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
+
+ # Clearing checksums where we have applied patches
+ moz_clear_vendor_checksums audioipc
+ moz_clear_vendor_checksums audioipc-client
+ moz_clear_vendor_checksums audioipc-server
+
+ # 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 && ! tc-is-clang ; then
+ # Force clang
+ einfo "Enforcing the use of clang due to USE=clang ..."
+ have_switched_compiler=yes
+ AR=llvm-ar
+ AS=llvm-as
+ CC=${CHOST}-clang
+ CXX=${CHOST}-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
+ export HOST_CC="$(tc-getBUILD_CC)"
+ export HOST_CXX="$(tc-getBUILD_CXX)"
+ tc-export CC CXX LD AR NM OBJDUMP RANLIB 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
+
+ # Set Gentoo defaults
+ export MOZILLA_OFFICIAL=1
+
+ mozconfig_add_options_ac 'Gentoo default' \
+ --allow-addon-sideload \
+ --disable-cargo-incremental \
+ --disable-crashreporter \
+ --disable-gpsd \
+ --disable-install-strip \
+ --disable-parental-controls \
+ --disable-strip \
+ --disable-updater \
+ --enable-negotiateauth \
+ --enable-new-pass-manager \
+ --enable-official-branding \
+ --enable-release \
+ --enable-system-ffi \
+ --enable-system-pixman \
+ --host="${CBUILD:-${CHOST}}" \
+ --libdir="${EPREFIX}/usr/$(get_libdir)" \
+ --prefix="${EPREFIX}/usr" \
+ --target="${CHOST}" \
+ --without-ccache \
+ --without-wasm-sandboxed-libraries \
+ --with-intl-api \
+ --with-libclang-path="$(llvm-config --libdir)" \
+ --with-system-nspr \
+ --with-system-nss \
+ --with-system-zlib \
+ --with-toolchain-prefix="${CHOST}-" \
+ --with-unsigned-addon-scopes=app,system \
+ --x-includes="${ESYSROOT}/usr/include" \
+ --x-libraries="${ESYSROOT}/usr/$(get_libdir)"
+
+ # Set update channel
+ local update_channel=release
+ [[ -n ${MOZ_ESR} ]] && update_channel=esr
+ mozconfig_add_options_ac '' --update-channel=${update_channel}
+
+ if ! use x86 && [[ ${CHOST} != armv*h* ]] ; 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.
+ if use ppc64; then
+ mozconfig_add_options_ac '' --disable-sandbox
+ else
+ mozconfig_add_options_ac '' --enable-sandbox
+ 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-harfbuzz system-graphite2
+ mozconfig_use_with system-icu
+ mozconfig_use_with system-jpeg
+ mozconfig_use_with system-libevent
+ mozconfig_use_with system-libvpx
+ mozconfig_use_with system-png
+ mozconfig_use_with system-webp
+
+ mozconfig_use_enable dbus
+ mozconfig_use_enable libproxy
+
+ use eme-free && mozconfig_add_options_ac '+eme-free' --disable-eme
+
+ mozconfig_use_enable geckodriver
+
+ if use hardened ; then
+ mozconfig_add_options_ac "+hardened" --enable-hardening
+ append-ldflags "-Wl,-z,relro -Wl,-z,now"
+ 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
+
+ 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
+ fi
+
+ if use lto ; then
+ if use clang ; then
+ # Upstream only supports lld when using clang
+ mozconfig_add_options_ac "forcing ld=lld due to USE=clang and USE=lto" --enable-linker=lld
+
+ mozconfig_add_options_ac '+lto' --enable-lto=cross
+
+ else
+ # ThinLTO is currently broken, see bmo#1644409
+ mozconfig_add_options_ac '+lto' --enable-lto=full
+ mozconfig_add_options_ac "linker is set to bfd" --enable-linker=bfd
+ fi
+
+ if use pgo ; then
+ mozconfig_add_options_ac '+pgo' MOZ_PGO=1
+
+ if use clang ; then
+ # Used in build/pgo/profileserver.py
+ export LLVM_PROFDATA="llvm-profdata"
+ fi
+ fi
+ else
+ # Avoid auto-magic on linker
+ if use clang ; then
+ # This is upstream's default
+ mozconfig_add_options_ac "forcing ld=lld due to USE=clang" --enable-linker=lld
+ else
+ mozconfig_add_options_ac "linker is set to bfd" --enable-linker=bfd
+ fi
+ fi
+
+ # LTO flag was handled via configure
+ filter-flags '-flto*'
+
+ mozconfig_use_enable debug
+ if use debug ; then
+ mozconfig_add_options_ac '+debug' --disable-optimize
+ else
+ 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*'
+
+ # Modifications to better support ARM, bug #553364
+ if use cpu_flags_arm_neon ; then
+ mozconfig_add_options_ac '+cpu_flags_arm_neon' --with-fpu=neon
+
+ if ! tc-is-clang ; then
+ # thumb options aren't supported when using clang, bug 666966
+ mozconfig_add_options_ac '+cpu_flags_arm_neon' \
+ --with-thumb=yes \
+ --with-thumb-interwork=no
+ fi
+ fi
+
+ if [[ ${CHOST} == armv*h* ]] ; then
+ mozconfig_add_options_ac 'CHOST=armv*h*' --with-float-abi=hard
+
+ if ! use system-libvpx ; then
+ sed -i \
+ -e "s|softfp|hard|" \
+ "${S}"/media/libvpx/moz.build \
+ || die
+ fi
+ fi
+
+ if use clang ; then
+ # https://bugzilla.mozilla.org/show_bug.cgi?id=1482204
+ # https://bugzilla.mozilla.org/show_bug.cgi?id=1483822
+ # toolkit/moz.configure Elfhack section: target.cpu in ('arm', 'x86', 'x86_64')
+ local disable_elf_hack=
+ if use amd64 ; then
+ disable_elf_hack=yes
+ elif use x86 ; then
+ disable_elf_hack=yes
+ elif use arm ; then
+ disable_elf_hack=yes
+ fi
+
+ if [[ -n ${disable_elf_hack} ]] ; then
+ mozconfig_add_options_ac 'elf-hack is broken when using Clang' --disable-elf-hack
+ fi
+ elif tc-is-gcc ; then
+ if ver_test $(gcc-fullversion) -ge 10 ; then
+ einfo "Forcing -fno-tree-loop-vectorize to workaround GCC bug, see bug 758446 ..."
+ append-cxxflags -fno-tree-loop-vectorize
+ fi
+ fi
+
+ # Additional ARCH support
+ case "${ARCH}" in
+ arm)
+ # Reduce the memory requirements for linking
+ if use clang ; then
+ # Nothing to do
+ :;
+ elif use lto ; then
+ append-ldflags -Wl,--no-keep-memory
+ else
+ append-ldflags -Wl,--no-keep-memory -Wl,--reduce-memory-overheads
+ fi
+ ;;
+ esac
+
+ if ! use elibc_glibc ; then
+ mozconfig_add_options_ac '!elibc_glibc' --disable-jemalloc
+ fi
+
+ # Allow elfhack to work in combination with unstripped binaries
+ # when they would normally be larger than 2GiB.
+ append-ldflags "-Wl,--compress-debug-sections=zlib"
+
+ # Make revdep-rebuild.sh happy; Also required for musl
+ append-ldflags -Wl,-rpath="${MOZILLA_FIVE_HOME}",--enable-new-dtags
+
+ # Pass $MAKEOPTS to build system
+ export MOZ_MAKE_FLAGS="${MAKEOPTS}"
+
+ # Use system's Python environment
+ PIP_NETWORK_INSTALL_RESTRICTED_VIRTUALENVS=mach
+
+ if use system-python-libs; then
+ export MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE="system"
+ else
+ export MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE="none"
+ fi
+
+ # Disable notification when build system has finished
+ export MOZ_NOSPAM=1
+
+ # Portage sets XARGS environment variable to "xargs -r" by default which
+ # breaks build system's check_prog() function which doesn't support arguments
+ mozconfig_add_options_ac 'Gentoo default' "XARGS=${EPREFIX}/usr/bin/xargs"
+
+ # Set build dir
+ mozconfig_add_options_mk 'Gentoo default' "MOZ_OBJDIR=${BUILD_DIR}"
+
+ # Show flags we will use
+ einfo "Build BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}"
+ einfo "Build CFLAGS:\t\t${CFLAGS:-no value set}"
+ einfo "Build CXXFLAGS:\t\t${CXXFLAGS:-no value set}"
+ einfo "Build LDFLAGS:\t\t${LDFLAGS:-no value set}"
+ einfo "Build RUSTFLAGS:\t\t${RUSTFLAGS:-no value set}"
+
+ # Handle EXTRA_CONF and show summary
+ local ac opt hash reason
+
+ # Apply EXTRA_ECONF entries to $MOZCONFIG
+ if [[ -n ${EXTRA_ECONF} ]] ; then
+ IFS=\! read -a ac <<<${EXTRA_ECONF// --/\!}
+ for opt in "${ac[@]}"; do
+ mozconfig_add_options_ac "EXTRA_ECONF" --${opt#--}
+ done
+ fi
+
+ echo
+ echo "=========================================================="
+ echo "Building ${PF} with the following configuration"
+ grep ^ac_add_options "${MOZCONFIG}" | while read ac opt hash reason; do
+ [[ -z ${hash} || ${hash} == \# ]] \
+ || die "error reading mozconfig: ${ac} ${opt} ${hash} ${reason}"
+ printf " %-30s %s\n" "${opt}" "${reason:-mozilla.org default}"
+ done
+ echo "=========================================================="
+ echo
+
+ ./mach configure || die
+}
+
+src_compile() {
+ local virtx_cmd=
+
+ if use pgo ; then
+ virtx_cmd=virtx
+
+ # Reset and cleanup environment variables used by GNOME/XDG
+ gnome2_environment_reset
+
+ addpredict /root
+ fi
+
+ if ! use X && use wayland; then
+ local -x GDK_BACKEND=wayland
+ else
+ local -x GDK_BACKEND=x11
+ fi
+
+ ${virtx_cmd} ./mach build --verbose \
+ || die
+}
+
+src_install() {
+ # xpcshell is getting called during install
+ pax-mark m \
+ "${BUILD_DIR}"/dist/bin/xpcshell \
+ "${BUILD_DIR}"/dist/bin/${PN} \
+ "${BUILD_DIR}"/dist/bin/plugin-container
+
+ DESTDIR="${D}" ./mach install || die
+
+ # Upstream cannot ship symlink but we can (bmo#658850)
+ rm "${ED}${MOZILLA_FIVE_HOME}/${PN}-bin" || die
+ dosym ${PN} ${MOZILLA_FIVE_HOME}/${PN}-bin
+
+ # Don't install llvm-symbolizer from sys-devel/llvm package
+ if [[ -f "${ED}${MOZILLA_FIVE_HOME}/llvm-symbolizer" ]] ; then
+ rm -v "${ED}${MOZILLA_FIVE_HOME}/llvm-symbolizer" || die
+ fi
+
+ # Install policy (currently only used to disable application updates)
+ insinto "${MOZILLA_FIVE_HOME}/distribution"
+ newins "${FILESDIR}"/distribution.ini distribution.ini
+ newins "${FILESDIR}"/disable-auto-update.policy.json policies.json
+
+ # Install system-wide preferences
+ local PREFS_DIR="${MOZILLA_FIVE_HOME}/browser/defaults/preferences"
+ insinto "${PREFS_DIR}"
+ newins "${FILESDIR}"/gentoo-default-prefs.js gentoo-prefs.js
+
+ local GENTOO_PREFS="${ED}${PREFS_DIR}/gentoo-prefs.js"
+
+ # Set dictionary path to use system hunspell
+ cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set spellchecker.dictionary_path pref"
+ pref("spellchecker.dictionary_path", "${EPREFIX}/usr/share/myspell");
+ EOF
+
+ # Force hwaccel prefs if USE=hwaccel is enabled
+ if use hwaccel ; then
+ cat "${FILESDIR}"/gentoo-hwaccel-prefs.js-r2 \
+ >>"${GENTOO_PREFS}" \
+ || die "failed to add prefs to force hardware-accelerated rendering to all-gentoo.js"
+
+ if use wayland; then
+ cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set hwaccel wayland prefs"
+ pref("gfx.x11-egl.force-enabled", false);
+ EOF
+ else
+ cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set hwaccel x11 prefs"
+ pref("gfx.x11-egl.force-enabled", true);
+ EOF
+ fi
+ 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
+
+ # 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 geckodriver
+ if use geckodriver ; then
+ einfo "Installing geckodriver into ${ED}${MOZILLA_FIVE_HOME} ..."
+ pax-mark m "${BUILD_DIR}"/dist/bin/geckodriver
+ exeinto "${MOZILLA_FIVE_HOME}"
+ doexe "${BUILD_DIR}"/dist/bin/geckodriver
+
+ dosym ${MOZILLA_FIVE_HOME}/geckodriver /usr/bin/geckodriver
+ fi
+
+ # Install icons
+ local icon_srcdir="${S}/browser/branding/official"
+ local icon_symbolic_file="${FILESDIR}/icon/firefox-symbolic.svg"
+
+ insinto /usr/share/icons/hicolor/symbolic/apps
+ newins "${icon_symbolic_file}" ${PN}-symbolic.svg
+
+ local icon size
+ for icon in "${icon_srcdir}"/default*.png ; do
+ size=${icon%.png}
+ size=${size##*/default}
+
+ if [[ ${size} -eq 48 ]] ; then
+ newicon "${icon}" ${PN}.png
+ fi
+
+ newicon -s ${size} "${icon}" ${PN}.png
+ done
+
+ # Install menu
+ local app_name="Mozilla ${MOZ_PN^}"
+ local desktop_file="${FILESDIR}/icon/${PN}-r3.desktop"
+ local desktop_filename="${PN}.desktop"
+ local exec_command="${PN}"
+ local icon="${PN}"
+ local use_wayland="false"
+
+ 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
+
+ # Install wrapper script
+ [[ -f "${ED}/usr/bin/${PN}" ]] && rm "${ED}/usr/bin/${PN}"
+ newbin "${FILESDIR}/${PN}-r1.sh" ${PN}
+
+ # Update wrapper
+ sed -i \
+ -e "s:@PREFIX@:${EPREFIX}/usr:" \
+ -e "s:@MOZ_FIVE_HOME@:${MOZILLA_FIVE_HOME}:" \
+ -e "s:@APULSELIB_DIR@:${apulselib}:" \
+ -e "s:@DEFAULT_WAYLAND@:${use_wayland}:" \
+ "${ED}/usr/bin/${PN}" \
+ || die
+}
+
+pkg_preinst() {
+ xdg_pkg_preinst
+
+ # If the apulse libs are available in MOZILLA_FIVE_HOME then apulse
+ # does not need to be forced into the LD_LIBRARY_PATH
+ if use pulseaudio && has_version ">=media-sound/apulse-0.1.12-r4" ; then
+ einfo "APULSE found; Generating library symlinks for sound support ..."
+ local lib
+ pushd "${ED}${MOZILLA_FIVE_HOME}" &>/dev/null || die
+ for lib in ../apulse/libpulse{.so{,.0},-simple.so{,.0}} ; do
+ # A quickpkg rolled by hand will grab symlinks as part of the package,
+ # so we need to avoid creating them if they already exist.
+ if [[ ! -L ${lib##*/} ]] ; then
+ ln -s "${lib}" ${lib##*/} || die
+ fi
+ done
+ popd &>/dev/null || die
+ fi
+}
+
+pkg_postinst() {
+ xdg_pkg_postinst
+
+ if ! use gmp-autoupdate ; then
+ elog "USE='-gmp-autoupdate' has disabled the following plugins from updating or"
+ elog "installing into new profiles:"
+ local plugin
+ for plugin in "${MOZ_GMP_PLUGIN_LIST[@]}" ; do
+ elog "\t ${plugin}"
+ done
+ elog
+ fi
+
+ if use pulseaudio && has_version ">=media-sound/apulse-0.1.12-r4" ; then
+ elog "Apulse was detected at merge time on this system and so it will always be"
+ elog "used for sound. If you wish to use pulseaudio instead please unmerge"
+ elog "media-sound/apulse."
+ elog
+ fi
+
+ local show_doh_information
+ local show_normandy_information
+ local show_shortcut_information
+
+ if [[ -z "${REPLACING_VERSIONS}" ]] ; then
+ # New install; Tell user that DoH is disabled by default
+ show_doh_information=yes
+ show_normandy_information=yes
+ show_shortcut_information=no
+ else
+ local replacing_version
+ for replacing_version in ${REPLACING_VERSIONS} ; do
+ if ver_test "${replacing_version}" -lt 91.0 ; then
+ # Tell user that we no longer install a shortcut
+ # per supported display protocol
+ show_shortcut_information=yes
+ fi
+ done
+ fi
+
+ if [[ -n "${show_doh_information}" ]] ; then
+ elog
+ elog "Note regarding Trusted Recursive Resolver aka DNS-over-HTTPS (DoH):"
+ elog "Due to privacy concerns (encrypting DNS might be a good thing, sending all"
+ elog "DNS traffic to Cloudflare by default is not a good idea and applications"
+ elog "should respect OS configured settings), \"network.trr.mode\" was set to 5"
+ elog "(\"Off by choice\") by default."
+ elog "You can enable DNS-over-HTTPS in ${PN^}'s preferences."
+ fi
+
+ # bug 713782
+ if [[ -n "${show_normandy_information}" ]] ; then
+ elog
+ elog "Upstream operates a service named Normandy which allows Mozilla to"
+ elog "push changes for default settings or even install new add-ons remotely."
+ elog "While this can be useful to address problems like 'Armagadd-on 2.0' or"
+ elog "revert previous decisions to disable TLS 1.0/1.1, privacy and security"
+ elog "concerns prevail, which is why we have switched off the use of this"
+ elog "service by default."
+ elog
+ elog "To re-enable this service set"
+ elog
+ elog " app.normandy.enabled=true"
+ elog
+ elog "in about:config."
+ fi
+
+ if [[ -n "${show_shortcut_information}" ]] ; then
+ elog
+ elog "Since ${PN}-91.0 we no longer install multiple shortcuts for"
+ elog "each supported display protocol. Instead we will only install"
+ elog "one generic Mozilla ${PN^} shortcut."
+ elog "If you still want to be able to select between running Mozilla ${PN^}"
+ elog "on X11 or Wayland, you have to re-create these shortcuts on your own."
+ 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 supported 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
+
+ elog
+ elog "Unfortunately Firefox-100.0 breaks compatibility with some sites using "
+ elog "useragent checks. To temporarily fix this, enter about:config and modify "
+ elog "network.http.useragent.forceVersion preference to \"99\"."
+ elog "Or install an addon to change your useragent."
+ elog "See: https://support.mozilla.org/en-US/kb/difficulties-opening-or-using-website-firefox-100"
+ elog
+}