commit:     f3e6e4725c4bdf1ce388208c831d4cc2429e54a0
Author:     Joonas Niilola <juippis <AT> gentoo <DOT> org>
AuthorDate: Tue Aug  9 09:07:22 2022 +0000
Commit:     Joonas Niilola <juippis <AT> gentoo <DOT> org>
CommitDate: Tue Aug  9 09:08:05 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f3e6e472

www-client/firefox: add 103.0.2

Signed-off-by: Joonas Niilola <juippis <AT> gentoo.org>

 www-client/firefox/Manifest               |   98 +++
 www-client/firefox/firefox-103.0.2.ebuild | 1286 +++++++++++++++++++++++++++++
 2 files changed, 1384 insertions(+)

diff --git a/www-client/firefox/Manifest b/www-client/firefox/Manifest
index a0f927df954c..50ede816eb27 100644
--- a/www-client/firefox/Manifest
+++ b/www-client/firefox/Manifest
@@ -294,6 +294,104 @@ DIST firefox-103.0.1-xh.xpi 429247 BLAKE2B 
299883a21a176cada6900fd778fe170cd0911
 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.2-ach.xpi 454183 BLAKE2B 
e02657bff95c8866bb7486982c3b13713b1701dfe5c83ffe2d769eef8614b096ab61801a7b3b80058771c4995345cb724393be2aad67f175d639325b112f1155
 SHA512 
52fe30dee4414bdd8e3cc185044e16308fc02e1d37422f97ccd4111cec7e1e3673cce594b74c523ff417a046c925c703227589b4a2bfc5a65d627a53402309da
+DIST firefox-103.0.2-af.xpi 419559 BLAKE2B 
814baaf25ba8e444aadcce3dfcbb64bda971a36d9968bde3f7b6fb3e561047e089c68e9769cec66b78c7eaface431070be844cdb91d7e18cf248ea2711c0907c
 SHA512 
59640d6674c63caf93f29fac92f7995143031102abfa725a7b075f90066314f0f9edc4f528fcfe5254ef12538e6e5560b385b97740639540a93ddd70d0cafce7
+DIST firefox-103.0.2-an.xpi 498032 BLAKE2B 
541736791bc9f4a09d4ac08f15779751fabce3621c7d5e6aa2faab65fe7658f8ecf6f3ebc153429c82023f55a62a2f056a1d40ff246d47b59b0b042abf057f74
 SHA512 
08a455eafc7c7bd62c3ed1979884d239460850e63430efde34b2fcd42882337ef257592c6693092426d80a673b4cafe9c9780089d5906fdc829475d2bec66f59
+DIST firefox-103.0.2-ar.xpi 561683 BLAKE2B 
91ce9d741c7ab8770581a52066ed95abc7541e992a88789d2c7fd84cab3e657fc48e2ece8ac99f3adadce393b985acf9bdd47be8d4aea1991956c7332100bb09
 SHA512 
d63175677824a1b69e371394cf54d1cfe83c74f64392ad95f9b589fb21c34ba8943352eee6347d0d3db49d63e85376cd09a0689c6d8b6d64c96e16a9e1fbf746
+DIST firefox-103.0.2-ast.xpi 494291 BLAKE2B 
5f10b72454fe7a2200ed8d02f780ac1f7a9521c7abc161555cb77f8ebe13bf0ddf4c556ce863ada1c4e2268dce116d9d6a53feebf748c542ae9b492709fc0cfa
 SHA512 
67ae858d4bf050571e22b9d55f1c6f34fbaa271f2692174cc8e026531cac3569fd6fd5e8605844355039b9e21f9f46453540bc86b369dedd1a9adf752d603086
+DIST firefox-103.0.2-az.xpi 485457 BLAKE2B 
fd69531ef0e7653271555d231fa3b7289ce517809e822dbaf3ba49971b08eb0d941db46bdc61809733f076b342e14724d711a71e7bb84ab2a70970d2f2c8a9a1
 SHA512 
eb67193484848cb560f4429a836e95be8bfdbcdca03e015adf047773396acc6ba47e6f3c82e0b1cd5b859324f6ba51a787bc5c72b16a43997f83609779b5b2e0
+DIST firefox-103.0.2-be.xpi 625939 BLAKE2B 
1f5b33808e0f4198d236c1e1e7629f07c6a86a03d11bca585a71bc868e661d05633226468c256579e38d7b148d3e50ea8593b7b759af6eebc6563d633aac0ea9
 SHA512 
6128ff9f266842c5b92772d5cdb85de9c34bfb369ecb0ca0e17007e73c950b471065e56a34fa7c84af6a0a9c467f04b1d5695cf7101b03aeed0924e0d4fccaf4
+DIST firefox-103.0.2-bg.xpi 574199 BLAKE2B 
600d18857e121061a5130954c0909c0c576f6baca842d3bc098ae1b8d8efbad53045bc2ecc0e2023ff16f235e5076bfcb963d449ccd3c08efd8de75f2eea90e7
 SHA512 
7058c4ac7413a63f40226d83c3ad5754dd86f675b53e97ef7145196f6dba65382df340c70c0a87faa58d46a79bfa28adb6dc038e4d00617b47fdc105c0ef430f
+DIST firefox-103.0.2-bn.xpi 576219 BLAKE2B 
69f3673aa18998b04b773320e5293e78c508bae3649209107da5cbc1925cfc01e28ac6258204142e8cf81b728962ffcfad744061c970a0f3e17541d7089d474c
 SHA512 
c9f915edf7ec9e9276bcf2159277e947ace14826991f2ffe6f9c958355d191476682edd224f95e5827edeaf8789199b4c59c5a3821eabf1bc58f55831bac503a
+DIST firefox-103.0.2-br.xpi 532115 BLAKE2B 
682e98b8cfca6545311c066b480cd410ff120d249272978efd149c97ff6f6ffa87856a086179220bdec4e85caa35cd7eb4c22bfd548a55ac668ce4ab6a39dbcf
 SHA512 
02d8060a5bb2b79531c8a7cd2a8506024e5e12cf02788647ec25c1836ef090e165000af92337dfe98b43659d114eb51433c85ab4695ecf4705871a73b650ab07
+DIST firefox-103.0.2-bs.xpi 462896 BLAKE2B 
5dd2c03d6a8dc670280000d082a621fc4bc14b5249d121d0e623afb6ab2ff8acecd2168d539b01afc5024828fa3c640bd655bf2cc4c5943e572a6d61b87a844f
 SHA512 
