summaryrefslogtreecommitdiff
path: root/www-client/firefox
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2022-12-18 15:59:06 +0000
committerV3n3RiX <venerix@koprulu.sector>2022-12-18 15:59:06 +0000
commit1778ddeb0f60c074ffc7fa775557ddb37c997127 (patch)
tree8622467260dfc905fd268290438b05e3a9fd06da /www-client/firefox
parentd93ba9788a6ad1e5da2bf47e804456ded6d5c65c (diff)
gentoo auto-resync : 18:12:2022 - 15:59:06
Diffstat (limited to 'www-client/firefox')
-rw-r--r--www-client/firefox/Manifest100
-rw-r--r--www-client/firefox/firefox-108.0.1.ebuild1330
2 files changed, 1430 insertions, 0 deletions
diff --git a/www-client/firefox/Manifest b/www-client/firefox/Manifest
index 169fb10e08c0..3cdc8b195cf1 100644
--- a/www-client/firefox/Manifest
+++ b/www-client/firefox/Manifest
@@ -206,6 +206,7 @@ DIST firefox-107.0.1-zh-CN.xpi 585099 BLAKE2B 98bf9c88917666a9316c8c7170dfc83e7a
DIST firefox-107.0.1-zh-TW.xpi 586226 BLAKE2B b3f7b7831a501304dc47282f07f3edc1315a109a4de76956194644db2164544e8b2f85ec9dd98f2d9e7393d41ed603cf8b3cf3990c4fdf9e650cd453e61185f3 SHA512 18a5f6890a2f291bfab58252b5456df7e61f3f6289c84ce5112e1e1d7228fb3d2ec92d0f6a7669ee81ec8ccbca4ecc858ded8e5f2ecaf9839d38426851f8e3c3
DIST firefox-107.0.1.source.tar.xz 508678860 BLAKE2B cab3d7e723c9927518a3acfbf8d0db7846074000933074309b9bea1dcc2e182b579a7a6b2763bafeaf813d9846c4539d6e73cf75734844f3207525aff7e5c8be SHA512 e57e4bfcecbcc6dbe73f23577a14a2998c8c3f3d602f85ea06f99e0974e78481b9f7bdb019cb4e9733e59f56be1407edd64a2adb7b284bb4a87b46b1e2295dea
DIST firefox-108-patches-01j.tar.xz 19984 BLAKE2B 73e462e94e9646440a0f316a3445fd5839ff40aa8525bdef9408374b0b5e2de03cf02f72e2dd9975020b1997817e3fddb07547ffbd97a1932858327eb5f8866f SHA512 f225c27f78614e57e2626236b2d1b2a4e49efb5b25068b67705e918cac2bac0b63c96fbde71984f348ffa57e1dd2c1939f4acd319cb79f4ae87d33db2f9bab5f
+DIST firefox-108-patches-03j.tar.xz 20324 BLAKE2B af8f48147faaa5180ec481d4eef7ff33a0f07bea6c9829d9622ac4c1444d6c41a6d1c45ea9912b1c1607e0f5f2e48cb70b1ae8d53eb51ee025a98c9ab106a123 SHA512 d382dd99e39f60bddd21cd674f42c3e0be330dd7fc4f2ae0ddbc2c002b934c76ba734a754509770f063e981ceae61af587786a04741a2a6d6ca92da9d71c6c70
DIST firefox-108.0-ach.xpi 454490 BLAKE2B 392a924ded6bc94be764b06fb4f9fa97fed739fe2133db62a3e4cf7f469e12fca3c3dab62b77218653601628951dc9c76b737d5c4c2579c94c0b8004c072d0ca SHA512 7a67bbc3f10a000b1a2f665f3f9ab0876c1d66e6c4de80337c6d1abb9a7bc113839e72b134f7fc433de3755c43f083370f194bb748051958a95edee3dfdd8e76
DIST firefox-108.0-af.xpi 419608 BLAKE2B f34c8288a87a44101ced0205649efcac9c16f882dd4030e0cb8ca3e93d6d823fca5aff2024b7159285d646be7553717d8639a38f0f9087e23ec06dcccbb44dab SHA512 50dbdbce858aa66983a6fa6513c7f478bd8c1027948711fc8af1ebe53240083f505b67a44169eb0ffc31b8953782bb4d6735fd79994aabd83fde4eb7bc6b57f2
DIST firefox-108.0-an.xpi 501390 BLAKE2B 6fedb599efcf355e6d978fd54a21d70e156f2de3f182a59b742756f34224386c6ebfa712e6070bfb6767eb65de7e56d772e2b8dd8863f5b44d579907a8a3a8fd SHA512 481e514195fa90a30c62e126263a242e28c5714307b4a90139d3ea9551f9c92d15fbb1a1aee753baf8e10800dc286c78d5176e2042694347412db6db56cc57d7
@@ -303,8 +304,107 @@ DIST firefox-108.0-vi.xpi 594795 BLAKE2B fa0ed81572c0c68fb27d2c794e62aa3511dcbb8
DIST firefox-108.0-xh.xpi 418351 BLAKE2B d537ed8956c3e1f80039e66f2a38e4df306d27a3555dfd2b70f200e4bce8f8b3f564ba2ab4d094259232ad94d416d495db5651ff8e5184ba078b430a31ec8a98 SHA512 39fc15ab75ca50234d06e274e11ff9d0c02178fc4df9d466d70620e378fd6be5c22f91ea700850bce0fa2f7d234807983fdcdd83fffc8c9bed916914fb80ef5d
DIST firefox-108.0-zh-CN.xpi 594372 BLAKE2B ccd72c1b6f242ff067f86013cc7d9e88fe306491355cb0139d9a21d1541017cd4b42787211d49a04814af3b63771cf25a6c4c055d0d5acc429facccbcd54ac1a SHA512 1d7e227b5f451ad5c09245b171af9e5d5407ab3efb94176a101264376bd37d781594688bd0c71cb3786a0de6a83ca511657ae613135c225c1911066c2097d0c6
DIST firefox-108.0-zh-TW.xpi 595825 BLAKE2B e4f5ead0e7e53914a4a5898b1e8aa4849cb1c421032427c5ade7d7735f879f6c55747f4afb881ec18e2132bd8897a235e5a64e405b81fd5855e8fe063586aa4f SHA512 71234ce804de4d7e6a0d5661f65ececec6baf7e748345d47de8a19b2d390af805a70a64fb1d57ad694bd4ff7ba49941a5ffcd1980d6f9bd53965c39437e525ba
+DIST firefox-108.0.1-ach.xpi 454485 BLAKE2B 0abc9417bf776897a75c404b156c787afd22892a4d08e65bee13a0bcf3f6594ce78091b4affb01b79c2ee9f1dff05e4565b6d803bce8cefd6a1a7bb2421a1e21 SHA512 362253ae52772bf455171f151304654ef1ee6b1c3fec8d02791cf19d0970f1df3997922f344f65dff6644664f1df150152192eb6d2347086130a1830f567dbc8
+DIST firefox-108.0.1-af.xpi 419603 BLAKE2B e2d0028c7fded599ff1b98b710a87871d9879d2814b8139e85eba9cbe45346f3a2eb817128cbbcacd0229107909e9ae764c762ee416be8daf89894374ec75720 SHA512 e4bef5c47c9a827774c6c3a74480ff775c8c954816cfa6aa143326f91b8b4dac4c4be50221c4b4e6ea741e33fd398ee3f5005bef813742df055bafe850cdd7dc
+DIST firefox-108.0.1-an.xpi 501396 BLAKE2B e95378706ff47cb1c30684605ff55491c3cf7757a244f01aedc366e6f9724b63836ca0f21b20c2221b522187f88e6bae22f4e13e0220e2f886358bd780237c8a SHA512 9e75fe53d9012d414337dcabe162df501ec37864ea67598ccac53f9a5552c2fc959df641485ce8c78dab06707c881fef33cfe31f379cdf9f57ce587a3cebba53
+DIST firefox-108.0.1-ar.xpi 568727 BLAKE2B 09058ace0b602d190b5b3a6bf9be9f5a697a0d8835508799f7919089843f06d9a4d561002e8dfac0bc5782b9aeeff5102c686456bbd7ba2f9a55723be121475e SHA512 afd9a768ec60c43944b0ff8cc5c2d06a44e91b60baae7409606cc15b37ce15bf6648069b17e5ec3ee33359dbba841ed89f1880e4d849f4baedb1194e3f57b655
+DIST firefox-108.0.1-ast.xpi 487881 BLAKE2B da304792219a5d683944e5bd1ba05362f08774f143a10f61fe8f4b98eac8911baed3300d465eda7d16e6f135ce0eaefc3e49755ce14341a01c91eecc882527f4 SHA512 124d6c625bc7989e32e2b7f9197afd48ccd0292e69453a80c03b62ae4fa57aca57d037ab69db19352d516705e3fe2cc1e692dad696c70503bea15c4b81eeb17c
+DIST firefox-108.0.1-az.xpi 490772 BLAKE2B fd4a4cdf0c040e4560ea7d984617743e03a44a491f587a1296a17e0c9bb1ba132f6e782d13c377ea5015fcba278ec4d3fd8f338a69117b389f2051a55867feb8 SHA512 cc91efbe4af4024a2c45fd1162576f75b17e403f5a82870726d24d823a28fbad0da6bfd6b105e5682dfa7f64ca6ae3b156c1e8278af7762d629d83890eb43a98
+DIST firefox-108.0.1-be.xpi 646994 BLAKE2B 555831e82016c11d1c145c01c1dd24f5fd2ec887d9d89aada9f08f4626085f728326e6c5406614871468ad605c84fa345bc39e04ebbbf5147503d5ed2dfca3ec SHA512 fefb1186cd8c7ac73822b4378f27911efe2c16dba06d4e90655dc27c16d36fb7c81ab04cd88dfb0d4db406092565a29ff9f51bf937ada83796291be6c2027e31
+DIST firefox-108.0.1-bg.xpi 580631 BLAKE2B 29d0192e2c59e14bd35413e06c4cccbeee745f12361cd512b536b1e65adb582860150e2d67303a6c1528af48f80408b84737f92276c96a618665bff5ef434961 SHA512 5c67ef1311abe7070b5cb9657a9d1083d32b4828c07322bae1c8ae0e6621141cf4761241802eda99df4e7870b0acf5f343beee20e3ca8b3e2ae5ffe7ad85fcdb
+DIST firefox-108.0.1-bn.xpi 579708 BLAKE2B f9bba41ecf1d053c00f4785df8a30da46486a3885af3d1601f5bfb786b85c9c7f16f504b8f64bce67c1fa358c0b93fc6d8cd6a37aab7b0fa97341d21b2f12a28 SHA512 124f7b54ccf8091f8ee7d2a79c9223eb7f18ef8807439b9a9a44efad4e67170a54607b464eaa3104d1a0186ef007fd5b15bcb9273938f67d439e194738f77a65
+DIST firefox-108.0.1-br.xpi 542574 BLAKE2B d3c7779ba86f5ee4a816bb814637488b9bdc850031840a030b196568a6f79a241380aa1668fc3fc33a7cf19f5150585bd03889f53907e5247db3181f82dc0fdc SHA512 084dd3e9ef190d688fd95611b93257da7d0f582f630fa32e46ae25c79789bf556035adfa681c3a80213956b01927ec0a57d91d919a2bab0eaa1218e4900e5aeb
+DIST firefox-108.0.1-bs.xpi 461626 BLAKE2B 40a1d6a94b5bf816f02109292afec856be0d0317e4c8e5b87d2ea85118bf12d1dbc562a7cae0b746824cf4e6f7b6aa47c136cfb1e86d540b54c02f151d86ef01 SHA512 f36e4a775a5c5421be11377ee46f19e4711a20366ba8defe45ed3f14cf9e20d451191b5c5aa916c428328de0d99d647eedeb11162f0d1a20dc3e1bbc93d6dc13
+DIST firefox-108.0.1-ca-valencia.xpi 540295 BLAKE2B 11e705164d80112efc18f3ecd7f6632a0635c9e41c093d9a21d87936f0828d19fffc89c2e148fcd1066d0f70fdef8deb9530aac51522233bad584a82856989ee SHA512 22462951c7e2ab0f557970937bf7aeda6085ce6125aa8298049c82d614fba6d0a275d1a178a30fd1fd08e547d4f26d54c5054a61ce7976d8d713d0cf5f5b2d4f
+DIST firefox-108.0.1-ca.xpi 543816 BLAKE2B e1e121a9a066cc79e9e901a9b04c9418f2a9490b49bfb9ebfa59c5dcb3212382c5483ea55f4db68a4ae052c2bd17d84b7fcb8c26effa1855609a6303014eeff4 SHA512 70433695c9183a8ab6ccd77267acec18d0a9ea8f78d92ef5297c3f06fe3e0e00d97cd9bcc7dd338a04577413459b6b852f5a8a9cb06e04eed7982f8d71435573
+DIST firefox-108.0.1-cak.xpi 555253 BLAKE2B f0caf793f42c710f713d0e67185ea089c666e78c2a660bda60ec228d3f532e89ecab94b0b313ab72ff034b9bf101bc9b85da72bd7c4c36a14e886955cb93c4cb SHA512 ddccf2cdd12d07410660665d2a6f701a6b21bb727d5e72b3d4a87a56c34d79f4b301d2fe94c6fdf56a828f98251c2444d92136d5beb760dbdac11baed145420a
+DIST firefox-108.0.1-cs.xpi 582587 BLAKE2B 6ea508648b3f1b35ee55c4c4ff56353456399b9152e75664c869290eb1a2f05536440cc84545fc65236de55b8443c810eaf5b4cf25dee2aed1e5e9683e5b613e SHA512 5041a1567d04235ade8915d4cf6ee08d629306bf68edfbac479dbac1c961cc6c65f76b5cc5750b1607f5a3e0fc92191e0be0eef3588a9c2dcca877c50b1854e8
+DIST firefox-108.0.1-cy.xpi 562653 BLAKE2B ca8dc2f1e42c30fc7228613acbf285cdf0412a775d973f9fa3eb60e0020a2067f5a1d6a662088b814be1dd7c4f90a92a9e5cf3875348b8c151c882670d38fd72 SHA512 e14a5cfecb24f58fbc5d6e405e44895dbdcc8f5bbbaa39642e5ebe0f8c566d8cbde928c35cf89717c77ebe008f00b23aeafefaa51af1dfafbb1194ad635fe143
+DIST firefox-108.0.1-da.xpi 552333 BLAKE2B 75db09a6e56ad334b6be4931281f9367917d1cb53c3ba4d30391dc27ed4a773647aa351c27b9457c968f0a8e8254488d5e26ad023a1f806514a84c74434966f4 SHA512 990c60d6a863e8b95d22f38a363fe2f2582ac1cee72e247beb297380b09da80a84e24fc34bdb5caacf509f661a6480cf494415df90369285b7d7227ca86ed7a4
+DIST firefox-108.0.1-de.xpi 573561 BLAKE2B 1a9fac0945f1f9de2cf2b6c2353993ac9d25d6cf00089925f33841ff56136844e7d5c9e5a4bbc766a8c5b387e072a715bbb82a41a9194835407e04a5a7225c13 SHA512 b651737e6542b022377b8d5105dc9acce8058f7e14becb0359372a8df39bcfd3905dec11a7a48081c913562372f48fcbaa41b81efe39928de91b470aac3f82aa
+DIST firefox-108.0.1-dsb.xpi 583364 BLAKE2B 0f000eb18c2ca5b2a6424b20769eb5f587943053a8f9c612d839f581590967e716748b65fe2d98c517846379edf4402a78db72db3c6389171cfa9e7aae55462a SHA512 f97dad8cba691eb327740a488b0fd8d3514d06641c98db3ea3aed738fc1f7516d9dd40cc7c29ad04311a7ddd2aa92db48bef525c4471271a33dd52e087c91019
+DIST firefox-108.0.1-el.xpi 662923 BLAKE2B a4fca33637a1e290fd414da9f7c99abda7183d81beca135b92cdd857b36b42e7285ed4e80f0262d09ede8de5f44c94fcfe5dc633d7d599014aa7e8cdd4d244e8 SHA512 abb2fc9acf0bc8872506016797cb86944cf66feadf186378d1cd4ca4bba047d4594fec2cccd2a14db685a803cef79d68d992b9401a9c03fe6e9a969df5e8be59
+DIST firefox-108.0.1-en-CA.xpi 525756 BLAKE2B 140b29eff7a37d5a2d0524d6dd0610d89a8c7f132ae17763fc1243a6ee0081684120b69bf076d2aac5a1eac477eee1c46b68f3563b16d2d2bd28a56f473dacd9 SHA512 5715595d629403bb3b90f9afa45b1db3fc4160b800635fe29a84d5d738e362fb7dcf3ee9d360d61d6f59f789160b343e02548d9919c68e7a5a8970c60c4085c4
+DIST firefox-108.0.1-en-GB.xpi 528671 BLAKE2B 615998886e1466bd8744fa5137d05d847944033509e47fdf7698469574db9cec465bbf23e3696198a730e6b919239b2abbbd5b2071f246404f05397d72778a6e SHA512 21038c51136bfe9fa55bf9c8d08289d62afd2f77c8ff362c63043cedbce2d3a4d97a8457da6d6116069823cb9289cfc4b18be49df572550cbebf8c2fb9c1311f
+DIST firefox-108.0.1-eo.xpi 554176 BLAKE2B d810db59ba02993e6e1308ef78e8f8f02992f9e08b5cc175f0adc51fc9f02804dec7cb4d8f9e671839da93fe1dfb778888436d89e6de2aa4fba33c106dc16e50 SHA512 5b055eb443f491bb968540a24efb544642d44f26681140e77c1e8ea52f943e09761a20f933b254371ce510af35d98ede188ad7235762736b8bbac7ba1d7e7c99
+DIST firefox-108.0.1-es-AR.xpi 567756 BLAKE2B 380091d915cfb0d20524a26ac0feea3b7a015cfcd3fc922e194f6b8685340488a91a344c0fe3d16ef9392102a1bf3d23c816092a42fe78b7be6653a80eab9853 SHA512 6f3191afc655db349fca58607fb680e58a3cff8abe004377cb9f1042ad9c341d79dd0cc70d1dfd243a9d47d426d5052c511bc0c94675f7a399de87b67ad53b60
+DIST firefox-108.0.1-es-CL.xpi 566902 BLAKE2B 3525b53995710f8688c4eb88312a4731312e0439335e986cb7a295cd4b3e929d7e4585ef40d4a3ea309cad89213f66d523b9bb3c73926c40bcbfd8d4a86161ad SHA512 f3cc7465d7f951df3cec45b367562dbf2dbf17173772550b16460fadb37d7029df0b5b05bbc67cb4b577a6e45f5b4b1e75a4f7b715709add377efe805a1b418f
+DIST firefox-108.0.1-es-ES.xpi 559292 BLAKE2B 4493998ffbafe633b916202feba515a3eabdfd8c6ca304ff65fbe8d1b82d084d1b5bf7f89121e53b120aad0f610829410af73458d8d1e39c64ae6e4b1c9b9962 SHA512 1fcda93992488b4f52d071435e14adb49b303668caa537c35bf368efa4db96411a71de8b5766475ad0abe373c22d06d067651a448b6562a59d205bbfe725611a
+DIST firefox-108.0.1-es-MX.xpi 569569 BLAKE2B 174867b4289a46e7225004a1089631e7cca516439cef2d183276ed357748742e859bb01bf4af413f31ea3a8a11667f55eedbf28904a2316c5bcbeb3221336a6d SHA512 2bbab59d6acd9a2bebc405f9655a8a21a32a86d65d3aa06e75eaaef650811a5f14359608006f1a57a7f89858895f5ddeb3cad0e0967bdb57c5b1c8ad1a350668
+DIST firefox-108.0.1-et.xpi 534529 BLAKE2B aa48b3c0b1daedee1f5e62c732eeb71b22ff4dc23f92a218f569b8f97b70e1328d6775ca6e28707e34c796f3b6c2036769ed4419aecdd3525574e632c1d4f094 SHA512 1b5262ec7b2cf9d941072974579d7457d6686c6cd67fd9d1061a6371463c6fee0827848eb31453d007599ad09cd08cddc5dc525ec2c6df9d33b4e61a08618678
+DIST firefox-108.0.1-eu.xpi 556953 BLAKE2B b7d7c4bbde26521f3f5b7dd63a3c65ae6993de2c0b8c3ac2346158c0a9945d7f150146bc824923ca68b073fd8b2033abbb787cb2734c0e0f4fd4e1a3cf4a45b1 SHA512 57521828d1cb674682bde33a4625fa5743f18b304b3e5358019196950a1e840ccde7ede71635e81bdf7f37a9961dcdb1dacc3c3f092a0afb49b1bcf1da37f824
+DIST firefox-108.0.1-fa.xpi 572386 BLAKE2B c710b86a46bff27740958a4558c1050bec64b1c912bfe9bc7cffd1ff33b5539d12249386142372e58429458b73e620169b2acc7b63f4a994cb09433b085507e5 SHA512 94b8e9282b4dcc2615588ad3f2d001513b8d385cf34c4a620b633b1b0dbd3119ddbf478662c3a335a22b2e6307d5887d7c2cf6ff5a94e9a3a54395a0b2e73dca
+DIST firefox-108.0.1-ff.xpi 474480 BLAKE2B 2bd6bdc909c1199482ec1b4d36b5a01bf42a2547fb55d4ff3df7138c862c98581fc173b7595e6956b2694a646414453f4dc8c75b9c6a851f1934cd39d13ca973 SHA512 93d2367d7bd1aab8bc45d1eb784b45ea73d94a012767a675fa5de76bfe751bfeff61dc101812437e66bf507f8498a3a37755d74b73401e2c72428d269037b960
+DIST firefox-108.0.1-fi.xpi 552986 BLAKE2B d255e010307b671d3fc9ad3d96f62ef22a5b75d2e13ba89c09a1f997782e006e012afbffcbeb412c969cdc85ac948a79a0b3cc99997db7bf96078d5af34408f9 SHA512 7969b249db3a9fac6caea2be51da34edfca3edc9c6cd03252f1f3a4608f45ba0a024c47eba08d6d317a4967c757e46adc876c10c7d12b1e464ddf8cf7cc7e643
+DIST firefox-108.0.1-fr.xpi 579478 BLAKE2B 6c7b55d0eeb1039d766e2a1fd56b1ee21b81c3523c38daf7f51cc13ae84849c1a7896c8b0efcfec2b3ddf973b1b0c7a3053fd7496e4508be52c974a807120760 SHA512 1c561929ff4a75d792080b6d97e90be244c9ef377dc4804e1a37bd3a1f444685b7c7ec2e7be9966cb12ee80b0b93f9da89af2153e62220f3d838c8689b15ebed
+DIST firefox-108.0.1-fy-NL.xpi 563349 BLAKE2B 8504707a95cbb631c64432e21b8a3fcbdd10161770d6c069ce9fd4a16594f1b6d37e39df7b74cf2af914a2726813a1109266a58929a4a13f6c2d98583ae519f8 SHA512 450a88bfdb9dc48a759705894b6202a1fdbaa4b72e0892e976b65795fd82a2d9988ed6f6e1b2a3e665c7d99acfb974f1b19d48461bf36bde1fba56a5f6565075
+DIST firefox-108.0.1-ga-IE.xpi 470251 BLAKE2B e556a567467cee0c27bf0bb2f46fe2a2b290bf4ec9bef41aa632c6e9d65a4b8eed8b140a0da6694c62f3d87f2354ad4f6a15f92c2b6a9a2611b8c088775de8ae SHA512 cb9e0a00950740c0ed63c8bc8abde00b6442d62d463bd72d4398a694416aef2d826f1923f7e5b573893e83f94c9ceecd1b5b3599f45362de092fbb5cdbc7245a
+DIST firefox-108.0.1-gd.xpi 548826 BLAKE2B 86aea61613fe7b90ecf616bbf2c5c0d1ba768a738dd1e879bb9576cb49271c48ab311dcf1c43bfb6356212a504f9e0c6758f517a473f0296d1cf3aa6bcc930fc SHA512 e574dbe9d13b76892ff3c35509798d044cb931dfd69a1cabeb75ba5fa85d8307b68b5a44376bbaf4ff5ffa1aa2749a49ee10f9cb25bdaabdd489732903d813ea
+DIST firefox-108.0.1-gl.xpi 543434 BLAKE2B f85b0b787371a871c9586a9a968013b664af716825fd6f77890c163cd387a2ec24d14d94375a619a672163d1b4468e69b9b5b275981394260a52c873f9be8ac1 SHA512 770cab00571294abc98d03f63e158cf253c8107d93ac6a54fc1e16ede9e3515a32fa51b7c2a7ef7a4241331af544272b98ef80595aec2b1d16a089234c9d6b75
+DIST firefox-108.0.1-gn.xpi 578518 BLAKE2B 7d2039d671c266f5a2412d2074f9eb4d2a07dbf96999172f127599193c81911a1abcc51efad193affae3a0820d8a3a40ba483d3c28b75e03dceec921f9e6ddbc SHA512 c2f2aa46c1412dc386218a090639dccae40120da085f74234b4f6ebdaa92f9783e8cd82a44597c5f0a26b63fc2685351cdb59364aaa414ec24993ab09a55975c
+DIST firefox-108.0.1-gu-IN.xpi 529444 BLAKE2B 19961f006e76968292d1e6b869fe1fcf6580bca613f3ec465c66d425f506da3f3cd4606f108344bf688baf918dbda6794d0664e2a81d9ce0bb97edb70fd153e9 SHA512 5e5be8e697ef242a3e147ad0e3ee1fca0f51ade81cc0215881dcdb0f5d92a9c6163aa862bc9229a8dba95b80bd75008b4ed3068adbb1c34c4335dc667f1d8fa4
+DIST firefox-108.0.1-he.xpi 573905 BLAKE2B cdbafbf59efaaf973406ffd9fa3b1fcda6fdb25e6e3bcb57503bf6afd6a769fd3fe10b17e7758a99e6b7a8ebc7feb483a9757464858ba4890ec11a59c510ba2e SHA512 ed459ccd4392e44998a38b709f1acbe6bda9945391b3f1ea82858a611a073354af42230c0f25e4f8d2b514a42135d8ae8e135ee0eaf509f3982538701050ac36
+DIST firefox-108.0.1-hi-IN.xpi 558570 BLAKE2B 6802030173e991e7e77153a033842789fd1c141a82c8dd4a931aa927dd530e4a46a97364c66689e053cd3dc8094b4ab9ba2fa7ffa088cac7b85af7338b724517 SHA512 a8741f24cd0cc943dd6a7a0f4f1e9a937372d9aa7a684ecc4e109bcb3cd1151ea040b8713cde8f46fc72ab75c8603b1dadd86e24d6bb3569c56f30957b4f18b0
+DIST firefox-108.0.1-hr.xpi 538312 BLAKE2B 4c8c56dca5ef2f17abc84f18ce623120a47868bfefc717bbc95f5fe6271c6f7951d3ff308cfcc85145f6ab2c1c45f314c5b8dc08c839370661f0f7bf670287f3 SHA512 c02e8eb7d2ec67d9b7afc4fa501d2d53669035668ab37c4d4eefe4f920450556b0f024b06e9233b5bb9af8fe1af44b25667c858bab0607fe14cf20c220155816
+DIST firefox-108.0.1-hsb.xpi 581697 BLAKE2B e33cc4b0c3f2c294f3328a563c5ce5e867f0ee7369245a3d74f2205f85fc7c2071f4b548468fda3cb756923e8c5e72e05c1b977e3e269cda0e1456e784f31044 SHA512 839029b7ebb9c26bf5ec47a10ede9481b5ebb4e2dc6145d870c93a02f21aecf6f2baac3503c1f9384c8fd40fb84cec480c3b4ac1059bba3013d0dd20e46d682c
+DIST firefox-108.0.1-hu.xpi 587848 BLAKE2B ee23d3c35f8634b2bf185cb8c6263241ceed5792c3c6323a63069906164b4fcfbf083185c166b340ed1647a1d10492617d117a3d9c0ff2203bd64eb7818a8c14 SHA512 741ed7e6103924331bbef94e78a07e55be947af78390a55aaaca9c2fb09d45ea995a1c6c842775caae4cf160713955f01aea1c2dbbd81083feb2777e1c8a261c
+DIST firefox-108.0.1-hy-AM.xpi 594657 BLAKE2B 440a1550ea00a239943e3593852a05c64f2d7933474f27c0c042fb27fdaa67a168734631b76ea36543c5621cffd4bda733cd6b1b9b401b343bc624a43bcdff7c SHA512 dece73c576f92c789f627ddb62e6c3a3c0a35391e3eeb45efc416b8588a4ff8ce7c3bb88fad27f2327669599c67036e63129d4e79ef2bc0bfec05205c3850e8f
+DIST firefox-108.0.1-ia.xpi 551763 BLAKE2B 340830190b2ea0bc90117f710cc9226a7c9fabc0dd7355ba80286354fdd2f8b6674854175640afbd95a0e8f6ac2a489361c2aabac397abdf37f43d95277d2de5 SHA512 93cabb343eaba18eceb22693ad0a68db187ea4f5b3c587a79ba3634fb1eefe8e052095671f059072c2e9c649b1c9aac1a73e8895965e9afd161af4b54e56782c
+DIST firefox-108.0.1-id.xpi 548618 BLAKE2B 2786b0336924eac45a3e6a9cdd053fb68ce4095525cf36b25e790762e69a679c67b4ac06d71ebef324a5f74100fcd490135a61811d0c623041b7d2933edac290 SHA512 195f96265e4f706dbe0da1032e8e07e24558a5133139dbe4116d10005c938e110db3630967cecc1f7bf1ba439b91ddd96dd8ea9011c12c29f456392f798310e1
+DIST firefox-108.0.1-is.xpi 560731 BLAKE2B b8a96943206fa5f8961e2d98ede8ca50701ba8a8ac076b242422b61067ad3ebf0b146fa38d45a3a88102e712c29fb669f860b2472a43caa3981c91eb42826233 SHA512 a208d59e15d5a0b5e1a8156dc44f02197e90e2f0af458aa93fa5901b36a6c85240f44647ff1fb80512a7466f801b99e76d58663d256545aa2c6553f78b6eee73
+DIST firefox-108.0.1-it.xpi 488823 BLAKE2B d6640fd00dd8cbfa03826bc77e83566f532b0d109d2d4490778e87f65f62a262339f0205feaf509c0213d2b34752ec423fdd5f49398c446c4e6d6f301d46927b SHA512 76b47a47814a5b32f21c2372e4ee329f8da6ce71eb82b932f99b40eede57a92615e019ce0623e31a76f3fb0c8874f21932de120bfdbb0695198e8b118c17c34b
+DIST firefox-108.0.1-ja.xpi 612094 BLAKE2B 9f156c87612e14b1a2b9fb5e143afe0c52ea41e135987ff444193dce3fcaaa2faf61a9910ca1625ec97cec4c54abf1aae894ddf40cd4cbdc598a14929137cb97 SHA512 8ef21bfa40d74549638f17ba4b93456184f8e52e596d842317da12964b607196aa51d72db724753c531922240f67ee3196bdeb962b1a8ccdfff17a5d117a4d9b
+DIST firefox-108.0.1-ka.xpi 616444 BLAKE2B 998e65597172bb25bd6db9eb3c897a67caa6fc72d8521bf37428188a4f719b4de62dd90093258a12d5ada176b6b90be56ed80aeb11cda39133701d2457dc9be9 SHA512 01e6636f26b39c3829907185f7efdbd2b3783a0a87a4c9ab02960d2ae7957ae9e6d8cd0d55ac76442e2a9c539c9b4e30b8d605608ae96254bae70974ef4362bf
+DIST firefox-108.0.1-kab.xpi 569581 BLAKE2B acc75790312160f3511990569699b08ca1ceb1128219adc0f3a1b35a721704764c709cea0432580bc5d237376c454cf32be8012dc4821643802bdbeb4dbe8466 SHA512 1be081b6872aa885e5209bdae2c069ae2353f9f053ab28c42c2eb3805531d1a9b8b6fda06d2831963df7b957db4627fab36c2493a0499d47843be38c390f97af
+DIST firefox-108.0.1-kk.xpi 639492 BLAKE2B a9cb26b47080f368a07ecd267c32f12311a85ef1fd8933e32e035e59da0f8e826352880e79cd5693f33fef3507b3f2bfa55cd0efffdef19348b261419de8e73e SHA512 1f1082da21782f9e28c01c0a39e143d227aaa0f302bb8a96955f68ff522d6fee2e8d0f715392a187c614bb8c9d59c6a5d454f40e69ef69a16c4664ec1b6033ee
+DIST firefox-108.0.1-km.xpi 531194 BLAKE2B 6706b252c59859691d4a856cc9fc505a99b7c8406e62eaa80a15249286335cad1d2f17e7870020ff43c0d347964c894fe00298212dae6fe3b02b40205b02ff7e SHA512 4dab956a89870e14a781247bd43633e1b34ad4753d99be0199aaecbfd1c8e2b59942a6c187b7ec81c977a44d00fabc5bb02f450d5dd175529d2b8833ba1d909e
+DIST firefox-108.0.1-kn.xpi 496783 BLAKE2B a708685c4acd346ba3b25c9e9afeda904c3072903eab00bd4674e8a0f5b24e02e09420981d989a10265ba6939e22c73fc22c3b9cce1723586d2fef41d0becb97 SHA512 c058920af17a150bfab66850c437e0acd637c9a1034388a1e33020547f0bcbe71c5ee5767c9cba59f0804d032d7e76d58cdb789b66a0a46a568e85b0c230cf4d
+DIST firefox-108.0.1-ko.xpi 598492 BLAKE2B 653d0a0da17d827031dbb1efc60f8817cb07ed4053fa2bdab2fd7c9f3c72873c35c8fa6dd23b453ed6ef04c190bf1950a477cd059dde29b36c87677e3fa43387 SHA512 442fd2ae62f908a345e1ef6ca139483c5881bf98d24fecdabcad80d554029d42d276fee7bd0e08416d524bb61f29021a88b4df34f7721d69a4a6e8f22fbdada9
+DIST firefox-108.0.1-lij.xpi 471422 BLAKE2B c37f4f9e6a52633c241782148bf58a1ed15ea9bd2d7a326b056fc2040815b4831761afca109da0ce022a2035a1b6ab75f042196834babe7d37a55498d4c0bf46 SHA512 365df5ff1bb6d4aff0eb44024f34dcbfb56332166839d8d49547f432e0a9e809f580512205d5c663c83b626a1f382d3e27e0356f2137095fe44d693fdae5c405
+DIST firefox-108.0.1-lt.xpi 566411 BLAKE2B c98ac524a351b05c2ec0c5fe7d91d81c32b173e71e9a341e95e1179be7865020482c3c842f93f447b21deedb27e9f17f1dd4708be900660704fbf1f497def5f9 SHA512 749b1078f6651d65726cc8adbf5dcc7798dc0dea11a64a65ccb871387d769d76da42b15a03658d93602d73d9da0e1e151856902b4fde273d4a201cfea485a5c7
+DIST firefox-108.0.1-lv.xpi 466194 BLAKE2B cdb2c5c8a8b6f7976f9c0437fd9b9165415c2b618fd99ddf449c390b6994a7c99a291a07f15641fcb8a2d1bf0c9db124d3053319329b1e7bb8b89ea7a8da028c SHA512 a2acf3f19cdcdd8c2c6681574b18f1d428074f22aed0f0d5c94391865ebd09482e9448d4868916aab2ac2402b922c25ca4c6c59de4b32781b27d38e3cbb188f9
+DIST firefox-108.0.1-mk.xpi 485625 BLAKE2B 64558d638ce6254ca7d00d872954355959190433f5a27cdac6d9cdfad7c5b89b98e3f6292a9b4fe8165386b3d12349db6a0482a522b02f625e8f8e57eac749fe SHA512 5dac4a474928057225920dcef61e520fcc86e563bc526e9ed192c4701d59d78dbce48f4d777aad1f5b2d048430ca147f64f05cfd9017de5e9ffc2628daea5cf6
+DIST firefox-108.0.1-mr.xpi 531997 BLAKE2B 8e7d92860df7b560b18429b29faf2843e58f8ff5d2fd7edb54c88cf5e0dd1440081b6e1fb06576c60962515c1a6cb22c5b36adb7d848c7f278293240a557c373 SHA512 a7b855591e96977fd948ffaa39aa628c459588ca54a247551834341c3913428255cedb4062e15d48c9ef4cb828fee83e602b331aec6d65002428ec05533e7aee
+DIST firefox-108.0.1-ms.xpi 450666 BLAKE2B 43da25f1ab48157647f3073cbbadb8282c510ea2d1ddb071dce64a417138a0c4939c82d440be9685aa5e0ca7fbe3a72a9481219c715e549df2499f805af86667 SHA512 a5c78a4e1446b9f1815087f7fba7208d231b6c8ec7ad8d8657e229b9e88e1ff8ddb1e5be94471b5d3bcc05f1104aa1891b0a7f3bc03a6d01e8989eb3019de69a
+DIST firefox-108.0.1-my.xpi 517675 BLAKE2B 6ea2552d75fb4699b471d47ce5e596074f7ab6450b43cef7b91bd22087751f25877a92d43dd3f0d609636c4da1a9fa8bc106b89d7b9a8b1853250d23413f9c20 SHA512 9cd762b64101c84acabda265be2d5c723b48f55cd234f28056d779a910f9b79d7b35d81f708783e48dec85479bdba53f763880b014a006a77a216739cd12adca
+DIST firefox-108.0.1-nb-NO.xpi 549695 BLAKE2B 042f6a5a6857c0581bf5ba29007c261da0c111a9024eed5aef83548eb8a30e31696abad3def90fba14276429a04e4b5b7d04998c59f59b93539fc62b221ecad8 SHA512 89e1e8b2f0b3e8f963e415fae883c9e454b5e971e63726183ee2157fb68f50374f3a757214c9a9fe1eb0401311f8bfd52fc4c1bbee145f7dc275bac1a322fa6e
+DIST firefox-108.0.1-ne-NP.xpi 485219 BLAKE2B 980fd5fb07264e463d086d35ef63cd9c3b46a41d3d9bda824806feeb9baed767d0635b2dfb8782eb65cc1e57256a13f7baaa27de4c2d3bdd0a26dbf7744319f1 SHA512 dbd087dc3227d0ac937d366765bd95956d6c02c5267254ff2a0ecb7c0287574a6526e830dc4055c9bffd2b4a809e5748894000d03093815d01863d2ae53903ff
+DIST firefox-108.0.1-nl.xpi 557495 BLAKE2B 6634e2b0da522a7dd8b27c5219f4961e2e0b1f1820d1f24b0bfdfa3fa73c03b6e2056c501b0addda93e167ae12fd42a37ab22e13fbbbc802ed25fc3964f6cd0d SHA512 1bad888f40717cc8a6c4396b1f534b6ac83b09396a248dd043434ff4dffdef966cf961874af56592988437c5e4970feea93c09b79a1e35b3cf954a8bf139181a
+DIST firefox-108.0.1-nn-NO.xpi 550010 BLAKE2B ebde674a01fd1304a642b7a9bcf2a6ba97d7589ff20a46da7e39cdcc5784703d8a3262f8ab44f4ebcd7be1249b6af7cbb4d7ad08020ccca06961c22110599a40 SHA512 4f04846259e79e7d75813efb3831f182c0e61d40029de4c2b2bb0dd1fe23f163fbbaf751022ef72592697669bc11bb52189a23a5e41adbd7d754e1e2b9973b45
+DIST firefox-108.0.1-oc.xpi 574012 BLAKE2B a28dc92c975ed02025569850b0d5216d8cbcc7cdb69472277e1c14a4c75d09970f0b864306fc4ea7adfbca43008cbf2b6fd18272c4d102b441222be59bc2e90c SHA512 30b9a525d0a304dc6c8b4939fa8c2059a3d5e7c2cb93e8b5d136e1808576f10fdc7a5fab4a56ef5625e968397b04c1d574fe6fbe42b82166a1d33d48a1683c09
+DIST firefox-108.0.1-pa-IN.xpi 625814 BLAKE2B dca86502f7004a43fabd24b949c86cc3d90841388f45f6493ad8061fc288e6ec463e19de92ba549abe8baa71f3dfafad3c613bcd4c9ab11b1d5a96440bd8eb88 SHA512 dc3bc159a0c6ea1a35e2fcae39a0b9ea6a05d38067841cf3d7f1646ac7a5b279e5a07eccb443bb3bc542b292ca8fefcd0cc689ee4b610350bd6fb8af33c4c82b
+DIST firefox-108.0.1-pl.xpi 579960 BLAKE2B 58df0f973a39d5343cce9f84a7d3766815123cf06b56b24428ffd1d2e66dc0cf4b5d98aae4848ef791a108e18075c503a1121a9af5c55c2a8d0b4bb1a86ac4d7 SHA512 eb41f7b55a49fb3c4cb6336764f1ee9f3d8fd28eedd82465b8ec9f4a012ca5d1cdd43f7c07d90091899de85c68e73addf0f999f202f612db6f506402c942a10c
+DIST firefox-108.0.1-pt-BR.xpi 562421 BLAKE2B 8fb3b37091eaa68e4a75afa8308024896f14f70eaf33aab74aba32b2f4fc1b1c40f48400ef478254b433694e8d753685c4769dabf311ba21dc432848f83aef80 SHA512 a60b2a6f747f6fcc056766d13ce902ff43d12779807ac9ce0a2f6f73ad05605156bd06b99f4fb28c624b212454a7dda7fe000830ea9569f45f97ebb05b82f7d3
+DIST firefox-108.0.1-pt-PT.xpi 567185 BLAKE2B ed1ccb7120f2253668ddab2dcccb938bb504bb138108a1863c27966e53a142f3de79b199673f4a1305301150effd5da08e0c4f972be0aafd883d16091970f14d SHA512 5b24ba366b45730e329daae885e231401820dd80f7a2c53e8268f54c574008b18f78345cc8e81a603fca94aa4d7599b1f6b8a2ae77b8b721af624215077129e5
+DIST firefox-108.0.1-rm.xpi 557257 BLAKE2B 133eef76081d6efb3c36dd9e29ba074e6d3fabf2d91684c419875bdaa2d84f211b2f31fe5076502cbbdeea7e55872424b5a7c11d6c9869029da9a87560454b97 SHA512 02aaf6373e76fcb403cad67e13279fedf665d9d5f109b81226f13d451dc4275fd570d1d965f62e3d00011470d3c656278804be96869d0306b461099438f63554
+DIST firefox-108.0.1-ro.xpi 534099 BLAKE2B 91b8ca6df19cbcf766b18a41e6a4fac0189a1e089f42ec5497c2604d338802e5505df7e289fbb2a57feb6193bde9b21154ff5d2fe7b3d1e690c0bf557f217749 SHA512 172e0c6623356b02340a00f47466ce3633fb90fc96c760df887c9efbab91cc376582e22cf1105fc2fad6a494e2cbbc73ded7ec1345a70e4386edebe557cb5a92
+DIST firefox-108.0.1-ru.xpi 651322 BLAKE2B bfdee2b40544df3434809a76e3c820727ad63752d8eb17dcc82301c4b12857bd2635f1639238211fe8760ea38bb017446dc457800d13e04f49510bc038fd99ca SHA512 f649882ecc726ba770879e295066cf01922f3db55fba29f2a939923bc5bcf0e0fbefcbc777a260cd8f79919fa892722ad75c5f3d2b557ad1a236c9fc1bbad9ac
+DIST firefox-108.0.1-sco.xpi 505173 BLAKE2B 4a08fc57527e5a6648d62814814a2c9877c7cf2714d6af82ee0b2a2e47c0086dea383734f7816f4677c38230e21f3f026c867625a0b09acec5fe2f5a9da71d96 SHA512 54ed58abd13fbc206bddf074aec8a5e6681a128d6ed6c5fdde9776f7907b17de60bd44805caf5a66b62ff09b262beca479c6b037252faa912f19a76f8e9e01bd
+DIST firefox-108.0.1-si.xpi 572043 BLAKE2B 350cccb1686073e508a1b04899ca79144439f4117f6fc26f2047e20923b5f68b363b286a498361b805e732c7133e0afd6e361599d6bdfc4c7785c02fefe13105 SHA512 c4c702f3b37c6c0fcf00d56fbcf52a456db69afad5c34d22e70fc8785ee9e27004ee86ad29e58a4baffbe03a354010be3e7d9b44f2bf1e4cd4a13ea23bcf48ac
+DIST firefox-108.0.1-sk.xpi 587671 BLAKE2B 41fb2d5dc4ac0bbe6cc59407f9752330bc95b9dcc1b450cf335fe501e4830f157af302a4e9ffb520ef6d4f35534d5dde606c7826eda9714ee7038274c5f24bf0 SHA512 db38e087110f5f375b6b28c6d8e2e8b34e7a1edb60699b6a9107a84aad24eda2f0b8a986daa5a39fa9c6ad207c96ed086df3a362c422865aabf8e2d05526fd0c
+DIST firefox-108.0.1-sl.xpi 559761 BLAKE2B 232394c02a7195889608a6fadc8097aa5b4a8ee16e4ec7857cd5339fbdeaed8c77a400c0f65f69c2ce6b54ccee05f5b981153633a719f008b49d8217686c5e32 SHA512 917949c0e7c2656932f06fd9310bc04558012e4a85aa527ac6e01b5f785364dca8db98bee4139ab75967c1d335e845c09cc23dcf7476e0fe740f790ff6b5a95a
+DIST firefox-108.0.1-son.xpi 422456 BLAKE2B 15db088ec59c7e44177a875a4602440c3f99ea96ac54f9b644d0709f5c9fcb69baadf8c8b7bdd51b1881c6b00e7a8c5d765c3cf7810da6d633e58452573932f3 SHA512 86a90f8258d762c8723115c2c90e06761b30295415d056065db07b318f6abb19d9dba6218ffa0a74502d58dcae38c46da3036f239972b2c3c6c206bbb21db7be
+DIST firefox-108.0.1-sq.xpi 574787 BLAKE2B 6f5e81ec3bb6bc3b61e2b69240400dc0755e5a21ab7cd4c35008131ec967a1cf10a370149f58345a1e69084e0f54e8e10d7f37a5d0abf9be61aaf8eb4f45c489 SHA512 d7cd6392b6caf9cd8c57cdbda31d6f7b2fefc3f5126b17d62a303ebcc0421b70952514261b8e50f4a3474c00a08b1c5ae358ac4dc8d1331cb6cea71bc3a8a5f9
+DIST firefox-108.0.1-sr.xpi 615008 BLAKE2B 792d71d8d3de6720bdb27932039ff4aa212dabab6f6c6d3ff5758d3a2b0be15a42f7cd092ea7306a801b7e5a164dec138003ed091da9e450e234a19e10061ac2 SHA512 9b5c797335aa8c2e453f24663cbaa37f9ca669650324c5b292933113f7b700cd39bee1e23c41805a5c9114cc9cdb2c3b8f3d2461d8fb18bf0e35dc21d8eb4fa3
+DIST firefox-108.0.1-sv-SE.xpi 559345 BLAKE2B 819940fb4d30676d85149cff13df1e562d2ee4e3800a1831bb0cdb044f14963ae3f85d797be2212f35e3e857ba32f4f64830ecad089dfaa43b7df22958cd5836 SHA512 4b03f924f52bd75ee01d66bb8fa7d5e4c753ddc0742f97a826348653a279396dbfc241a66dc0e62222b0779a31a8c1f98b81ca2b277fb10aaedacc60430fab09
+DIST firefox-108.0.1-szl.xpi 518204 BLAKE2B deea10cd0a4073ff3ec54434aff8c73997e485d458f94e8496826aa5983e951a9d24f81150481d866c191d610508170bca8697d6cf2912585a9d1ca3044d157f SHA512 a3b1b216e78f61690432a6419f8b8423a08e1cdbd2a344a73bb40396ac5b142e469ab9728b1ab6b054e887266cc05643559cbe0c0ff157d31f65133b625f49ce
+DIST firefox-108.0.1-ta.xpi 509729 BLAKE2B 6e6c0ff855bc88a4e33f25960e2eb41a9e4c4b19c17d16fc95526c5b686045e781ef065c6c11c014a8639e2c09ebc1223350235c7cfe7b4aeeeba0a0385139b8 SHA512 6be51312154d7f327343dc3afe57228af887ea9759d89c579980034fbffec8df96cd5d0cd79bc909cd6a81261328d5a89d0559993d7ec9676e1ac1478c3c1028
+DIST firefox-108.0.1-te.xpi 556979 BLAKE2B d7b88eec32485da79c9faf584ad11fde87f7a8261a7787b3e0e757e44cffe06406e837c00e24d4b820284848d779597e0080e91846c3c89da99c727d493c5278 SHA512 166b72cc57859cb1a966af49dfdf002f029e080dc02d41f3b3b28a15670450d4ef3aac2955aaa2949caa8ff524e79fef8ec504d4511fb9f04bee16a76316fcf3
+DIST firefox-108.0.1-th.xpi 627888 BLAKE2B 6fa2b5b164c755d8139c2b054f0236731873f73fea74db9520ed72a5dde246ad6897eca89fc47a80088360ddc50f5a1c78c06560b0bdd78b71e3cc0912fa9f7a SHA512 d87de4c4b5fe1c7d093378e3dbf6644928e359d88e55fbb4e15d75e5f10dbe96c4a419a0d036205c22d681fe9afc504baf02817195c459b9148b5b567a51b6d8
+DIST firefox-108.0.1-tl.xpi 522751 BLAKE2B 318eefd13020e744da783da76fcaef33f9517c083631916c5d6ed7497213d48c962a59194f381efe62149df6e70b9f881b3a22ecf566ab12d97605036947bb03 SHA512 63d8836ffef5ed25ed1b63d2f04a531bab1d77361a912e3826fbdd72cdc1a9c10d397ad6a7f3f4317b29038d7ba8268c9f3148fd0042daedfc25b29790b749b4
+DIST firefox-108.0.1-tr.xpi 573051 BLAKE2B be4897f4518a9aa1db76b552658f53fcb73b1993e95138b28f18a0c47647c71334d37fe06b5cfbbc5474887286cbaf68dccbb1c1b965fe76211c6ac0b7675cc2 SHA512 f6db85bee3d5390ca4a01df9de7fd43cda3c176adc0682fd328f55a07c87514d70d3342a0097c009b36d1e629b9139f3e9f2f469e54e1f1c464867f0ceaa5311
+DIST firefox-108.0.1-trs.xpi 487417 BLAKE2B 76ed3e93822e4cd57ed9ab3508710103ba90a780055d1eba1c19ff769b31d377ec54b124c7a7176df18509ed3eb29cbb027beed4d4b0655779b24688f5fb2d3e SHA512 5191d76f88e4ec0cc3126bf16c315a16536a0d931cff9cb4a9c3a988caf494a1bcfc679324458fd18f0f490a4f00eb6185f286a9ae1d05f5d04c3586c7bc964f
+DIST firefox-108.0.1-uk.xpi 644538 BLAKE2B dd4668552d78bebf088231685b0e2d27d3d4e55b9ec6f7483f15d3b17b51876238fe1b66eefb2dd87b3c30413e4a6cc59222a19f083ee7ef936fe24382dae39f SHA512 fa118eddf661bd3a17d0f4cca29786c8259b6aaaec7ec7ff67d3fc97c10ad82312267c656625c793bea4310acc8ac857ad3d7241c392e92fb2f498c5382fe3e5
+DIST firefox-108.0.1-ur.xpi 559040 BLAKE2B 8d9de2ed2a34e4bb5c4b5bc07f07b7b47e3b3fa7be18756ed284fa8847fe4eeeb4ecc3f1a5b12f339b077822a7ce4b36ca029246e9be830939ee231f8e2f34fc SHA512 9c482480cb741c57d3d955c109efe81a0f19762fa741114975c126a2112f5ae15b2808e9523f3d88e8cf634063cc861ec7b001801e866b082165df420b26d6a9
+DIST firefox-108.0.1-uz.xpi 478513 BLAKE2B 8d6996b019ddde66ef28c197d881ac8bb122b90b50d60c1dbd4d02a4d4f255f8531f620c9900b287188b7954503b1a673d3cf2af5bb1f5fef6871a2a71ab5a84 SHA512 5b401f30ab983c1b59d80009a746b9f530cb8a5a1730e709026036988b7dd08df9bf23b26599aa87d8d61785c228e9562b4617a3e7762a84ee208f75e7104a3e
+DIST firefox-108.0.1-vi.xpi 594794 BLAKE2B e4e8a640eb55099fab21f6dca394d65bd11b191a4c5638a7ff806a4bdbacb02e7edc2c904a3909e05450923fcb9078634a8d32c585165dda045ecdbcb322b32a SHA512 0a9e7b90a0c5c5250a9e0273d1838aecf46d756b922b4a76ce44d77004ebc937161ee88f51b6996cfff445d2473738e2af815f5b191a35eb371760ef8e27442f
+DIST firefox-108.0.1-xh.xpi 418350 BLAKE2B 3d4be6d583b1ae6920a907c25325cd7d75482d987cf9e990f4ab29984a4c32022b3664c25a23af19aeb9673f19329a06f4e969bb9be6517ea090a074f1623d07 SHA512 dce1700d0b736984164f9ceeb29292f7c6183a63953dcdb51519989f7e58745d44894514b52d6c94fb825cf9d8ed035753c1845db677b6a88cf4f5134cbdea81
+DIST firefox-108.0.1-zh-CN.xpi 594371 BLAKE2B 0c5305ab5d80a679d0ccfb200045351846e44139459a047ad58069f9d70c379d3c8ee00b89e61d4b5d26769c52458ac1ea9b94cc929b2285f21cd82736b417f2 SHA512 a4ab0dde55750b942592cdf836eb4c5a2a3758c51104b7068ba801e4abf0950907a88887c868e7a5ed82d1d82185e27eaa59c2ab3f01e4c68fd7f4b1efb42bf1
+DIST firefox-108.0.1-zh-TW.xpi 595832 BLAKE2B 2119b9f170e6d4e39632af1e8226e15383460e73f6fd7afe53b8366a88881b2fd4e38e2aa287894b164c64c08ec5f5a7b4a72897bd621560e23d2c8d7fabf4ce SHA512 d50ac669054cbd608e2fbd33964f468166628716729a2dda35950050c09029846b2995bbffa4490ba01adcc058219d26f72f1a4206aaca9611a31a7b4ac12c2d
+DIST firefox-108.0.1.source.tar.xz 498268448 BLAKE2B fbdf5c32e81a676867375aa2a42f0f5d649fc6e37bff729d69c7a3477eb09e553f5bfa53625f9848ad0694388ddeba11d63350105228253dcdd8a303fb9c963f SHA512 e6219ed6324422ec293ed96868738e056582bb9f7fb82e59362541f3465c6ebca806d26ecd801156b074c3675bd5a22507b1f1fa53eebf82b7dd35f2b1ff0625
DIST firefox-108.0.source.tar.xz 503688784 BLAKE2B ac8e5d613899df4634d7126735b219938b48f49c9306c09eb1669fadcc362f6d492ec3cb6d8a8113eced73fc3351c54d6e5d4ce70b1c77a3a87db22adb76ce81 SHA512 fa800f62cca395a51b9a04373a27be48fc3860208e34ecf74d908127638d1eb8c41cf9898be6896777d408127d5c4b7104d9ee89c97da923b2dc6ea32186187e
EBUILD firefox-102.6.0.ebuild 36637 BLAKE2B b31901096a3206ba4b4b3499d617ecd1ba60610452a125754dc96b66e0d0987be17ab1548fee8dc40c79fd877d7e7c94d27f6595bdd67693fd1c8ad39eefffc0 SHA512 33bfe90d3da6ed4cb6965a18c827c7dc39e85f964a702f818111c506964880c74524dc5a2674199c159debdcae95e864faac7ca15d5847a7acd9c0d3d0c06da1
EBUILD firefox-107.0.1.ebuild 38357 BLAKE2B 0d1343666d430e8e9436fb01955ed991692295a8b6b17de60b56c322d0022d56bfeb89da4e1f12bce8e2a52b8d694d3b7b27b7618499cb4f9fb2eca5715649bf SHA512 ff9a9d4c1571c2b18a66d797239a22dc378ecc4ef0e421e3375188356d7ad8730cbdce4f637e57052ea0cc26c258c9d7581d7f949055dbd0e19205614c5e5dca
+EBUILD firefox-108.0.1.ebuild 38392 BLAKE2B 7106d71f4d049174738646b524b20fb3b00bb5f10936c32fd09e384a8cf5b3f05f1c18dde6947574896b60fd99ddc90f9d8e68493ff4f2022108b1d31d58964d SHA512 6d8c8280374a82012a666ff843c5586780b0e34c124aab43f4eda494d1dcc5aca299e06555981d519c7668e7f4c3b4eea8cdfcb43a0f97037caf191bbb9278b1
EBUILD firefox-108.0.ebuild 38398 BLAKE2B 3f838036f149858f130d0e616990dfba6751edc54455d5dd1cca72105ee29db12a0925175cc29a5562aef5145ad64ded2732a994bfb3417e0c82d4e8eccba55e SHA512 2d5999ffcdec4a9cc55264d9bbe904fc0eb1e8c3bd2a4c9ce98848f152acb905628de3b590bc560f0564c99ac4f4d3b67c8ac0ca7c5c5c486591f64c0728260b
MISC metadata.xml 2219 BLAKE2B 064f486eecd2a66ef4c9cccef46803f877039bf16bc40b699a48e28e04e816d0ad434ce65ae2e056e1a4126a67a7dd7eff16040276159c1f5aa8966b1c0d7b6c SHA512 522b09ffc2857553e240b1e7c82c11ccc281dd87c720c6292ec9314b91319e0a55ca2838f17e878f5c1e58e4f22caa1b0c3b90506b65b350beff06f3f397d897
diff --git a/www-client/firefox/firefox-108.0.1.ebuild b/www-client/firefox/firefox-108.0.1.ebuild
new file mode 100644
index 000000000000..838f3ba06f1b
--- /dev/null
+++ b/www-client/firefox/firefox-108.0.1.ebuild
@@ -0,0 +1,1330 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+FIREFOX_PATCHSET="firefox-108-patches-03j.tar.xz"
+
+LLVM_MAX_SLOT=15
+
+PYTHON_COMPAT=( python3_{8..11} )
+PYTHON_REQ_USE="ncurses,sqlite,ssl"
+
+WANT_AUTOCONF="2.1"
+
+VIRTUALX_REQUIRED="manual"
+
+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 +X"
+
+# Firefox-only IUSE
+IUSE+=" geckodriver +gmp-autoupdate screencast"
+
+REQUIRED_USE="|| ( X wayland )
+ debug? ( !system-av1 )
+ pgo? ( lto )
+ wifi? ( dbus )"
+
+# Firefox-only REQUIRED_USE flags
+REQUIRED_USE+=" screencast? ( wayland )"
+
+FF_ONLY_DEPEND="!www-client/firefox:0
+ !www-client/firefox:esr
+ screencast? ( media-video/pipewire:= )
+ selinux? ( sec-policy/selinux-mozilla )"
+BDEPEND="${PYTHON_DEPS}
+ || (
+ (
+ sys-devel/clang:15
+ sys-devel/llvm:15
+ clang? (
+ sys-devel/lld:15
+ virtual/rust:0/llvm-15
+ pgo? ( =sys-libs/compiler-rt-sanitizers-15*[profile] )
+ )
+ )
+ (
+ sys-devel/clang:14
+ sys-devel/llvm:14
+ clang? (
+ sys-devel/lld:14
+ virtual/rust:0/llvm-14
+ pgo? ( =sys-libs/compiler-rt-sanitizers-14*[profile] )
+ )
+ )
+ )
+ app-arch/unzip
+ app-arch/zip
+ >=dev-util/cbindgen-0.24.3
+ net-libs/nodejs
+ virtual/pkgconfig
+ !clang? ( virtual/rust )
+ amd64? ( >=dev-lang/nasm-2.14 )
+ x86? ( >=dev-lang/nasm-2.14 )
+ pgo? (
+ X? (
+ sys-devel/gettext
+ x11-base/xorg-server[xvfb]
+ x11-apps/xhost
+ )
+ wayland? (
+ >=gui-libs/wlroots-0.15.1-r1[tinywl]
+ x11-misc/xkeyboard-config
+ )
+ )"
+COMMON_DEPEND="${FF_ONLY_DEPEND}
+ >=app-accessibility/at-spi2-core-2.46.0:2
+ dev-libs/expat
+ dev-libs/glib:2
+ dev-libs/libffi:=
+ >=dev-libs/nss-3.85
+ >=dev-libs/nspr-4.35
+ media-libs/alsa-lib
+ media-libs/fontconfig
+ media-libs/freetype
+ media-libs/mesa
+ media-video/ffmpeg
+ sys-libs/zlib
+ virtual/freedesktop-icon-theme
+ x11-libs/cairo
+ x11-libs/gdk-pixbuf
+ 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-1.0.0:=
+ >=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.1.12: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}
+ jack? ( virtual/jack )
+ openh264? ( media-libs/openh264:*[plugin] )
+ pulseaudio? (
+ || (
+ media-libs/libpulse
+ >=media-sound/apulse-0.1.12-r4
+ )
+ )"
+DEPEND="${COMMON_DEPEND}
+ pulseaudio? (
+ || (
+ media-libs/libpulse
+ >=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 ! has_version -b "virtual/rust:0/llvm-${LLVM_SLOT}" ; then
+ einfo "virtual/rust:0/llvm-${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}*[profile]" ; then
+ einfo "=sys-libs/compiler-rt-sanitizers-${LLVM_SLOT}*[profile] 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}"
+}
+
+virtwl() {
+ debug-print-function ${FUNCNAME} "$@"
+
+ [[ $# -lt 1 ]] && die "${FUNCNAME} needs at least one argument"
+ [[ -n $XDG_RUNTIME_DIR ]] || die "${FUNCNAME} needs XDG_RUNTIME_DIR to be set; try xdg_environment_reset"
+ tinywl -h >/dev/null || die 'tinywl -h failed'
+
+ # TODO: don't run addpredict in utility function. WLR_RENDERER=pixman doesn't work
+ addpredict /dev/dri
+ local VIRTWL VIRTWL_PID
+ coproc VIRTWL { WLR_BACKENDS=headless exec tinywl -s 'echo $WAYLAND_DISPLAY; read _; kill $PPID'; }
+ local -x WAYLAND_DISPLAY
+ read WAYLAND_DISPLAY <&${VIRTWL[0]}
+
+ debug-print "${FUNCNAME}: $@"
+ "$@"
+
+ [[ -n $VIRTWL_PID ]] || die "tinywl exited unexpectedly"
+ exec {VIRTWL[0]}<&- {VIRTWL[1]}>&-
+}
+
+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
+
+ python-any-r1_pkg_setup
+
+ # Avoid PGO profiling problems due to enviroment leakage
+ # These should *always* be cleaned up anyway
+ unset \
+ DBUS_SESSION_BUS_ADDRESS \
+ DISPLAY \
+ ORBIT_SOCKETDIR \
+ SESSION_MANAGER \
+ XAUTHORITY \
+ XDG_CACHE_HOME \
+ XDG_SESSION_COOKIE
+
+ # Build system is using /proc/self/oom_score_adj, bug #604394
+ addpredict /proc/self/oom_score_adj
+
+ if use pgo ; then
+ # Update 105.0: "/proc/self/oom_score_adj" isn't enough anymore with pgo, but not sure
+ # whether that's due to better OOM handling by Firefox (bmo#1771712), or portage
+ # (PORTAGE_SCHEDULING_POLICY) update...
+ addpredict /proc
+
+ # May need a wider addpredict when using wayland+pgo.
+ addpredict /dev/dri
+
+ # 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
+ ! use ppc64 && rm -v "${WORKDIR}"/firefox-patches/*bmo-1775202-ppc64*.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 crate checksums where we have applied patches
+ moz_clear_vendor_checksums bindgen
+
+ # Create build dir
+ BUILD_DIR="${WORKDIR}/${PN}_build"
+ mkdir -p "${BUILD_DIR}" || die
+
+ # Write API keys to disk
+ echo -n "${MOZ_API_KEY_GOOGLE//gGaPi/}" > "${S}"/api-google.key || die
+ echo -n "${MOZ_API_KEY_LOCATION//gGaPi/}" > "${S}"/api-location.key || die
+ echo -n "${MOZ_API_KEY_MOZILLA//m0ap1/}" > "${S}"/api-mozilla.key || die
+
+ xdg_environment_reset
+}
+
+src_configure() {
+ # Show flags set at the beginning
+ einfo "Current BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}"
+ einfo "Current CFLAGS:\t\t${CFLAGS:-no value set}"
+ einfo "Current CXXFLAGS:\t\t${CXXFLAGS:-no value set}"
+ einfo "Current LDFLAGS:\t\t${LDFLAGS:-no value set}"
+ einfo "Current RUSTFLAGS:\t\t${RUSTFLAGS:-no value set}"
+
+ local have_switched_compiler=
+ if use clang; then
+ # Force clang
+ einfo "Enforcing the use of clang due to USE=clang ..."
+ if tc-is-gcc; then
+ have_switched_compiler=yes
+ fi
+ AR=llvm-ar
+ 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,
+ # AS is used in a non-standard way by upstream, #bmo1654031
+ export HOST_CC="$(tc-getBUILD_CC)"
+ export HOST_CXX="$(tc-getBUILD_CXX)"
+ export AS="$(tc-getCC) -c"
+ tc-export CC CXX LD AR AS 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-tests \
+ --disable-updater \
+ --enable-negotiateauth \
+ --enable-new-pass-manager \
+ --enable-official-branding \
+ --enable-release \
+ --enable-system-ffi \
+ --enable-system-pixman \
+ --enable-system-policies \
+ --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
+ export 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
+ # Reset and cleanup environment variables used by GNOME/XDG
+ gnome2_environment_reset
+
+ addpredict /root
+
+ if ! use X; then
+ virtx_cmd=virtwl
+ else
+ virtx_cmd=virtx
+ fi
+ fi
+
+ if ! use X; then
+ local -x GDK_BACKEND=wayland
+ else
+ local -x GDK_BACKEND=x11
+ fi
+
+ ${virtx_cmd} ./mach build --verbose || die
+}
+
+src_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 support the "
+ ewarn "required EGL, so either disable 'hwaccel' or try the workaround "
+ ewarn "explained in https://bugs.gentoo.org/835078#c5 if Firefox crashes."
+ fi
+
+ 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
+}