Gentoo Archives: gentoo-commits

From: Joonas Niilola <juippis@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: www-client/firefox/
Date: Tue, 11 Jan 2022 20:32:09
Message-Id: 1641933118.d814bf62b27303570d55c602011d51a967e834a0.juippis@gentoo
1 commit: d814bf62b27303570d55c602011d51a967e834a0
2 Author: Joonas Niilola <juippis <AT> gentoo <DOT> org>
3 AuthorDate: Tue Jan 11 20:31:33 2022 +0000
4 Commit: Joonas Niilola <juippis <AT> gentoo <DOT> org>
5 CommitDate: Tue Jan 11 20:31:58 2022 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d814bf62
7
8 www-client/firefox: add 96.0
9
10 Signed-off-by: Joonas Niilola <juippis <AT> gentoo.org>
11
12 www-client/firefox/Manifest | 99 +++
13 www-client/firefox/firefox-96.0.ebuild | 1237 ++++++++++++++++++++++++++++++++
14 2 files changed, 1336 insertions(+)
15
16 diff --git a/www-client/firefox/Manifest b/www-client/firefox/Manifest
17 index 885ed353f781..69e4cf785a64 100644
18 --- a/www-client/firefox/Manifest
19 +++ b/www-client/firefox/Manifest
20 @@ -295,3 +295,102 @@ DIST firefox-95.0.1-xh.xpi 424124 BLAKE2B dd7fce7450c6bbbe0f23287fec584845cbb761
21 DIST firefox-95.0.1-zh-CN.xpi 571143 BLAKE2B 68a55217e070104b8405f60c6b7dd329f582777289584e2dec342f7a7088f1ba122788df6c8f7a2b18989153fe63e82aecb3c8f9f76921b441d963a97365e651 SHA512 4fc8d6fdf084972e9b0f2a6a02185fe85d234ca54c73db8c127ada7fb757ef050be05f23468238c6aee12732901f9fb267a59bff1fec16d954a0a596665020b2
22 DIST firefox-95.0.1-zh-TW.xpi 571960 BLAKE2B 4879e8cf4df8c6b216bd326f7d8adff184607d62f4b8538513494f892d4a264621ed97cc0e6944c7e05e1472b7e76130bd5b125bddf139b27f7acffa18e76162 SHA512 19d9a2df1c64fe8e9755669905b4cbcebfa7ee1578c77b0138937b618aa064ac90a0be852ebf389ec79b1047db5fbed33c056429ef8fc86642b8ae16f8e44f36
23 DIST firefox-95.0.1.source.tar.xz 385073408 BLAKE2B de14e696d8b30b67e6dd976e14fe49e1fff38edfb31560485fbb6253ae755b080e64b6bd866b2b68b19294843bff0f9b7f05837d63a952e59a1dee35e26c9d1e SHA512 54887c3adbf7202b835ae1ac928c3c95516ef11f9894456561dad500a1a61623f926b37f6e02fef0898e7ee0fd9147a71e5432634e6e0a2c2fecd08509799c37
24 +DIST firefox-96-patches-01.tar.xz 16660 BLAKE2B 006d1b0b98858fa2961a99972dd255736598bda949ca484b9ec3d91628a4c976ba0738b1fb8fbfccd0be0f175caecfbcdc7c54a091eda5352fc9a42b37699c93 SHA512 82f77648e322e71694cbaa1e3ad77fca70418fbdb1cfe9a4bfd94ca6e286bcd86bef0a559cafa8b673a2e90da77bff8b7d07bbdda8a44795bd8d2cd210cf1ebf
25 +DIST firefox-96.0-ach.xpi 451187 BLAKE2B d02df5f9a6496702c8e093c3418499460c5f47c2a21ef8b31d6ecb36d01fd928651289c840ac2267c4425cefa1dd60f12733d0c327bead619471b112eb69f197 SHA512 f1d57a4826ff686663e869cda64b24bb024864ed293e2c05026dc6ed04b9bbfeaea7250f5f31acb51113bae38c817ee487f7a70e5b776eba462ba1a847df05fe
26 +DIST firefox-96.0-af.xpi 420335 BLAKE2B 4fb84f96e6919da8d9dd567ba6acacb61a7f7b8cedfb4326e83c6dd95c50137667d6fe8eaf0292a9b77da6a0737b59d156fe6b75f6da3b67496c46290cba2c6a SHA512 905e0ea7d8407355467893c1fddcaa24641f5d360a4f170a89bbc8fced3bf01fd5fadfa1061b76cc16ec9e19719014ea05f851b5eba233ae087e5074c70b5479
27 +DIST firefox-96.0-an.xpi 499444 BLAKE2B f30fa5fe1e8f277511d44b925a24c595ce90fd4a5d1d9457d4bda875ecd22c08c7309b31a725d6076899a43590784570e04c6c999b928d34d741a379e413dd26 SHA512 ca1260c450d7c70d1196928f288294d5a754a9263171f1482602b938baa372d719a1fc4d0539c3389a41fb95e6182934ba6cfe5f09f4ceeadf75cb82476f59e5
28 +DIST firefox-96.0-ar.xpi 559642 BLAKE2B 8d83d4d8ef207de690aac92c06857ee675ee901eac23088d33b9b97d6a97487249e69d59a7393d1bf91bab9d4034e694f36b7061544c1d21c248ad31d45c65bc SHA512 57845376a402ff4fd0449df3dbaef68a4cef956f7777c1a3e42b6182da239a61925e5d7f0e31523a3ac028463972110c184a1e73492bec4f53989a8ac1085f07
29 +DIST firefox-96.0-ast.xpi 496735 BLAKE2B 56ee7c86a5f8acd9110882e921ac94c7226f78aed13cae57a91a7529b3c5991ec3812d5d3768710bad9583bce77cdf7f6387640499e1f7a46f4168c362a97a61 SHA512 fc4d6af7f21d8f1f8a373cdb5d087414460066b1bf5086dd3ad521d29e889d9efd9f04f382cb222aa4ae3ac5b46cae68a75f2dab61760362bfad6d9f330ff9c0
30 +DIST firefox-96.0-az.xpi 487140 BLAKE2B 2ecc433464cf4b76fcaac8ed453929a2d9e0e960a52e252d48d2cc52ad3c51683f200e09ae8ccd87780a4b05f0d1afa09516fdd3c4dbe8afaae3cc45020982b4 SHA512 e21566bac36b219c3e81eacb8fb16a4445d18f653a64dac1532c41fd945e8fb3f23550dc8e477753f683619a7e517a5e5226099fd596a75ba601693205c83ed7
31 +DIST firefox-96.0-be.xpi 620916 BLAKE2B 398c138efce30cb85e037b364a68749ac2d642ffc4aaeab3137652b3074f80b0998bd220a12f4ee7d5b503d8620845788d2decf8b2ad59fee1f2b755a86cb7c0 SHA512 653e4c2351bde281fc8fc2ae47720edb7eae8bb51afaf3b707434351ad5629acae61942c43640072bffd1a99ba987c6af91ffd12de4b0de2912510cfe582a128
32 +DIST firefox-96.0-bg.xpi 566683 BLAKE2B 2e634c7daca2c45fb0e9c1e77a1b7e8d057021a73c002c40cd420ce5313b818a94171a5cae30618ed1f4f952c2c8165d78066623713867befd3382da52e6ae3d SHA512 dd8ad3b5c5498930d782e48965da6583da008f6c4d31850c5263523dcfdb3ca3ff12004f7d154e41d20292dc0540d0b0359f78da4ec9979851ab72c08734f87b
33 +DIST firefox-96.0-bn.xpi 556024 BLAKE2B 1f0c2bdc649b08dffff400013946915fbf2e51779c4eba296e38ae386582f416aea7cd2ad9fd1a8d3e57bb7cb19f1ab8700245e7aa11d5c8a2d3ae661459c252 SHA512 c875b7baecd463148ec84d6dafad2fa846d3e6c2b776cda7928cf87c73bf81b523f6f5b7e2db9ba978e3cc265009336d66815e9b9afe81709be59cae78feeaac
34 +DIST firefox-96.0-br.xpi 526874 BLAKE2B 50c71f9eadab08c45c453d78859262c5de7894f898dbffe696a1be5bf568249643179a78bc96c4749995619c1fc4fe6b71c2db7bdcc7cc8981bb746dd6fec8b6 SHA512 818ab36a42ff70e77bfdf76c39c0e27fd012b60efcf9380e1a1424fd473955fc17b2d11719577e5c289b7a6555fbfe3e7ac6d86542db14a3accb2a0c1cc690d5
35 +DIST firefox-96.0-bs.xpi 462230 BLAKE2B 03ee69f4b7a3713bf62c35fade1ee80bfea1bc9ea627fe1f4625eb3e982e21a06e36a3645763c9c0b53c713b144881f44e6f3fbc87e71144619683e8a55d4da8 SHA512 6d9aad647815e3f37e0bafc181c7e207e88416778588786aed3ab684e6e0268889616e955fb9ef69ebc2851f94dba79847a45f36e1678e1401c1454f0c675399
36 +DIST firefox-96.0-ca-valencia.xpi 538646 BLAKE2B fd9b5cb59aa80c4014affeb765c764e32433a4e2ee0ea2442cdae6280c2dc72dcac263274bf1def5286341c13445425521344cf84d29589cfa1eff6bf22c24bf SHA512 00a05ff52b638c995dd535a5506f86bd437e759ffb6e989aa45e6a4da78837fa481ec1c36fff1808391a981ea3401e27476e6b53b441640ba8d687727d795857
37 +DIST firefox-96.0-ca.xpi 531294 BLAKE2B 2d3b5cb54b92a59a64a0fe37769895ce8a7abe014a790d86283c8ec822aacd2ed5ef29bfe3b51b365c2925ad5b4ec888995a05ac9f9222e246a30de114f12c97 SHA512 b8013f6953d6dc0d41059b4ebbffd972c017f747ddcae5ffd1c46ad4d3ac24c336a9026814e8f2bb6a87acfa2adc0212beb62f640892d6b80d774c9d839df83e
38 +DIST firefox-96.0-cak.xpi 553134 BLAKE2B 2979fc95106749114e15f8163634eab5f0336d0b9bf0865114a483cf7ba0f9b8f02c4b4a6c9b9a9d93f4f7bf7f1dd5ff6ab561a33d0183fcb1ca49ecae25a73b SHA512 048cd81cb26e9a59e8b619ec6369f9e81ec9c2cb65ca041537b595012d935032c55150ae85c6062860da35da6375ef26f1f5af935446cde35e38f5d00029ed23
39 +DIST firefox-96.0-cs.xpi 563574 BLAKE2B e3f7f22c04887240874bc0c53e756f9d561dee9dff83d12d8e4780247b81329f0a80a88346a6d33b5aa1199b714ece8e97f56881c08bc00ec88a38d846b9f920 SHA512 61d82c7c55b7fcd30c30846cb802a2b6391b07414e9ee09ebd431f10eb7fd3d53a08661479279116e8bde5e643c49e8f7725b08c2f7452351fcab0719174d47a
40 +DIST firefox-96.0-cy.xpi 542924 BLAKE2B ef957c6ca68e82c971f7926c10d0efe18143b7010effcb924db998a37d98964cf3e1d744cb3d3887f00be1839556da43388c3b3261af7061ef93834b398cd20d SHA512 f1ea7b89d246b6cd8c6466dbf036d105dfa6704e9de06a9cbb7113535c732f8be73eadc4cfeb41006a836a47285d61ada44e630f2a7363bf5d06c10c6d339bee
41 +DIST firefox-96.0-da.xpi 533841 BLAKE2B 54a2998bccf0cd7a20e3b3b14c9d94468bb6d6ec71cf237e7300c6f8cea594a5b27f1260a1bef9f1cb4e4efea1895567503a88436057bf521022d4665bb8bc77 SHA512 eeccf33b508b8d3d96420d32326626d6da509464b03dce43757cbbaf132a6520211e8e6dfe7a1ec796b949029310766636aaeeb67dca16b2d189ab5dd3ebfb19
42 +DIST firefox-96.0-de.xpi 554163 BLAKE2B 6a138275096dd0fa0f145db9b56a7f90368492bcc91b5471fcc0be0445ceabdfd8a9f40525c2c664c88a45fb10bcb2d16d3857ee6b63e656ef7a14464f40a067 SHA512 267f3f10f522543c59b91479d7d478071d14ee84f88954e2f19aa01ef5e05d9ce226bc64369115bd1c44bc321d2f3933d4f876ac33b57c00e8a09bcff3a67f1d
43 +DIST firefox-96.0-dsb.xpi 567018 BLAKE2B 9eea903f14678f35d18f94a9decf1a6b200845e8922dd31adc2baaf969d5efa5bec4b532caac9ef581578ec242ecac0eba3035d631b5373097a93f1fc82790d4 SHA512 475a5c26adee314e641929dfabc0fa567dae73a3dac7bca4e6b3fc09288c52ba9ffb38bde323df945897f68d5843dd87b3b3ec8c797ce46f6c8669a621d0fd92
44 +DIST firefox-96.0-el.xpi 638274 BLAKE2B ba93a85a09257fbf07c5b1c4d66ca3928f162a214ec9a082fc153fc92102836843b84a875bd90856627dac3814e65472036618600d1442105a2c408a3bbb9086 SHA512 b0386a3c535e9d9d7c4dacaecf02e64110668ab336660a8fd1cdb277dfa8a5d05e5074e5df0b978a61aa8e5d70ebcc3c71181812423eb758e18d15d171bc00e9
45 +DIST firefox-96.0-en-CA.xpi 510545 BLAKE2B 68596c6468cd67120faf5c8c1851ac205b3fabcc7aa9b977d03c06618a9e334a8836870c45eb730df786e69c5f00b8f01e418dc3ef92c4db3aa0336b859ee254 SHA512 46ee5754d7449fed45994d5d3f247cf872bebcca2e97ed51b8f558f9dd88b11a42a64203d8c57eed6444b4710225564c653c046ff6166e5b4f9b6f7931f2dca7
46 +DIST firefox-96.0-en-GB.xpi 511260 BLAKE2B 3dd0595ce2a89d137613f682504fd318b5a8d9138b98ad6a08aecd6bba99610e5b452f92c63bf9943bcaefda5cf58c895912bc118ba8b0397d1bb8134e60b72a SHA512 32d3e4ac17eda509077065f4c989732a90054566769d27c66f877e3abcb79e127ae8983cc5a663a4be45433057746b6b8c3f02f1a8b9c2fa88d1469d069617f9
47 +DIST firefox-96.0-eo.xpi 535221 BLAKE2B 11da0d9f114408cf8b8bd9826ae891442a4cd86fe43d9d45d1d4770dfaadaf18b25f12d48b0e73d6bae5a6664a54a6db105b15d31dd2455aedecae98b7c95135 SHA512 215aa51bf7112c8cecaf965f522f0fece66d15b8419cd615c726349694097f36f11c5a67bd52a12923d27950545dc85ca197f27f38178ba5150cff4d671a0dbb
48 +DIST firefox-96.0-es-AR.xpi 547490 BLAKE2B ec80d4b45c8dec0ea7b95dbcf1d0683a1abb25fdc974d3909d2304776771750a82e03d8e07af2079372593047abeef7673c8955afb36067fb573104d3914815e SHA512 8f63c5fafc3b401a5784ef688bd7ea9bf7291052d3e8e94f7c3ac081c94c754eceeae15a1fbbfab60932d06c35b227606f74b324afb79a223d1c4487ff8412a4
49 +DIST firefox-96.0-es-CL.xpi 546861 BLAKE2B 28c62827129840db1f169ba9e8e3ce62d51e6e275e3c916242c7fa8f25ce9994c21753e248abc9f6b60e98e66ddb9489dcec399240c084b87dc09b26ab9b73aa SHA512 37fc4dde65ae3556137fd6a8b23867b463c0560f33e63bc48c3145ade6f81b478346337b6570ff7185a386f9dc18bd269da209a71746bdb668de285c2e34e643
50 +DIST firefox-96.0-es-ES.xpi 537721 BLAKE2B 7bc3923e48cd65f82a9f8b8bb8acb6bbc5472cd66b93042fa9ba8ec69a8731ca8bbe11ffad396834b6e98ac94154b59807f2d43ed16d52576f9831f513d2a549 SHA512 fb5f80e16286a601f7fb0439ec9adefdaac0cf0b3664b333081577574d5659414ce4c48a1cf7722abd7dcc6116700022e378e6c719844e5bb01fea41c4cbd49b
51 +DIST firefox-96.0-es-MX.xpi 550720 BLAKE2B e1a5b4c24c72c2abd1fad021779d9cb8e5fe3fca6f2fbe1a5a3040269d0c8d51a82260a5b805e9dfa7f8507eb9f83186299ce7e49a5174d893095681af55caf1 SHA512 d05479f6d1c749593760c5713ca7d9b0fe3ec7608112860a40e5a7c74db7d85fcaccabfc5f7faa2fca201fa8628e99991fc48c1727eae2f627ded6116fc8c16c
52 +DIST firefox-96.0-et.xpi 528807 BLAKE2B 67bf5993ff9faab99268816420017a2652228486c11d43db2067137d0135b1bb493a08dd7f4e374cddd48066c597c021ef443b8029b6e92279d52dc2d213f2fd SHA512 2e7ab5ca36a11a5f4da89e5303223dd40c4b40be7dab41418b08de505a76ee51072c9b02b4b68dd2b9cb29fc00cbb4672d783c0e630a322ac6ae06fe7eb0a20b
53 +DIST firefox-96.0-eu.xpi 536789 BLAKE2B 02a83843d4cb2ec047794caf1931b4ac022c504de158f3bded6a35425e2f7a931bd2f535e0d26e16b7547c2127e1b2d20d508b4a75b937a11084875cb095f83c SHA512 280faf7c5cf67389812700679749412a62db6065a772bf77a3775768449da94bfe78215007897bddaeb0f47afd0e049af2787dee88afc6ab38c4bdd6d47aa561
54 +DIST firefox-96.0-fa.xpi 563689 BLAKE2B 46749169a6de5d0dd5c21b7fff8f7bb618eda55a65f2c80a268a514829ca087da0dc212f3f3cac9f10be7753daa283dcb434594494c008903e1f9f140264778b SHA512 8b7c536894ae0d8dc042545f4f211cb3c58666c8968ef35bcbad6944bda5644df11c8b6f4880c312eaa7f5895148a46f0d9c0ea3c8169c76200b7caf7efddd76
55 +DIST firefox-96.0-ff.xpi 470390 BLAKE2B 6d7c8abbd006a85f74cc451a06203e22ffc42a21aee975a9ae27c858562eff6cac8ddb846bdd75d7693bf08ad24e044d735f598038be2a4ceebccb86cda0a9c7 SHA512 b579059e806ec8b43fe1b50c7eba07179faff007aaf256b2b9f00d2f019c95f6f57fc4f2a8f184172e46fb2b62ed0f1cebafaf01e3d108887a47272afd603b2b
56 +DIST firefox-96.0-fi.xpi 532846 BLAKE2B fbcb0569106fc1c04f0d38ed58ef08712d9e0333663d0d469c7cb22ce7d26473a010ab0c659279a059ec4d32710b753228c8ae461b6b76c9b7cfe8f7cd0cbc6c SHA512 2c24ee1872384200ed87d0994e79d00b84bb9273102c8dbf315f1c4bafd5423eb9e0ae68991a77724fc0bf0e8f959ca7f306385e480446f4b7567258db1400dc
57 +DIST firefox-96.0-fr.xpi 558442 BLAKE2B e155e87987e40340a44d68a3774a0a010cc7f47cb356d6dbf2e76eb41c7a4983eee79e5c54554919ee8cbad7d7310766fb0c09c5ab6bf4fb47a3fbf540881435 SHA512 419ba4d06bd8bc7a4239c4363f54baf7e8ca1592a07e75287126bab90e39a15a4e97e8e7d48a52293e4b6bc35822696d2bc910029c8ffc99c7999718fa88549a
58 +DIST firefox-96.0-fy-NL.xpi 543697 BLAKE2B c4d4fd20079df6b64b3406b2c61349d4a84c0464a2112a6687c9d9e83c26093d4004dfe030c62d2da0fee664bfbd81235fbdf99cb758e78e6d0eea27b275f8d0 SHA512 cf78800b4260e0a4d09949998b889ec5a679ccbfb926779cc43930e622864cebd1e10c19c3477add6477f07419520e7ce532695fb4dab0d73abd2ffed23b5d31
59 +DIST firefox-96.0-ga-IE.xpi 457647 BLAKE2B ef8e700c5248675fdf32ba91f2e211d8abfb86be56040683e41342ef5f53447c7d1c3d2937b10c7e3120acdb6f85001e5bf33501f05522c0b494391112a17779 SHA512 b41f1715513298a5293f64ca9d94abc14a9b5efc5b025806307553dc72b97cd10396c383b294017c2333696306696a56b2c25a16e20ea00ee41deb9069ac4baa
60 +DIST firefox-96.0-gd.xpi 530888 BLAKE2B d39b6f16f008c2ffd9755d03a93e29f15493cf3521d8a5c31d60ed92b10483e0058c8630c4f77d027d07a5e676433eda30276016ae919e4aeabf78555e4aa8ca SHA512 c57b46697d3ec0e197e502ea0d99e72f3af1f7ea39c2cdfc76570bb24079918866f3b8a0b6b463eb452a07fd968bc783d258df747f692abbb0cca48e9a56dfd4
61 +DIST firefox-96.0-gl.xpi 542035 BLAKE2B 18e7fb43c226492a0ac136920ae50e4c0b2442441e00062b532c39aba38b29772c9df115420db4fd143d9da067307165b734afa3a9a200aaba4765043d4fbedd SHA512 cd0b0cf06108a1367ce0668150a93435d9f4bd91534ed2c9ab6234dc8af406121e1154703e775a40b503a3e272ac3639e826f97d2320d800f3292645011fb800
62 +DIST firefox-96.0-gn.xpi 558954 BLAKE2B b0b4baae851a39141e708f28ebd431be63cb82e631be2414aa9f0eae0971ee5eee37ade5f6edf633d7b20903afc144c6dab2a88e66602c2d58a45d4103fbcb02 SHA512 4fabf58eba7aa550851ff5b97f5ce92c922fea037221b5f3cfe5bfcc88aa8d5acc04b224157591d942c61ae71c1e2475ad8309a655d16ee7dbfcb385448d74f3
63 +DIST firefox-96.0-gu-IN.xpi 527662 BLAKE2B 740a9bae021cd7db821bf91cc5673120c5e033fdac9d8b1b128d1690368dbf662f53f87698cad0c1ab8eaea07f8cde3c3f754a292d42a01ed435b65b7a4ce680 SHA512 5457cc647f95156e4ebe23abe7894e5170eb80def4a898889696ea5a80037c792dea2764086fa857c475c2e2668467fb64ae5dad48d2823d87e120bd941ac3d9
64 +DIST firefox-96.0-he.xpi 557089 BLAKE2B 16de6f2ead2d669782b6fe56f9a93d0c808afa9743283665d0d1064dae2d5f96d8f54d519211fcbcb33d74be83986bf31282464e6ef2a5c0e6320dd4a4fbb52c SHA512 dde3618cd33f8aaf22aa2d88f063160783d54085ed54d214631b75dfc7189a07fc2f86a83c1ffc994d7424a1b25831c9a61cb101db23c5e0defc6d7e2b364e31
65 +DIST firefox-96.0-hi-IN.xpi 558753 BLAKE2B aa337556d9ccb35bc82587cfe6c23bb69610e2adb8beeadc121281b7387c9c07888ebc1be10e8b5b99ebf537ac288b38070fc538a2e54c71aad6095ccff02e7e SHA512 222e23acf2044444512d6b243ac7c77eea367ab17ac95a88f23108e1554b7d4437255b8327eabc0cbc3d0a5ac6324718c4e6f717c00698fe0597ba9f2d8133fb
66 +DIST firefox-96.0-hr.xpi 531744 BLAKE2B ae9a90100017a339b1ccb9584f9831185fbe0ecb70b69ea9dd3d1cf25682b4b63ab58c705f98034244cf3010a20241eab71163eb4f47632a3d36d385c833f91b SHA512 f77bdf213e23105cef495d7ae78a9509f1259c9eef16ee27f4e0513ae99879e46ce2587342e08081bfaf3701fc337f9dfc94b7f5598d253d8495309060cde66f
67 +DIST firefox-96.0-hsb.xpi 563124 BLAKE2B 94245baeabac6eae37ee4905e95b42aa1b2078eee7bd2ae0232ff0eea4731ef3e12bf87087ff4574af8f7ee7adc75f5586eeb737935b79e35d771779d6bc4b95 SHA512 2fbab74ce8c34f696d3cab7fd07d5242c6cdeb92286101bedc996ab0cd6b27370832905e5a911092fc69c99c16003b9d08b250aa825f3a39b790509f4a565564
68 +DIST firefox-96.0-hu.xpi 566420 BLAKE2B 521fe70a905c4e0a7d0ebc8681b26e36f17d5cfb9f3fb8fd5d25cde8de0434219023c1c002adfdd10dc34a48a1c37b80bd4c6f7b8ee6bfb111fbc33300721a56 SHA512 25006728eb94b5a1f71967a58119ab113fc2d38b3bb4ffc6ea04aadc43864dda4ef381cb9ab77db1500a729d220741c3f27d16302f13322a1955d19f2c2a5c88
69 +DIST firefox-96.0-hy-AM.xpi 580461 BLAKE2B 6c5492326e0808b8dc008a95df1169742a55289c125a6cbd4361ef2c3580e1a67781bfd4b361d365d29c27fa6a01c6cfc9932d7df0f0ef155dd78323973e5391 SHA512 2815a0524d15439923cabdd4dce33776f828b481c08c1f552df931e5f3d9671294b4d83f273af32f949ae02d029aa91da1a18cd60865c036cee49325e3f20844
70 +DIST firefox-96.0-ia.xpi 533074 BLAKE2B 81ba6fc03188c6863c949d8a51ce734385de08bc308090b2bc007ae126e2729940ea8367996e488d3b075a74ba941dc85e80c361ec47c8c79d65eb9e88c6f363 SHA512 b0f611716939421c60db212c7c0c37005f90e5c32e77e84b7051784740705525a396ec6c42c65133d856b9389d24c8409575962875d4466866d43cd26576bd2d
71 +DIST firefox-96.0-id.xpi 521708 BLAKE2B d1730be9d85affbf4e70a8149a2adc41de833229a791cfdfc6a5bcd060b384b7a1440aa481b989fcd5d4fe06a810e1dd4f09b9202e001ef9c0165f1133c4f420 SHA512 c0cc7baf60b247a905a460e68dc2179b5cd4b73da4bcbc486a044d865283fa10d71e492cb4a068127b03082d790635202eb3283c55d2f415b75d2f4381e7c55a
72 +DIST firefox-96.0-is.xpi 500006 BLAKE2B fd4db8317add04dcdce51fc2d80f3bfabe7097488684ecd9b3bef574042075eac68d06441636206764308cfd3b466558c70190dec6f8ab7c84a1807e1706711c SHA512 9854d9fc160f63b15e5a6cd42b7447b64f84a458b1b4974fa5e059c7c919c37236b72062656fcf073000888ccff54d76bc937663a44db84f54fb636b9c465c56
73 +DIST firefox-96.0-it.xpi 460938 BLAKE2B 417e5964e75afa6c0e3d0818a2a07f50d7b3ab665ab70c892c6c958e2c0a7761b1ff046492f87bd1185a0da535bcf5fe1ae77a262bbb919ffed2b80d77c07dd1 SHA512 2e1cd754cb2c56469aa20d94257eb462fd2afc5402abe9f43e0a2dc7e3d0702c3f61d9e2f0f057891719a14a15e9540e8c13e3b5de54978e5cf48db3397c19f2
74 +DIST firefox-96.0-ja.xpi 586105 BLAKE2B bb4f946f296bcb76f43d9fea3c352e5346c661361a24f1b09ea8e90472c06db629b75e50f5b4c08fb81793b20e9b533e539e0089b9c73c728abdf44292492018 SHA512 b5fc5608cde9f10004a35eb43e7684f854d963bdfc04bd0bc2cd5b329dca6fe4f9945a579513197811641968fd5d57e6aa03aed36994d0c4eca0058304573d51
75 +DIST firefox-96.0-ka.xpi 590825 BLAKE2B 076958c251faee47f9d1e709f3b01015e76cd8f43a19e352193959a02a3e3ad7fa5de0acb7e75519d9aa6c030b0664697098ee7cf3897799b5b1f605dccf8a4a SHA512 963c5ea4ef1048681303b4591370ad98a2ecc275f6e2a5a2d012e51ec8e7076a28d871fb79660fc8f6d5033ef57276008e82e664c42d10651d5256086ef01a48
76 +DIST firefox-96.0-kab.xpi 546185 BLAKE2B ec3528154e6e5eaebde777d368c636e7949438d3316df99fdf618bbca99dc88dc2f416b900471ff02caed3b1722e87ebc0688e0f5dc35fe94b7dd81db61cf7d2 SHA512 9570d4a77ba41a61b7cb7e49a5b31269d9cc30304769fe2239b203e0523d690cb0c4d75fdf8b6b4450cc95e759733b2312a2d07acd70bb76e7eb4af7358ee67f
77 +DIST firefox-96.0-kk.xpi 613165 BLAKE2B d503b0b7e1916cab280b1c575e42558110e6da371e60c55e23c55bcc1cb14b18f1c32df61babb68a91a3868d4ee57e8564cf1a40ef2c495b5387bd809ad429f4 SHA512 eceb7f1a8e30e96813e2d210916083d4d89bb818b8979f07d438aa47c3831ca4171231438455937aa460f1905285ac53b356c2116f9807fc80398c94bc2b15d0
78 +DIST firefox-96.0-km.xpi 529622 BLAKE2B c40141db744b6328fa1abd0b121a85faaa0ecade8802e9c853f941a1df1bb2bc84d5f8ad34c7b78322b8a6c163968075673f8349d38314132c5b65b97f8ae230 SHA512 4b8e8b481d0fac32c92d68ed3714acdb410b589d8eae969405344af33b553d9116e5ecae78af0858b5a51838c963ab9d23ec19be0b4a1ad4ba5a7e01be3f2e71
79 +DIST firefox-96.0-kn.xpi 495316 BLAKE2B 2f424f6763bf4ad5c776ea071a9a21e100fb6f25854fb70f6d7b0071dd497c836695649f328aa9156e80f598b1633bdd47efbc8d6039eb2ed63bced342683f86 SHA512 f27a41c3bc919d1dc5f3a5040589df16e8f3aaf53e7097f26be25c470d0585eea7b3df548881d2c64095daa047a92b8e6bbea7d48aa2f8afd47b8dfc7dab65c5
80 +DIST firefox-96.0-ko.xpi 579616 BLAKE2B 5bc6b0ab64525d030668260dc5852a870420874b015ac3aa599d5c71e83bfb4b103e1a8b34cdaa5a1d4b8f0eaef89f4ffa5c999f07a8b22ea0ffb5189737bde1 SHA512 cea3dddc07d06dbfecb86b198e171c71ceb328da9fdf253bbcf4f683688558e7e15957d8d706f3e5c0fd14142cd7359d840daad86fc828daaec97e5069601a21
81 +DIST firefox-96.0-lij.xpi 469145 BLAKE2B c6ebd5daba31330b3f97d9cda550a99d5658261fe75fe7b484153ae0beba11a9890736a5fca6871da39a5ca665ea7ff21cdb19ef40b533ae4ef5868fd1912604 SHA512 5ac65472099a66b2109407e57d0b5eaaf92ff511a6c26b9f6f24cfac1c567863716eeee9fe13476a8e364247d65024e00972609b43ef4c2395bf6df69d87b8d4
82 +DIST firefox-96.0-lt.xpi 559296 BLAKE2B 27218f653726e95d554ebf273b94cf00618ef45ab33643dac415320547d7337218595c6179e31543b86b7ffe7bf26626c15bb9c52c1e4ed0031102465a4a135b SHA512 b2c7534aa8d49a6ee38a96f14fb0aeaf6a4b7ee8f1eb8093d517544b912dc12c438d4c25ea4e2ca2ca63b71ff2e4fa283b8cd8c770007e6974e2e7533efabd7c
83 +DIST firefox-96.0-lv.xpi 461297 BLAKE2B 9c27489c7dba27d2277af6c6f08fa8cf064a1755c156bb3d48a1acaf836db1f3161a51718d0122ccdbf4650e1d1adf262236c561fe3c751ffc7d71ea36dc482b SHA512 56b34a8e5cc1447dda605c57b9cc70f41acb93037d3509e09f9e408b0966b31bb810fcfa498277387055273e74eb6a13612075f72352fd412b32d90123281dd9
84 +DIST firefox-96.0-mk.xpi 463328 BLAKE2B f6648aad3c8935205d42e45739741e36bbfdc5c3cf5ba614922f8eff9193c1b0eeed94bc34cb427dc4f17ffbd5076daa491d2b45426a09bdf664202b43e3d090 SHA512 bd1c9639de77aaa54d3fb790d4a1d4515ac0faf6ab7b766531978056d8c85784aa7e0654780858a9aea1f9b590d6e26a7b58fe2541e368f75c8ad9861b616e48
85 +DIST firefox-96.0-mr.xpi 530513 BLAKE2B e30a4362ceaa6db1ed1463cc641264672d1722d939a28996dc18324374f13a254ba45c38ad5d659cab56ddabfb52136b255a37a8957b57093adc062d20099725 SHA512 f770de18a0920dc8c57faba9d2f891e2c8f3237d9f058ba5a84371a0fa00666544b681076ddf48182a070c4d4cc758faaadc060f72d7f527fde3549c6e8bfb4e
86 +DIST firefox-96.0-ms.xpi 446399 BLAKE2B 94f95a903ce87e5acc72f3594f9709bb52724fe8c4c7eb775bce63ecc2cc7c818d8174cc60372cc74e2f66f3233b7488866855fde5535401b01d91a51826efdb SHA512 f6fb91019c1d08a0275d3260095af4429d152b4cfca06395698d88acaf9fe5d0f6d7558b52a86f5e4c87e97dd9af3a5566ab7fce748673a13868978e7f64f526
87 +DIST firefox-96.0-my.xpi 511708 BLAKE2B 3d6b74ef5f5073005dcec8ecd09593f5af9bfaccddb37ce324df9ee94f2d187ba9003e6766d333050ce121df3a2e75bd333f53bc187f30084728a775d866a076 SHA512 9096b96c5098ed415cf254feb9ceb6e1a361df83d18fa3abdbfcd241184712f260d6eae0192ea16613e5727a8cc0b593a0ac00124f8d8d61051bd6f50320d31e
88 +DIST firefox-96.0-nb-NO.xpi 529011 BLAKE2B bd6eee383cb7695c802c239dc1a50277c597f4e5dcd3742ca768cba4f2e6faa5ad0a4900e25fab86101d8bce1def707471500a0d2d1b6a6d86475088e1958aee SHA512 cd3b94ce6b81ee807aaa93e22b2e662cb18c7a615e2f1c884298c0691ef4fd023efc129dd9439fd5c764d140224d7e644b9a4ca71343823b461b2ce64a20b88d
89 +DIST firefox-96.0-ne-NP.xpi 482345 BLAKE2B 52165c67010938f50ef1fbc94da6f88e0bbc0378a96d489537984ca9135242ddeb790f86a4f44cde88f14f95aa44274ff7a260137cde4b518a6bf6f9df8eecbe SHA512 a8076672b8eb27d6de823ea30f33e984106393f6a565b0e79942cbb626b4a11507d82c513f6eafa646555e17912be3c3713921970c28ddacef033d5b211bf7e3
90 +DIST firefox-96.0-nl.xpi 538019 BLAKE2B a984d4b76281d7ba1e4086889c2c0a799fa53d151961a0fbece962026badf890c6d17dabc9aaeb10ccb5cbea4fa60a87c71b6372e59b2dca043a355e119a44a5 SHA512 99e0a29e552d02b5feccb46614eaa20f5cd61154c8880b07eebaaba0526605883d3ccf06097c23d30bf425aa05a43902ca20967dc8c22eab5bc9aeeb9729e8a5
91 +DIST firefox-96.0-nn-NO.xpi 531116 BLAKE2B 5c758b992fc8c3077b54be0cffffc802a384f021da104f74e4665c2e3a1ee5d567e0e22a7d664a54c62611e0a6b96ea916579e6b748deac726c115e784c4cbda SHA512 2aec82304ab8542268c0a83cc2ad45bbb84f81d394eee1fa774f2cbb92e68ddb91de9d99942ce18f118aadc9abdbe8605f61be0cd9bc1eb0e7cb31c7178651cf
92 +DIST firefox-96.0-oc.xpi 553576 BLAKE2B 3536b2bd2dbe6ff6a6f65c24de970547025af616a88bfee5847566cf496ab13c31df05ec759e55341f3d9b2c901cbef15dfcd13c72666aac479acdeb7651c31e SHA512 17f1aa36eb27b640da574308a2eb1a6b616b5789995eeb4e9199ffe7fa46bfb68ed59592f7cea9612fb44ed2034ab119ce59a695df33dd1727f79cbd1506e759
93 +DIST firefox-96.0-pa-IN.xpi 593686 BLAKE2B 2b1790bdc63483bd0e4c7ac1230cdd309fde0c88efc2061c437dd5b6f1126cc2c49f16559b1d709bd530861fba858aa7322ef915cf5b60a638e52b2ffb4747d5 SHA512 5d56af3b701da67f2f1592d0c1e793c6e251c1ee66e7fa45cacf1a16605234ccb4d1f2283f9fb44944e5a2cde1b2730398dbd41c538b3b69abfb31e7ecbc5cae
94 +DIST firefox-96.0-pl.xpi 556872 BLAKE2B 77512f683b19e84458ac52e70499bb037920be10962d0bfd2e0f49d4ddea865f816a22977ae9ac3b8110b9450fab424abcf7943bf03d7b13d068a1ea1b986f4c SHA512 5439450f180a8e47550247b1172fe0000a752af51dca10cf54524576c204212bed0265873d778dbc0021da519c8b17fe15352dab57ad9d25017e8d3552061795
95 +DIST firefox-96.0-pt-BR.xpi 543359 BLAKE2B 807a07b699d90e0b8fae7682e1db60af68b20d6913c08d25e4d9d4b4fbd0872d07b115374e0926d3cb0d95f8bcbef38b0dd1e3a7cd7d420a7724dd7832680253 SHA512 92f90efd558addc226d0344b79d8ddd100a9ba7ea613e88eb5bef1e96953896f7e9b912387fdae4c5ffcc8c556067baa013cc290974e6664ea1e15c40e21ffe2
96 +DIST firefox-96.0-pt-PT.xpi 545098 BLAKE2B 8beec8bc18fdc9a08e15ce3a4dde82bf6a62f984b4126ff5d7410994bdc8fc76f27c5b92685781b9ed3873a7c2798f698c622cb623a3a7e64be8c4740aa8905a SHA512 9b06ac16e29b9573aa365a1a0d639068ebbb6579354f3d03653d8f858f9dae60b114b7a85418eefbaa4adbdafe2b2ef9cb353249640a15c6c7868e6364988667
97 +DIST firefox-96.0-rm.xpi 536759 BLAKE2B 114666d3eb20bc889f45aa22ee89e970f7f84b67ad7da7bdcc040442b79f2dea60ddfb9297a626dfdf16b76dd0fbcdec501b5c91976f25a67253c80ce253eecc SHA512 c32c2393000a76882c0ceddb458869e5e04d3a1868282bf125430990b4d43f11795ac4a77c2c96fb8e3aafc9bee9fcd1c8df40fdf6406fa94969f3801f9f68ac
98 +DIST firefox-96.0-ro.xpi 529764 BLAKE2B a8a26ca4082159d1e79a9b408dc7cd14990d61e2a914de924a47ca5156581abb70062d7fcba7680e08eec8b96c08d771f990c8fa65cfa7a5b865437106a534de SHA512 e86f49f93c61b3a73633ce8d6a3ec1f8e699f6fb94edd8358b9e56066e3c9d56a40a31c2adde1cef4871eb45e858ef4cf9f360a78e9573ea38455f397f674fa0
99 +DIST firefox-96.0-ru.xpi 627602 BLAKE2B 559a7ca48058cc88cb95dab144b55b0d9b4ee76e97cfaf15a4af6328cb69040482f7e5849943ad0ad72cb67c7e7b34b9de99b82490568daf591ecd3b4e427baf SHA512 41bafdb582242647c5a8962c22a4828b6b219f1038b809fd7731281802f3bfc97e8557686ac20532709b8dff405ed61fb9e474e09db9d51aa7f75e55df70a8b2
100 +DIST firefox-96.0-sco.xpi 503461 BLAKE2B 227105a5721a382f3338119a0828e6d00590d9f21772ea8b9fa0e6396f98048214bf2e6395554ce38433f7384c7091e0eb62ed0451e3c9e5d86b52ed6f172f5e SHA512 dfad860ea018f3900c52a0f1d3d57a37c4145ec899a3eafdae7d4a3a2e88df33d7f8a10dbb6dcf02e563a069d7518e18199fb44636d1e969c9b828be377a8d8c
101 +DIST firefox-96.0-si.xpi 484749 BLAKE2B 4323a5c9b22fc330cbeb014a330f929d2e0e12afb3025724e49993e9a4d06e820a40ba73c345251742001b8cbee66884ef72d0def85cb3782cfc6964a9ce5a4b SHA512 a55ebe4ef2c4264ae1568285d885164eeda8e292dc47a09cfb46fa14653efcff1a504c7a0a5e967aa371cda339e31b7f07b362d644f8c4613320aaa383cc65c8
102 +DIST firefox-96.0-sk.xpi 567146 BLAKE2B 65b055532b0e2c97726b223c0113e80ecc17daf1e3a6b8a26e9a7c1c0cb5816677d1ad9612fc8642cdb262ba70dbbb8d99c6b19f71293a19aae47a13fa57854e SHA512 64c58d50223840f1c3cd822c60fc97dc5bae3cf4e6b63fead6f66125c4d361ac57719c9802a4b381e6a7ffaac8ae074a9026a76f773356abd7da0b22bc18fc48
103 +DIST firefox-96.0-sl.xpi 537521 BLAKE2B 69f1c3ecd8e48726caa38453def6c2eb92245ca4a9b429ac423ad94e880200ddf2388b3ec41984f8ee9f0e5ef498a9d6c03d40727f8af01640f3de2ba0c0cd13 SHA512 d83b281e3613e780391c7613d312de26a35c9af09091580b9c7ed0b9372ece7394f8e09c96ee907beb0d2aff338d8d10a97c9714f2e9e871278202637570f64b
104 +DIST firefox-96.0-son.xpi 420865 BLAKE2B f31bb3db5a079fd7c1b47c832ad50925edd8057ed7243ce29906c681d7d5e682dae125b4b3b666e6c38b643b7ea88176f8ade9201ac3e13d4b902ec47adffb61 SHA512 b1983cd3f695a609decc58a00a81aba1395d1763f9a0a07bb9f237908e7b0ce5ef4ec19aaa696f4da377e02b39fc6c5fa6c54f38c01f2c8dd9dc3e28b954354b
105 +DIST firefox-96.0-sq.xpi 555352 BLAKE2B 2595066eb78035caa8ad6da37dc3266916c6ba545bad95caa9fcd93cdb39022ec15a43f51d5bc6600b8d1173a08965b3a5add023ee5e3d553b9518d4dc04cc1a SHA512 83c36347d67abfbf50f9cb242986b524c6456964024c0564e0464881181eb7630146480df6804bf2caa198f18306ffcc5922189f083c3f9222cc5e71e96fc14d
106 +DIST firefox-96.0-sr.xpi 585962 BLAKE2B cbff0a131c59d2e9b87249c5c500c52d910f81b58b6ff8b9012b2d5fdec0028e5cff0dbaea306e60dd460e678897f97835b8f4ca9ff51fab311b16f2d1da9c8a SHA512 88540a0ac11d9beeaf958586000012a963022ebe2627607a1824a5891ddfe6ea04ed36481cd9500271c7b0341b49c15fc4888917fad7ee9b94e0d8005eb6a480
107 +DIST firefox-96.0-sv-SE.xpi 540645 BLAKE2B 649fe836fa34fc97a615975bff087a1ceefa1ddc8c78530ffddd8604c30438786d10b67daadb2ea09bb0a550ef347b516874f75e2224d0927b6de0e40e324bc0 SHA512 1dd36ed016325227827efc3f051cf380fb85e4c5ea147acddcd7d2fe00604e88942440410e99776a4a6cd8035c122956f8860c41148b23fd56fcf7c1a72c42e5
108 +DIST firefox-96.0-szl.xpi 507895 BLAKE2B 9d29247de0fdf6a7d1f35364d5e91bca0c47c68031bbd3aa08a611699441a089b88d587094aae5e2778d7eeffbe7d36ed0d486535ef41975e29820273b31997b SHA512 238680d073c56fc5aae70518fb35b270dc23c3390fa2a2f563d40e2a320b218451fd7665ea03b7f459871d6025e8a8ac5532e1fad6b221a3da389579baabd9b8
109 +DIST firefox-96.0-ta.xpi 510848 BLAKE2B b6bdda3488b31909de67583845fe18a205dec0256b4111460aae496bd3e9917ddd5da40d56c6a30792fae95763e0185a2740fef8b4d3bd67fd236374cac84295 SHA512 51ea7858f130deb50ba48b0ca46289badeca238b019788a7d97b112e694054b36e38738c94ce3d711a6bb89e5fb062106ef913c57b320e5184ab6c55be5b1236
110 +DIST firefox-96.0-te.xpi 549262 BLAKE2B ed92cf1b24bea1d6c30a8419ae7e24e75350de166838ea1448504e62b679a97e8e81de22d1eafc778cc07aba76d44f8387e591e94b0289b5160818c4003767c2 SHA512 47a45b4f6d125182e698d60242d11a65b4cb0be3fd828970e62942d7397366ee5178268e118a7c414503d00aa325115e8bf80da1dafc5ebe95a9d1b4102d4f7c
111 +DIST firefox-96.0-th.xpi 605805 BLAKE2B 844f3d8beb152b3b0d4a40ed25591b26514815fbb17a8b9a9ba8f2eeb6f799739ad3c2584a140a82f25561a78248731e60986844d80ffa994a600445246c4ae3 SHA512 771e7a0910b5d7e0f59e52682341f3fa104bbc54c8dd2db243389aac4eec6442bca34494e44901d42709aed0d3a8a6372365eb9575298990574706b00dd437e1
112 +DIST firefox-96.0-tl.xpi 519510 BLAKE2B 84748cb850aff2851d682485c505e59ede291b6c923f86344169febe39f79ca87496638835aa20e0a413dc6febd0c3fb8473366b61eb012117deef055dca7157 SHA512 1cc6212d3e58fbad81db0f6741ce0d4a7764dbdc71e157afff7e58733efcd2ee7c0c167eee330aca59e1bb090844f3f088bbc5049b07ea354cdfb3d2dd9c5d44
113 +DIST firefox-96.0-tr.xpi 553351 BLAKE2B cbb75ea274c3327f80d584ef057a792e4c64b0db6a1357edf90b3908d9fd374e8c81bc86aa1d96f8d82d59ad2f935ba7757677793685e4f37c0dc38ff3e164d2 SHA512 1df45a8a6a7a3dfbdf4083c87e50fd171ccf5f2985a6062efe62460d8d2f674d574948b98de3036707dbe9e100633c57cc67d93a97e42707c1845d5e121f3db5
114 +DIST firefox-96.0-trs.xpi 490081 BLAKE2B c723fc566e2cff78c7b09874b0fa654fc2e202a848d43acd409c4b62f89c9bd354a45c81ac05dfb7cd63a6ad78895443ee9ab476da955f70c0a0b438d4759fb2 SHA512 8cb73cbde0d228c5271dc4e0bcab6cd5d987f0587ac1bdd436cedff60830f03d7f73eab7ff8a29dfc6796ff49ebf29516e42fb8e70aeb3a3d61dfe13d2455168
115 +DIST firefox-96.0-uk.xpi 621210 BLAKE2B cefa4d0ba023caca862a97e534e3199ea5738af824a4b5b57dc10f38dc86c28f84391aad9d5962b0ffaa036af7c57fa3086ca671ac86bd828705412252997bf8 SHA512 5e1191d645461b33ac2b71a2fc693b78b4c068fbd9716de9c19569305b3bdb369d467c48f6a522a6da882b30ff4371b9a718a2b54c209e35a5f8414f64f43a99
116 +DIST firefox-96.0-ur.xpi 556310 BLAKE2B 15b14a7a9aff165b3b467d26c072211b36960df62a4c6c5701b731e0ddfcaccf1766b281af8ecf70e21df85b8f52b06139a172378d688cb9017818a6ee43d0ed SHA512 e78b000c7fe7ece729b91003414b2a17b4281520c94bbd56d5563c116a9d9d5397a28ed8655483b2a3a14ea3c9fcc1f2ebee37c54a0966e679214dd59c0037b0
117 +DIST firefox-96.0-uz.xpi 464800 BLAKE2B ebe537d8af3fa09e51fe8a22f911203d72eaedff1e0308c2449ddeba16748b2ae10458515d7ab9ca248b9845e14cff11c2e4136f90abe2b9e2e2cb2372dcfeed SHA512 8a799a7fab890d57a6be8c8bb884ae9ebb399db9d2ac3c6c1eb90691df895536d24c29f4058c426e5173d321ee9be217b4fca5f656b3baaf39463515555ecbfe
118 +DIST firefox-96.0-vi.xpi 572934 BLAKE2B cd4e9dd0222cd02d0f2a11994aa6f113cb2545e429c9ad16a7505af61d20cfb8664ab0fb38a6ca3628cc9e2011201cc8fe9a1e936abe96f3f856cb42e34de334 SHA512 8838a439cd8b8b5aca214484dc47daa38c74d0a0e563be7ddfc39c59cad724132ddfc1c166bd1d5dab98d7770869516bd2f58973b8b683b50aef2fdf4be0101c
119 +DIST firefox-96.0-xh.xpi 423438 BLAKE2B 9359768c03fce8fe1131f3263fdec7df40ad08b38a51c053d49daff715e80ba4c9e9ab04d16283d453c198cf962d2c4452192fd597f96a1a8916a9b20af701a1 SHA512 0e2e8caffd68133f67fe38aac1575c86cd2c08012b8a62c22d7706dc3970af8b0e1fb65818e777829c10b2227d2effe76d9413cb70504f3cd369bc6decda802b
120 +DIST firefox-96.0-zh-CN.xpi 575685 BLAKE2B 2eef7b7396901340cb4a207052168cb537081ea0a4a88011720ce5560bc2b26a25680dead37e26279a877982c323fc4f58eed83ee83ade894a640cabab344364 SHA512 c7e3c00ec26d3114e4ddae2b50adab0e64cf8b8d1fccb99909c53da0a2ee1b36aa6f1fa6fe04119e9f80e6dbb944cbcd34f5e291d3d910dd9a7e46c524648719
121 +DIST firefox-96.0-zh-TW.xpi 576803 BLAKE2B d664c86e6760cb5b782986765b738a0136548b9b13837dc7f0ecf647e2a3202d4af96f6d21a8b96493aea5236c2237d771000993f724f8a1437f2dca2937c17d SHA512 746e3fa4c218f88c749729b9c826b02f79259ebc90d1b52b9f6ce87aa7368fea407da0dd93fe7d0e38eeaa41fc634e03c4ec4081c9ebd26c4e23599e99a203e4
122 +DIST firefox-96.0.source.tar.xz 410165944 BLAKE2B 2105caab3f89cf2400fe58e90c280d45d99012aac244e8d3d1c48f69f4976fbd9bdd4467675a4e5f818f3ae2c28662321762495f9de485180e4aa63b6d89cdd6 SHA512 39f553474537eb4e521f4182e38f0ddff039fa6b40b939d461937d2cef27f7182097b478f08f90d64fdcbe9c063e78f14f6863a8a82a16207ec7a1d3fdfda4ff
123
124 diff --git a/www-client/firefox/firefox-96.0.ebuild b/www-client/firefox/firefox-96.0.ebuild
125 new file mode 100644
126 index 000000000000..2b7c630c3d3a
127 --- /dev/null
128 +++ b/www-client/firefox/firefox-96.0.ebuild
129 @@ -0,0 +1,1237 @@
130 +# Copyright 1999-2022 Gentoo Authors
131 +# Distributed under the terms of the GNU General Public License v2
132 +
133 +EAPI="7"
134 +
135 +FIREFOX_PATCHSET="firefox-96-patches-01.tar.xz"
136 +
137 +LLVM_MAX_SLOT=13
138 +
139 +PYTHON_COMPAT=( python3_{8..10} )
140 +PYTHON_REQ_USE="ncurses,sqlite,ssl"
141 +
142 +WANT_AUTOCONF="2.1"
143 +
144 +VIRTUALX_REQUIRED="pgo"
145 +
146 +MOZ_ESR=
147 +
148 +MOZ_PV=${PV}
149 +MOZ_PV_SUFFIX=
150 +if [[ ${PV} =~ (_(alpha|beta|rc).*)$ ]] ; then
151 + MOZ_PV_SUFFIX=${BASH_REMATCH[1]}
152 +
153 + # Convert the ebuild version to the upstream Mozilla version
154 + MOZ_PV="${MOZ_PV/_alpha/a}" # Handle alpha for SRC_URI
155 + MOZ_PV="${MOZ_PV/_beta/b}" # Handle beta for SRC_URI
156 + MOZ_PV="${MOZ_PV%%_rc*}" # Handle rc for SRC_URI
157 +fi
158 +
159 +if [[ -n ${MOZ_ESR} ]] ; then
160 + # ESR releases have slightly different version numbers
161 + MOZ_PV="${MOZ_PV}esr"
162 +fi
163 +
164 +MOZ_PN="${PN%-bin}"
165 +MOZ_P="${MOZ_PN}-${MOZ_PV}"
166 +MOZ_PV_DISTFILES="${MOZ_PV}${MOZ_PV_SUFFIX}"
167 +MOZ_P_DISTFILES="${MOZ_PN}-${MOZ_PV_DISTFILES}"
168 +
169 +inherit autotools check-reqs desktop flag-o-matic gnome2-utils linux-info \
170 + llvm multiprocessing pax-utils python-any-r1 toolchain-funcs \
171 + virtualx xdg
172 +
173 +MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/releases/${MOZ_PV}"
174 +
175 +if [[ ${PV} == *_rc* ]] ; then
176 + MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/candidates/${MOZ_PV}-candidates/build${PV##*_rc}"
177 +fi
178 +
179 +PATCH_URIS=(
180 + https://dev.gentoo.org/~{juippis,polynomial-c,whissi}/mozilla/patchsets/${FIREFOX_PATCHSET}
181 +)
182 +
183 +SRC_URI="${MOZ_SRC_BASE_URI}/source/${MOZ_P}.source.tar.xz -> ${MOZ_P_DISTFILES}.source.tar.xz
184 + ${PATCH_URIS[@]}"
185 +
186 +DESCRIPTION="Firefox Web Browser"
187 +HOMEPAGE="https://www.mozilla.com/firefox"
188 +
189 +KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
190 +
191 +SLOT="0/$(ver_cut 1)"
192 +LICENSE="MPL-2.0 GPL-2 LGPL-2.1"
193 +
194 +IUSE="+clang cpu_flags_arm_neon dbus debug eme-free hardened hwaccel"
195 +IUSE+=" jack lto +openh264 pgo pulseaudio sndio selinux"
196 +IUSE+=" +system-av1 +system-harfbuzz +system-icu +system-jpeg +system-libevent +system-libvpx system-png +system-webp"
197 +IUSE+=" wayland wifi"
198 +
199 +# Firefox-only IUSE
200 +IUSE+=" geckodriver"
201 +IUSE+=" +gmp-autoupdate"
202 +IUSE+=" screencast"
203 +
204 +REQUIRED_USE="debug? ( !system-av1 )
205 + pgo? ( lto )
206 + wayland? ( dbus )
207 + wifi? ( dbus )"
208 +
209 +# Firefox-only REQUIRED_USE flags
210 +REQUIRED_USE+=" screencast? ( wayland )"
211 +
212 +BDEPEND="${PYTHON_DEPS}
213 + app-arch/unzip
214 + app-arch/zip
215 + >=dev-util/cbindgen-0.19.0
216 + >=net-libs/nodejs-10.23.1
217 + virtual/pkgconfig
218 + >=virtual/rust-1.53.0
219 + || (
220 + (
221 + sys-devel/clang:13
222 + sys-devel/llvm:13
223 + clang? (
224 + =sys-devel/lld-13*
225 + pgo? ( =sys-libs/compiler-rt-sanitizers-13*[profile] )
226 + )
227 + )
228 + (
229 + sys-devel/clang:12
230 + sys-devel/llvm:12
231 + clang? (
232 + =sys-devel/lld-12*
233 + pgo? ( =sys-libs/compiler-rt-sanitizers-12*[profile] )
234 + )
235 + )
236 + (
237 + sys-devel/clang:11
238 + sys-devel/llvm:11
239 + clang? (
240 + =sys-devel/lld-11*
241 + pgo? ( =sys-libs/compiler-rt-sanitizers-11*[profile] )
242 + )
243 + )
244 + )
245 + amd64? ( >=dev-lang/nasm-2.13 )
246 + x86? ( >=dev-lang/nasm-2.13 )"
247 +
248 +CDEPEND="
249 + >=dev-libs/nss-3.73
250 + >=dev-libs/nspr-4.32
251 + dev-libs/atk
252 + dev-libs/expat
253 + >=x11-libs/cairo-1.10[X]
254 + >=x11-libs/gtk+-3.4.0:3[X]
255 + x11-libs/gdk-pixbuf
256 + >=x11-libs/pango-1.22.0
257 + >=media-libs/mesa-10.2:*
258 + media-libs/fontconfig
259 + >=media-libs/freetype-2.4.10
260 + kernel_linux? ( !pulseaudio? ( media-libs/alsa-lib ) )
261 + virtual/freedesktop-icon-theme
262 + >=x11-libs/pixman-0.19.2
263 + >=dev-libs/glib-2.26:2
264 + >=sys-libs/zlib-1.2.3
265 + >=dev-libs/libffi-3.0.10:=
266 + media-video/ffmpeg
267 + x11-libs/libX11
268 + x11-libs/libxcb
269 + x11-libs/libXcomposite
270 + x11-libs/libXdamage
271 + x11-libs/libXext
272 + x11-libs/libXfixes
273 + x11-libs/libXrandr
274 + x11-libs/libXrender
275 + dbus? (
276 + sys-apps/dbus
277 + dev-libs/dbus-glib
278 + )
279 + screencast? ( media-video/pipewire:= )
280 + system-av1? (
281 + >=media-libs/dav1d-0.9.3:=
282 + >=media-libs/libaom-1.0.0:=
283 + )
284 + system-harfbuzz? (
285 + >=media-libs/harfbuzz-2.8.1:0=
286 + >=media-gfx/graphite2-1.3.13
287 + )
288 + system-icu? ( >=dev-libs/icu-69.1:= )
289 + system-jpeg? ( >=media-libs/libjpeg-turbo-1.2.1 )
290 + system-libevent? ( >=dev-libs/libevent-2.0:0=[threads] )
291 + system-libvpx? ( >=media-libs/libvpx-1.8.2:0=[postproc] )
292 + system-png? ( >=media-libs/libpng-1.6.35:0=[apng] )
293 + system-webp? ( >=media-libs/libwebp-1.1.0:0= )
294 + wifi? (
295 + kernel_linux? (
296 + sys-apps/dbus
297 + dev-libs/dbus-glib
298 + net-misc/networkmanager
299 + )
300 + )
301 + jack? ( virtual/jack )
302 + selinux? ( sec-policy/selinux-mozilla )
303 + sndio? ( media-sound/sndio )"
304 +
305 +RDEPEND="${CDEPEND}
306 + jack? ( virtual/jack )
307 + openh264? ( media-libs/openh264:*[plugin] )
308 + pulseaudio? (
309 + || (
310 + media-sound/pulseaudio
311 + >=media-sound/apulse-0.1.12-r4
312 + )
313 + )
314 + selinux? ( sec-policy/selinux-mozilla )"
315 +
316 +DEPEND="${CDEPEND}
317 + x11-libs/libICE
318 + x11-libs/libSM
319 + pulseaudio? (
320 + || (
321 + media-sound/pulseaudio
322 + >=media-sound/apulse-0.1.12-r4[sdk]
323 + )
324 + )
325 + wayland? ( >=x11-libs/gtk+-3.11:3[wayland] )
326 + amd64? ( virtual/opengl )
327 + x86? ( virtual/opengl )"
328 +
329 +S="${WORKDIR}/${PN}-${PV%_*}"
330 +
331 +# Allow MOZ_GMP_PLUGIN_LIST to be set in an eclass or
332 +# overridden in the enviromnent (advanced hackers only)
333 +if [[ -z "${MOZ_GMP_PLUGIN_LIST+set}" ]] ; then
334 + MOZ_GMP_PLUGIN_LIST=( gmp-gmpopenh264 gmp-widevinecdm )
335 +fi
336 +
337 +llvm_check_deps() {
338 + if ! has_version -b "sys-devel/clang:${LLVM_SLOT}" ; then
339 + einfo "sys-devel/clang:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
340 + return 1
341 + fi
342 +
343 + if use clang ; then
344 + if ! has_version -b "=sys-devel/lld-${LLVM_SLOT}*" ; then
345 + einfo "=sys-devel/lld-${LLVM_SLOT}* is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
346 + return 1
347 + fi
348 +
349 + if use pgo ; then
350 + if ! has_version -b "=sys-libs/compiler-rt-sanitizers-${LLVM_SLOT}*" ; then
351 + einfo "=sys-libs/compiler-rt-sanitizers-${LLVM_SLOT}* is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
352 + return 1
353 + fi
354 + fi
355 + fi
356 +
357 + einfo "Using LLVM slot ${LLVM_SLOT} to build" >&2
358 +}
359 +
360 +MOZ_LANGS=(
361 + af ar ast be bg br ca cak cs cy da de dsb
362 + el en-CA en-GB en-US es-AR es-ES et eu
363 + fi fr fy-NL ga-IE gd gl he hr hsb hu
364 + id is it ja ka kab kk ko lt lv ms nb-NO nl nn-NO
365 + pa-IN pl pt-BR pt-PT rm ro ru
366 + sk sl sq sr sv-SE th tr uk uz vi zh-CN zh-TW
367 +)
368 +
369 +# Firefox-only LANGS
370 +MOZ_LANGS+=( ach )
371 +MOZ_LANGS+=( an )
372 +MOZ_LANGS+=( az )
373 +MOZ_LANGS+=( bn )
374 +MOZ_LANGS+=( bs )
375 +MOZ_LANGS+=( ca-valencia )
376 +MOZ_LANGS+=( eo )
377 +MOZ_LANGS+=( es-CL )
378 +MOZ_LANGS+=( es-MX )
379 +MOZ_LANGS+=( fa )
380 +MOZ_LANGS+=( ff )
381 +MOZ_LANGS+=( gn )
382 +MOZ_LANGS+=( gu-IN )
383 +MOZ_LANGS+=( hi-IN )
384 +MOZ_LANGS+=( hy-AM )
385 +MOZ_LANGS+=( ia )
386 +MOZ_LANGS+=( km )
387 +MOZ_LANGS+=( kn )
388 +MOZ_LANGS+=( lij )
389 +MOZ_LANGS+=( mk )
390 +MOZ_LANGS+=( mr )
391 +MOZ_LANGS+=( my )
392 +MOZ_LANGS+=( ne-NP )
393 +MOZ_LANGS+=( oc )
394 +MOZ_LANGS+=( sco )
395 +MOZ_LANGS+=( si )
396 +MOZ_LANGS+=( son )
397 +MOZ_LANGS+=( szl )
398 +MOZ_LANGS+=( ta )
399 +MOZ_LANGS+=( te )
400 +MOZ_LANGS+=( tl )
401 +MOZ_LANGS+=( trs )
402 +MOZ_LANGS+=( ur )
403 +MOZ_LANGS+=( xh )
404 +
405 +mozilla_set_globals() {
406 + # https://bugs.gentoo.org/587334
407 + local MOZ_TOO_REGIONALIZED_FOR_L10N=(
408 + fy-NL ga-IE gu-IN hi-IN hy-AM nb-NO ne-NP nn-NO pa-IN sv-SE
409 + )
410 +
411 + local lang xflag
412 + for lang in "${MOZ_LANGS[@]}" ; do
413 + # en and en_US are handled internally
414 + if [[ ${lang} == en ]] || [[ ${lang} == en-US ]] ; then
415 + continue
416 + fi
417 +
418 + # strip region subtag if $lang is in the list
419 + if has ${lang} "${MOZ_TOO_REGIONALIZED_FOR_L10N[@]}" ; then
420 + xflag=${lang%%-*}
421 + else
422 + xflag=${lang}
423 + fi
424 +
425 + SRC_URI+=" l10n_${xflag/[_@]/-}? ("
426 + SRC_URI+=" ${MOZ_SRC_BASE_URI}/linux-x86_64/xpi/${lang}.xpi -> ${MOZ_P_DISTFILES}-${lang}.xpi"
427 + SRC_URI+=" )"
428 + IUSE+=" l10n_${xflag/[_@]/-}"
429 + done
430 +}
431 +mozilla_set_globals
432 +
433 +moz_clear_vendor_checksums() {
434 + debug-print-function ${FUNCNAME} "$@"
435 +
436 + if [[ ${#} -ne 1 ]] ; then
437 + die "${FUNCNAME} requires exact one argument"
438 + fi
439 +
440 + einfo "Clearing cargo checksums for ${1} ..."
441 +
442 + sed -i \
443 + -e 's/\("files":{\)[^}]*/\1/' \
444 + "${S}"/third_party/rust/${1}/.cargo-checksum.json \
445 + || die
446 +}
447 +
448 +moz_install_xpi() {
449 + debug-print-function ${FUNCNAME} "$@"
450 +
451 + if [[ ${#} -lt 2 ]] ; then
452 + die "${FUNCNAME} requires at least two arguments"
453 + fi
454 +
455 + local DESTDIR=${1}
456 + shift
457 +
458 + insinto "${DESTDIR}"
459 +
460 + local emid xpi_file xpi_tmp_dir
461 + for xpi_file in "${@}" ; do
462 + emid=
463 + xpi_tmp_dir=$(mktemp -d --tmpdir="${T}")
464 +
465 + # Unpack XPI
466 + unzip -qq "${xpi_file}" -d "${xpi_tmp_dir}" || die
467 +
468 + # Determine extension ID
469 + if [[ -f "${xpi_tmp_dir}/install.rdf" ]] ; then
470 + emid=$(sed -n -e '/install-manifest/,$ { /em:id/!d; s/.*[\">]\([^\"<>]*\)[\"<].*/\1/; p; q }' "${xpi_tmp_dir}/install.rdf")
471 + [[ -z "${emid}" ]] && die "failed to determine extension id from install.rdf"
472 + elif [[ -f "${xpi_tmp_dir}/manifest.json" ]] ; then
473 + emid=$(sed -n -e 's/.*"id": "\([^"]*\)".*/\1/p' "${xpi_tmp_dir}/manifest.json")
474 + [[ -z "${emid}" ]] && die "failed to determine extension id from manifest.json"
475 + else
476 + die "failed to determine extension id"
477 + fi
478 +
479 + einfo "Installing ${emid}.xpi into ${ED}${DESTDIR} ..."
480 + newins "${xpi_file}" "${emid}.xpi"
481 + done
482 +}
483 +
484 +mozconfig_add_options_ac() {
485 + debug-print-function ${FUNCNAME} "$@"
486 +
487 + if [[ ${#} -lt 2 ]] ; then
488 + die "${FUNCNAME} requires at least two arguments"
489 + fi
490 +
491 + local reason=${1}
492 + shift
493 +
494 + local option
495 + for option in ${@} ; do
496 + echo "ac_add_options ${option} # ${reason}" >>${MOZCONFIG}
497 + done
498 +}
499 +
500 +mozconfig_add_options_mk() {
501 + debug-print-function ${FUNCNAME} "$@"
502 +
503 + if [[ ${#} -lt 2 ]] ; then
504 + die "${FUNCNAME} requires at least two arguments"
505 + fi
506 +
507 + local reason=${1}
508 + shift
509 +
510 + local option
511 + for option in ${@} ; do
512 + echo "mk_add_options ${option} # ${reason}" >>${MOZCONFIG}
513 + done
514 +}
515 +
516 +mozconfig_use_enable() {
517 + debug-print-function ${FUNCNAME} "$@"
518 +
519 + if [[ ${#} -lt 1 ]] ; then
520 + die "${FUNCNAME} requires at least one arguments"
521 + fi
522 +
523 + local flag=$(use_enable "${@}")
524 + mozconfig_add_options_ac "$(use ${1} && echo +${1} || echo -${1})" "${flag}"
525 +}
526 +
527 +mozconfig_use_with() {
528 + debug-print-function ${FUNCNAME} "$@"
529 +
530 + if [[ ${#} -lt 1 ]] ; then
531 + die "${FUNCNAME} requires at least one arguments"
532 + fi
533 +
534 + local flag=$(use_with "${@}")
535 + mozconfig_add_options_ac "$(use ${1} && echo +${1} || echo -${1})" "${flag}"
536 +}
537 +
538 +pkg_pretend() {
539 + if [[ ${MERGE_TYPE} != binary ]] ; then
540 + if use pgo ; then
541 + if ! has usersandbox $FEATURES ; then
542 + die "You must enable usersandbox as X server can not run as root!"
543 + fi
544 + fi
545 +
546 + # Ensure we have enough disk space to compile
547 + if use pgo || use lto || use debug ; then
548 + CHECKREQS_DISK_BUILD="13500M"
549 + else
550 + CHECKREQS_DISK_BUILD="6400M"
551 + fi
552 +
553 + check-reqs_pkg_pretend
554 + fi
555 +}
556 +
557 +pkg_setup() {
558 + if [[ ${MERGE_TYPE} != binary ]] ; then
559 + if use pgo ; then
560 + if ! has userpriv ${FEATURES} ; then
561 + eerror "Building ${PN} with USE=pgo and FEATURES=-userpriv is not supported!"
562 + fi
563 + fi
564 +
565 + # Ensure we have enough disk space to compile
566 + if use pgo || use lto || use debug ; then
567 + CHECKREQS_DISK_BUILD="13500M"
568 + else
569 + CHECKREQS_DISK_BUILD="6400M"
570 + fi
571 +
572 + check-reqs_pkg_setup
573 +
574 + llvm_pkg_setup
575 +
576 + if use clang && use lto ; then
577 + local version_lld=$(ld.lld --version 2>/dev/null | awk '{ print $2 }')
578 + [[ -n ${version_lld} ]] && version_lld=$(ver_cut 1 "${version_lld}")
579 + [[ -z ${version_lld} ]] && die "Failed to read ld.lld version!"
580 +
581 + # temp fix for https://bugs.gentoo.org/768543
582 + # we can assume that rust 1.{49,50}.0 always uses llvm 11
583 + local version_rust=$(rustc -Vv 2>/dev/null | grep -F -- 'release:' | awk '{ print $2 }')
584 + [[ -n ${version_rust} ]] && version_rust=$(ver_cut 1-2 "${version_rust}")
585 + [[ -z ${version_rust} ]] && die "Failed to read version from rustc!"
586 +
587 + if ver_test "${version_rust}" -ge "1.49" && ver_test "${version_rust}" -le "1.50" ; then
588 + local version_llvm_rust="11"
589 + else
590 + local version_llvm_rust=$(rustc -Vv 2>/dev/null | grep -F -- 'LLVM version:' | awk '{ print $3 }')
591 + [[ -n ${version_llvm_rust} ]] && version_llvm_rust=$(ver_cut 1 "${version_llvm_rust}")
592 + [[ -z ${version_llvm_rust} ]] && die "Failed to read used LLVM version from rustc!"
593 + fi
594 +
595 + if ver_test "${version_lld}" -ne "${version_llvm_rust}" ; then
596 + eerror "Rust is using LLVM version ${version_llvm_rust} but ld.lld version belongs to LLVM version ${version_lld}."
597 + eerror "You will be unable to link ${CATEGORY}/${PN}. To proceed you have the following options:"
598 + eerror " - Manually switch rust version using 'eselect rust' to match used LLVM version"
599 + eerror " - Switch to dev-lang/rust[system-llvm] which will guarantee matching version"
600 + eerror " - Build ${CATEGORY}/${PN} without USE=lto"
601 + die "LLVM version used by Rust (${version_llvm_rust}) does not match with ld.lld version (${version_lld})!"
602 + fi
603 + fi
604 +
605 + if ! use clang && [[ $(gcc-major-version) -eq 11 ]] \
606 + && ! has_version -b ">sys-devel/gcc-11.1.0:11" ; then
607 + # bug 792705
608 + eerror "Using GCC 11 to compile firefox is currently known to be broken (see bug #792705)."
609 + die "Set USE=clang or select <gcc-11 to build ${CATEGORY}/${P}."
610 + fi
611 +
612 + python-any-r1_pkg_setup
613 +
614 + # Avoid PGO profiling problems due to enviroment leakage
615 + # These should *always* be cleaned up anyway
616 + unset \
617 + DBUS_SESSION_BUS_ADDRESS \
618 + DISPLAY \
619 + ORBIT_SOCKETDIR \
620 + SESSION_MANAGER \
621 + XAUTHORITY \
622 + XDG_CACHE_HOME \
623 + XDG_SESSION_COOKIE
624 +
625 + # Build system is using /proc/self/oom_score_adj, bug #604394
626 + addpredict /proc/self/oom_score_adj
627 +
628 + if use pgo ; then
629 + # Allow access to GPU during PGO run
630 + local ati_cards mesa_cards nvidia_cards render_cards
631 + shopt -s nullglob
632 +
633 + ati_cards=$(echo -n /dev/ati/card* | sed 's/ /:/g')
634 + if [[ -n "${ati_cards}" ]] ; then
635 + addpredict "${ati_cards}"
636 + fi
637 +
638 + mesa_cards=$(echo -n /dev/dri/card* | sed 's/ /:/g')
639 + if [[ -n "${mesa_cards}" ]] ; then
640 + addpredict "${mesa_cards}"
641 + fi
642 +
643 + nvidia_cards=$(echo -n /dev/nvidia* | sed 's/ /:/g')
644 + if [[ -n "${nvidia_cards}" ]] ; then
645 + addpredict "${nvidia_cards}"
646 + fi
647 +
648 + render_cards=$(echo -n /dev/dri/renderD128* | sed 's/ /:/g')
649 + if [[ -n "${render_cards}" ]] ; then
650 + addpredict "${render_cards}"
651 + fi
652 +
653 + shopt -u nullglob
654 + fi
655 +
656 + if ! mountpoint -q /dev/shm ; then
657 + # If /dev/shm is not available, configure is known to fail with
658 + # a traceback report referencing /usr/lib/pythonN.N/multiprocessing/synchronize.py
659 + ewarn "/dev/shm is not mounted -- expect build failures!"
660 + fi
661 +
662 + # Google API keys (see http://www.chromium.org/developers/how-tos/api-keys)
663 + # Note: These are for Gentoo Linux use ONLY. For your own distribution, please
664 + # get your own set of keys.
665 + if [[ -z "${MOZ_API_KEY_GOOGLE+set}" ]] ; then
666 + MOZ_API_KEY_GOOGLE="AIzaSyDEAOvatFogGaPi0eTgsV_ZlEzx0ObmepsMzfAc"
667 + fi
668 +
669 + if [[ -z "${MOZ_API_KEY_LOCATION+set}" ]] ; then
670 + MOZ_API_KEY_LOCATION="AIzaSyB2h2OuRgGaPicUgy5N-5hsZqiPW6sH3n_rptiQ"
671 + fi
672 +
673 + # Mozilla API keys (see https://location.services.mozilla.com/api)
674 + # Note: These are for Gentoo Linux use ONLY. For your own distribution, please
675 + # get your own set of keys.
676 + if [[ -z "${MOZ_API_KEY_MOZILLA+set}" ]] ; then
677 + MOZ_API_KEY_MOZILLA="edb3d487-3a84-46m0ap1e3-9dfd-92b5efaaa005"
678 + fi
679 +
680 + # Ensure we use C locale when building, bug #746215
681 + export LC_ALL=C
682 + fi
683 +
684 + CONFIG_CHECK="~SECCOMP"
685 + WARNING_SECCOMP="CONFIG_SECCOMP not set! This system will be unable to play DRM-protected content."
686 + linux-info_pkg_setup
687 +}
688 +
689 +src_unpack() {
690 + local _lp_dir="${WORKDIR}/language_packs"
691 + local _src_file
692 +
693 + if [[ ! -d "${_lp_dir}" ]] ; then
694 + mkdir "${_lp_dir}" || die
695 + fi
696 +
697 + for _src_file in ${A} ; do
698 + if [[ ${_src_file} == *.xpi ]]; then
699 + cp "${DISTDIR}/${_src_file}" "${_lp_dir}" || die "Failed to copy '${_src_file}' to '${_lp_dir}'!"
700 + else
701 + unpack ${_src_file}
702 + fi
703 + done
704 +}
705 +
706 +src_prepare() {
707 + use lto && rm -v "${WORKDIR}"/firefox-patches/*-LTO-Only-enable-LTO-*.patch
708 + eapply "${WORKDIR}/firefox-patches"
709 +
710 + # Allow user to apply any additional patches without modifing ebuild
711 + eapply_user
712 +
713 + # Make LTO respect MAKEOPTS
714 + sed -i \
715 + -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \
716 + "${S}"/build/moz.configure/lto-pgo.configure \
717 + || die "sed failed to set num_cores"
718 +
719 + # Make ICU respect MAKEOPTS
720 + sed -i \
721 + -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \
722 + "${S}"/intl/icu_sources_data.py \
723 + || die "sed failed to set num_cores"
724 +
725 + # sed-in toolchain prefix
726 + sed -i \
727 + -e "s/objdump/${CHOST}-objdump/" \
728 + "${S}"/python/mozbuild/mozbuild/configure/check_debug_ranges.py \
729 + || die "sed failed to set toolchain prefix"
730 +
731 + sed -i \
732 + -e 's/ccache_stats = None/return None/' \
733 + "${S}"/python/mozbuild/mozbuild/controller/building.py \
734 + || die "sed failed to disable ccache stats call"
735 +
736 + einfo "Removing pre-built binaries ..."
737 + find "${S}"/third_party -type f \( -name '*.so' -o -name '*.o' \) -print -delete || die
738 +
739 + # Clearing checksums where we have applied patches
740 + moz_clear_vendor_checksums target-lexicon-0.9.0
741 +
742 + # Create build dir
743 + BUILD_DIR="${WORKDIR}/${PN}_build"
744 + mkdir -p "${BUILD_DIR}" || die
745 +
746 + # Write API keys to disk
747 + echo -n "${MOZ_API_KEY_GOOGLE//gGaPi/}" > "${S}"/api-google.key || die
748 + echo -n "${MOZ_API_KEY_LOCATION//gGaPi/}" > "${S}"/api-location.key || die
749 + echo -n "${MOZ_API_KEY_MOZILLA//m0ap1/}" > "${S}"/api-mozilla.key || die
750 +
751 + xdg_src_prepare
752 +}
753 +
754 +src_configure() {
755 + # Show flags set at the beginning
756 + einfo "Current BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}"
757 + einfo "Current CFLAGS:\t\t${CFLAGS:-no value set}"
758 + einfo "Current CXXFLAGS:\t\t${CXXFLAGS:-no value set}"
759 + einfo "Current LDFLAGS:\t\t${LDFLAGS:-no value set}"
760 + einfo "Current RUSTFLAGS:\t\t${RUSTFLAGS:-no value set}"
761 +
762 + local have_switched_compiler=
763 + if use clang && ! tc-is-clang ; then
764 + # Force clang
765 + einfo "Enforcing the use of clang due to USE=clang ..."
766 + have_switched_compiler=yes
767 + AR=llvm-ar
768 + CC=${CHOST}-clang
769 + CXX=${CHOST}-clang++
770 + NM=llvm-nm
771 + RANLIB=llvm-ranlib
772 + elif ! use clang && ! tc-is-gcc ; then
773 + # Force gcc
774 + have_switched_compiler=yes
775 + einfo "Enforcing the use of gcc due to USE=-clang ..."
776 + AR=gcc-ar
777 + CC=${CHOST}-gcc
778 + CXX=${CHOST}-g++
779 + NM=gcc-nm
780 + RANLIB=gcc-ranlib
781 + fi
782 +
783 + if [[ -n "${have_switched_compiler}" ]] ; then
784 + # Because we switched active compiler we have to ensure
785 + # that no unsupported flags are set
786 + strip-unsupported-flags
787 + fi
788 +
789 + # Ensure we use correct toolchain
790 + export HOST_CC="$(tc-getBUILD_CC)"
791 + export HOST_CXX="$(tc-getBUILD_CXX)"
792 + tc-export CC CXX LD AR NM OBJDUMP RANLIB PKG_CONFIG
793 +
794 + # Pass the correct toolchain paths through cbindgen
795 + if tc-is-cross-compiler ; then
796 + export BINDGEN_CFLAGS="${SYSROOT:+--sysroot=${ESYSROOT}} --target=${CHOST} ${BINDGEN_CFLAGS-}"
797 + fi
798 +
799 + # Set MOZILLA_FIVE_HOME
800 + export MOZILLA_FIVE_HOME="/usr/$(get_libdir)/${PN}"
801 +
802 + # python/mach/mach/mixin/process.py fails to detect SHELL
803 + export SHELL="${EPREFIX}/bin/bash"
804 +
805 + # Set state path
806 + export MOZBUILD_STATE_PATH="${BUILD_DIR}"
807 +
808 + # Set MOZCONFIG
809 + export MOZCONFIG="${S}/.mozconfig"
810 +
811 + # Initialize MOZCONFIG
812 + mozconfig_add_options_ac '' --enable-application=browser
813 +
814 + # Set Gentoo defaults
815 + export MOZILLA_OFFICIAL=1
816 +
817 + mozconfig_add_options_ac 'Gentoo default' \
818 + --allow-addon-sideload \
819 + --disable-cargo-incremental \
820 + --disable-crashreporter \
821 + --disable-install-strip \
822 + --disable-strip \
823 + --disable-updater \
824 + --enable-official-branding \
825 + --enable-release \
826 + --enable-system-ffi \
827 + --enable-system-pixman \
828 + --host="${CBUILD:-${CHOST}}" \
829 + --libdir="${EPREFIX}/usr/$(get_libdir)" \
830 + --prefix="${EPREFIX}/usr" \
831 + --target="${CHOST}" \
832 + --without-ccache \
833 + --without-wasm-sandboxed-libraries \
834 + --with-intl-api \
835 + --with-libclang-path="$(llvm-config --libdir)" \
836 + --with-system-nspr \
837 + --with-system-nss \
838 + --with-system-zlib \
839 + --with-toolchain-prefix="${CHOST}-" \
840 + --with-unsigned-addon-scopes=app,system \
841 + --x-includes="${SYSROOT}${EPREFIX}/usr/include" \
842 + --x-libraries="${SYSROOT}${EPREFIX}/usr/$(get_libdir)"
843 +
844 + # Set update channel
845 + local update_channel=release
846 + [[ -n ${MOZ_ESR} ]] && update_channel=esr
847 + mozconfig_add_options_ac '' --update-channel=${update_channel}
848 +
849 + if ! use x86 && [[ ${CHOST} != armv*h* ]] ; then
850 + mozconfig_add_options_ac '' --enable-rust-simd
851 + fi
852 +
853 + if [[ -s "${S}/api-google.key" ]] ; then
854 + local key_origin="Gentoo default"
855 + if [[ $(cat "${S}/api-google.key" | md5sum | awk '{ print $1 }') != 709560c02f94b41f9ad2c49207be6c54 ]] ; then
856 + key_origin="User value"
857 + fi
858 +
859 + mozconfig_add_options_ac "${key_origin}" \
860 + --with-google-safebrowsing-api-keyfile="${S}/api-google.key"
861 + else
862 + einfo "Building without Google API key ..."
863 + fi
864 +
865 + if [[ -s "${S}/api-location.key" ]] ; then
866 + local key_origin="Gentoo default"
867 + if [[ $(cat "${S}/api-location.key" | md5sum | awk '{ print $1 }') != ffb7895e35dedf832eb1c5d420ac7420 ]] ; then
868 + key_origin="User value"
869 + fi
870 +
871 + mozconfig_add_options_ac "${key_origin}" \
872 + --with-google-location-service-api-keyfile="${S}/api-location.key"
873 + else
874 + einfo "Building without Location API key ..."
875 + fi
876 +
877 + if [[ -s "${S}/api-mozilla.key" ]] ; then
878 + local key_origin="Gentoo default"
879 + if [[ $(cat "${S}/api-mozilla.key" | md5sum | awk '{ print $1 }') != 3927726e9442a8e8fa0e46ccc39caa27 ]] ; then
880 + key_origin="User value"
881 + fi
882 +
883 + mozconfig_add_options_ac "${key_origin}" \
884 + --with-mozilla-api-keyfile="${S}/api-mozilla.key"
885 + else
886 + einfo "Building without Mozilla API key ..."
887 + fi
888 +
889 + mozconfig_use_with system-av1
890 + mozconfig_use_with system-harfbuzz
891 + mozconfig_use_with system-harfbuzz system-graphite2
892 + mozconfig_use_with system-icu
893 + mozconfig_use_with system-jpeg
894 + mozconfig_use_with system-libevent system-libevent "${SYSROOT}${EPREFIX}/usr"
895 + mozconfig_use_with system-libvpx
896 + mozconfig_use_with system-png
897 + mozconfig_use_with system-webp
898 +
899 + mozconfig_use_enable dbus
900 +
901 + use eme-free && mozconfig_add_options_ac '+eme-free' --disable-eme
902 +
903 + mozconfig_use_enable geckodriver
904 +
905 + if use hardened ; then
906 + mozconfig_add_options_ac "+hardened" --enable-hardening
907 + append-ldflags "-Wl,-z,relro -Wl,-z,now"
908 + fi
909 +
910 + mozconfig_use_enable jack
911 +
912 + mozconfig_use_enable pulseaudio
913 + # force the deprecated alsa sound code if pulseaudio is disabled
914 + if use kernel_linux && ! use pulseaudio ; then
915 + mozconfig_add_options_ac '-pulseaudio' --enable-alsa
916 + fi
917 +
918 + mozconfig_use_enable sndio
919 +
920 + mozconfig_use_enable wifi necko-wifi
921 +
922 + if use wayland ; then
923 + mozconfig_add_options_ac '+wayland' --enable-default-toolkit=cairo-gtk3-wayland
924 + else
925 + mozconfig_add_options_ac '' --enable-default-toolkit=cairo-gtk3
926 + fi
927 +
928 + if use lto ; then
929 + if use clang ; then
930 + # Upstream only supports lld when using clang
931 + mozconfig_add_options_ac "forcing ld=lld due to USE=clang and USE=lto" --enable-linker=lld
932 +
933 + mozconfig_add_options_ac '+lto' --enable-lto=cross
934 + else
935 + # ld.gold is known to fail:
936 + # /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
937 +
938 + # ThinLTO is currently broken, see bmo#1644409
939 + mozconfig_add_options_ac '+lto' --enable-lto=full
940 + mozconfig_add_options_ac "linker is set to bfd" --enable-linker=bfd
941 + fi
942 +
943 + if use pgo ; then
944 + mozconfig_add_options_ac '+pgo' MOZ_PGO=1
945 +
946 + if use clang ; then
947 + # Used in build/pgo/profileserver.py
948 + export LLVM_PROFDATA="llvm-profdata"
949 + fi
950 + fi
951 + else
952 + # Avoid auto-magic on linker
953 + if use clang ; then
954 + # This is upstream's default
955 + mozconfig_add_options_ac "forcing ld=lld due to USE=clang" --enable-linker=lld
956 + else
957 + mozconfig_add_options_ac "linker is set to bfd" --enable-linker=bfd
958 + fi
959 + fi
960 +
961 + # LTO flag was handled via configure
962 + filter-flags '-flto*'
963 +
964 + mozconfig_use_enable debug
965 + if use debug ; then
966 + mozconfig_add_options_ac '+debug' --disable-optimize
967 + else
968 + if is-flag '-g*' ; then
969 + if use clang ; then
970 + mozconfig_add_options_ac 'from CFLAGS' --enable-debug-symbols=$(get-flag '-g*')
971 + else
972 + mozconfig_add_options_ac 'from CFLAGS' --enable-debug-symbols
973 + fi
974 + else
975 + mozconfig_add_options_ac 'Gentoo default' --disable-debug-symbols
976 + fi
977 +
978 + if is-flag '-O0' ; then
979 + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O0
980 + elif is-flag '-O4' ; then
981 + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O4
982 + elif is-flag '-O3' ; then
983 + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O3
984 + elif is-flag '-O1' ; then
985 + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O1
986 + elif is-flag '-Os' ; then
987 + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-Os
988 + else
989 + mozconfig_add_options_ac "Gentoo default" --enable-optimize=-O2
990 + fi
991 + fi
992 +
993 + # Debug flag was handled via configure
994 + filter-flags '-g*'
995 +
996 + # Optimization flag was handled via configure
997 + filter-flags '-O*'
998 +
999 + # Modifications to better support ARM, bug #553364
1000 + if use cpu_flags_arm_neon ; then
1001 + mozconfig_add_options_ac '+cpu_flags_arm_neon' --with-fpu=neon
1002 +
1003 + if ! tc-is-clang ; then
1004 + # thumb options aren't supported when using clang, bug 666966
1005 + mozconfig_add_options_ac '+cpu_flags_arm_neon' \
1006 + --with-thumb=yes \
1007 + --with-thumb-interwork=no
1008 + fi
1009 + fi
1010 +
1011 + if [[ ${CHOST} == armv*h* ]] ; then
1012 + mozconfig_add_options_ac 'CHOST=armv*h*' --with-float-abi=hard
1013 +
1014 + if ! use system-libvpx ; then
1015 + sed -i \
1016 + -e "s|softfp|hard|" \
1017 + "${S}"/media/libvpx/moz.build \
1018 + || die
1019 + fi
1020 + fi
1021 +
1022 + if use clang ; then
1023 + # https://bugzilla.mozilla.org/show_bug.cgi?id=1482204
1024 + # https://bugzilla.mozilla.org/show_bug.cgi?id=1483822
1025 + # toolkit/moz.configure Elfhack section: target.cpu in ('arm', 'x86', 'x86_64')
1026 + local disable_elf_hack=
1027 + if use amd64 ; then
1028 + disable_elf_hack=yes
1029 + elif use x86 ; then
1030 + disable_elf_hack=yes
1031 + elif use arm ; then
1032 + disable_elf_hack=yes
1033 + fi
1034 +
1035 + if [[ -n ${disable_elf_hack} ]] ; then
1036 + mozconfig_add_options_ac 'elf-hack is broken when using Clang' --disable-elf-hack
1037 + fi
1038 + elif tc-is-gcc ; then
1039 + if ver_test $(gcc-fullversion) -ge 10 ; then
1040 + einfo "Forcing -fno-tree-loop-vectorize to workaround GCC bug, see bug 758446 ..."
1041 + append-cxxflags -fno-tree-loop-vectorize
1042 + fi
1043 + fi
1044 +
1045 + # Additional ARCH support
1046 + case "${ARCH}" in
1047 + arm)
1048 + # Reduce the memory requirements for linking
1049 + if use clang ; then
1050 + # Nothing to do
1051 + :;
1052 + elif tc-ld-is-gold || use lto ; then
1053 + append-ldflags -Wl,--no-keep-memory
1054 + else
1055 + append-ldflags -Wl,--no-keep-memory -Wl,--reduce-memory-overheads
1056 + fi
1057 + ;;
1058 + esac
1059 +
1060 + if ! use elibc_glibc ; then
1061 + mozconfig_add_options_ac '!elibc_glibc' --disable-jemalloc
1062 + fi
1063 +
1064 + # Allow elfhack to work in combination with unstripped binaries
1065 + # when they would normally be larger than 2GiB.
1066 + append-ldflags "-Wl,--compress-debug-sections=zlib"
1067 +
1068 + # Make revdep-rebuild.sh happy; Also required for musl
1069 + append-ldflags -Wl,-rpath="${MOZILLA_FIVE_HOME}",--enable-new-dtags
1070 +
1071 + # Pass $MAKEOPTS to build system
1072 + export MOZ_MAKE_FLAGS="${MAKEOPTS}"
1073 +
1074 + # Use system's Python environment
1075 + export MACH_USE_SYSTEM_PYTHON=1
1076 + export PIP_NO_CACHE_DIR=off
1077 +
1078 + # Disable notification when build system has finished
1079 + export MOZ_NOSPAM=1
1080 +
1081 + # Portage sets XARGS environment variable to "xargs -r" by default which
1082 + # breaks build system's check_prog() function which doesn't support arguments
1083 + mozconfig_add_options_ac 'Gentoo default' "XARGS=${EPREFIX}/usr/bin/xargs"
1084 +
1085 + # Set build dir
1086 + mozconfig_add_options_mk 'Gentoo default' "MOZ_OBJDIR=${BUILD_DIR}"
1087 +
1088 + # Show flags we will use
1089 + einfo "Build BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}"
1090 + einfo "Build CFLAGS:\t\t${CFLAGS:-no value set}"
1091 + einfo "Build CXXFLAGS:\t\t${CXXFLAGS:-no value set}"
1092 + einfo "Build LDFLAGS:\t\t${LDFLAGS:-no value set}"
1093 + einfo "Build RUSTFLAGS:\t\t${RUSTFLAGS:-no value set}"
1094 +
1095 + # Handle EXTRA_CONF and show summary
1096 + local ac opt hash reason
1097 +
1098 + # Apply EXTRA_ECONF entries to $MOZCONFIG
1099 + if [[ -n ${EXTRA_ECONF} ]] ; then
1100 + IFS=\! read -a ac <<<${EXTRA_ECONF// --/\!}
1101 + for opt in "${ac[@]}"; do
1102 + mozconfig_add_options_ac "EXTRA_ECONF" --${opt#--}
1103 + done
1104 + fi
1105 +
1106 + echo
1107 + echo "=========================================================="
1108 + echo "Building ${PF} with the following configuration"
1109 + grep ^ac_add_options "${MOZCONFIG}" | while read ac opt hash reason; do
1110 + [[ -z ${hash} || ${hash} == \# ]] \
1111 + || die "error reading mozconfig: ${ac} ${opt} ${hash} ${reason}"
1112 + printf " %-30s %s\n" "${opt}" "${reason:-mozilla.org default}"
1113 + done
1114 + echo "=========================================================="
1115 + echo
1116 +
1117 + ./mach configure || die
1118 +}
1119 +
1120 +src_compile() {
1121 + local virtx_cmd=
1122 +
1123 + if use pgo ; then
1124 + virtx_cmd=virtx
1125 +
1126 + # Reset and cleanup environment variables used by GNOME/XDG
1127 + gnome2_environment_reset
1128 +
1129 + addpredict /root
1130 + fi
1131 +
1132 + local -x GDK_BACKEND=x11
1133 +
1134 + ${virtx_cmd} ./mach build --verbose \
1135 + || die
1136 +}
1137 +
1138 +src_install() {
1139 + # xpcshell is getting called during install
1140 + pax-mark m \
1141 + "${BUILD_DIR}"/dist/bin/xpcshell \
1142 + "${BUILD_DIR}"/dist/bin/${PN} \
1143 + "${BUILD_DIR}"/dist/bin/plugin-container
1144 +
1145 + DESTDIR="${D}" ./mach install || die
1146 +
1147 + # Upstream cannot ship symlink but we can (bmo#658850)
1148 + rm "${ED}${MOZILLA_FIVE_HOME}/${PN}-bin" || die
1149 + dosym ${PN} ${MOZILLA_FIVE_HOME}/${PN}-bin
1150 +
1151 + # Don't install llvm-symbolizer from sys-devel/llvm package
1152 + if [[ -f "${ED}${MOZILLA_FIVE_HOME}/llvm-symbolizer" ]] ; then
1153 + rm -v "${ED}${MOZILLA_FIVE_HOME}/llvm-symbolizer" || die
1154 + fi
1155 +
1156 + # Install policy (currently only used to disable application updates)
1157 + insinto "${MOZILLA_FIVE_HOME}/distribution"
1158 + newins "${FILESDIR}"/distribution.ini distribution.ini
1159 + newins "${FILESDIR}"/disable-auto-update.policy.json policies.json
1160 +
1161 + # Install system-wide preferences
1162 + local PREFS_DIR="${MOZILLA_FIVE_HOME}/browser/defaults/preferences"
1163 + insinto "${PREFS_DIR}"
1164 + newins "${FILESDIR}"/gentoo-default-prefs.js gentoo-prefs.js
1165 +
1166 + local GENTOO_PREFS="${ED}${PREFS_DIR}/gentoo-prefs.js"
1167 +
1168 + # Set dictionary path to use system hunspell
1169 + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set spellchecker.dictionary_path pref"
1170 + pref("spellchecker.dictionary_path", "${EPREFIX}/usr/share/myspell");
1171 + EOF
1172 +
1173 + # Force hwaccel prefs if USE=hwaccel is enabled
1174 + if use hwaccel ; then
1175 + cat "${FILESDIR}"/gentoo-hwaccel-prefs.js \
1176 + >>"${GENTOO_PREFS}" \
1177 + || die "failed to add prefs to force hardware-accelerated rendering to all-gentoo.js"
1178 + fi
1179 +
1180 + if ! use gmp-autoupdate ; then
1181 + local plugin
1182 + for plugin in "${MOZ_GMP_PLUGIN_LIST[@]}" ; do
1183 + einfo "Disabling auto-update for ${plugin} plugin ..."
1184 + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to disable autoupdate for ${plugin} media plugin"
1185 + pref("media.${plugin}.autoupdate", false);
1186 + EOF
1187 + done
1188 + fi
1189 +
1190 + # Force the graphite pref if USE=system-harfbuzz is enabled, since the pref cannot disable it
1191 + if use system-harfbuzz ; then
1192 + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set gfx.font_rendering.graphite.enabled pref"
1193 + sticky_pref("gfx.font_rendering.graphite.enabled", true);
1194 + EOF
1195 + fi
1196 +
1197 + # Install language packs
1198 + local langpacks=( $(find "${WORKDIR}/language_packs" -type f -name '*.xpi') )
1199 + if [[ -n "${langpacks}" ]] ; then
1200 + moz_install_xpi "${MOZILLA_FIVE_HOME}/distribution/extensions" "${langpacks[@]}"
1201 + fi
1202 +
1203 + # Install geckodriver
1204 + if use geckodriver ; then
1205 + einfo "Installing geckodriver into ${ED}${MOZILLA_FIVE_HOME} ..."
1206 + pax-mark m "${BUILD_DIR}"/dist/bin/geckodriver
1207 + exeinto "${MOZILLA_FIVE_HOME}"
1208 + doexe "${BUILD_DIR}"/dist/bin/geckodriver
1209 +
1210 + dosym ${MOZILLA_FIVE_HOME}/geckodriver /usr/bin/geckodriver
1211 + fi
1212 +
1213 + # Install icons
1214 + local icon_srcdir="${S}/browser/branding/official"
1215 + local icon_symbolic_file="${FILESDIR}/icon/firefox-symbolic.svg"
1216 +
1217 + insinto /usr/share/icons/hicolor/symbolic/apps
1218 + newins "${icon_symbolic_file}" ${PN}-symbolic.svg
1219 +
1220 + local icon size
1221 + for icon in "${icon_srcdir}"/default*.png ; do
1222 + size=${icon%.png}
1223 + size=${size##*/default}
1224 +
1225 + if [[ ${size} -eq 48 ]] ; then
1226 + newicon "${icon}" ${PN}.png
1227 + fi
1228 +
1229 + newicon -s ${size} "${icon}" ${PN}.png
1230 + done
1231 +
1232 + # Install menu
1233 + local app_name="Mozilla ${MOZ_PN^}"
1234 + local desktop_file="${FILESDIR}/icon/${PN}-r3.desktop"
1235 + local desktop_filename="${PN}.desktop"
1236 + local exec_command="${PN}"
1237 + local icon="${PN}"
1238 + local use_wayland="false"
1239 +
1240 + if use wayland ; then
1241 + use_wayland="true"
1242 + fi
1243 +
1244 + cp "${desktop_file}" "${WORKDIR}/${PN}.desktop-template" || die
1245 +
1246 + sed -i \
1247 + -e "s:@NAME@:${app_name}:" \
1248 + -e "s:@EXEC@:${exec_command}:" \
1249 + -e "s:@ICON@:${icon}:" \
1250 + "${WORKDIR}/${PN}.desktop-template" \
1251 + || die
1252 +
1253 + newmenu "${WORKDIR}/${PN}.desktop-template" "${desktop_filename}"
1254 +
1255 + rm "${WORKDIR}/${PN}.desktop-template" || die
1256 +
1257 + # Install wrapper script
1258 + [[ -f "${ED}/usr/bin/${PN}" ]] && rm "${ED}/usr/bin/${PN}"
1259 + newbin "${FILESDIR}/${PN}-r1.sh" ${PN}
1260 +
1261 + # Update wrapper
1262 + sed -i \
1263 + -e "s:@PREFIX@:${EPREFIX}/usr:" \
1264 + -e "s:@MOZ_FIVE_HOME@:${MOZILLA_FIVE_HOME}:" \
1265 + -e "s:@APULSELIB_DIR@:${apulselib}:" \
1266 + -e "s:@DEFAULT_WAYLAND@:${use_wayland}:" \
1267 + "${ED}/usr/bin/${PN}" \
1268 + || die
1269 +}
1270 +
1271 +pkg_preinst() {
1272 + xdg_pkg_preinst
1273 +
1274 + # If the apulse libs are available in MOZILLA_FIVE_HOME then apulse
1275 + # does not need to be forced into the LD_LIBRARY_PATH
1276 + if use pulseaudio && has_version ">=media-sound/apulse-0.1.12-r4" ; then
1277 + einfo "APULSE found; Generating library symlinks for sound support ..."
1278 + local lib
1279 + pushd "${ED}${MOZILLA_FIVE_HOME}" &>/dev/null || die
1280 + for lib in ../apulse/libpulse{.so{,.0},-simple.so{,.0}} ; do
1281 + # A quickpkg rolled by hand will grab symlinks as part of the package,
1282 + # so we need to avoid creating them if they already exist.
1283 + if [[ ! -L ${lib##*/} ]] ; then
1284 + ln -s "${lib}" ${lib##*/} || die
1285 + fi
1286 + done
1287 + popd &>/dev/null || die
1288 + fi
1289 +}
1290 +
1291 +pkg_postinst() {
1292 + xdg_pkg_postinst
1293 +
1294 + if ! use gmp-autoupdate ; then
1295 + elog "USE='-gmp-autoupdate' has disabled the following plugins from updating or"
1296 + elog "installing into new profiles:"
1297 + local plugin
1298 + for plugin in "${MOZ_GMP_PLUGIN_LIST[@]}" ; do
1299 + elog "\t ${plugin}"
1300 + done
1301 + elog
1302 + fi
1303 +
1304 + if use pulseaudio && has_version ">=media-sound/apulse-0.1.12-r4" ; then
1305 + elog "Apulse was detected at merge time on this system and so it will always be"
1306 + elog "used for sound. If you wish to use pulseaudio instead please unmerge"
1307 + elog "media-sound/apulse."
1308 + elog
1309 + fi
1310 +
1311 + local show_doh_information
1312 + local show_normandy_information
1313 + local show_shortcut_information
1314 +
1315 + if [[ -z "${REPLACING_VERSIONS}" ]] ; then
1316 + # New install; Tell user that DoH is disabled by default
1317 + show_doh_information=yes
1318 + show_normandy_information=yes
1319 + show_shortcut_information=no
1320 + else
1321 + local replacing_version
1322 + for replacing_version in ${REPLACING_VERSIONS} ; do
1323 + if ver_test "${replacing_version}" -lt 91.0 ; then
1324 + # Tell user that we no longer install a shortcut
1325 + # per supported display protocol
1326 + show_shortcut_information=yes
1327 + fi
1328 + done
1329 + fi
1330 +
1331 + if [[ -n "${show_doh_information}" ]] ; then
1332 + elog
1333 + elog "Note regarding Trusted Recursive Resolver aka DNS-over-HTTPS (DoH):"
1334 + elog "Due to privacy concerns (encrypting DNS might be a good thing, sending all"
1335 + elog "DNS traffic to Cloudflare by default is not a good idea and applications"
1336 + elog "should respect OS configured settings), \"network.trr.mode\" was set to 5"
1337 + elog "(\"Off by choice\") by default."
1338 + elog "You can enable DNS-over-HTTPS in ${PN^}'s preferences."
1339 + fi
1340 +
1341 + # bug 713782
1342 + if [[ -n "${show_normandy_information}" ]] ; then
1343 + elog
1344 + elog "Upstream operates a service named Normandy which allows Mozilla to"
1345 + elog "push changes for default settings or even install new add-ons remotely."
1346 + elog "While this can be useful to address problems like 'Armagadd-on 2.0' or"
1347 + elog "revert previous decisions to disable TLS 1.0/1.1, privacy and security"
1348 + elog "concerns prevail, which is why we have switched off the use of this"
1349 + elog "service by default."
1350 + elog
1351 + elog "To re-enable this service set"
1352 + elog
1353 + elog " app.normandy.enabled=true"
1354 + elog
1355 + elog "in about:config."
1356 + fi
1357 +
1358 + if [[ -n "${show_shortcut_information}" ]] ; then
1359 + elog
1360 + elog "Since ${PN}-91.0 we no longer install multiple shortcuts for"
1361 + elog "each supported display protocol. Instead we will only install"
1362 + elog "one generic Mozilla ${PN^} shortcut."
1363 + elog "If you still want to be able to select between running Mozilla ${PN^}"
1364 + elog "on X11 or Wayland, you have to re-create these shortcuts on your own."
1365 + fi
1366 +}