04684f9ecceb7b82af2580a14de1b0a6b944ac9840f7fa875fb5aa3011ea572268f957879facc1530852be750a5af0f53a2abbe8c7a572179acb679698183ca3
+DIST firefox-103.0.2-ca-valencia.xpi 537354 BLAKE2B 
28a0b06f4719ca6fd6272304a08c858c77833eac7b82be1968c115eb0ca8fb1bcc1ac206816fc68f4506c1515870ef6aebea38fbf82eaeb2ed3693ba84995628
 SHA512 
a2de2675a03ee5f25c837d9efe8577154b1f53957c41fbf8122bceb7946cb5268de0565ba23a8541c49dea1e7660d5bbfd277ccc743ea62693af1ee751089a4f
+DIST firefox-103.0.2-ca.xpi 534083 BLAKE2B 
b6ddf2d72ac8cca6bfd133d04dc3cb7f37836877b3264f8a310c2b412e1db41a54a17121856b28525bcad1bb0732de04fe329a9a452d309447a5396076ba62ca
 SHA512 
ebde710881c56d5753ce4075807d73873d4162c6893df3085fa83fd72c0ccc48224d3bc7903a67421b4690521d21c3bb3c310d3ee9e82947fa1d0a7bd053e5bf
+DIST firefox-103.0.2-cak.xpi 550808 BLAKE2B 
9eaa75132fe4f42ea13f62fb894bd0042b63ffe439297a8f5a007a10f5f566023fc8148cbc68f301ed23021ff4398599806cd72d1a33a9d26a6c06279e2b1af5
 SHA512 
d94b4492a86c6544129ae8e77ccf999a5f3148566c3871dbe6d467bf3744a0c311ce2e258de37a93fdd876783d21c2dd2fe936cfe0fc3542c2630f6c04001283
+DIST firefox-103.0.2-cs.xpi 567607 BLAKE2B 
e3056eba7e209ed5cda201bad883f3a280a3127eeef3d08aea6f5fd222393f8cca5dceefea5a75dcb6c6aaaa8f129e4c4820c41ebea8d93a2a25616a379ea0d8
 SHA512 
b30dd81b887a824a153d373925e6e6544c6762363bf7f273db4d187b99b9f7285cc62984f1f69bdd9271c78920865921d766f6d966174db2f45402b487cc15fe
+DIST firefox-103.0.2-cy.xpi 545489 BLAKE2B 
f66fc9ecd5fbf565826bc53c7e99de09437eadc5922ff749f103dd178dd90ebcf2286560df2c0133473bbf0774ba76b60ac739ff9c4924d20202a352a8d4db83
 SHA512 
9516d9c02a3295a0c240ba8eaad0f645be672a2efb11a19241053589334fac5db1421e7fbdd6fa015dc587d34809658826f5c291b6a6dbd2e69a04a277fb3a1f
+DIST firefox-103.0.2-da.xpi 535882 BLAKE2B 
2d88689ac0caa85412d12c868c9905b841dec865c618f7257c97e4142cc73daa254b6feabedd6483732f6b9766e100ece4016299a1290f0f246eee8f1c6ec747
 SHA512 
c10ccab92df9db8575b0ab4815cee0f2c9d5069a12a1467064300977653f21a83b085a7d3cc5e202235404b09de7e8d2e2b522b74ddbb7c006494a0475c7af0f
+DIST firefox-103.0.2-de.xpi 555991 BLAKE2B 
ec270a812ef392d79ba3397f208d20cea351f499490aca86bd884e06ff68924b1d72c612e473d3d926733f42aa92e67f4ce8dfea300fbf083ae57f1ade7d58ba
 SHA512 
0fcd5cf0d822b1d766e78b0a62257e9cbfee35f3941200df67002d76bca4872f7eb743ab0298968ae3c6eadd6ddbd2c51a9d904f15c6bad682473fe6e77ad5ec
+DIST firefox-103.0.2-dsb.xpi 569475 BLAKE2B 
48bfa15e20e027ba8d4176966f9ff7f4ec594aa4e237c3c8abcc9c75290eb65cde021c9d78a23efdbce6f1904a9d88bfe4640417b7971e5f87a203801975cb2b
 SHA512 
14c7fe082977ebf9119a40ffe93da4729757a6914fa0a5a8d6bb0b21912b255c5748a16b561ab57c00705d4a3deb4d249fdca5379c00a706d2a05a120506b2f2
+DIST firefox-103.0.2-el.xpi 640799 BLAKE2B 
6db7b580005dcbea41734761479bfed848f78ff8f5fcfa0b90ca2d3a54543c181f176e090f5881a373c963bd48cfc7a129f9c8c0ff16d88362f8ac797b811a91
 SHA512 
e95599126086bdc21db7f17f6a75a985e4964608b4c5ef0dae411b34147268ff9cc40093981231ee1dc186e7fa449c7cb9d9f04ef2a24f1c11724a45bf1ca6d5
+DIST firefox-103.0.2-en-CA.xpi 513833 BLAKE2B 
574c8748ec481b8019b8fdea1cb5dcbf8bc7459956c3d3da47c92120604eabc4489ec93c3e0bf44096ca4ee439c32ef0c2e5866a66ba03139e494ffeddb89dfe
 SHA512 
de4c8e447546384a46db7e7796e5e3bf91a50335ed31a6a1a7d0fe39d3117664b74cc6fbb61704e2df01f8547484b3fcd24d8432f7581feb73928bb55b93a96f
+DIST firefox-103.0.2-en-GB.xpi 514047 BLAKE2B 
af03f27c1ff8cd163c697d15bfd46c949a752d9dd2a89c58eb504b7420fad06e1db3c06df248b229c09fa7c72c2f7ae0f43e12313d15d842710fe73c2fd2ead9
 SHA512 
a1d82ad6cf36741376768fb790b6186ed505ac35c90d7a4b71ca793ec197312f3d7f72fe0c3a16de7f98f3c85c3cc2db3bea8ffb66d8135499f55ddab1b9764d
+DIST firefox-103.0.2-eo.xpi 540165 BLAKE2B 
da83c5320e3260762f70a68e5f63eb792354182d3b9ecf0b6171f1742624b96a9c7588715decea2a83dd84e1bce19f53d6e8f042d8c241c2d26668aec6ddede9
 SHA512 
0a5901d874a789b2d9b860e2e13a8e03535a391680be16564011feac13cb561338b844af6fa01b44203e744531539225afb39283bad01fb4ad34cbcdfae82c05
+DIST firefox-103.0.2-es-AR.xpi 550473 BLAKE2B 
29cff1642e8d3a8acf8f518e749f2aaf67eade8f2700b72f160eb55020c6d71ddae4647bb9b00191ce1d426cfd0846151091042e5143b27a232cf8b9d10f9e22
 SHA512 
