summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoonas Niilola <juippis@gentoo.org>2022-08-09 12:07:22 +0300
committerJoonas Niilola <juippis@gentoo.org>2022-08-09 12:08:05 +0300
commitf3e6e4725c4bdf1ce388208c831d4cc2429e54a0 (patch)
tree915ff01cc8194399864c4eacbee4f112af0d9da7 /www-client/firefox
parentdev-util/maturin: stabilize 0.13.1 for amd64 (diff)
downloadgentoo-f3e6e4725c4bdf1ce388208c831d4cc2429e54a0.tar.gz
gentoo-f3e6e4725c4bdf1ce388208c831d4cc2429e54a0.tar.bz2
gentoo-f3e6e4725c4bdf1ce388208c831d4cc2429e54a0.zip
www-client/firefox: add 103.0.2
Signed-off-by: Joonas Niilola <juippis@gentoo.org>
Diffstat (limited to 'www-client/firefox')
-rw-r--r--www-client/firefox/Manifest98
-rw-r--r--www-client/firefox/firefox-103.0.2.ebuild1286
2 files changed, 1384 insertions, 0 deletions
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
+}