summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoonas Niilola <juippis@gentoo.org>2022-01-11 22:31:33 +0200
committerJoonas Niilola <juippis@gentoo.org>2022-01-11 22:31:58 +0200
commitd814bf62b27303570d55c602011d51a967e834a0 (patch)
tree787ea67267a622986762f46ad31282df9bbb7b9e /www-client
parentwww-client/firefox: add 91.5.0 (diff)
downloadgentoo-d814bf62b27303570d55c602011d51a967e834a0.tar.gz
gentoo-d814bf62b27303570d55c602011d51a967e834a0.tar.bz2
gentoo-d814bf62b27303570d55c602011d51a967e834a0.zip
www-client/firefox: add 96.0
Signed-off-by: Joonas Niilola <juippis@gentoo.org>
Diffstat (limited to 'www-client')
-rw-r--r--www-client/firefox/Manifest99
-rw-r--r--www-client/firefox/firefox-96.0.ebuild1237
2 files changed, 1336 insertions, 0 deletions
diff --git a/www-client/firefox/Manifest b/www-client/firefox/Manifest
index 885ed353f781..69e4cf785a64 100644
--- a/www-client/firefox/Manifest
+++ b/www-client/firefox/Manifest
@@ -295,3 +295,102 @@ DIST firefox-95.0.1-xh.xpi 424124 BLAKE2B dd7fce7450c6bbbe0f23287fec584845cbb761
DIST firefox-95.0.1-zh-CN.xpi 571143 BLAKE2B 68a55217e070104b8405f60c6b7dd329f582777289584e2dec342f7a7088f1ba122788df6c8f7a2b18989153fe63e82aecb3c8f9f76921b441d963a97365e651 SHA512 4fc8d6fdf084972e9b0f2a6a02185fe85d234ca54c73db8c127ada7fb757ef050be05f23468238c6aee12732901f9fb267a59bff1fec16d954a0a596665020b2
DIST firefox-95.0.1-zh-TW.xpi 571960 BLAKE2B 4879e8cf4df8c6b216bd326f7d8adff184607d62f4b8538513494f892d4a264621ed97cc0e6944c7e05e1472b7e76130bd5b125bddf139b27f7acffa18e76162 SHA512 19d9a2df1c64fe8e9755669905b4cbcebfa7ee1578c77b0138937b618aa064ac90a0be852ebf389ec79b1047db5fbed33c056429ef8fc86642b8ae16f8e44f36
DIST firefox-95.0.1.source.tar.xz 385073408 BLAKE2B de14e696d8b30b67e6dd976e14fe49e1fff38edfb31560485fbb6253ae755b080e64b6bd866b2b68b19294843bff0f9b7f05837d63a952e59a1dee35e26c9d1e SHA512 54887c3adbf7202b835ae1ac928c3c95516ef11f9894456561dad500a1a61623f926b37f6e02fef0898e7ee0fd9147a71e5432634e6e0a2c2fecd08509799c37
+DIST firefox-96-patches-01.tar.xz 16660 BLAKE2B 006d1b0b98858fa2961a99972dd255736598bda949ca484b9ec3d91628a4c976ba0738b1fb8fbfccd0be0f175caecfbcdc7c54a091eda5352fc9a42b37699c93 SHA512 82f77648e322e71694cbaa1e3ad77fca70418fbdb1cfe9a4bfd94ca6e286bcd86bef0a559cafa8b673a2e90da77bff8b7d07bbdda8a44795bd8d2cd210cf1ebf
+DIST firefox-96.0-ach.xpi 451187 BLAKE2B d02df5f9a6496702c8e093c3418499460c5f47c2a21ef8b31d6ecb36d01fd928651289c840ac2267c4425cefa1dd60f12733d0c327bead619471b112eb69f197 SHA512 f1d57a4826ff686663e869cda64b24bb024864ed293e2c05026dc6ed04b9bbfeaea7250f5f31acb51113bae38c817ee487f7a70e5b776eba462ba1a847df05fe
+DIST firefox-96.0-af.xpi 420335 BLAKE2B 4fb84f96e6919da8d9dd567ba6acacb61a7f7b8cedfb4326e83c6dd95c50137667d6fe8eaf0292a9b77da6a0737b59d156fe6b75f6da3b67496c46290cba2c6a SHA512 905e0ea7d8407355467893c1fddcaa24641f5d360a4f170a89bbc8fced3bf01fd5fadfa1061b76cc16ec9e19719014ea05f851b5eba233ae087e5074c70b5479
+DIST firefox-96.0-an.xpi 499444 BLAKE2B f30fa5fe1e8f277511d44b925a24c595ce90fd4a5d1d9457d4bda875ecd22c08c7309b31a725d6076899a43590784570e04c6c999b928d34d741a379e413dd26 SHA512 ca1260c450d7c70d1196928f288294d5a754a9263171f1482602b938baa372d719a1fc4d0539c3389a41fb95e6182934ba6cfe5f09f4ceeadf75cb82476f59e5
+DIST firefox-96.0-ar.xpi 559642 BLAKE2B 8d83d4d8ef207de690aac92c06857ee675ee901eac23088d33b9b97d6a97487249e69d59a7393d1bf91bab9d4034e694f36b7061544c1d21c248ad31d45c65bc SHA512 57845376a402ff4fd0449df3dbaef68a4cef956f7777c1a3e42b6182da239a61925e5d7f0e31523a3ac028463972110c184a1e73492bec4f53989a8ac1085f07
+DIST firefox-96.0-ast.xpi 496735 BLAKE2B 56ee7c86a5f8acd9110882e921ac94c7226f78aed13cae57a91a7529b3c5991ec3812d5d3768710bad9583bce77cdf7f6387640499e1f7a46f4168c362a97a61 SHA512 fc4d6af7f21d8f1f8a373cdb5d087414460066b1bf5086dd3ad521d29e889d9efd9f04f382cb222aa4ae3ac5b46cae68a75f2dab61760362bfad6d9f330ff9c0
+DIST firefox-96.0-az.xpi 487140 BLAKE2B 2ecc433464cf4b76fcaac8ed453929a2d9e0e960a52e252d48d2cc52ad3c51683f200e09ae8ccd87780a4b05f0d1afa09516fdd3c4dbe8afaae3cc45020982b4 SHA512 e21566bac36b219c3e81eacb8fb16a4445d18f653a64dac1532c41fd945e8fb3f23550dc8e477753f683619a7e517a5e5226099fd596a75ba601693205c83ed7
+DIST firefox-96.0-be.xpi 620916 BLAKE2B 398c138efce30cb85e037b364a68749ac2d642ffc4aaeab3137652b3074f80b0998bd220a12f4ee7d5b503d8620845788d2decf8b2ad59fee1f2b755a86cb7c0 SHA512 653e4c2351bde281fc8fc2ae47720edb7eae8bb51afaf3b707434351ad5629acae61942c43640072bffd1a99ba987c6af91ffd12de4b0de2912510cfe582a128
+DIST firefox-96.0-bg.xpi 566683 BLAKE2B 2e634c7daca2c45fb0e9c1e77a1b7e8d057021a73c002c40cd420ce5313b818a94171a5cae30618ed1f4f952c2c8165d78066623713867befd3382da52e6ae3d SHA512 dd8ad3b5c5498930d782e48965da6583da008f6c4d31850c5263523dcfdb3ca3ff12004f7d154e41d20292dc0540d0b0359f78da4ec9979851ab72c08734f87b
+DIST firefox-96.0-bn.xpi 556024 BLAKE2B 1f0c2bdc649b08dffff400013946915fbf2e51779c4eba296e38ae386582f416aea7cd2ad9fd1a8d3e57bb7cb19f1ab8700245e7aa11d5c8a2d3ae661459c252 SHA512 c875b7baecd463148ec84d6dafad2fa846d3e6c2b776cda7928cf87c73bf81b523f6f5b7e2db9ba978e3cc265009336d66815e9b9afe81709be59cae78feeaac
+DIST firefox-96.0-br.xpi 526874 BLAKE2B 50c71f9eadab08c45c453d78859262c5de7894f898dbffe696a1be5bf568249643179a78bc96c4749995619c1fc4fe6b71c2db7bdcc7cc8981bb746dd6fec8b6 SHA512 818ab36a42ff70e77bfdf76c39c0e27fd012b60efcf9380e1a1424fd473955fc17b2d11719577e5c289b7a6555fbfe3e7ac6d86542db14a3accb2a0c1cc690d5
+DIST firefox-96.0-bs.xpi 462230 BLAKE2B 03ee69f4b7a3713bf62c35fade1ee80bfea1bc9ea627fe1f4625eb3e982e21a06e36a3645763c9c0b53c713b144881f44e6f3fbc87e71144619683e8a55d4da8 SHA512 6d9aad647815e3f37e0bafc181c7e207e88416778588786aed3ab684e6e0268889616e955fb9ef69ebc2851f94dba79847a45f36e1678e1401c1454f0c675399
+DIST firefox-96.0-ca-valencia.xpi 538646 BLAKE2B fd9b5cb59aa80c4014affeb765c764e32433a4e2ee0ea2442cdae6280c2dc72dcac263274bf1def5286341c13445425521344cf84d29589cfa1eff6bf22c24bf SHA512 00a05ff52b638c995dd535a5506f86bd437e759ffb6e989aa45e6a4da78837fa481ec1c36fff1808391a981ea3401e27476e6b53b441640ba8d687727d795857
+DIST firefox-96.0-ca.xpi 531294 BLAKE2B 2d3b5cb54b92a59a64a0fe37769895ce8a7abe014a790d86283c8ec822aacd2ed5ef29bfe3b51b365c2925ad5b4ec888995a05ac9f9222e246a30de114f12c97 SHA512 b8013f6953d6dc0d41059b4ebbffd972c017f747ddcae5ffd1c46ad4d3ac24c336a9026814e8f2bb6a87acfa2adc0212beb62f640892d6b80d774c9d839df83e
+DIST firefox-96.0-cak.xpi 553134 BLAKE2B 2979fc95106749114e15f8163634eab5f0336d0b9bf0865114a483cf7ba0f9b8f02c4b4a6c9b9a9d93f4f7bf7f1dd5ff6ab561a33d0183fcb1ca49ecae25a73b SHA512 048cd81cb26e9a59e8b619ec6369f9e81ec9c2cb65ca041537b595012d935032c55150ae85c6062860da35da6375ef26f1f5af935446cde35e38f5d00029ed23
+DIST firefox-96.0-cs.xpi 563574 BLAKE2B e3f7f22c04887240874bc0c53e756f9d561dee9dff83d12d8e4780247b81329f0a80a88346a6d33b5aa1199b714ece8e97f56881c08bc00ec88a38d846b9f920 SHA512 61d82c7c55b7fcd30c30846cb802a2b6391b07414e9ee09ebd431f10eb7fd3d53a08661479279116e8bde5e643c49e8f7725b08c2f7452351fcab0719174d47a
+DIST firefox-96.0-cy.xpi 542924 BLAKE2B ef957c6ca68e82c971f7926c10d0efe18143b7010effcb924db998a37d98964cf3e1d744cb3d3887f00be1839556da43388c3b3261af7061ef93834b398cd20d SHA512 f1ea7b89d246b6cd8c6466dbf036d105dfa6704e9de06a9cbb7113535c732f8be73eadc4cfeb41006a836a47285d61ada44e630f2a7363bf5d06c10c6d339bee
+DIST firefox-96.0-da.xpi 533841 BLAKE2B 54a2998bccf0cd7a20e3b3b14c9d94468bb6d6ec71cf237e7300c6f8cea594a5b27f1260a1bef9f1cb4e4efea1895567503a88436057bf521022d4665bb8bc77 SHA512 eeccf33b508b8d3d96420d32326626d6da509464b03dce43757cbbaf132a6520211e8e6dfe7a1ec796b949029310766636aaeeb67dca16b2d189ab5dd3ebfb19
+DIST firefox-96.0-de.xpi 554163 BLAKE2B 6a138275096dd0fa0f145db9b56a7f90368492bcc91b5471fcc0be0445ceabdfd8a9f40525c2c664c88a45fb10bcb2d16d3857ee6b63e656ef7a14464f40a067 SHA512 267f3f10f522543c59b91479d7d478071d14ee84f88954e2f19aa01ef5e05d9ce226bc64369115bd1c44bc321d2f3933d4f876ac33b57c00e8a09bcff3a67f1d
+DIST firefox-96.0-dsb.xpi 567018 BLAKE2B 9eea903f14678f35d18f94a9decf1a6b200845e8922dd31adc2baaf969d5efa5bec4b532caac9ef581578ec242ecac0eba3035d631b5373097a93f1fc82790d4 SHA512 475a5c26adee314e641929dfabc0fa567dae73a3dac7bca4e6b3fc09288c52ba9ffb38bde323df945897f68d5843dd87b3b3ec8c797ce46f6c8669a621d0fd92
+DIST firefox-96.0-el.xpi 638274 BLAKE2B ba93a85a09257fbf07c5b1c4d66ca3928f162a214ec9a082fc153fc92102836843b84a875bd90856627dac3814e65472036618600d1442105a2c408a3bbb9086 SHA512 b0386a3c535e9d9d7c4dacaecf02e64110668ab336660a8fd1cdb277dfa8a5d05e5074e5df0b978a61aa8e5d70ebcc3c71181812423eb758e18d15d171bc00e9
+DIST firefox-96.0-en-CA.xpi 510545 BLAKE2B 68596c6468cd67120faf5c8c1851ac205b3fabcc7aa9b977d03c06618a9e334a8836870c45eb730df786e69c5f00b8f01e418dc3ef92c4db3aa0336b859ee254 SHA512 46ee5754d7449fed45994d5d3f247cf872bebcca2e97ed51b8f558f9dd88b11a42a64203d8c57eed6444b4710225564c653c046ff6166e5b4f9b6f7931f2dca7
+DIST firefox-96.0-en-GB.xpi 511260 BLAKE2B 3dd0595ce2a89d137613f682504fd318b5a8d9138b98ad6a08aecd6bba99610e5b452f92c63bf9943bcaefda5cf58c895912bc118ba8b0397d1bb8134e60b72a SHA512 32d3e4ac17eda509077065f4c989732a90054566769d27c66f877e3abcb79e127ae8983cc5a663a4be45433057746b6b8c3f02f1a8b9c2fa88d1469d069617f9
+DIST firefox-96.0-eo.xpi 535221 BLAKE2B 11da0d9f114408cf8b8bd9826ae891442a4cd86fe43d9d45d1d4770dfaadaf18b25f12d48b0e73d6bae5a6664a54a6db105b15d31dd2455aedecae98b7c95135 SHA512 215aa51bf7112c8cecaf965f522f0fece66d15b8419cd615c726349694097f36f11c5a67bd52a12923d27950545dc85ca197f27f38178ba5150cff4d671a0dbb
+DIST firefox-96.0-es-AR.xpi 547490 BLAKE2B ec80d4b45c8dec0ea7b95dbcf1d0683a1abb25fdc974d3909d2304776771750a82e03d8e07af2079372593047abeef7673c8955afb36067fb573104d3914815e SHA512 8f63c5fafc3b401a5784ef688bd7ea9bf7291052d3e8e94f7c3ac081c94c754eceeae15a1fbbfab60932d06c35b227606f74b324afb79a223d1c4487ff8412a4
+DIST firefox-96.0-es-CL.xpi 546861 BLAKE2B 28c62827129840db1f169ba9e8e3ce62d51e6e275e3c916242c7fa8f25ce9994c21753e248abc9f6b60e98e66ddb9489dcec399240c084b87dc09b26ab9b73aa SHA512 37fc4dde65ae3556137fd6a8b23867b463c0560f33e63bc48c3145ade6f81b478346337b6570ff7185a386f9dc18bd269da209a71746bdb668de285c2e34e643
+DIST firefox-96.0-es-ES.xpi 537721 BLAKE2B 7bc3923e48cd65f82a9f8b8bb8acb6bbc5472cd66b93042fa9ba8ec69a8731ca8bbe11ffad396834b6e98ac94154b59807f2d43ed16d52576f9831f513d2a549 SHA512 fb5f80e16286a601f7fb0439ec9adefdaac0cf0b3664b333081577574d5659414ce4c48a1cf7722abd7dcc6116700022e378e6c719844e5bb01fea41c4cbd49b
+DIST firefox-96.0-es-MX.xpi 550720 BLAKE2B e1a5b4c24c72c2abd1fad021779d9cb8e5fe3fca6f2fbe1a5a3040269d0c8d51a82260a5b805e9dfa7f8507eb9f83186299ce7e49a5174d893095681af55caf1 SHA512 d05479f6d1c749593760c5713ca7d9b0fe3ec7608112860a40e5a7c74db7d85fcaccabfc5f7faa2fca201fa8628e99991fc48c1727eae2f627ded6116fc8c16c
+DIST firefox-96.0-et.xpi 528807 BLAKE2B 67bf5993ff9faab99268816420017a2652228486c11d43db2067137d0135b1bb493a08dd7f4e374cddd48066c597c021ef443b8029b6e92279d52dc2d213f2fd SHA512 2e7ab5ca36a11a5f4da89e5303223dd40c4b40be7dab41418b08de505a76ee51072c9b02b4b68dd2b9cb29fc00cbb4672d783c0e630a322ac6ae06fe7eb0a20b
+DIST firefox-96.0-eu.xpi 536789 BLAKE2B 02a83843d4cb2ec047794caf1931b4ac022c504de158f3bded6a35425e2f7a931bd2f535e0d26e16b7547c2127e1b2d20d508b4a75b937a11084875cb095f83c SHA512 280faf7c5cf67389812700679749412a62db6065a772bf77a3775768449da94bfe78215007897bddaeb0f47afd0e049af2787dee88afc6ab38c4bdd6d47aa561
+DIST firefox-96.0-fa.xpi 563689 BLAKE2B 46749169a6de5d0dd5c21b7fff8f7bb618eda55a65f2c80a268a514829ca087da0dc212f3f3cac9f10be7753daa283dcb434594494c008903e1f9f140264778b SHA512 8b7c536894ae0d8dc042545f4f211cb3c58666c8968ef35bcbad6944bda5644df11c8b6f4880c312eaa7f5895148a46f0d9c0ea3c8169c76200b7caf7efddd76
+DIST firefox-96.0-ff.xpi 470390 BLAKE2B 6d7c8abbd006a85f74cc451a06203e22ffc42a21aee975a9ae27c858562eff6cac8ddb846bdd75d7693bf08ad24e044d735f598038be2a4ceebccb86cda0a9c7 SHA512 b579059e806ec8b43fe1b50c7eba07179faff007aaf256b2b9f00d2f019c95f6f57fc4f2a8f184172e46fb2b62ed0f1cebafaf01e3d108887a47272afd603b2b
+DIST firefox-96.0-fi.xpi 532846 BLAKE2B fbcb0569106fc1c04f0d38ed58ef08712d9e0333663d0d469c7cb22ce7d26473a010ab0c659279a059ec4d32710b753228c8ae461b6b76c9b7cfe8f7cd0cbc6c SHA512 2c24ee1872384200ed87d0994e79d00b84bb9273102c8dbf315f1c4bafd5423eb9e0ae68991a77724fc0bf0e8f959ca7f306385e480446f4b7567258db1400dc
+DIST firefox-96.0-fr.xpi 558442 BLAKE2B e155e87987e40340a44d68a3774a0a010cc7f47cb356d6dbf2e76eb41c7a4983eee79e5c54554919ee8cbad7d7310766fb0c09c5ab6bf4fb47a3fbf540881435 SHA512 419ba4d06bd8bc7a4239c4363f54baf7e8ca1592a07e75287126bab90e39a15a4e97e8e7d48a52293e4b6bc35822696d2bc910029c8ffc99c7999718fa88549a
+DIST firefox-96.0-fy-NL.xpi 543697 BLAKE2B c4d4fd20079df6b64b3406b2c61349d4a84c0464a2112a6687c9d9e83c26093d4004dfe030c62d2da0fee664bfbd81235fbdf99cb758e78e6d0eea27b275f8d0 SHA512 cf78800b4260e0a4d09949998b889ec5a679ccbfb926779cc43930e622864cebd1e10c19c3477add6477f07419520e7ce532695fb4dab0d73abd2ffed23b5d31
+DIST firefox-96.0-ga-IE.xpi 457647 BLAKE2B ef8e700c5248675fdf32ba91f2e211d8abfb86be56040683e41342ef5f53447c7d1c3d2937b10c7e3120acdb6f85001e5bf33501f05522c0b494391112a17779 SHA512 b41f1715513298a5293f64ca9d94abc14a9b5efc5b025806307553dc72b97cd10396c383b294017c2333696306696a56b2c25a16e20ea00ee41deb9069ac4baa
+DIST firefox-96.0-gd.xpi 530888 BLAKE2B d39b6f16f008c2ffd9755d03a93e29f15493cf3521d8a5c31d60ed92b10483e0058c8630c4f77d027d07a5e676433eda30276016ae919e4aeabf78555e4aa8ca SHA512 c57b46697d3ec0e197e502ea0d99e72f3af1f7ea39c2cdfc76570bb24079918866f3b8a0b6b463eb452a07fd968bc783d258df747f692abbb0cca48e9a56dfd4
+DIST firefox-96.0-gl.xpi 542035 BLAKE2B 18e7fb43c226492a0ac136920ae50e4c0b2442441e00062b532c39aba38b29772c9df115420db4fd143d9da067307165b734afa3a9a200aaba4765043d4fbedd SHA512 cd0b0cf06108a1367ce0668150a93435d9f4bd91534ed2c9ab6234dc8af406121e1154703e775a40b503a3e272ac3639e826f97d2320d800f3292645011fb800
+DIST firefox-96.0-gn.xpi 558954 BLAKE2B b0b4baae851a39141e708f28ebd431be63cb82e631be2414aa9f0eae0971ee5eee37ade5f6edf633d7b20903afc144c6dab2a88e66602c2d58a45d4103fbcb02 SHA512 4fabf58eba7aa550851ff5b97f5ce92c922fea037221b5f3cfe5bfcc88aa8d5acc04b224157591d942c61ae71c1e2475ad8309a655d16ee7dbfcb385448d74f3
+DIST firefox-96.0-gu-IN.xpi 527662 BLAKE2B 740a9bae021cd7db821bf91cc5673120c5e033fdac9d8b1b128d1690368dbf662f53f87698cad0c1ab8eaea07f8cde3c3f754a292d42a01ed435b65b7a4ce680 SHA512 5457cc647f95156e4ebe23abe7894e5170eb80def4a898889696ea5a80037c792dea2764086fa857c475c2e2668467fb64ae5dad48d2823d87e120bd941ac3d9
+DIST firefox-96.0-he.xpi 557089 BLAKE2B 16de6f2ead2d669782b6fe56f9a93d0c808afa9743283665d0d1064dae2d5f96d8f54d519211fcbcb33d74be83986bf31282464e6ef2a5c0e6320dd4a4fbb52c SHA512 dde3618cd33f8aaf22aa2d88f063160783d54085ed54d214631b75dfc7189a07fc2f86a83c1ffc994d7424a1b25831c9a61cb101db23c5e0defc6d7e2b364e31
+DIST firefox-96.0-hi-IN.xpi 558753 BLAKE2B aa337556d9ccb35bc82587cfe6c23bb69610e2adb8beeadc121281b7387c9c07888ebc1be10e8b5b99ebf537ac288b38070fc538a2e54c71aad6095ccff02e7e SHA512 222e23acf2044444512d6b243ac7c77eea367ab17ac95a88f23108e1554b7d4437255b8327eabc0cbc3d0a5ac6324718c4e6f717c00698fe0597ba9f2d8133fb
+DIST firefox-96.0-hr.xpi 531744 BLAKE2B ae9a90100017a339b1ccb9584f9831185fbe0ecb70b69ea9dd3d1cf25682b4b63ab58c705f98034244cf3010a20241eab71163eb4f47632a3d36d385c833f91b SHA512 f77bdf213e23105cef495d7ae78a9509f1259c9eef16ee27f4e0513ae99879e46ce2587342e08081bfaf3701fc337f9dfc94b7f5598d253d8495309060cde66f
+DIST firefox-96.0-hsb.xpi 563124 BLAKE2B 94245baeabac6eae37ee4905e95b42aa1b2078eee7bd2ae0232ff0eea4731ef3e12bf87087ff4574af8f7ee7adc75f5586eeb737935b79e35d771779d6bc4b95 SHA512 2fbab74ce8c34f696d3cab7fd07d5242c6cdeb92286101bedc996ab0cd6b27370832905e5a911092fc69c99c16003b9d08b250aa825f3a39b790509f4a565564
+DIST firefox-96.0-hu.xpi 566420 BLAKE2B 521fe70a905c4e0a7d0ebc8681b26e36f17d5cfb9f3fb8fd5d25cde8de0434219023c1c002adfdd10dc34a48a1c37b80bd4c6f7b8ee6bfb111fbc33300721a56 SHA512 25006728eb94b5a1f71967a58119ab113fc2d38b3bb4ffc6ea04aadc43864dda4ef381cb9ab77db1500a729d220741c3f27d16302f13322a1955d19f2c2a5c88
+DIST firefox-96.0-hy-AM.xpi 580461 BLAKE2B 6c5492326e0808b8dc008a95df1169742a55289c125a6cbd4361ef2c3580e1a67781bfd4b361d365d29c27fa6a01c6cfc9932d7df0f0ef155dd78323973e5391 SHA512 2815a0524d15439923cabdd4dce33776f828b481c08c1f552df931e5f3d9671294b4d83f273af32f949ae02d029aa91da1a18cd60865c036cee49325e3f20844
+DIST firefox-96.0-ia.xpi 533074 BLAKE2B 81ba6fc03188c6863c949d8a51ce734385de08bc308090b2bc007ae126e2729940ea8367996e488d3b075a74ba941dc85e80c361ec47c8c79d65eb9e88c6f363 SHA512 b0f611716939421c60db212c7c0c37005f90e5c32e77e84b7051784740705525a396ec6c42c65133d856b9389d24c8409575962875d4466866d43cd26576bd2d
+DIST firefox-96.0-id.xpi 521708 BLAKE2B d1730be9d85affbf4e70a8149a2adc41de833229a791cfdfc6a5bcd060b384b7a1440aa481b989fcd5d4fe06a810e1dd4f09b9202e001ef9c0165f1133c4f420 SHA512 c0cc7baf60b247a905a460e68dc2179b5cd4b73da4bcbc486a044d865283fa10d71e492cb4a068127b03082d790635202eb3283c55d2f415b75d2f4381e7c55a
+DIST firefox-96.0-is.xpi 500006 BLAKE2B fd4db8317add04dcdce51fc2d80f3bfabe7097488684ecd9b3bef574042075eac68d06441636206764308cfd3b466558c70190dec6f8ab7c84a1807e1706711c SHA512 9854d9fc160f63b15e5a6cd42b7447b64f84a458b1b4974fa5e059c7c919c37236b72062656fcf073000888ccff54d76bc937663a44db84f54fb636b9c465c56
+DIST firefox-96.0-it.xpi 460938 BLAKE2B 417e5964e75afa6c0e3d0818a2a07f50d7b3ab665ab70c892c6c958e2c0a7761b1ff046492f87bd1185a0da535bcf5fe1ae77a262bbb919ffed2b80d77c07dd1 SHA512 2e1cd754cb2c56469aa20d94257eb462fd2afc5402abe9f43e0a2dc7e3d0702c3f61d9e2f0f057891719a14a15e9540e8c13e3b5de54978e5cf48db3397c19f2
+DIST firefox-96.0-ja.xpi 586105 BLAKE2B bb4f946f296bcb76f43d9fea3c352e5346c661361a24f1b09ea8e90472c06db629b75e50f5b4c08fb81793b20e9b533e539e0089b9c73c728abdf44292492018 SHA512 b5fc5608cde9f10004a35eb43e7684f854d963bdfc04bd0bc2cd5b329dca6fe4f9945a579513197811641968fd5d57e6aa03aed36994d0c4eca0058304573d51
+DIST firefox-96.0-ka.xpi 590825 BLAKE2B 076958c251faee47f9d1e709f3b01015e76cd8f43a19e352193959a02a3e3ad7fa5de0acb7e75519d9aa6c030b0664697098ee7cf3897799b5b1f605dccf8a4a SHA512 963c5ea4ef1048681303b4591370ad98a2ecc275f6e2a5a2d012e51ec8e7076a28d871fb79660fc8f6d5033ef57276008e82e664c42d10651d5256086ef01a48
+DIST firefox-96.0-kab.xpi 546185 BLAKE2B ec3528154e6e5eaebde777d368c636e7949438d3316df99fdf618bbca99dc88dc2f416b900471ff02caed3b1722e87ebc0688e0f5dc35fe94b7dd81db61cf7d2 SHA512 9570d4a77ba41a61b7cb7e49a5b31269d9cc30304769fe2239b203e0523d690cb0c4d75fdf8b6b4450cc95e759733b2312a2d07acd70bb76e7eb4af7358ee67f
+DIST firefox-96.0-kk.xpi 613165 BLAKE2B d503b0b7e1916cab280b1c575e42558110e6da371e60c55e23c55bcc1cb14b18f1c32df61babb68a91a3868d4ee57e8564cf1a40ef2c495b5387bd809ad429f4 SHA512 eceb7f1a8e30e96813e2d210916083d4d89bb818b8979f07d438aa47c3831ca4171231438455937aa460f1905285ac53b356c2116f9807fc80398c94bc2b15d0
+DIST firefox-96.0-km.xpi 529622 BLAKE2B c40141db744b6328fa1abd0b121a85faaa0ecade8802e9c853f941a1df1bb2bc84d5f8ad34c7b78322b8a6c163968075673f8349d38314132c5b65b97f8ae230 SHA512 4b8e8b481d0fac32c92d68ed3714acdb410b589d8eae969405344af33b553d9116e5ecae78af0858b5a51838c963ab9d23ec19be0b4a1ad4ba5a7e01be3f2e71
+DIST firefox-96.0-kn.xpi 495316 BLAKE2B 2f424f6763bf4ad5c776ea071a9a21e100fb6f25854fb70f6d7b0071dd497c836695649f328aa9156e80f598b1633bdd47efbc8d6039eb2ed63bced342683f86 SHA512 f27a41c3bc919d1dc5f3a5040589df16e8f3aaf53e7097f26be25c470d0585eea7b3df548881d2c64095daa047a92b8e6bbea7d48aa2f8afd47b8dfc7dab65c5
+DIST firefox-96.0-ko.xpi 579616 BLAKE2B 5bc6b0ab64525d030668260dc5852a870420874b015ac3aa599d5c71e83bfb4b103e1a8b34cdaa5a1d4b8f0eaef89f4ffa5c999f07a8b22ea0ffb5189737bde1 SHA512 cea3dddc07d06dbfecb86b198e171c71ceb328da9fdf253bbcf4f683688558e7e15957d8d706f3e5c0fd14142cd7359d840daad86fc828daaec97e5069601a21
+DIST firefox-96.0-lij.xpi 469145 BLAKE2B c6ebd5daba31330b3f97d9cda550a99d5658261fe75fe7b484153ae0beba11a9890736a5fca6871da39a5ca665ea7ff21cdb19ef40b533ae4ef5868fd1912604 SHA512 5ac65472099a66b2109407e57d0b5eaaf92ff511a6c26b9f6f24cfac1c567863716eeee9fe13476a8e364247d65024e00972609b43ef4c2395bf6df69d87b8d4
+DIST firefox-96.0-lt.xpi 559296 BLAKE2B 27218f653726e95d554ebf273b94cf00618ef45ab33643dac415320547d7337218595c6179e31543b86b7ffe7bf26626c15bb9c52c1e4ed0031102465a4a135b SHA512 b2c7534aa8d49a6ee38a96f14fb0aeaf6a4b7ee8f1eb8093d517544b912dc12c438d4c25ea4e2ca2ca63b71ff2e4fa283b8cd8c770007e6974e2e7533efabd7c
+DIST firefox-96.0-lv.xpi 461297 BLAKE2B 9c27489c7dba27d2277af6c6f08fa8cf064a1755c156bb3d48a1acaf836db1f3161a51718d0122ccdbf4650e1d1adf262236c561fe3c751ffc7d71ea36dc482b SHA512 56b34a8e5cc1447dda605c57b9cc70f41acb93037d3509e09f9e408b0966b31bb810fcfa498277387055273e74eb6a13612075f72352fd412b32d90123281dd9
+DIST firefox-96.0-mk.xpi 463328 BLAKE2B f6648aad3c8935205d42e45739741e36bbfdc5c3cf5ba614922f8eff9193c1b0eeed94bc34cb427dc4f17ffbd5076daa491d2b45426a09bdf664202b43e3d090 SHA512 bd1c9639de77aaa54d3fb790d4a1d4515ac0faf6ab7b766531978056d8c85784aa7e0654780858a9aea1f9b590d6e26a7b58fe2541e368f75c8ad9861b616e48
+DIST firefox-96.0-mr.xpi 530513 BLAKE2B e30a4362ceaa6db1ed1463cc641264672d1722d939a28996dc18324374f13a254ba45c38ad5d659cab56ddabfb52136b255a37a8957b57093adc062d20099725 SHA512 f770de18a0920dc8c57faba9d2f891e2c8f3237d9f058ba5a84371a0fa00666544b681076ddf48182a070c4d4cc758faaadc060f72d7f527fde3549c6e8bfb4e
+DIST firefox-96.0-ms.xpi 446399 BLAKE2B 94f95a903ce87e5acc72f3594f9709bb52724fe8c4c7eb775bce63ecc2cc7c818d8174cc60372cc74e2f66f3233b7488866855fde5535401b01d91a51826efdb SHA512 f6fb91019c1d08a0275d3260095af4429d152b4cfca06395698d88acaf9fe5d0f6d7558b52a86f5e4c87e97dd9af3a5566ab7fce748673a13868978e7f64f526
+DIST firefox-96.0-my.xpi 511708 BLAKE2B 3d6b74ef5f5073005dcec8ecd09593f5af9bfaccddb37ce324df9ee94f2d187ba9003e6766d333050ce121df3a2e75bd333f53bc187f30084728a775d866a076 SHA512 9096b96c5098ed415cf254feb9ceb6e1a361df83d18fa3abdbfcd241184712f260d6eae0192ea16613e5727a8cc0b593a0ac00124f8d8d61051bd6f50320d31e
+DIST firefox-96.0-nb-NO.xpi 529011 BLAKE2B bd6eee383cb7695c802c239dc1a50277c597f4e5dcd3742ca768cba4f2e6faa5ad0a4900e25fab86101d8bce1def707471500a0d2d1b6a6d86475088e1958aee SHA512 cd3b94ce6b81ee807aaa93e22b2e662cb18c7a615e2f1c884298c0691ef4fd023efc129dd9439fd5c764d140224d7e644b9a4ca71343823b461b2ce64a20b88d
+DIST firefox-96.0-ne-NP.xpi 482345 BLAKE2B 52165c67010938f50ef1fbc94da6f88e0bbc0378a96d489537984ca9135242ddeb790f86a4f44cde88f14f95aa44274ff7a260137cde4b518a6bf6f9df8eecbe SHA512 a8076672b8eb27d6de823ea30f33e984106393f6a565b0e79942cbb626b4a11507d82c513f6eafa646555e17912be3c3713921970c28ddacef033d5b211bf7e3
+DIST firefox-96.0-nl.xpi 538019 BLAKE2B a984d4b76281d7ba1e4086889c2c0a799fa53d151961a0fbece962026badf890c6d17dabc9aaeb10ccb5cbea4fa60a87c71b6372e59b2dca043a355e119a44a5 SHA512 99e0a29e552d02b5feccb46614eaa20f5cd61154c8880b07eebaaba0526605883d3ccf06097c23d30bf425aa05a43902ca20967dc8c22eab5bc9aeeb9729e8a5
+DIST firefox-96.0-nn-NO.xpi 531116 BLAKE2B 5c758b992fc8c3077b54be0cffffc802a384f021da104f74e4665c2e3a1ee5d567e0e22a7d664a54c62611e0a6b96ea916579e6b748deac726c115e784c4cbda SHA512 2aec82304ab8542268c0a83cc2ad45bbb84f81d394eee1fa774f2cbb92e68ddb91de9d99942ce18f118aadc9abdbe8605f61be0cd9bc1eb0e7cb31c7178651cf
+DIST firefox-96.0-oc.xpi 553576 BLAKE2B 3536b2bd2dbe6ff6a6f65c24de970547025af616a88bfee5847566cf496ab13c31df05ec759e55341f3d9b2c901cbef15dfcd13c72666aac479acdeb7651c31e SHA512 17f1aa36eb27b640da574308a2eb1a6b616b5789995eeb4e9199ffe7fa46bfb68ed59592f7cea9612fb44ed2034ab119ce59a695df33dd1727f79cbd1506e759
+DIST firefox-96.0-pa-IN.xpi 593686 BLAKE2B 2b1790bdc63483bd0e4c7ac1230cdd309fde0c88efc2061c437dd5b6f1126cc2c49f16559b1d709bd530861fba858aa7322ef915cf5b60a638e52b2ffb4747d5 SHA512 5d56af3b701da67f2f1592d0c1e793c6e251c1ee66e7fa45cacf1a16605234ccb4d1f2283f9fb44944e5a2cde1b2730398dbd41c538b3b69abfb31e7ecbc5cae
+DIST firefox-96.0-pl.xpi 556872 BLAKE2B 77512f683b19e84458ac52e70499bb037920be10962d0bfd2e0f49d4ddea865f816a22977ae9ac3b8110b9450fab424abcf7943bf03d7b13d068a1ea1b986f4c SHA512 5439450f180a8e47550247b1172fe0000a752af51dca10cf54524576c204212bed0265873d778dbc0021da519c8b17fe15352dab57ad9d25017e8d3552061795
+DIST firefox-96.0-pt-BR.xpi 543359 BLAKE2B 807a07b699d90e0b8fae7682e1db60af68b20d6913c08d25e4d9d4b4fbd0872d07b115374e0926d3cb0d95f8bcbef38b0dd1e3a7cd7d420a7724dd7832680253 SHA512 92f90efd558addc226d0344b79d8ddd100a9ba7ea613e88eb5bef1e96953896f7e9b912387fdae4c5ffcc8c556067baa013cc290974e6664ea1e15c40e21ffe2
+DIST firefox-96.0-pt-PT.xpi 545098 BLAKE2B 8beec8bc18fdc9a08e15ce3a4dde82bf6a62f984b4126ff5d7410994bdc8fc76f27c5b92685781b9ed3873a7c2798f698c622cb623a3a7e64be8c4740aa8905a SHA512 9b06ac16e29b9573aa365a1a0d639068ebbb6579354f3d03653d8f858f9dae60b114b7a85418eefbaa4adbdafe2b2ef9cb353249640a15c6c7868e6364988667
+DIST firefox-96.0-rm.xpi 536759 BLAKE2B 114666d3eb20bc889f45aa22ee89e970f7f84b67ad7da7bdcc040442b79f2dea60ddfb9297a626dfdf16b76dd0fbcdec501b5c91976f25a67253c80ce253eecc SHA512 c32c2393000a76882c0ceddb458869e5e04d3a1868282bf125430990b4d43f11795ac4a77c2c96fb8e3aafc9bee9fcd1c8df40fdf6406fa94969f3801f9f68ac
+DIST firefox-96.0-ro.xpi 529764 BLAKE2B a8a26ca4082159d1e79a9b408dc7cd14990d61e2a914de924a47ca5156581abb70062d7fcba7680e08eec8b96c08d771f990c8fa65cfa7a5b865437106a534de SHA512 e86f49f93c61b3a73633ce8d6a3ec1f8e699f6fb94edd8358b9e56066e3c9d56a40a31c2adde1cef4871eb45e858ef4cf9f360a78e9573ea38455f397f674fa0
+DIST firefox-96.0-ru.xpi 627602 BLAKE2B 559a7ca48058cc88cb95dab144b55b0d9b4ee76e97cfaf15a4af6328cb69040482f7e5849943ad0ad72cb67c7e7b34b9de99b82490568daf591ecd3b4e427baf SHA512 41bafdb582242647c5a8962c22a4828b6b219f1038b809fd7731281802f3bfc97e8557686ac20532709b8dff405ed61fb9e474e09db9d51aa7f75e55df70a8b2
+DIST firefox-96.0-sco.xpi 503461 BLAKE2B 227105a5721a382f3338119a0828e6d00590d9f21772ea8b9fa0e6396f98048214bf2e6395554ce38433f7384c7091e0eb62ed0451e3c9e5d86b52ed6f172f5e SHA512 dfad860ea018f3900c52a0f1d3d57a37c4145ec899a3eafdae7d4a3a2e88df33d7f8a10dbb6dcf02e563a069d7518e18199fb44636d1e969c9b828be377a8d8c
+DIST firefox-96.0-si.xpi 484749 BLAKE2B 4323a5c9b22fc330cbeb014a330f929d2e0e12afb3025724e49993e9a4d06e820a40ba73c345251742001b8cbee66884ef72d0def85cb3782cfc6964a9ce5a4b SHA512 a55ebe4ef2c4264ae1568285d885164eeda8e292dc47a09cfb46fa14653efcff1a504c7a0a5e967aa371cda339e31b7f07b362d644f8c4613320aaa383cc65c8
+DIST firefox-96.0-sk.xpi 567146 BLAKE2B 65b055532b0e2c97726b223c0113e80ecc17daf1e3a6b8a26e9a7c1c0cb5816677d1ad9612fc8642cdb262ba70dbbb8d99c6b19f71293a19aae47a13fa57854e SHA512 64c58d50223840f1c3cd822c60fc97dc5bae3cf4e6b63fead6f66125c4d361ac57719c9802a4b381e6a7ffaac8ae074a9026a76f773356abd7da0b22bc18fc48
+DIST firefox-96.0-sl.xpi 537521 BLAKE2B 69f1c3ecd8e48726caa38453def6c2eb92245ca4a9b429ac423ad94e880200ddf2388b3ec41984f8ee9f0e5ef498a9d6c03d40727f8af01640f3de2ba0c0cd13 SHA512 d83b281e3613e780391c7613d312de26a35c9af09091580b9c7ed0b9372ece7394f8e09c96ee907beb0d2aff338d8d10a97c9714f2e9e871278202637570f64b
+DIST firefox-96.0-son.xpi 420865 BLAKE2B f31bb3db5a079fd7c1b47c832ad50925edd8057ed7243ce29906c681d7d5e682dae125b4b3b666e6c38b643b7ea88176f8ade9201ac3e13d4b902ec47adffb61 SHA512 b1983cd3f695a609decc58a00a81aba1395d1763f9a0a07bb9f237908e7b0ce5ef4ec19aaa696f4da377e02b39fc6c5fa6c54f38c01f2c8dd9dc3e28b954354b
+DIST firefox-96.0-sq.xpi 555352 BLAKE2B 2595066eb78035caa8ad6da37dc3266916c6ba545bad95caa9fcd93cdb39022ec15a43f51d5bc6600b8d1173a08965b3a5add023ee5e3d553b9518d4dc04cc1a SHA512 83c36347d67abfbf50f9cb242986b524c6456964024c0564e0464881181eb7630146480df6804bf2caa198f18306ffcc5922189f083c3f9222cc5e71e96fc14d
+DIST firefox-96.0-sr.xpi 585962 BLAKE2B cbff0a131c59d2e9b87249c5c500c52d910f81b58b6ff8b9012b2d5fdec0028e5cff0dbaea306e60dd460e678897f97835b8f4ca9ff51fab311b16f2d1da9c8a SHA512 88540a0ac11d9beeaf958586000012a963022ebe2627607a1824a5891ddfe6ea04ed36481cd9500271c7b0341b49c15fc4888917fad7ee9b94e0d8005eb6a480
+DIST firefox-96.0-sv-SE.xpi 540645 BLAKE2B 649fe836fa34fc97a615975bff087a1ceefa1ddc8c78530ffddd8604c30438786d10b67daadb2ea09bb0a550ef347b516874f75e2224d0927b6de0e40e324bc0 SHA512 1dd36ed016325227827efc3f051cf380fb85e4c5ea147acddcd7d2fe00604e88942440410e99776a4a6cd8035c122956f8860c41148b23fd56fcf7c1a72c42e5
+DIST firefox-96.0-szl.xpi 507895 BLAKE2B 9d29247de0fdf6a7d1f35364d5e91bca0c47c68031bbd3aa08a611699441a089b88d587094aae5e2778d7eeffbe7d36ed0d486535ef41975e29820273b31997b SHA512 238680d073c56fc5aae70518fb35b270dc23c3390fa2a2f563d40e2a320b218451fd7665ea03b7f459871d6025e8a8ac5532e1fad6b221a3da389579baabd9b8
+DIST firefox-96.0-ta.xpi 510848 BLAKE2B b6bdda3488b31909de67583845fe18a205dec0256b4111460aae496bd3e9917ddd5da40d56c6a30792fae95763e0185a2740fef8b4d3bd67fd236374cac84295 SHA512 51ea7858f130deb50ba48b0ca46289badeca238b019788a7d97b112e694054b36e38738c94ce3d711a6bb89e5fb062106ef913c57b320e5184ab6c55be5b1236
+DIST firefox-96.0-te.xpi 549262 BLAKE2B ed92cf1b24bea1d6c30a8419ae7e24e75350de166838ea1448504e62b679a97e8e81de22d1eafc778cc07aba76d44f8387e591e94b0289b5160818c4003767c2 SHA512 47a45b4f6d125182e698d60242d11a65b4cb0be3fd828970e62942d7397366ee5178268e118a7c414503d00aa325115e8bf80da1dafc5ebe95a9d1b4102d4f7c
+DIST firefox-96.0-th.xpi 605805 BLAKE2B 844f3d8beb152b3b0d4a40ed25591b26514815fbb17a8b9a9ba8f2eeb6f799739ad3c2584a140a82f25561a78248731e60986844d80ffa994a600445246c4ae3 SHA512 771e7a0910b5d7e0f59e52682341f3fa104bbc54c8dd2db243389aac4eec6442bca34494e44901d42709aed0d3a8a6372365eb9575298990574706b00dd437e1
+DIST firefox-96.0-tl.xpi 519510 BLAKE2B 84748cb850aff2851d682485c505e59ede291b6c923f86344169febe39f79ca87496638835aa20e0a413dc6febd0c3fb8473366b61eb012117deef055dca7157 SHA512 1cc6212d3e58fbad81db0f6741ce0d4a7764dbdc71e157afff7e58733efcd2ee7c0c167eee330aca59e1bb090844f3f088bbc5049b07ea354cdfb3d2dd9c5d44
+DIST firefox-96.0-tr.xpi 553351 BLAKE2B cbb75ea274c3327f80d584ef057a792e4c64b0db6a1357edf90b3908d9fd374e8c81bc86aa1d96f8d82d59ad2f935ba7757677793685e4f37c0dc38ff3e164d2 SHA512 1df45a8a6a7a3dfbdf4083c87e50fd171ccf5f2985a6062efe62460d8d2f674d574948b98de3036707dbe9e100633c57cc67d93a97e42707c1845d5e121f3db5
+DIST firefox-96.0-trs.xpi 490081 BLAKE2B c723fc566e2cff78c7b09874b0fa654fc2e202a848d43acd409c4b62f89c9bd354a45c81ac05dfb7cd63a6ad78895443ee9ab476da955f70c0a0b438d4759fb2 SHA512 8cb73cbde0d228c5271dc4e0bcab6cd5d987f0587ac1bdd436cedff60830f03d7f73eab7ff8a29dfc6796ff49ebf29516e42fb8e70aeb3a3d61dfe13d2455168
+DIST firefox-96.0-uk.xpi 621210 BLAKE2B cefa4d0ba023caca862a97e534e3199ea5738af824a4b5b57dc10f38dc86c28f84391aad9d5962b0ffaa036af7c57fa3086ca671ac86bd828705412252997bf8 SHA512 5e1191d645461b33ac2b71a2fc693b78b4c068fbd9716de9c19569305b3bdb369d467c48f6a522a6da882b30ff4371b9a718a2b54c209e35a5f8414f64f43a99
+DIST firefox-96.0-ur.xpi 556310 BLAKE2B 15b14a7a9aff165b3b467d26c072211b36960df62a4c6c5701b731e0ddfcaccf1766b281af8ecf70e21df85b8f52b06139a172378d688cb9017818a6ee43d0ed SHA512 e78b000c7fe7ece729b91003414b2a17b4281520c94bbd56d5563c116a9d9d5397a28ed8655483b2a3a14ea3c9fcc1f2ebee37c54a0966e679214dd59c0037b0
+DIST firefox-96.0-uz.xpi 464800 BLAKE2B ebe537d8af3fa09e51fe8a22f911203d72eaedff1e0308c2449ddeba16748b2ae10458515d7ab9ca248b9845e14cff11c2e4136f90abe2b9e2e2cb2372dcfeed SHA512 8a799a7fab890d57a6be8c8bb884ae9ebb399db9d2ac3c6c1eb90691df895536d24c29f4058c426e5173d321ee9be217b4fca5f656b3baaf39463515555ecbfe
+DIST firefox-96.0-vi.xpi 572934 BLAKE2B cd4e9dd0222cd02d0f2a11994aa6f113cb2545e429c9ad16a7505af61d20cfb8664ab0fb38a6ca3628cc9e2011201cc8fe9a1e936abe96f3f856cb42e34de334 SHA512 8838a439cd8b8b5aca214484dc47daa38c74d0a0e563be7ddfc39c59cad724132ddfc1c166bd1d5dab98d7770869516bd2f58973b8b683b50aef2fdf4be0101c
+DIST firefox-96.0-xh.xpi 423438 BLAKE2B 9359768c03fce8fe1131f3263fdec7df40ad08b38a51c053d49daff715e80ba4c9e9ab04d16283d453c198cf962d2c4452192fd597f96a1a8916a9b20af701a1 SHA512 0e2e8caffd68133f67fe38aac1575c86cd2c08012b8a62c22d7706dc3970af8b0e1fb65818e777829c10b2227d2effe76d9413cb70504f3cd369bc6decda802b
+DIST firefox-96.0-zh-CN.xpi 575685 BLAKE2B 2eef7b7396901340cb4a207052168cb537081ea0a4a88011720ce5560bc2b26a25680dead37e26279a877982c323fc4f58eed83ee83ade894a640cabab344364 SHA512 c7e3c00ec26d3114e4ddae2b50adab0e64cf8b8d1fccb99909c53da0a2ee1b36aa6f1fa6fe04119e9f80e6dbb944cbcd34f5e291d3d910dd9a7e46c524648719
+DIST firefox-96.0-zh-TW.xpi 576803 BLAKE2B d664c86e6760cb5b782986765b738a0136548b9b13837dc7f0ecf647e2a3202d4af96f6d21a8b96493aea5236c2237d771000993f724f8a1437f2dca2937c17d SHA512 746e3fa4c218f88c749729b9c826b02f79259ebc90d1b52b9f6ce87aa7368fea407da0dd93fe7d0e38eeaa41fc634e03c4ec4081c9ebd26c4e23599e99a203e4
+DIST firefox-96.0.source.tar.xz 410165944 BLAKE2B 2105caab3f89cf2400fe58e90c280d45d99012aac244e8d3d1c48f69f4976fbd9bdd4467675a4e5f818f3ae2c28662321762495f9de485180e4aa63b6d89cdd6 SHA512 39f553474537eb4e521f4182e38f0ddff039fa6b40b939d461937d2cef27f7182097b478f08f90d64fdcbe9c063e78f14f6863a8a82a16207ec7a1d3fdfda4ff
diff --git a/www-client/firefox/firefox-96.0.ebuild b/www-client/firefox/firefox-96.0.ebuild
new file mode 100644
index 000000000000..2b7c630c3d3a
--- /dev/null
+++ b/www-client/firefox/firefox-96.0.ebuild
@@ -0,0 +1,1237 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+FIREFOX_PATCHSET="firefox-96-patches-01.tar.xz"
+
+LLVM_MAX_SLOT=13
+
+PYTHON_COMPAT=( python3_{8..10} )
+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,polynomial-c,whissi}/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="0/$(ver_cut 1)"
+LICENSE="MPL-2.0 GPL-2 LGPL-2.1"
+
+IUSE="+clang cpu_flags_arm_neon dbus debug eme-free hardened hwaccel"
+IUSE+=" jack lto +openh264 pgo pulseaudio sndio selinux"
+IUSE+=" +system-av1 +system-harfbuzz +system-icu +system-jpeg +system-libevent +system-libvpx system-png +system-webp"
+IUSE+=" wayland wifi"
+
+# Firefox-only IUSE
+IUSE+=" geckodriver"
+IUSE+=" +gmp-autoupdate"
+IUSE+=" screencast"
+
+REQUIRED_USE="debug? ( !system-av1 )
+ pgo? ( lto )
+ wayland? ( dbus )
+ wifi? ( dbus )"
+
+# Firefox-only REQUIRED_USE flags
+REQUIRED_USE+=" screencast? ( wayland )"
+
+BDEPEND="${PYTHON_DEPS}
+ app-arch/unzip
+ app-arch/zip
+ >=dev-util/cbindgen-0.19.0
+ >=net-libs/nodejs-10.23.1
+ virtual/pkgconfig
+ >=virtual/rust-1.53.0
+ || (
+ (
+ sys-devel/clang:13
+ sys-devel/llvm:13
+ clang? (
+ =sys-devel/lld-13*
+ pgo? ( =sys-libs/compiler-rt-sanitizers-13*[profile] )
+ )
+ )
+ (
+ sys-devel/clang:12
+ sys-devel/llvm:12
+ clang? (
+ =sys-devel/lld-12*
+ pgo? ( =sys-libs/compiler-rt-sanitizers-12*[profile] )
+ )
+ )
+ (
+ sys-devel/clang:11
+ sys-devel/llvm:11
+ clang? (
+ =sys-devel/lld-11*
+ pgo? ( =sys-libs/compiler-rt-sanitizers-11*[profile] )
+ )
+ )
+ )
+ amd64? ( >=dev-lang/nasm-2.13 )
+ x86? ( >=dev-lang/nasm-2.13 )"
+
+CDEPEND="
+ >=dev-libs/nss-3.73
+ >=dev-libs/nspr-4.32
+ dev-libs/atk
+ dev-libs/expat
+ >=x11-libs/cairo-1.10[X]
+ >=x11-libs/gtk+-3.4.0:3[X]
+ x11-libs/gdk-pixbuf
+ >=x11-libs/pango-1.22.0
+ >=media-libs/mesa-10.2:*
+ media-libs/fontconfig
+ >=media-libs/freetype-2.4.10
+ kernel_linux? ( !pulseaudio? ( media-libs/alsa-lib ) )
+ virtual/freedesktop-icon-theme
+ >=x11-libs/pixman-0.19.2
+ >=dev-libs/glib-2.26:2
+ >=sys-libs/zlib-1.2.3
+ >=dev-libs/libffi-3.0.10:=
+ media-video/ffmpeg
+ x11-libs/libX11
+ x11-libs/libxcb
+ x11-libs/libXcomposite
+ x11-libs/libXdamage
+ x11-libs/libXext
+ x11-libs/libXfixes
+ x11-libs/libXrandr
+ x11-libs/libXrender
+ dbus? (
+ sys-apps/dbus
+ dev-libs/dbus-glib
+ )
+ screencast? ( media-video/pipewire:= )
+ system-av1? (
+ >=media-libs/dav1d-0.9.3:=
+ >=media-libs/libaom-1.0.0:=
+ )
+ system-harfbuzz? (
+ >=media-libs/harfbuzz-2.8.1:0=
+ >=media-gfx/graphite2-1.3.13
+ )
+ system-icu? ( >=dev-libs/icu-69.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= )
+ wifi? (
+ kernel_linux? (
+ sys-apps/dbus
+ dev-libs/dbus-glib
+ net-misc/networkmanager
+ )
+ )
+ jack? ( virtual/jack )
+ selinux? ( sec-policy/selinux-mozilla )
+ sndio? ( media-sound/sndio )"
+
+RDEPEND="${CDEPEND}
+ 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="${CDEPEND}
+ x11-libs/libICE
+ x11-libs/libSM
+ pulseaudio? (
+ || (
+ media-sound/pulseaudio
+ >=media-sound/apulse-0.1.12-r4[sdk]
+ )
+ )
+ wayland? ( >=x11-libs/gtk+-3.11:3[wayland] )
+ amd64? ( virtual/opengl )
+ x86? ( virtual/opengl )"
+
+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="6400M"
+ 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!"
+
+ # temp fix for https://bugs.gentoo.org/768543
+ # we can assume that rust 1.{49,50}.0 always uses llvm 11
+ local version_rust=$(rustc -Vv 2>/dev/null | grep -F -- 'release:' | awk '{ print $2 }')
+ [[ -n ${version_rust} ]] && version_rust=$(ver_cut 1-2 "${version_rust}")
+ [[ -z ${version_rust} ]] && die "Failed to read version from rustc!"
+
+ if ver_test "${version_rust}" -ge "1.49" && ver_test "${version_rust}" -le "1.50" ; then
+ local version_llvm_rust="11"
+ else
+ 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!"
+ fi
+
+ 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"
+ 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 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 target-lexicon-0.9.0
+
+ # 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_src_prepare
+}
+
+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
+ 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-install-strip \
+ --disable-strip \
+ --disable-updater \
+ --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="${SYSROOT}${EPREFIX}/usr/include" \
+ --x-libraries="${SYSROOT}${EPREFIX}/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
+
+ 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 system-libevent "${SYSROOT}${EPREFIX}/usr"
+ mozconfig_use_with system-libvpx
+ mozconfig_use_with system-png
+ mozconfig_use_with system-webp
+
+ mozconfig_use_enable dbus
+
+ 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
+
+ mozconfig_use_enable jack
+
+ mozconfig_use_enable pulseaudio
+ # force the deprecated alsa sound code if pulseaudio is disabled
+ if use kernel_linux && ! use pulseaudio ; then
+ mozconfig_add_options_ac '-pulseaudio' --enable-alsa
+ fi
+
+ mozconfig_use_enable sndio
+
+ mozconfig_use_enable wifi necko-wifi
+
+ if use wayland ; then
+ mozconfig_add_options_ac '+wayland' --enable-default-toolkit=cairo-gtk3-wayland
+ else
+ mozconfig_add_options_ac '' --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
+ # ld.gold is known to fail:
+ # /usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../x86_64-pc-linux-gnu/bin/ld.gold: internal error in set_xindex, at /var/tmp/portage/sys-devel/binutils-2.37_p1-r1/work/binutils-2.37/gold/object.h:1050
+
+ # 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 tc-ld-is-gold || 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 MACH_USE_SYSTEM_PYTHON=1
+ export PIP_NO_CACHE_DIR=off
+
+ # 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
+
+ local -x GDK_BACKEND=x11
+
+ ${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 \
+ >>"${GENTOO_PREFS}" \
+ || die "failed to add prefs to force hardware-accelerated rendering to all-gentoo.js"
+ 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
+}