df9e064d23b3ae86555b84ec0ebd58a8ae24b62594ebec42a3af8ff0fdbe4c8b9f268fb9a99b0398dc36840ce59d2367e6b4481f1f9f68f8383f19ec81b9a9f0
+DIST firefox-103.0.2-es-CL.xpi 549848 BLAKE2B 
9708ccc910bf3f1d0227ea5f3cea41716d48c48c68212891c9efea4c9f290d5ac13edf4d00528bcbfba920c0d0a3245ef5c43c3d35833f310f1efec758bc7011
 SHA512 
0f997e5b2471714fb914304ff4dc9b07acfa609e054ec8d8dc9eb963db5257ea1ac332d9bc407cb87cb1732b52f3b1e350220a4a620469867175d0922879c3d9
+DIST firefox-103.0.2-es-ES.xpi 541262 BLAKE2B 
b6bf7a5f6e70060669352e47969d0fc3055ff334d859e84c94afc0a1ef6b99e66ced45a7e5199e4acab26945e52e7ea41be6e0b3c10c8405169fecd8892672f7
 SHA512 
929eee6240406c35424ec5309133fc7045271894d152057bd94d23f833600d3fa219fa35c7937c621917e1e094c6a2e399bfcc8cb84a6dd9a0e19ad1c4aab997
+DIST firefox-103.0.2-es-MX.xpi 553699 BLAKE2B 
995c25cac3b70933788f8bfac2c71e8f788c027053d0e3739e21798cd42a238671ba4c336f7cc7a9f4d2446575b48423f9c8a262991068a74f041efed77afbfa
 SHA512 
cc15e3ff2266b2281b0686fb67ae80d4f24891fd1010b295472476646193c999c0a99b87dc682a61c944df26ac34974447a2388ac680fd964327bbd1282634e1
+DIST firefox-103.0.2-et.xpi 530732 BLAKE2B 
7178a67ab1a8bbb7d675e0d037d9167b9e7727dc2bf03d6ec83c8ccc1e21687bb42fc4804556c6c1b5370de2c198a8ae445a8bb53ef0d737b9f6a602c71be06e
 SHA512 
422b758f5f0d0141a5f595cf8139d68064edfde268eadbd70ccc4d80c46fb0677fa88f6e4216bf6894dfe60e375c5a26ea4ee0d4a5886e84b7fabc110f2758b9
+DIST firefox-103.0.2-eu.xpi 540015 BLAKE2B 
20f9d49ac6a1976d648bfd567c9836867d6c5171e51e4f1a69e800178d87dba72bf8fc9e22843cdffdd0271ef9af739efb9ad1814e73434531a1b81191c88b64
 SHA512 
c8f0ade84a56dfc05ea72038a0a9123683f0848ce6fcb8b72c44a7b15e3b37b834ce12a62b9db5f9766f1d8eba12e56cc6842635d1050a0129a12cca15d29932
+DIST firefox-103.0.2-fa.xpi 561849 BLAKE2B 
7441fe5c2824c521a14b7f1e1a5c29c17fc7355423a89d2ab7f3305c2c0493201f277dbc5c34567d8f64b726b3aa448f843bc8579699729f2b3412c8003359f4
 SHA512 
ed8dbae55566f1cd915490c05ceb256f77d503bdecfecd7b627c232d6ec551b8dfc7668488c4ed51cf895b7f99084dd8fb010d1615bc616527f7eadfeb6f9180
+DIST firefox-103.0.2-ff.xpi 472343 BLAKE2B 
9679ffd20708ad92d50e923d5aa905ad61eb1c1b678663e2aaa9fb21e383095a4692b7604bc64a643e450b25ba7d4fd38f0d4486cd437223067575f080317fe3
 SHA512 
07d82b666b0940f02af811491151ad0160ed75cfb80f310617decc6cf34eb0e9123bd79216205f78c767629794f21b0a59c85c64e1027ed696dc89e831d4feb1
+DIST firefox-103.0.2-fi.xpi 534455 BLAKE2B 
0dfbf36a640600cc795f5525e34519ff6552bff8a9c6b1beb7f2bc3317544da12c9ab5fe510c4d951e607d1bee6d18f9385571e91a808ca95612ad4586f56811
 SHA512 
424ac717af6a4a6d390c50c5cf6c6c9d4f1ce9ff4b7091e31df5d73f81d990ab7103f5fc81fdbb391281860f33df3cdb1c15bdb96bf98a20538cde42492cb1ed
+DIST firefox-103.0.2-fr.xpi 561684 BLAKE2B 
1b7fa4c3dd1bd3cc60603a53349e74380e33a2405d5fddf7761f1b0594acfaeaed7293592af70a6536258360dc3d56e529c9b102a938ac48015179908e1d131a
 SHA512 
6a7892faf74d5bbee9ce5c3e0b67e4b1f5cbdbacd1b13d0964bfe4cc24949ae4974a579954d4a9c3d161d546cd296b00436956ce5cd7730e678cb2da8cdda708
+DIST firefox-103.0.2-fy-NL.xpi 546741 BLAKE2B 
c02b53ad0771ef528ba99dc1d4238b7c7ef8386014de1ad8c78dd6f26a363f52524458e9a87501385a8f45d1ada807a8488ed71564e5feb485e971d06836688a
 SHA512 
18f5f86386b904d84c6a546221f65bdf50d6d9bdc64ec7f1865d4a508e8bf6360d33acb7337f3240db63cf3f5171f17c3331e2006357d847f9c124f7654d378b
+DIST firefox-103.0.2-ga-IE.xpi 471795 BLAKE2B 
a0b33f9c3b97cded057615d17c226dd6b10dc296dfcd218a87cd196b43a8b9870fd3c4513f5ec4411fa4dd6fd6582db5d9ca043cd6eee6473b87d09f73f5fb08
 SHA512 
109b27bcaad8781d3c9400c6f996baec1210f9880dffe8617a3130551c62db9e16f49c3a8db80a56a1032f98429128ab21b5cdc6982e4a4dcce12c3a212c8842
+DIST firefox-103.0.2-gd.xpi 533650 BLAKE2B 
a789d98a4fb3761203b0bf481848ee323fb783eddcc1028eebbea2c38c51c4ad183498d9ec114c426a9a23fb1df445374ea00c7ff3c4bd6b6f9510a7be9f7fd9
 SHA512 
edabe0bcbeacbb7a1b386872d7e4d69e501078fa6fb7cd817503800fce2d058df69fc38a5e3825b6a0d7c694b28d4edc7cf2340d7f206a2701b86acfee348306
+DIST firefox-103.0.2-gl.xpi 540055 BLAKE2B 
dd38c52d27279fa392d37b8a6a75a9f4d2aa1356184f8e3754903cd5f58857ceb02895c25fbae77d726e59fa2aa8d1683c40d410d7e8706e77bd225c9d751754
 SHA512 
9ef5f4cd9ab360420315e9cb8e088c9e9e61e8d20f4277b7b5429a6c92356da171ebbc78663b9321d776a01071e5b997c0c0b852e2aa46c17dedefc1c2b09f29
+DIST firefox-103.0.2-gn.xpi 561560 BLAKE2B 
41c520b6b33ed2f41278ecb41f2535e0c26b9f68bc38deb567fb89f58714307bce98c62687e304c2ccd497d3324d6f1162587fb6c5baaa745011b4f655c0bfe3
 SHA512 
6d674bed2a687b82bfb67c8a529af034b375492eb838c6f7299d2124c2daf6d27067de135f586da40ad84af34e8c69642689cc6f94d40dfbc272964edc93af4b
+DIST firefox-103.0.2-gu-IN.xpi 526865 BLAKE2B 
4e7fb452a52069e0c51965ce346205dc40f07dd099395a7ec8aef3be3924e59acf9949bdc5a721baebfa5356e8b57de0f69434808d2ddd6f8fd1152a7c3f4133
 SHA512 
62be57361a828554ac725fc608f9d0cac05d020e973682b45966a3f56abf9ed83933215bc85c27de17b929dabfad8502d6e288da2941a83928e0cba243a57e1a
+DIST firefox-103.0.2-he.xpi 559713 BLAKE2B 
f504d6c0db3baecec8e5c07ff7dd7d136951721e76898e4079543943f9ff8dfd47b34b3de022d503675a0df5406282fc4f1e42bfe36bb089ba48f1b606a3cee0
 SHA512 
50034ea7d1934fbdc21d2d987820df594a9b698b7d29f9f619ac1f821d26f00e62dd44f084c63118060a46847386173388c7572054d47bb48044f98869e4a8d0
+DIST firefox-103.0.2-hi-IN.xpi 556919 BLAKE2B 
b56899ad0ead731a9e30b8b350dc380807caf62510c399598601ed18e731222856997890d0dcf137ce86f45b54c77aafda97009118d48ebfa111ed3377c8bfe3
 SHA512 
68ef4b1f0c32b29dba62c2760befe21e4be481c39ddaeb40ab65a7da21bd376e8ebcceff817dc836d14330b9731924a0b3957242e40fd85b59ca0d8e81934e5e
+DIST firefox-103.0.2-hr.xpi 530619 BLAKE2B 
6deea4b6da7e7dbad57457cf87e956ff1f3b95f46e82c1a1d9f86d7767abd6d3c9611b8ea463cb898fcb32105bb76c47544e41d7f63948f54aa2dc8c98e027ed
 SHA512 
786436d84e5b075609108c12e5de94d39895020eac4defef85d076b006bce80e935414609634d6cdf97a6a878f0520c7f82b91df47c00b0aa04079748c2e6002
+DIST firefox-103.0.2-hsb.xpi 565684 BLAKE2B 
088892136ef3e9459299d65f18d388b4179fde3deb2ce17917b33b4ea2fd0328c345f0986da34f3f372639888f947674c98328fcb70366aa5f613b2dc6e9795d
 SHA512 
f725931f34cbb037f99921cdd3196be3661bed24700dc7e05d851279352226c83476996144bd022bc66224164e72b1536105e70af2bb9102e174b1ad569b0f4d
+DIST firefox-103.0.2-hu.xpi 568996 BLAKE2B 
a4ba79cf9c01f9bfa7e3de91760813fc4c9673245cda533c01e476068e34cab2e11204ca0bde655b6e9d018142a9c59e9d7ad990a31dff187b393f6ed0615264
 SHA512 
291f3067d3ab9fa0708150ff082b89e45df2af6f79bcb8af1e4c83631d840b3bef276a468949abe2ecfae76cca13544f72f3360d4adec0dbb70960c795f03d1b
+DIST firefox-103.0.2-hy-AM.xpi 581562 BLAKE2B 
d90e159568c5f4d4822c8283341eb8bc918dec3bde20f23b621f3e98e5cddf957cdf4a9920c3a0a96cb54eb78936451a4385270860b613cb5a649c00671cbe5c
 SHA512 
f60f3164231980c84ee0db0953e1e600296c26d9a9ef1aa73ee30a42c6bf20114dd9584139a17d93cfeb39ba01744587b560b9b8b09c6acf38b0fcf78b2efc25
+DIST firefox-103.0.2-ia.xpi 535624 BLAKE2B 
ca33b791e6351f8897958895a56f4838d76ecb0249def99fc5d1f1d89c736670dc381884a64056ffd796b0be7d099590c3c7587473e7f5b4edcda416e5799709
 SHA512 
8d2da1baf3d1763f4a9fe74a76351c21388ec183f670f4e57784a41a5a6dfdb484b631b9ea2a5d670df402db830bdf5f0c3309d59842c03b0f55f9ad82698f36
+DIST firefox-103.0.2-id.xpi 532821 BLAKE2B 
be627f5aff265edceb43b078757888bc176b264a2d2f11c5ed12ced37e0f58198922a74f3d0f348998d76386db0f5e26f45700c858f1c8f0cb0af69d7d14f8ac
 SHA512 
fed2c84ddb39a260a73a6a10a005da417c9470c7745d6506f387a0dd71246ffd04f80001e74d6c646c8e836387e3a2fb6f409861fa68ff1c694c79965b2ff656
+DIST firefox-103.0.2-is.xpi 540853 BLAKE2B 
1cf13e06868b1ddda265ef8f726d98e2492f7f88b342c3f55b25075b7bdabf0ecfa0e264e235e426a2d8488289faae92a9f35cfba48e1f034613e5b417089a05
 SHA512 
38b0de9f3f3073f943412383f12840631ede3288e8342d3361c6c301e25654878324618ce0e2bce2f64fb9250efd6061ca4303501c517c52366e9359f2eba849
+DIST firefox-103.0.2-it.xpi 454433 BLAKE2B 
3c02793fa1063fc4197f1e825ce42fd3993c6445096b3bdeb72460adc3556d02d9ffd1792e2f34e1dd857603de5323a9016010682e63def80595200b103d8537
 SHA512 
ad48d75a472ac14e7f8abf64f42903f02034f5138028f8700dbd85264f2f1fd243af6191e70ce5a000aef06fd860cfa7f47000c9b0e5250051c1e5eb72a8c795
+DIST firefox-103.0.2-ja.xpi 574515 BLAKE2B 
f21cdd917ee7ccb45703c87461208be59bce0d746e0172f04270ce7c8f5b6ae02fe93706e2dc31c7fbb44485a483b60d5b6ab4e4a8c73b64935fb79e9136d2a9
 SHA512 
6af8b8b63e078a2cd51c3e4b5fd191b85e723c9c5afedc3e0889496ce6d643764c9a3260fe36504bf11ae0d8e9000f0119152f87ddef7c52a8c1f1bf28772114
+DIST firefox-103.0.2-ka.xpi 594030 BLAKE2B 
a568a303c9142f2f5d6494a40557caa779e8d7d80a5c637c194f19ae1a1ff6699b54cdcafcce135be6fc8c2f51c34cea08d193c5fc4b365380bae009263814fa
 SHA512 
eb6f8a0aebf96b4820442f31a5036d7b502e5f781401e31fc277c2674d52c24da7cf6aa9d4ac6f537b078f097478767776c9760a6f218ff48df607058b3a7690
+DIST firefox-103.0.2-kab.xpi 554271 BLAKE2B 
547f7938718fcecfcd67dd596da48f967c6bb7b932a17006c844c6d4c0e27611b17c00a748de2d12106fa0a132bb32e00fd93feb909dd45b23a94031008a53cd
 SHA512 
fd9ce61bfa79c0eb9598731368cca733e982bff3b5cc26d2b5e48b255a9935d0d5bbe8a05aac8c554d3e028220ecd37a3fb52a354895cfaa0f790fb99b0dca67
+DIST firefox-103.0.2-kk.xpi 616952 BLAKE2B 
14c80fbd82a0cb5d461386a1b4e6bd410ede2003a7f01d206a618b65545bf986c8c55bb50927c86ebb3f82f858419df4a4a2a673ce6f5ff6bfb58f9bced2e22a
 SHA512 
cf8bd5b909a588d9d95237dda741f27c8c0ba8f6d175bb2c3bbddf48228e8f0806dd8a0d8176dcf12993701448aa13b3e62028e47286a66871a75e708faec111
+DIST firefox-103.0.2-km.xpi 531396 BLAKE2B 
8f1e40c06ba31db28b4c4bebbd19a8dfaeaac9f14efe2fd21182c99ec0c2a5bd1e071528d8245dc750d13c8b79bb57984e33444fd3ac4092d612ceecbc28dc84
 SHA512 
7f35424133a498d789f8b769f71cff054babe922f60619eef69e291c14dd8dbbebef2ec822957d02882f3ac080b5c98c537ff27f3295a9c1d01df53cfbcd4a8d
+DIST firefox-103.0.2-kn.xpi 497499 BLAKE2B 
d59e3531f9455f49f865a4e8fc14ea3587da3e4d70af9897b43b27edc4190774b2043ff236a0fbe1ba771a3a7058e4bc75b2bbd1e2e05353189a81a014fa43d4
 SHA512 
3bcdd8c6392c2da9f5e62c4c7b2630a951c580ac4eb6ebc1aa64b7db35ead75011d9de1b6b7f75590d7f056f95b1e00bcb4d7e7e2f1c7fa0d5cb4cc9ffcc2184
+DIST firefox-103.0.2-ko.xpi 581114 BLAKE2B 
5d778b6ae1eb397dbe226694227d8f1b37c27ab0d657ea297d9cdcabe293fafd562cbbed68793bee1a70eb1ac813de0411414a9d8b235be5fd2d0b210650b21c
 SHA512 
f7649642706a42a581decd643a4db83cb653a9bedfce452a412d0a474e13b09090b40999252de6c1bf5580e346ef13ac6d8369542b83062ba07e8c2b6ccd16fe
+DIST firefox-103.0.2-lij.xpi 470252 BLAKE2B 
eff99c70ef7030f5d8305e5eeea1b52d0ac095eed362c04ace2a09d17df2e25f21ff7bdb7e589df86193742318b3131afc66778b3881197cc7587e5bf139881a
 SHA512 
060c194002f29c9eaea5288cf261ced0bcc05f6830181a3e8c6d1b4d58d5c3509319d2578ceba664ef4e5a0e2dbf2b2bcb081d40043596f4c984f09b6414d8ab
+DIST firefox-103.0.2-lt.xpi 562011 BLAKE2B 
7041f6f9db65ad7853a14e6fc4ef244da827faf3c4c33f748caa458fa05d3ffbc15f5178a23c4a54753d7ff54d07b8085c1b6b5edff16c3624afa88ed5461835
 SHA512 
754b98090291a1ea3656de0226ad520749e56312863d04d6a3fd9bd90b092666297a91a8a1381a3c1206688698a1bd2fda75d407c77ae0952f44fd0c726e383a
+DIST firefox-103.0.2-lv.xpi 463416 BLAKE2B 
5d2706d9ec347bb37727ab764c2e1f375ad6d62c423cbcb285e0122c2ee55e52776b7e3fc6f52a5a31a0d0f106d57911912725c1d5b72fb5a10d8785b09e7b79
 SHA512 
98b10b09a3d9b65a263684dcdb5d68ccc6903bb71d4c25e35e77910a92406372ea0313bd02486c691947448cdf3eeaf27b3d96e94391d17d59e67c11a36b321e
+DIST firefox-103.0.2-mk.xpi 474779 BLAKE2B 
c7a1c4133bc704981bb4d2ea664eba1926f5552438d7151121b572f70ad9916739eb78ad9308c5ff519aadd8c903a98d94b02c4008d5ed9e938b97237b65d980
 SHA512 
c68de808e7c586bb4288ffa8d5f235bc67bbdf76f0c1ec591c67624e1bd78e09ca92a19d1586e90d1f4287843fd51bcd6ea8b42be8914012b8a33c5050392998
+DIST firefox-103.0.2-mr.xpi 530638 BLAKE2B 
b58890147e9406d7e7258fba2d01ca50870e94b66badac481d703f9c2b69194d4a43acc96929e1711c9690828665b767e1a520afd009ccb11c66c949b5624391
 SHA512 
fe2c3912ff73321e5433733e788027085fd41dc5421cf5fa2755506c4d43b030e05281b6c76804448f26c5c494c428b224a68ca8f36a24f772580c63634ad754
+DIST firefox-103.0.2-ms.xpi 448400 BLAKE2B 
a285b72fe226578170bc86d8d421e11af836e24ced1256f42649606c00d0b6163cf206c9f0a52b0c874f0ad4496a793bc3d8ccc26a4c07c63731c54d34bb4695
 SHA512 
4d371354f195ad17786953cfe41d82a3490a2219531eee66d767f1c1871f32b34666f527bd84e823b3f88deb3c888ed73c49b3b2a69a880747835f42a227ca91
+DIST firefox-103.0.2-my.xpi 510279 BLAKE2B 
52d3677eb060915a18063160ad3f6b1d2c4390442d8e7749c84ac9a175bf343f2d59d814c66da7a230d5e147e62f68d1080da9bd0a2d65a92591ffe57955b44d
 SHA512 
b05e3a6089024625cbc923793434f8d18f3e22965b2bbcdeb07279ee21a3f449cb2b3581704f000828eda4bf694cc184507a0f793d40cf7ec0bc9c40b545397b
+DIST firefox-103.0.2-nb-NO.xpi 533227 BLAKE2B 
fd181dc0db6e1458615d064525ae9230a7cc2bd904ca68932e2e6b8495aef0654211bbf88fa4a689bd5eac363bb052fcab31d0173f2c6eba87989babd668f233
 SHA512 
3cdf6f067e6a8fd62d450af8b1768842630b867fac3d360a439b4e1c3d16cbf6840fb5b44404cec9cd865746328ec608ae5c7a313b1ab358c36faa80fd8e70e5
+DIST firefox-103.0.2-ne-NP.xpi 489024 BLAKE2B 
804cdb22635545fb9f0fbf6eadfb55b0cbe646f940c0c5d88a50a9bd0d22b5dd0685a0afe0c1353c10201fc026f40df4f3326a73af35803b2689a1d4ae43a709
 SHA512 
ebd9403af9c9c91059977b0c3cded92fa4b343253915eb48919fc06e7acad0b435f5455cbc057dbcd66aa013b203085c94cfdff1d574a7c3734eb5e686c6d67b
+DIST firefox-103.0.2-nl.xpi 541042 BLAKE2B 
9128943b6abba85a77bf24003b2a3d056b8e97f44cfe1431c343f1bd65206f304cd2938780a3a2bb00024fa6a036cd4ac6100fdc3c33690df35ccff3a52245bb
 SHA512 
bd6c51fcad2b08bb57d2cf15df24d731158a127c0ffe5d6c91b92c2ca4065ec175c9fa7f51107a3b7643a8caf583df454ad48e6a20ad7521b36da9410d65ccbf
+DIST firefox-103.0.2-nn-NO.xpi 535179 BLAKE2B 
cf0a3812bcb59ca7b695c5ee68aea30665ea43e579f2e365da927edaa32be746f5b71abd4940d2dd8f6d9117b8eb6e667df5d25aa05f608eea73b978908dbbe5
 SHA512 
c51b820855c07f074dacab319c94fed831c5d2f60a3a68b14a1479cbb1b03a1e58f8ebf6b7705388a7636fe041eba4d2a5dc0f4ca428cc113cbb3d219617954d
+DIST firefox-103.0.2-oc.xpi 556237 BLAKE2B 
c83f0a8abaec8589a23dd6a5c7264d8f2090bbd23d1c2e4ef28c31554660901d051333b83a816df77843f2c5dd2d7005d08626bbd55884be6e07cf759a15aacc
 SHA512 
e4b7928e3116523a5d8c73984082a0fc349a88df421cd841cdb34683c331299a13d3b3f68f5e6946ab23396564d0a47b614c341b1c41d3d4e8cc355cb45fa372
+DIST firefox-103.0.2-pa-IN.xpi 599790 BLAKE2B 
8620a7f30cd1846f668c1f3475eb26c1773af03eafa8b93c89039e1157f363fba7780e3947092d21912e810fc5a89e701ee1257b93d1dea23eeeae5d9ce2e2a5
 SHA512 
181cd9a7cb0b53bb1365e4e09e3bed95570a6b49fdff1178b5842596b27d0cefc8d2f9623b9f9ca572dfed79e471fe2203db1eb841a33bae1bac3db71b9798a8
+DIST firefox-103.0.2-pl.xpi 560477 BLAKE2B 
ed94103f42e26a8809c620a1bdf524bcea497127afaaf387b5a992ead69da572d1c5dc2cf1aecd56fc81a0447cbe6912d9beebca8ff4c33718c8795699d1e262
 SHA512 
6de336ba10727ef83e2bc8201aae8c03c6be5d617e493aada0bdd43c40a34c48a830284adf79448612786f0a7e7adb5aca62d5fc888adb5426779dc08e08efd1
+DIST firefox-103.0.2-pt-BR.xpi 546005 BLAKE2B 
33a36d9f194f660d6db644ad1f4d4fec53f8a1d2395d9a541e8edabea19dfaa1ec0b8893e7bec83817570e7b75ced9f7b7ab696d0498040112ca48e1ea04f61a
 SHA512 
c9e5078607e86f74da68d23ee7fd1e5de88a653f93240ae06e5fd2ac370cb49442ff7eda51f5740c369e7ff73177ea7c2948b38f35c40b030ac6de78bc6eda0b
+DIST firefox-103.0.2-pt-PT.xpi 550405 BLAKE2B 
78297462fe06eb051b20f908e192bdacfa8bf5646f1d4fdc5c3dab470b5b25c8cba224a115b00e58eefd36178992905364d243a72aaabe44e2c6daf048c0bf90
 SHA512 
6fd7149bb74d40ba25a03f2743da49ec872b8918daa15bf7dd51fffd2a1aa6fdb8731bd055b8ecf8d7eb3915d349536bcc306b36d0929e4a25762a0423eb38c6
+DIST firefox-103.0.2-rm.xpi 539546 BLAKE2B 
7e79cca7844d602119b4a037f3bccebec67ce3dbbe8e03f8b051e246f18016031f1b3fc5501200a766b5985907e60788e489a0d52e517ac00bbdd490b9453464
 SHA512 
6b6b454f5fbdd3458edb7c31ce2d67505436135cc43f6ce9c5f22989d27c60c956af8776beeea1a4645987c5ccdd98d136ae79ea3d1510e1c5a7995101ce981f
+DIST firefox-103.0.2-ro.xpi 528563 BLAKE2B 
42be1b5ed289c025766f0395f6f6d7b264e73154ba2bda36b54f42a1551e002d266670b70fbccfdf3f87c1da9f4a1bb463b02086e88e65a63dad02c94b7562e9
 SHA512 
d3fa437d7359a5c46a726eeaf349849f1f93625a17de9237f6b313f8ac8d514951a35300716e0c1e0a4754459fb5d4c50870104c9dda2f707e35df3b56c4656c
+DIST firefox-103.0.2-ru.xpi 630097 BLAKE2B 
de4729ab5571a4c05055a78cc74ef23f11a8137d1669d3b9ca1e8a17f316a20d1412bba7b542a205a956bdb9f66a74c3cc15f2e1547e6a1c3bbefe22a9ce208c
 SHA512 
613ea6ed25b2743331f84e2b21db6613d69ca8f2568324b3bf0bf978c4807e6cac253d7fbca2964b5c3371b9ca91e526a3764560ef80962dfaaff3a9d848fb8d
+DIST firefox-103.0.2-sco.xpi 496685 BLAKE2B 
d5f4fc466793789903a4d1f888ad4628aad68b235aee76263a589540b74ea5ff632c5c10186d7ed8e488e0433d744af563eeefe8f353d9016d0c30e916819c7e
 SHA512 
2e9155872d39132f39d24b36b4d4e4b206c27ba50a5bf80af92770371ae280f0e498d85c7c926d582d72d84b83e42c3e592094bd0a528a5a6d4ee6dc769e50be
+DIST firefox-103.0.2-si.xpi 485246 BLAKE2B 
b628f36addcdb0ecfa6d372fc2276ab889fb345105801b6c2ef0446a370fe3946af30ff756d041774ce9f494974d028987a1e8f471acd0a7d0977e0bc9232fe1
 SHA512 
dc3869817f9d155bdd65ab579ab742bf3cc82a8a28c774d01832f6254a89dbdf5d921db529624545470c12da2248db80dd0cf257cc11627b1f748db141b8068e
+DIST firefox-103.0.2-sk.xpi 569083 BLAKE2B 
a991e68e207338439790405a49ab56c5f9a4ff05757fdf56559f5d93d1fd1cced36c3310365594a8b2639e73fcaff10c62f83867d99b79e6bac39bf70183f1d5
 SHA512 
a43ae03c266575bbf22f92a8098436eb67d8063da40392defcbcf08cdda3cd50f99fcb568020d0c415fc62d1fdcf4fa355b87f323d13758c9eb61f0c76622106
+DIST firefox-103.0.2-sl.xpi 542267 BLAKE2B 
b6322d249a971fb10f0f328d2a43b315ac3ba9761119f124687c8666a946119e491de3348650f85e04aec1af8508705048992a6ab1b2c0de4622f9d1f7737c2a
 SHA512 
14a2f03a0a54b50a96de22a6425f0dea6b7839f284197d24f5726372eb318d8bc9262976270fd77e931ec37448cbc336bf2a5b8da44b250baa552e9386e3499b
+DIST firefox-103.0.2-son.xpi 426220 BLAKE2B 
5d7b3943601c0901e36c743456c6f136602d5249be39ff40a0c6c55388337cab5dce07f2dbb5f60929d7fa884e6ca983383e25681711c5f008d7ca4717f1292c
 SHA512 
c15b74a8eaaac80abe69e8859d3a542447098a09278d13dfa6bab82bc6ce2d7a78c6142ce3f9501afddfe05ae7aec58fcfbd8d280aaa60bd6e849356a6e231ed
+DIST firefox-103.0.2-sq.xpi 557262 BLAKE2B 
5e462d8092d9bb3bba1a55a6451da50970a2a66ca63e20422996a7c353cf7610c65846f807eb2b900a34819bd430f6a385e106f33716061654dc2ac8f3ce8490
 SHA512 
c224d0e726ea4d2a505a5936732c10d1cc2fe82b3c218bde0f1945376386e7e407a2c5dbea01852005ea4f62e248e4149176f12f09883fc202c1dbf12f9a93bb
+DIST firefox-103.0.2-sr.xpi 582550 BLAKE2B 
881cb7c8da9480efa9f7a2f0b21cf20b4125edbfb19db967a8afdc1a99c980e432d5dd95251f4df8f5b6f16a7cd45fde7b69220c0acfcb4dabc5fc36b15a9e83
 SHA512 
b43567b2a277b58d93296b4b595ae5ef6072f7b83e03936d68d3f7f0a06d6ceb0e94c209a8c1f21ca5545ad9a748c2502627502388a64a6778d1bfc5d15fbebb
+DIST firefox-103.0.2-sv-SE.xpi 542859 BLAKE2B 
a5215b0b316bb4edf9a0af214c0d69adddd1860bf3da0e66048d6f56a33172c0565d3925e3c93cc955dd0c66a0b8e4b755446c38ee7016b41600d91c4398e600
 SHA512 
446ff69089e17456815acb29ab74c62b32d91555beed7a134c98f23d4b64ba622db6c4ab67052765034224c779e9c81bf8e739189c1a73be358ef4a88edec8d2
+DIST firefox-103.0.2-szl.xpi 508458 BLAKE2B 
e31d4bcd850297b8898491293d7207a28b233f3c46b6f6a7d56db9ba91617da804acce7230d39ee5d93b4c67e24b796fdce8e209fc2a6ebb1fbc6227413671d1
 SHA512 
69b35f29489e6dfeea7e0291e96d4259b4fb237866dc21e6ba6ce42faa5c518bc77ca28271baa4ba04d307b53d674653efd5b1b1ca294d91c2275e80854c7595
+DIST firefox-103.0.2-ta.xpi 510667 BLAKE2B 
04223e5f88dd56fd8c8412912e3580a679443df871e89ee5fd3ec35cbc08b30971b0e46950a5a4c0b526675fde95b0ca3fb04823a1a60f04f0d62176c1c29225
 SHA512 
887fe2441708650bc3656de83fe828d1cffa1e1b25554821fbe6287fdea4652ccd8d669ed8002ad722511ed955d405577a48fdfb47320951b84c7a22decf77d5
+DIST firefox-103.0.2-te.xpi 551777 BLAKE2B 
9a749fe44929d165cbe8a42c1ceae77c74139185983f033b45e64ef67c49c4dee6360b6baffca79323ed5cdc5c75482951fc3a5508474af69562b9e92ef302ff
 SHA512 
32bfd82dd384beaa3b7c4d74a3edf680fdbf9f39cf216bac84277d57d0ae71296e98de077eee52f3b01b60bd86eb8227f0c3ca2d13647e67fbc61195e4a11f12
+DIST firefox-103.0.2-th.xpi 610650 BLAKE2B 
8542d9272b102d43063b47a4d7656a4c5236a1884b635088d18c4180f8d1201659543ae8e020c78e24978336e38e2422dbd38cae36797679b4e9d98b039c57dd
 SHA512 
db53f4fc09ed388c6c6888326c3c70469b9aa15c97d29f3417611bde5e8d8d3f4befc89a6a86e26f4114df6d225639de707fad8e162d0c29978aaf9ae6e58932
+DIST firefox-103.0.2-tl.xpi 518735 BLAKE2B 
7093f5c5c09530feb40e1c34f2188af864fdfa3520fa610f5fca38922991bf7bfb673dd1e474d30e38c72269ad4d4841b9450b5106fff7a764f6e3956bbb1a73
 SHA512 
3e134200541e9e1de362d26d41cb80597a5103b1402696f349486a21ac074e03c416a0df708e7fb2adf0d7fab6654590484a2c398865469141c5855114224b95
+DIST firefox-103.0.2-tr.xpi 555677 BLAKE2B 
93aa03d5519a1e3096d6ca9de28eb44659234bd1c616002e2681c5f45a012a2e745f22d9a3256f57faa65990e6cf013f05dfc3f22289a68c5669e90741430e66
 SHA512 
cadabce92912362cae11a5f93cb1569b75618a1063f268dd4e72e0f84e25ade2c3c8adc7d2ab7112880c1c8f123a867c429a04edaa399b2226739815ab2ab780
+DIST firefox-103.0.2-trs.xpi 488895 BLAKE2B 
d7e87deea7fca3fa71262382ddc3bf34b0422b4d26c405523755ba03d55e6d3b1ba6699553813800842aaa7cfff997dd38fe4386bb3163cb246207331e6d4b69
 SHA512 
b163162c60c0585ea0980915022225e1573ce75e4489a34dd586f0f6e2079142a510b3d475272bad48c01c3b44831101918cd0fae4af13ddf80584eb66e6c443
+DIST firefox-103.0.2-uk.xpi 623486 BLAKE2B 
6b2eb045935ed1f25b93433131f974342d17346904d3f7855280f5850f8ca0f34bec5b25c10322f5202902cca07fd019ac2f124dcfa432d310b28c5d8394b756
 SHA512 
83bb8a5f21de4b26087bb2194599d272bc6ff01a91cd8f9d905f3c76bfbd76414a3238f7964d89632e53dc095b03f19c17bba4ccca5e3c39b9d3c3868ad84ad2
+DIST firefox-103.0.2-ur.xpi 558764 BLAKE2B 
b3821a700dabf3a232420222900e8954918e8d3418412ee6608890d8298dd9b746fa8fb1a7002e50f72d3f7c2a9735685ae373545c7fb3f2a1f6aecc6b305aee
 SHA512 
25d57500a83faf3748b839113a8d420f7141af4fdaf656d83385fced399af33f93e37948482d8e47231714d5520f699560923a5d131d151f15fe0da63cdcf5ee
+DIST firefox-103.0.2-uz.xpi 478416 BLAKE2B 
df1c713a63b85a31afc07776909dfea5221ea3e33efc3d5e47270942b3110598e5c2bbb1e71e2244155b42631c5074b953b0bbe4d3caa9a8b6199e530d8d8241
 SHA512 
6f132db6b7fea678545bc640db1fac23d6b1b3dc661420e5c4be171bf8a21416770523108daaebb63e376bfd24c03f9656ffdc9c025b774fa787919e9a43c056
+DIST firefox-103.0.2-vi.xpi 576267 BLAKE2B 
66e2eba7b548dd2f033b3aba64a1fb59aae2cff379183eecd38cd2ee9ebb7e25070aeea15cf301c20c088b1afa9a3ac8df30b5f0984ffbe2d71337d6361a76c7
 SHA512 
3ca6b3c81a7b45dfb066b39f801242b665a70d3fd56eed4b2e843c27724034d4c6ee34dc33159617d25d801bd45c529922ea3b26c5f2086ac3070ba14bb075f3
+DIST firefox-103.0.2-xh.xpi 429254 BLAKE2B 
ee70a4e3eb38484c15c67299d9bdce588b672d8914ed2b0311f35bbd6ee898b4fe5da4e3e3daf61df258c3fe1aa36594bde4487d7ef31822ae5f85c099e1f4cd
 SHA512 
647f9f7a37f8cbe5d784e1774ca5135961c7bbc225e3c7d1be32058a3a249d731bdf204682aa47ba01d2c98b59bff70f396d255fe587f3cad5162e9323ec8ef7
+DIST firefox-103.0.2-zh-CN.xpi 577419 BLAKE2B 
787347109e5f8c3c1ac6f5584f83fe5ee923d85d3c6e690e348e1a39589dcb880620f1a538e220a0fbb6a465c62fc5c04c91aa6900df713b65be17d369af4402
 SHA512 
cdbbc43b338b81f54ac987b3b5d1de2c0300dcc2a9f07f0a519aa4a7727f43edf3f638e58080af129e29aa9a4a5247fb0f7089c4aefc121056edc9e548a4f2e3
+DIST firefox-103.0.2-zh-TW.xpi 578012 BLAKE2B 
ea13d0d50b919e3bcc65b95cdb7f6f1162493f6fab4ba083586b980ea737558ebebb49110b14775ee0f2fe680789edfb05dd20241e0887a62ee89cdcc307d5b4
 SHA512 
594ded581f530dabd461df11e1d0d5639a7da0e58f4546c1a82347b96d181dc4b2bd7a77751eb540553815443343a1e3432de7ff1175962b3c1671463ab91188
+DIST firefox-103.0.2.source.tar.xz 481280156 BLAKE2B 
597d5ede55d857409dd2efdd377250b8a50fceb3eb704de4a664fc2a128a09ef18d86d4c58bc18d19a395784a553ecb80eaf83c4654857ea317d2f044cd05c69
 SHA512 
f13984bb551039c80ef731931f08a284f070142ecb479b31a4caad026a6b535e3fc7ae506b629e933ba5f5a1676f14b6b36d031d22584170492676f8727c822a
 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.2.ebuild 
b/www-client/firefox/firefox-103.0.2.ebuild
new file mode 100644
index 000000000000..f63628c3fda5
--- /dev/null
+++ b/www-client/firefox/firefox-103.0.2.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
+}

Reply via email to