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: Thu, 20 Jan 2022 10:30:15
Message-Id: 1642674603.c4a62db759c036130b483f9a544820e52c5fbfa2.juippis@gentoo
1 commit: c4a62db759c036130b483f9a544820e52c5fbfa2
2 Author: Joonas Niilola <juippis <AT> gentoo <DOT> org>
3 AuthorDate: Thu Jan 20 10:29:26 2022 +0000
4 Commit: Joonas Niilola <juippis <AT> gentoo <DOT> org>
5 CommitDate: Thu Jan 20 10:30:03 2022 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c4a62db7
7
8 www-client/firefox: add 96.0.2
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.2.ebuild | 1239 ++++++++++++++++++++++++++++++
14 2 files changed, 1338 insertions(+)
15
16 diff --git a/www-client/firefox/Manifest b/www-client/firefox/Manifest
17 index 3fb7c26bb94d..41d39e8425aa 100644
18 --- a/www-client/firefox/Manifest
19 +++ b/www-client/firefox/Manifest
20 @@ -98,6 +98,7 @@ DIST firefox-91.5.0esr-zh-TW.xpi 576219 BLAKE2B f41e203e52e2bc1ca0b8e81229c435ca
21 DIST firefox-91.5.0esr.source.tar.xz 381371300 BLAKE2B 21b25ded0d0541d2a5c0964ffe5e28a3b238b5dac1c0969383f8a41cb6a0fff8522c4ccfbd1cd309a5c52be9377ca9af446949dd3d9923cf36ce0e6603ff520a SHA512 1712415b6b73c6a21edfefc39eaba5fcbbca54032f78627c0005d291501d16ef4daffb8b9a160d1d5361113ceba04eb5ddb21d903e3dd8d58838aa9596f2d781
22 DIST firefox-91esr-patches-04.tar.xz 17460 BLAKE2B 305d8b0bc8a4115a76e459afd8bc7987bdde2e76d4564faf664a92a4c6a95c975ce599c5ddde9bdafc3c37ca5c8758e0ef815364d0ce4dd5fd452ddae73a77eb SHA512 6073b31bb898fe61d72435b11deacb5e93a1744227e4704bb3012e0cb363792f3a965d72e7769c4aae3a25f0c81247b287ce145c81bbd0a87470a5438fede11e
23 DIST firefox-96-patches-01.tar.xz 16660 BLAKE2B 006d1b0b98858fa2961a99972dd255736598bda949ca484b9ec3d91628a4c976ba0738b1fb8fbfccd0be0f175caecfbcdc7c54a091eda5352fc9a42b37699c93 SHA512 82f77648e322e71694cbaa1e3ad77fca70418fbdb1cfe9a4bfd94ca6e286bcd86bef0a559cafa8b673a2e90da77bff8b7d07bbdda8a44795bd8d2cd210cf1ebf
24 +DIST firefox-96-patches-02j.tar.xz 16944 BLAKE2B ab4f828262155c1aa83776c8f8af587730358513ce976dff1cce8d9e1757dc764c465b3a81f6b8d8a52ae952778e23ce946c3e0d1b7c4edac0aa707b6a1b8001 SHA512 090227fa8b06e7535947a6490dc0b93f61e3079add5eda7bf1d3df84ace578f26b0c656d0c6e88c1aa8794c9e14ee4957124682fe8794ca9e52c038ee8076229
25 DIST firefox-96.0.1-ach.xpi 451197 BLAKE2B e4c58d71757ae4cd079ea3f6ec25eb4988d019235748b5bfe864d49bbfc70f801243ab274de7aa763286f09badbfbfee2d738ff991fd3ec7dafb670825302d4e SHA512 5d3b696292926c622469c11b395f09ee4978314fc9f34623c697c7877666efea1f9547f77794fa54a3801b2835ba82178f66da0253906cff7ed7f6c39e63cac3
26 DIST firefox-96.0.1-af.xpi 420330 BLAKE2B a2fe5e56aadb8ea082a8b525e57f135cda658240c5e47de559a2a7c5318d2a9d9c1f590def2d20953e9ccc2cc4dc8752f45d8ddcb2e70012d88abb839adcc0bb SHA512 012e4ebf71d7d0d795441377583428b7a9f8cf9c1ca19b7b8ff91daec0807223d1fb1285faaa24dbf478f164f01422a3a1452cbb26db5947cbb64f267ac30b4f
27 DIST firefox-96.0.1-an.xpi 499443 BLAKE2B 3005e13c52694bacaf8907d7e52abf4155b6f2d62508d703011023e9c9dd3f6b44da1cc2428afa2e9d20489d22dc7de253018734a824e1c2b9e05e7e8243bdf2 SHA512 9c7af56541499b499486cc9dc373ec6334924d9fc9c5e3acc867560e948b9d5061cc05012a012c4785f083139dc330e32d661cfe10de4da15fda5e5d414b7f5d
28 @@ -196,3 +197,101 @@ DIST firefox-96.0.1-xh.xpi 423453 BLAKE2B 2a7dbad9532525fb8480b5b2cd065349b83e1e
29 DIST firefox-96.0.1-zh-CN.xpi 575689 BLAKE2B f6d89a03d706ef9562e573640e47b4f3f7febdeed8b76769cbfbcd63a126bdf212595b7a9dce77bfede370393e63f9796c73cd692e72c1ad6559dcdb72e45cbd SHA512 2f44be124ea4a92b7ce4203bfb107eeb3f269f4e9bbfef446fcb15be7353952981736ed2308cd7f1781272d5ee3c314dceb85f4d79b96b5e3c9d7433ad6bcfb1
30 DIST firefox-96.0.1-zh-TW.xpi 576799 BLAKE2B 5d42e49e8c8f96bb858bffb4fb7ed9996d990235edd6e700f736ec31e89a06457871d008f362e5241dd193e0972e3b8525150e4aacfa176cf9e22e7eb90f4650 SHA512 8b7ed347c69d35c2135da15b77bcc83fb0f0a929e263c166fce9b69ec379bcf61fa18f85c6f1bb1320842e94fc5f61a7cf26bd4998b6978ffd35c89ab3d9b4e6
31 DIST firefox-96.0.1.source.tar.xz 410542376 BLAKE2B b9b8229db62f3a4f6b79a26e79da6d003edb50f2b9df9594ab49c14221ea3b4999e6bb2ae92d129e7e13476d6ebcf031e3b18b9cb768e5885759e384f3a9c6ff SHA512 c0d2ccf9ca930def63dcb9dc269e47f60fd4bbbdcbc01463df0c30e11109a543e310fb36f2334d17b90cb9c96b8dcdd97d0e2d6c589a779de5e4f197c052f9a5
32 +DIST firefox-96.0.2-ach.xpi 452220 BLAKE2B e82f947a963bcc022b943bae0bce2fe7debb11616cb1e7a9d6174ea9b5f0957d0924700e9979f6962b8878df643c6013ae8cc615e384248f254d7d72d87a6464 SHA512 9da5f949b4651d57112c5aba747630f786c852ea4f1526b46fc599e0215bc3f905cf8695a1e01c9f3831bf2cfb058d709cc13caf9326d42c35ab4a74c4f8d2e2
33 +DIST firefox-96.0.2-af.xpi 421361 BLAKE2B e9fd6ba6dffe11a5066908d1ebe3dc8d76a463fb79277866e3fe41ae2da8c1d990180fb3530f003ef342f4d0beaa2af2e220deebab0d708310f814c71a13bac1 SHA512 66c9264309c8de2440265e29f6e47b97ff36052b43bea046f302053e331035e408041d58b681a0647ba36ec4d6f1c8a19bc024cd7c3e5a7279daa40315f2ea20
34 +DIST firefox-96.0.2-an.xpi 500478 BLAKE2B bcc90e6fe51ef6da9f2e935560c0f30073113813e6b54f66eda799133b01c0583dec4fe3eba7a46742df2d54199d27da7d59ddd05c5d2fae5fd61a0f3b51b702 SHA512 8b3d05fb0562b451fa14ab777002b7ea05cf08d96ddcfa98c69916823a883f132263523a5bafcde9bfb0d4bd5166e70b0a6e8d5b48c47eef1cb5c35438eb0838
35 +DIST firefox-96.0.2-ar.xpi 560669 BLAKE2B a2fc056a842ebac12c9bbb591d752a0515d1e34ecfa5b522e2ea15f30aab0bd10b81b1bb373487e8021db12f96362bf82ae979e72e4c4e3d80e7a5d138f674d5 SHA512 f2a9fcdb04fbbd5297649ae516832c624270074e5a444de040ac45486461e95535a7eb0d93598d38b981636c4f5b073f46f62b9196084d1614d44b968daf0af5
36 +DIST firefox-96.0.2-ast.xpi 497767 BLAKE2B f49b1e87f652a4ee787f2360c69bd66ccc73532df444b1c45a551edf5c6ef2161743a525a7e75178bb4921c57a080986d693da51c3dae2bcf296ee2e1352d00e SHA512 6f84ea79da8f6e91c9870abf6254fef34d1aa8f33ab814f6c8c701dda9558bf28396abe84f086ff6b873dff573135122ae9476f7a978aea9f57d4adabc448cdb
37 +DIST firefox-96.0.2-az.xpi 488173 BLAKE2B 0d2f9f8a54a2fd3aad167700ca9f4ca601de90ddd7400fe12cd5ed896a6a258a9d675ae463f3534c071b72253c295f2b737b07d5ac898c5f0b3e47424ac23fb5 SHA512 4fd3ef86c19caf8967b8d07f4078b3e009848efa3f462666cd8b2a0d18856b76f8d8dc344c8d30569ed93eabfdebf456c9dccfc0c12efa625322f25854f0b0b5
38 +DIST firefox-96.0.2-be.xpi 621945 BLAKE2B 8e22ea8531b78a92ef96f38bc9eb1e5914650ed75da002c1df99cd261d95528017cc035ae58c76132583c0c98b9a4beefa3a1914ea0c909049b6d9c395df568d SHA512 f7cac6359ab0242e3f39308aa215913ca93436a5d7435c41603de7ef57428699fe7565e1fcef466e921f3976e795064d62c11135f653556f4ac388262d4de49e
39 +DIST firefox-96.0.2-bg.xpi 567714 BLAKE2B fed6c55629dfe0c7c10dff57ff69dcbde364e0fd080ea23a2534beaa058bca7389d9374c6105f57f11b286465ee82fe1ba8f1b36e8d7f89a79eaa901889f5bc0 SHA512 a84b29e3c51d797acb1cfc870e764e054f19547bcf944a55e67ad7d3f79595847d3a1f03de57304fad03e64f982eea124650053b9662f08c2201abd45dbbbbf0
40 +DIST firefox-96.0.2-bn.xpi 557060 BLAKE2B c2e2ef2836686e9253560164974eb0587ebc2fc440ad9f0a71a05fc01e8f58ffac2f361a62ef9989e0431c6959deaa7e1287fad109e814316deeafc9780aa70c SHA512 ccc1a8362371955b328f417c72689fa8c2c56b842a606d2b1830eaa3a3446dd9267ba74723c4b327cbdb2576642a890d3fe170439a82cc1056d9dc74ca24347b
41 +DIST firefox-96.0.2-br.xpi 527912 BLAKE2B ed6745aeabf84e616d9f2506a7a01d038748816287b6306ed9b60accd6e1adce01d7bdd8029b2159c370d588b9de613e5e0df6b2311fc455068a3c276b1773a3 SHA512 e5a6359d2da60b4118ca965c1e6440e19b1caf0db8b93be18778169a1fff0cd4e3d99a4b8bc90d5f1b10b7e25e257f4f9a6432540f753415cb4a7632a12dee16
42 +DIST firefox-96.0.2-bs.xpi 463270 BLAKE2B 6a936b354a727943e29396650c7480063faafbe975823d3d062ee051b380b55b47d46d5b3dac789b7e84be4e9f2bf3e7e7018523dcc292f426b51663eac3f24c SHA512 50b6fff8f6c79d4039fd1a613a6f1a3291a7bc124b7ec6bfe05e7434148d999e3f392c32cda3848414ae58731a705d970faf0d5ee6140f9977d3dbce0fdc5237
43 +DIST firefox-96.0.2-ca-valencia.xpi 539682 BLAKE2B 85114076778ba5b071da02ff910c03c5cb9743e011c05793e893d710df3c1e2179c2919dcfb60f275538059aadede693bc91719c097d7c257a956430f88273d5 SHA512 2a1829cb8173866559be1331d79a18265e42131ba6ad64e95f6ca6a81a237d0f5c6c822498067eb0744898f82c68914b25c05873b69cf1659f2618aaad043772
44 +DIST firefox-96.0.2-ca.xpi 532328 BLAKE2B 45ea56c5d2ade94089ba6b1cff374afa2907baa0cba6ac7d99498c345a7fee3871d5eb41f302cdc05439a4dce76e6b65d3e046db0110e7c8935912cd98a9c046 SHA512 e5bc55421ccd7948ad8af88572100af8a69f74411e0a1e76d72c2e1d9de51a7bfe3c4399bffaf0b6f5cf130b156b386541bff8107e54560cd2cd632cc2e92905
45 +DIST firefox-96.0.2-cak.xpi 554170 BLAKE2B 1829b8bce4c944dd11b15dcdbeaa2e1da9bcdb00cd958cac0ad64994c9598a7fa45304ba112d9983ab948763c1d8310d4519be267bb56ebf3aec40aea0adb0d9 SHA512 e4e4aa71679a8d6aecb5dccda0b06430c04427fdbac86ce97b09a2f489fad6570f06b85d51e8761a60a3cc922414f51140d7a947a1c72fbdff21a9d18fd96b63
46 +DIST firefox-96.0.2-cs.xpi 564609 BLAKE2B e64fa25ad47d47cb949c3074350c6be31e33316821f880743ad4216a3863a902317a5cdc222dd95a24235e6c7c17f99e6f5c8ab3e74240f4ce81f2f628de9bf2 SHA512 cb57be88f1a7bee95b43417485ea7f2af3ea21251430f52f101c8d655d61ca01d6075cc1ab964a1f1ad03864fc298a378e58e7f4a056cbcc8393646f717e94b8
47 +DIST firefox-96.0.2-cy.xpi 543957 BLAKE2B c017505788878cc15edcdb856f7c57e965eec49334b8daab0c78543097bc8334d0cfea1a687612cf56357a39a3515e25b2ae92ae51570f97cbdfdb81c5d92d42 SHA512 8a3341f609b78f4e2f2889ee8eee8a3c80c6a38249651aacb4aeea39c3c6bc756d165d48d01f99c2439c87873b6a7e5cb6b2c25e67f6662dc796287408f7abca
48 +DIST firefox-96.0.2-da.xpi 534872 BLAKE2B 48b0194316a688adf3911ad64685cb1cd633ce17aa117cd3b3ec92316eae8444282a2ff1d7b3dfe273fa4d3296fd4036d7f91522ae9b7f68f36241776d98f080 SHA512 1d391420c5df75bf91d70480e7c877a478af742aaa2345035bf1e714022769e5b4308926495e572b33d527bf23a9df4d52e5eb5e65dcc2c6dbab28cd532e1ce3
49 +DIST firefox-96.0.2-de.xpi 555199 BLAKE2B fb44d36cca18c28500aa1a04e0f91d9641b465e3a7530e20af2ee90c62401b926f6bfb35a6fcf28f536e12d3ef04ffaa7e41319576f676a8363fa326a14380d7 SHA512 92d6d047dd0bce5b791ca0314b079edde73eff462237895d5965729c18fdf9b2c03c5ea242034e1cd858175345d3e2fbc7806c4aa1d450de2a50f8dbc9c346bd
50 +DIST firefox-96.0.2-dsb.xpi 568059 BLAKE2B 919b5b467cc6b66a17438dfabf4bd70bddd755d3e0ec73f96b3abb3d707e689d21b60c451a31c88b0edf7ab00c949215fe68c2f527f80117be003380095c2b82 SHA512 fd4297ccac7c23487db9a14495ac37c2bd7c068624e9d255ca2236cea06de8be3bb6af5e6c61c3a1d133878c7a9cc6ce3b6414bda924f22a957a99c6499b69e3
51 +DIST firefox-96.0.2-el.xpi 639301 BLAKE2B 5c1418ed190ef9b97ad8225f6ba9d7892d5c54c9f174506ea5ff9771f1f5b2367d47db9b7604816fe180ddfab1b1d20d420a6b5a82c47d852260cf0966d340c6 SHA512 9e5e9fc3bff89e55d457c525c64d0cd79546d99b7234c753368dce647d53f9a9d3c8305b72b5ae6844d91a23872146542e8c4cbd203031fd33bdd88b4ee19862
52 +DIST firefox-96.0.2-en-CA.xpi 511582 BLAKE2B 5574cade92d1885d03b72e04a6e4278bdc1e4968550b92de063c297986756bb6a38c39262392954c552560e83edcd816661b79d01ab0d70b88177af572d6310f SHA512 e6cc388555b81e1605858ad48dc5856cef6cffcb2d0d9a6b87af538e237ce5c3fa7a3b7513457b3f158d3fd4a2c531df12736c261f738d71e77dd1f826f82e5f
53 +DIST firefox-96.0.2-en-GB.xpi 512299 BLAKE2B 6245c8cd81307d7f45c181fb530baf97b61759f39fde85f1f86ffcf3aa4053de6b70a286ce15744bb89b62d7d4e60f9e6d02638f48a9f9841ef12264e1f754bd SHA512 aef735767007e91d37c3ee12315055dcc3f61c878f311ad91112cdb547f6b7ba5498f1f427a8572b86008f5e3943ec6085444ecaf11fc9a4c73c9034a99e8c52
54 +DIST firefox-96.0.2-eo.xpi 536251 BLAKE2B 841b57be4888b7db99a977424aa9a9dd9a8e3a5e3ba7e6cd13da5261183626fb2344325dc533e8a586dc5bf4d00ef02fdc0fa9c90fd5b826ab0f68343defe759 SHA512 d2313af5ca58c932edea84623112ccb9f71218a090fafbe69d4d8f16eb08432475297e8e29adcee3bdc9b1b6753ac96bcd72cbf903936faddbc493ce63e4b679
55 +DIST firefox-96.0.2-es-AR.xpi 548530 BLAKE2B fd8b500cb93cb75b6ea6724b354a019781306e5b19e80af6491c822f60607039079cf64163aebb4cc04d0b744b9676bf8a650bef37c3cd3283f214681a856ee6 SHA512 e05f63faa56985d176583aaa3f0819cdc3933362c1be52e6984f883aff60e90fa18e3fa49a8df825a297ae66455da73beb2589fc1467dec7cda68fe3ab7c899e
56 +DIST firefox-96.0.2-es-CL.xpi 547893 BLAKE2B 0e35e2d6c7850fe79786b576d0750c073f797f778d59355b06cf07e334349b1574b1c60ce0942052fc85b0c5bbc85b2512c7ecd7913c04e3c894c0685aafe6a2 SHA512 0d316db10a2af47fbda48c660e0d87bd15a4af62fc4f8314b83aa8a39b978385b757992ecf472cc9240acb7f6b6c4986ab5bc4340384dbffaf55f69fc3ce7808
57 +DIST firefox-96.0.2-es-ES.xpi 538753 BLAKE2B 08270fc57dd22bfe07487669c2cb46f420e1f159d82abd5634115f7dd642656725e4273abbcdf1a402a2e7e42dc1f83f5752d4b16df40cdf48972d0798f20fbd SHA512 f9c20c258bd1d2a19f571e228d858a4b593de2275ddad070d03f56846b55464f6ae8a3445c64d650129ab8493fc2227820bf1f401176619f329c5c2c9d175a06
58 +DIST firefox-96.0.2-es-MX.xpi 551750 BLAKE2B 5e2c73a117e9bdd4f2a9cda97a9bab30fbbc2f4160f2280bfc5db21cc2ac2ee6091ba8cf78cea39f5d52c11b725d873d6b1a903228c615cf7bd68f1f03def804 SHA512 b96540a06a80457bf97e27bd8184658b128ea1da36d3d09c3676ecfd018a561df35da77f6d98cb3600eb52e8149c6b334401428a54485175405fc990eb4a7d13
59 +DIST firefox-96.0.2-et.xpi 529840 BLAKE2B 189e237588636fdc6daef85c5a314ba9bc76a51a28ff7209251f8b2c982020ad0793ff45c2fe818814f96d7bd755b66e07e84d26a43baf3b15924a69786f9d13 SHA512 43b8b6d9eee6e5852c3471666f617adfc1a8bf18b69f2a3116637d7be639e1c031e082054dadb8fec2bca966902d58f42114eafbc150380158448629825969ff
60 +DIST firefox-96.0.2-eu.xpi 537822 BLAKE2B b3a10fd79957ea76423d5e17ca8f60b4758fa1cbc7ef03f8c0665c9eb0c3b88e8c7dde1bf0254c46b8b5efc249b92e3db14cb1691762acc43f8db44f826dce40 SHA512 0ce9565b224f8ddfb9f996ad1038d56e9ed051b8dd91b9523f205a4f80a56e41cd34292423fac1797d64de59e8fec841550c8f83cff5f6846c8574acd8e8a28c
61 +DIST firefox-96.0.2-fa.xpi 564720 BLAKE2B 69d6f299ea5ebc693a931deef9393d1c47ad15dab964b726273069d1eb7868ff8699aa491ddb44e9f58bc9641ada64530ad4f337bdda311387a9ef691bc76325 SHA512 c31a18786c55c74f6c6512485c9fbfd99c331e37de0699d40dbb3866c735f08d8b1a06bcbee2bb76deeda63ca265ba57f057975a70957ed22b344afcd8ae26e1
62 +DIST firefox-96.0.2-ff.xpi 471412 BLAKE2B 677629bc483fde167ba9f1b679508377d371b056510f8742c2abfae85ec4d627cd23495331cbc7276630be7db2dc28d03d0ac5ca58759176dd4c4370d81b942c SHA512 08a9d841bec5e3c553ff9013f59425b03d1f61e3f468eff0117aad35f67a72d4ddf3550b365bd14d01b8c62311a7f55179bd5a044e96e17e9d56c3fd8d226cba
63 +DIST firefox-96.0.2-fi.xpi 533877 BLAKE2B 0cde08b93088f6b508ae3dc41ffe960bfa9b164b12d13a3e191538ca9a0775d8d013eaee386175ed081289137303b814cb0ddfdacf995d11003b9ddf62dca6a9 SHA512 7cf174295e51b0468912eeca085c84e335c86cfb72e6a82367d201d4b92eb53aed1841ba9f6ea4eb097c5455455392ba5cb1798e93850dea9af840c062bc0413
64 +DIST firefox-96.0.2-fr.xpi 559470 BLAKE2B 498bc99ccb234725bd86b3753c69888346407e4e87541ebfdef4b60bff5b11292164611cba57fac06fc146ad55309de794cf1ed87ccf1cfac7a51085346fb6bd SHA512 d8bb4482452627c12efda96712db3db3407dea5fcd4eb50fc381a1c371b9220eb15b97dbf80c18bdd626ab761841ffff04ec9ed4a30f28480ae3ba698a42ff79
65 +DIST firefox-96.0.2-fy-NL.xpi 544732 BLAKE2B fe2e2321a6613dee5d9feebabdcdda95b3083a772d12cb6c3faa76c06fe45e7f727ada25ae0fbcbfa145f41cecb518d007f384135cf974c38cb575f64b0590ae SHA512 d6b7f148690a154a9351d0eb77137cffe10d77e67814023b1f01d3aa738662ace2ff23b496b0cdb7b131af5ebb71dbebed7ca8ad8fc0ad27974e15bb0980d5f6
66 +DIST firefox-96.0.2-ga-IE.xpi 458680 BLAKE2B 387efc549f93c455a154f19e729fb515aaf81d91ff8806114dac6b99531a7d16142c962d4fa899df7d7a3b536fb91bb0a49805df26141a5b77899b16aa03ebaa SHA512 386fefd40d4ebc4868aeb849bb7118e47fd7f0f9fa24317d53ee729cd7d5af5611f731c62b6e29cd7be0ff6e8098d43b2abb091902ad412568ed32537adffcdb
67 +DIST firefox-96.0.2-gd.xpi 531917 BLAKE2B c3bd3dd1ca9a3a2b33ba0a49b591a27db819a390168e11fbc9bcf3af7f887c2de1cce0097ed8d699e9c9ab5579623b0470e97591fe700d4dea564f3c22674ccf SHA512 00186b9822a00ac9c0beee1da5fc1b888bd5c93e1f28b00b2c093b0a24c8edffda7ede1468e8c75cc75bc5c67361a8a00d4228c93df364520e8d769789fb132e
68 +DIST firefox-96.0.2-gl.xpi 543063 BLAKE2B 719db2496943ed83f962d62eba663806ba003d62ebbbf83946ceb358ef444432cf3ab9ff593b28079bd0659e474a645fd504e8a76b7cc2301c9e2dc6eabe7463 SHA512 39b03a773d88650389861cc1d868caa0b70b14eb6f9a4ff6eacfbd522b0d41491b0e0056caac4a1de68e572fbe0630f61f446066621d69744eb36752f69ba32e
69 +DIST firefox-96.0.2-gn.xpi 559988 BLAKE2B 862030f6b05ae2832348ef3fe3171f19304d2d40cda984364263ba6ce4e6b6ad5c7334c25d69a88bea200892287711d000230014637ad816f45c83f9e395b028 SHA512 7e28ece41cd8abe9167ee0e7655945abc7c6e4f57a2a277b6da96b8396c5a40c1ac0927956e3de377e0ff8c6029e606b890231a0118bda600517078e604d9a21
70 +DIST firefox-96.0.2-gu-IN.xpi 528687 BLAKE2B 5c536957c8cd4e0d9cd652be3ec1e0ff768d6a86acafe8682495c6169eecd15b4343d4b69b05c4142779ff46a9f8148d357b8f8d9805affdbd4c8f9dce00eaa0 SHA512 24d78fd0a5bfd31e45ada5788cbb74690df0c0c602823c803de59e5ebbf5300d5d0a573744b5fe421deb8f441bf951fd8fb366b6d7b0407c376bc27c669cb142
71 +DIST firefox-96.0.2-he.xpi 558121 BLAKE2B 0c6659f5d74f4458f4f7178500ad549300f26cf78e935044e6e7495455e355d595811ba0c555dbf36b2e443a893bab2bfe0dbaa481c6ed83a30ef1ec263a991d SHA512 d4184b29a1d9011e614cfaca0964546875f9c844b4e275bbae5b79560f9a93f684b2e02a2ffe30d85370f63154808c89a2ba841578ca4a7a3b4d75f549d2b6f7
72 +DIST firefox-96.0.2-hi-IN.xpi 559787 BLAKE2B b2fe8670aacb6de79f2390302cf47bb7541b72699e434cea0adc9f400053250b0ca0300dc9f4aac1b3002226fd37f5b608dc672d784dafe2b73af6eba0110678 SHA512 7acc010f3710a15016017f02e940fb5da61fe8086976d5aefd377a937dc798da2de381db7ecf5adaccadcfa2591db7d4d9d2d1beeaecc781f4fe1e25c088702d
73 +DIST firefox-96.0.2-hr.xpi 532783 BLAKE2B 05bf577bcad8a1dcc7bc144bc8a9dc38bd8d268a2aee00e492df525f3ee431c43b9521397d9a20389362759500e0e0e2f9850ce7c7f553ec5ffc3d4ef6a3626e SHA512 156951314cc1b90e080dd4544f6fb589e48a8ddabc98a90ffb4f954d6c4f3fa92398c13a4888e4578ff3b59c889ef2b9bdcefc0781ad8885ea599d2d417f02b2
74 +DIST firefox-96.0.2-hsb.xpi 564159 BLAKE2B 09aeecdf467518b77eadc87fa03ac871f544d08dbe7f6b180bdeebd214fa3fa8b68183ae0d52fef6287723824699dcfc5b112be999c172d6440e620c85014c48 SHA512 82d75552fe5afc0441a959e98f68fb2405854ec299863b908f0c8f94d1f8480c0bfcb0cd417a4fecd725ced7446067b8f3a0b1db9e3f2e90e166366b06879a36
75 +DIST firefox-96.0.2-hu.xpi 567459 BLAKE2B 3fefec9af84a273644bd99483d0cf0d1db88c5202863f9289303cff8f03b1ca1c5c495161e219942d195c4d085c964e60265edee1186858ef194fe9edc7b65a0 SHA512 8fb583d2ec8d905d3f7572f3a48b5b9a110d9d7b0b68f5554b0bfa9b8d8a16f1d3d3ceb5d7a0b68dad41c6beb4adc0400e5fc4f91d2d33422505b78f58ff5a67
76 +DIST firefox-96.0.2-hy-AM.xpi 581494 BLAKE2B 66576d67afa8f6ad0f427b5ba9130b8e4a5b13cf125e4f209f756328ad3d2de96509699e5fa2187503fcd6382f862b460402555407f854edd6acb622ad774545 SHA512 e8a39a608563b964999ad773cac33aeb46568a3a587eaebc6154198fe09f982b9ac8ae9945045a6abd1bb2631490472a2d6c4262ed8d21573bb47765087be0e0
77 +DIST firefox-96.0.2-ia.xpi 534115 BLAKE2B 48dd68e117ba4dd0e46f0d6f06bd24c25f43366d6510203e72a68aa8578d23a14e8be1c79726bdb0bb96fb833d3a3081a763ed3fcca87d5a9a9b5aac4384e840 SHA512 d78a2b4ea9e895a184352f00a62f1254693de117260155a5c6e22b842d77adcc836537690db1c5e1e1617d05425f34c56012b70149cf6b9c2f52df39ee5f4c6a
78 +DIST firefox-96.0.2-id.xpi 522743 BLAKE2B 73ba14ddcabf40cee48ba895b34b6b2d9f8ed9edea2be65aa47a596801f05bd69893ece6f4bfa6557e0b6af610cb6b9987b412160b4d27fb57dee9e0080c2bf1 SHA512 927a3017d71852ae78fbe08e8dd30ebf3db6ff603abfaeb382b33ae8ff2cf957189b210aa02817611eff1bed3aeaeb82de264d4b111cf3938db5ff5f92d061df
79 +DIST firefox-96.0.2-is.xpi 501041 BLAKE2B 2324c132a03548c119fbe52bbea84ea9178f4f149e66b1e5dbf424984d3ae7f01209a73b53bc973d5afe2540886a899be61ba4024a029f8b87eb67c66d45032b SHA512 0bd61f6f47e39c97da65affc895004914748ef6e786b3968cd16b620cbd8570e05f951934994a2dfb3c5992842d3de60e2aa371e57779967641fd7fde99d6098
80 +DIST firefox-96.0.2-it.xpi 461983 BLAKE2B 092820e3f45f87c8ab65ca28f187da98c29d88b2d76bdbbff689399e599b11bff08ee2f965e88572ce9361853dd6b40445d155c16a6fce5f2f72ab8713e33804 SHA512 90737459439adc039e0940bf7cbb3617466edda7ba54aca347ae38f6a7001a856275620249b88a6f55888f2bf06e7d772cbd9d3f4a34632ba5355c023af15c3b
81 +DIST firefox-96.0.2-ja.xpi 587133 BLAKE2B 59a5a9d26e62d368bede2667beed77ba81c02e98e751d682d76402837b5c6a2adf94f337918661b7b5cf63ac28c505ebee7f3e92823fecb76ed240b918639ebe SHA512 c6da169a29e4d72635b7e4ac3ea4cfe9b03a2dbf4d83c8514fd483eb26a8aa0d792b5abf45ea6ba1ee2adac48e58b5f21e8b6bbac9387b335518db2e3e6e7b5d
82 +DIST firefox-96.0.2-ka.xpi 591856 BLAKE2B cb3df2a0951070c932cca3c70959c81aa1d174d1b80748c962aa005ce1d4f9016ebfd9a4fd8dc230ecdb475771df955546625f4edb6ad95f647d949dfe4f72fa SHA512 21cb7959aed44e94bb57663d553a6f5afa3163be6c61bffb226e64f2eb65147efe53dc5e5e9394c495e080df4ad87acc061013657fdabd01f886ec139916e947
83 +DIST firefox-96.0.2-kab.xpi 547213 BLAKE2B dc31251733545f790f8ef1bd568d1e85d825eb73d3942b8cc23d6f4de3b62f1ca856e7d812e1194482bd4189617d1d68e2cf4d830234d0576cee4ae9594c1a67 SHA512 5d2f4febd8337c93eb0b07a939e991e494f78378c3d9ef5b292e51402c6873f09820c67c78eddc3b187422997c99cd237995542bb96181bd757362f8842854dd
84 +DIST firefox-96.0.2-kk.xpi 614208 BLAKE2B 00b79eeef922622453702d6696d455c951346c0625c3762bc9b9c419171f504135f33a9d7ca8399e6768b154b87697d1318bbf76f5b9834a48ce659447bf2c16 SHA512 9848346ec31cfe9a2d79ca3064408f1ea315ea20fe1cdec67e7c77f5c54b993507dc407fc648a8ad170dfebe83f8c94f0b3fce1921971f1f5403c99786abe313
85 +DIST firefox-96.0.2-km.xpi 530652 BLAKE2B 30e02fa3043ae0b95a19f2a292b8276e7f74277e227de29b3ff83402ac4daec23c14ed9a68bfec51c600c4b0dfbfa00cf9d7030c06b18c506c7a48ec8eb682a5 SHA512 85b463091091efd68353c4b49f95fc56bb542b6175908be6b45c7e92644b0a78220c3cc51264b6bc30383f2ed91f1e72c3711b8cc22a7988692a15bf3df4e1c3
86 +DIST firefox-96.0.2-kn.xpi 496354 BLAKE2B def56d89c895ff5d35974f467fd5dd5a1a4d68e540452cf5d17ac4609338f0a80d771c433bf0f9f2aa35ff79d75c5d3de15d6a7bff48bd5f71a15fc7e814704d SHA512 700869ea7f43cdb2900f1934ee3e63769fa0b0a846fe0d8201127333a9376013636bebcb7c1e06419e0a3cad7e3a5352ce4cb404a10f415b39a56fb020928b60
87 +DIST firefox-96.0.2-ko.xpi 580655 BLAKE2B 53bc99b1698b545f8bd38f939f325a5cf16e92be50f06e13b127be4a976b3cca8896f721898ee09b4922699ee9fa698d96bdc5e7310ec6f9cd0cb76181b6bd51 SHA512 ed50a99177484112f08ad8552bfa639606cac5616a7fe3542134269eda52e395efcca5f13b6fd50bee7da9958302296278624e048afd7afa2369d619152c6243
88 +DIST firefox-96.0.2-lij.xpi 470178 BLAKE2B c4c71c3c67a4d192e77caf188e5fc635620fcf470ee41ef4d66666d9da5348bb7c7645d37ffea0bedcd0d44d39ce3187a5b46d789586c1c8fa2bb3e793a7fbbe SHA512 8f1197b0ac6fb7efb16a96b2843f6eedd30005a5cbcd49a4e9bcf967309fd13c03f9894f6a71f7bcdbe08d1d26e05b04ff7ab97a556da00c64da81b25059d393
89 +DIST firefox-96.0.2-lt.xpi 560323 BLAKE2B bbd711c823306df3444c4aff50c0c6fc81335b2a28f67da5dd0b379717a3e0c5354253abd54abffcb8705ecdb55fb96348add01479f256fad21a06108c1af867 SHA512 b31f74b35eda87081a2e2620e3f924bc9542c74b416ca6aacdfb80697c4fc5238bf48a25a1fa1f936f7224641843650268d8014b5ca52b5d7395f85a4d95160e
90 +DIST firefox-96.0.2-lv.xpi 462325 BLAKE2B 0d7d87192f7a4c066b0cdfd252354e492339faa23d3f32fe8ec261e01289bb2c26ae4e2c451814f192efa9b3bf2d5c01476058857f13028d3917902dee8a4b4a SHA512 9a3233f56f2fcfbb9dd084383bab008ccd18b18c1f6bf4a07c6df4bb80e69af62efc76235e7ce85638839bbdd793c20ce9f60152fd392100391879cd0f571027
91 +DIST firefox-96.0.2-mk.xpi 464354 BLAKE2B cfb44b750290912f2a7b4fde2f72c5584cab29edb18bd03863937f6d87a5b05ab25fbf2963cd62c7e3e7c697926b2a99453d6623623de9b5f4d47f1ad29b2330 SHA512 56cf6dbab68afb5a505961e020c54d52afd548cab255533858c5def4bf8b89c21795f65df171df610f6111379dec1bbee7e3639a0f6a7975b26b15883ef22d60
92 +DIST firefox-96.0.2-mr.xpi 531541 BLAKE2B 164058a3c476f985f070914c0238d219bfbe78a67c243e10a73fa4f418e4cc23187f0eb27e9aafe2fcf03a614e62568fc26478646dd21dcb6913af765268d2fc SHA512 dd082e0722ed14042c51a278aaae2f374da91563b2de1fec7a6451ee5db10ac2b09b9c08d1a135dad6532daa1b4985361e4525d4dc5789c6002fcfd200d8380e
93 +DIST firefox-96.0.2-ms.xpi 447424 BLAKE2B ab022a1e27bd2febeeab657ba5341af4e2c6a25d8a1089b1795a46711584fd45781d6137729a65b688970e217b4cca89f1801c9235e8f5128dca4cfab85c409a SHA512 b38ba92278cd0b0306a44fb430381adeb2f071875ef6b3fcaa4b2cce705b0a0d2f644b5d3b87c9091d91121db69a48937026e8ca265daf5d5a2b37718f1a6f0e
94 +DIST firefox-96.0.2-my.xpi 512739 BLAKE2B acba02e8f7724d69f125dc35715274a35af73874e5d9d95d9afe8c85f8920354664de8594eb7263e96cd235ed53a116be6a54fbf5ad809980a63f87834dab533 SHA512 458523030a2f0025a141284c88d24be3b1b442a3981233e99fed85a5674c8e80839c56d0a7f06724cbf944468ec5930f1b537096a662439e4212e7cf3a91fb54
95 +DIST firefox-96.0.2-nb-NO.xpi 530051 BLAKE2B 7b29b67e3665c3f8e8125e63c1ab1be0b17b2f7ead9e3d99f057533299f1b4fb84be022893c1dae47e9f3ae51ebe47728e30d13421c3c2d30294f4ec75ab3000 SHA512 34e6c0012460b3470c636fe1102ef58e80c26ad447943c84f6b21ca90df81a5585195684aa5bece7b213fa25260d2ca26ac0bf96789aebf29dd52f28e28f4955
96 +DIST firefox-96.0.2-ne-NP.xpi 483375 BLAKE2B bf0857e5b0c574efbf11e153346e399d8a63c3024e9c7b7458f11e684f5a84dc771e4fdb23dbd29c938a09b936ae81df9eda4b5012ee4c1f93465dbce213a9c8 SHA512 61c221436bd9972ecc3de1e33faa5ec896f5fed178707b074c9e1203cbd1af6162e4cc3858e30e18f0f93ec0438ce3e4dd7ed3d83ee333828022a250bb8cc25d
97 +DIST firefox-96.0.2-nl.xpi 539062 BLAKE2B abba9c3c2e448195d55e934ed799a6671cb22ad9ba7a68cbffa7328b9d1c6377bbb147c788b6ee2a236a435e956d099acd0f278d2f4a681905602663427d2554 SHA512 5f6313f04ca5cac61b12e509ecd806d40445a1ee5c295808d725cdf46f9f4bd868dfe7ee803ba5de449d0847450e73034db8355e0df5554272d3f7da41d12c37
98 +DIST firefox-96.0.2-nn-NO.xpi 532159 BLAKE2B 9c0c9dc33926ab9eaf2944c49d2c9bec8983d275f6f6c9c1476c0302cb5dae817d16375863b8c1048c96974162f49f0bc7c74d09aaa80216c5ec4e53bdec52b4 SHA512 69aff97567e1b37268d2098841c49610feed906ce2912d981b9e5f786604f76772e25e6e4142b2ad128efff841b03e84491e07a81619c12fab73ca71aad500e1
99 +DIST firefox-96.0.2-oc.xpi 554615 BLAKE2B dab061e80e9e34a5faa25a3d381f9b5135fe371f98acae5b3e549a76a2fe71066cbbdd69da7efaf86c57b939d6355dc8c5767ae1fb7299b26ae5cd26d0cb06db SHA512 bc3bf6ece02137395143846519edb06c1e7b6df5ab37451c26941cdef1fc2d7d5482c9337cbead0709f294d46461cd93c7916b9ed1ed411fc0c084f9c21a12f7
100 +DIST firefox-96.0.2-pa-IN.xpi 594728 BLAKE2B f3996e18bb63c514a34038d18676aeb918c2f65f25318251e5a0c5b5bfd0b2e3af4302b12218f0e249b2d66cdd813609630701d9966ef8c1d08405ff576a6d71 SHA512 1f1685e073eea11196167fb473a83446282133ff587134f22460a43b1a70f7c3fbe99d160d1ed004988b554c6f1f30a642b7d66fb9f9b3487fb2ed63d3d8f646
101 +DIST firefox-96.0.2-pl.xpi 557903 BLAKE2B 00cc8e4094f9c1d8da5be7dca668cdfd5a6a915bd4d5f805bf2dcbd840dd6fe79e8b5fae84a5959e5615ec2e2b976956e1096ba3443174f23408b69f10022965 SHA512 e6c0dc1c42403059dab589bbc63ddaf07040f836673d0fec6e3f012d0b65470adad5456b57287ff479b5e7d374612c29c415e6ee3354e7333e70c686e395d36c
102 +DIST firefox-96.0.2-pt-BR.xpi 544405 BLAKE2B b10700b73eb2433c676ba9cc2036c8505d1ed8d2ddfc4fadfe980734e0319a23234a3e2f2fd1a0379c123b4132a743df6f01163cf4aa76249457859db775edb4 SHA512 feefb8dd5f4ced3ae990b93067762b5c8cfdd86c4b86766f05a192411d5150020b3c49b00fe0f5b832787f17d27be0c488a7ce140c7fc530843493bf4da03e11
103 +DIST firefox-96.0.2-pt-PT.xpi 546129 BLAKE2B ab27b158ffec766058fc1ff873950e72b1e0e2648972d5a8303cbda16b7fc68226ad7ae4fdfad0c775517201925d24441c2b19fa65dea9f04e9029c9422b33fd SHA512 4e95af50e12ae6dfa78a5c7f4f6170351f0dd8a9afbcd4ec4dada60cbcd90caa79289170c2d8b8db088f655c072d3120a7f66e81ebfac6eb3fc9189fc3a729cd
104 +DIST firefox-96.0.2-rm.xpi 537790 BLAKE2B 928a7f53529ece8211ba409f14a4bc329f622149caac726018d5b73473ec5cfcd1010f83a052471b9ccee1cd8ebe594fdac76947891f1bf28dd7f5c9ba6e22e7 SHA512 ab77044022ef3ff98e06f7fc10bc644f6ec44048ca1585b273ec970b4e5194c76cad52b2c18dfc6a92b981bf9d0134f769f39ed730a40b7aabefc19aafee52c0
105 +DIST firefox-96.0.2-ro.xpi 530795 BLAKE2B ebffabbc01207f37302b5d4854032b71b0f9368534742d0d9bdc58cd22a5880af958ca756c3888445c132cd90e992e7b695dec9d45b45aa6f8e4e174c41d2bb5 SHA512 e9edc03e758a757fed4ddd947eec287b419f9d43f995bedd788b94432411c0ee494a3e6be863bc5180d20d32c8a221e50be12b0dfed1db61922005fae629e743
106 +DIST firefox-96.0.2-ru.xpi 628644 BLAKE2B 5fb97ef1d0e11e3a43014321e6ef82f94a1283581b9b50381489e3b00bd4ea0ed4c4ee5e710dc40534d418fdbf0a895a67ad8dbfc92137b13eaea13360b84fec SHA512 566c42609ced96c4c6045037dce28c015b28f7f747fbf154c6ca18c7fa3a686d4b62310102776e94684cea585220cc5ea0b92bf334c187383fb9b652d2a71d45
107 +DIST firefox-96.0.2-sco.xpi 504492 BLAKE2B e5f9ff37aff98d73f2eab6111f83abbf6737a24c05bddd854ca191404759ce827081cda8874ed69685f523a97b3e868b3b9b417a48fe3bb5580335d2efd52d3c SHA512 ba89168a14706fc7ddc64027351ee05b6ae1de46e70806f3261851203bd572a79e7b7499cf89f1db8b276d1f41ccb5c6f9acddc558cae9989790570e26e201ec
108 +DIST firefox-96.0.2-si.xpi 485778 BLAKE2B e1601aa67f9dd683641d9f7d1065d84699ca591679afca0e922caeb7c06d6243fa7df9169081072fa2712cdb9b0b5a98903b0e27e46f32dfd2c2af7f46f971bb SHA512 bb57418958e54fc9bb055775952979525b3685d679c3702dd8f2502c22d9d5ea2f021061788ef8d6ecf33ad7913d3b1014219d3e3a0af166180b552059f58e3a
109 +DIST firefox-96.0.2-sk.xpi 568171 BLAKE2B a79834d56c9dda0017db7e822bbbae988cff8b13c1d983c9f4df1ac9094fdfe6b6ca6bc3e7ec8ffdaf97d534df0866cac375781d4e136d0971c220542c3418c1 SHA512 93a8ba3b1e31cd26d93fd854f7cf06e30e3101ee614ef0146e9d8542ee92deacde9d2692eb7a45b3339583738de026ac86c4355cbffbdab73c13ff08feff881d
110 +DIST firefox-96.0.2-sl.xpi 538556 BLAKE2B eb43a5465d4725e0f752aa730ae2ef7d98836e7fdf486011a210992c07b649c99953adf153390baca262df95f9a41d27491ee8266f84fd506c7c72b50cd4d674 SHA512 b1dbf365cac60427f8619c239f3f854adcc7fa9107816abfd8b6a0700378653f66635ea94ef45d051d303b1935ca594d9f7fcc483fbb9efff202082024e6a37d
111 +DIST firefox-96.0.2-son.xpi 421885 BLAKE2B 12171bf44f5c74ce76aac0e095efea0a854d6a2b5d6d804c0c4ff498ddf54c498dd16cdcb1ef4a025dedcf2e4125962934a73d3ed197a64d2911db0197eb2172 SHA512 80c025cee782dba6c232e1a762cad5bf62a89afb9ccce12fa6b36d211e94597dc70745d680f33c4502185c282e2b4016abd22ec1e3e401818e6d6ea375b1becd
112 +DIST firefox-96.0.2-sq.xpi 556378 BLAKE2B c2716317c5761769b72df28d00d54a4d74032aab41cab98bd3b6d44ae57e46b7a68092ec9fff86a5f02cf952a23c1e89e30b8a6cfa8159230bdac7bea8d3a630 SHA512 ff9ad22ce9968a5b5c8102f699151b908cdae3e7d0bb419fecb8327df66a2dbe704e948f4783a41838c8270c7ae090317b6c5af77bee6824ba8e9b7a2990bf92
113 +DIST firefox-96.0.2-sr.xpi 586997 BLAKE2B 5ef6490664fac960eed22a83bedfcdaee0f7df7f7ad2c27c81554e8ce089cedd64af51949adc72d07c2872d572ad6af63cb168c5336634636db001cce8f8e47f SHA512 6f20f4d48f9d89a7949614c8e36d84dd00d68acd91ce544f1ec98f09fb8f4c018192014fd7e3ac7700671553d25431906e8681c6a7d993039d8d60bd298d89dd
114 +DIST firefox-96.0.2-sv-SE.xpi 541676 BLAKE2B 56a9c035605189801165cf9fe4d7ca8ff52a56cb33ffc6fe915a25b6bd0975aa8093aad823c7d85eb89f9647cf0026a7654742c8e46c7646cf1d2dda0c4e8ae1 SHA512 1ebe3d07ca77c8c6e5f9d2bfab4aa248eb8654d1681047a7028fd864e2f0ad61f991b8a66f1eb34a47383c0b58d23844688d5afdf7654488db4bbaad49500352
115 +DIST firefox-96.0.2-szl.xpi 508925 BLAKE2B 2386f44c974468b196c01d576742a2cd0a4bd18c8a70896a06cc8e749eec489652ae2eeb7f2e0e853d3c61d0f00809b886a42666005ff10631a17090da8614ab SHA512 2ed4bbbacaf52216c10c99788d7b8ff7a4b5b66b1da8b92d8052e2e856be3afa82d6d739926f2d77673588a1e19e575bc0aa437953d94c67fce5b4f167215800
116 +DIST firefox-96.0.2-ta.xpi 511884 BLAKE2B 65f4e71ba0104e090f888d99624bb55e6166ebc011ebfe85670900d9ab29a45fc332fde28184ec5bdb1883f322c04d0b185f1bc68f00875d26494011d32224a0 SHA512 592e81b178e620d6a843eca50b7e0c857971760600654cd7a31ca5e4fe5aeb912aac8f7595461927b858207f0cbfb15830cd8857c805098538e5dba89941fa83
117 +DIST firefox-96.0.2-te.xpi 550290 BLAKE2B f60a67fea3365d24c059b241d939461ddfdde92cf6d31d3670d72cd2027bdd1684bb45b64c834b06337e0b21cdabf7146634f235abb740b2e9e27d7cb32aa9c3 SHA512 52b2cb867552f9e7825458efaa1bd9068860d834df1392d72dd99d6e5d4f2b62418eec90ab62989442f4f7ee36af5886ec540b8f590c7ed31ee8bcb7670ad374
118 +DIST firefox-96.0.2-th.xpi 606839 BLAKE2B 2f1e815ce3ac47dc269a366e564650709e6b4974066239495a5ffc7cd21cc201179da9e84c50331e817c5ccc4b5fd02af09e75b81eeae72c2e29f95491c31f04 SHA512 8b3087328e67500ff809376e1a8a29d647a7667fe02cf10caef686e59e905546e3fc50984d3e04af1cbb707876ada51e7566c18904b6a1c9fde9316745648d01
119 +DIST firefox-96.0.2-tl.xpi 520544 BLAKE2B a65eb158773d64604f43194ae1df963c63fd371c2ff7c249b54d717181a12763d541bf1cfa5b0c4a65af29c2387a9d39a98d642f6d95cc76b5c78c6bdceaeeb7 SHA512 a252a973d1b037923a9d17b9b0ba6f4c3b7f5e36a00c19b7b0a1033f2e86090efab51e063c231abe9a1624bce562985b5e26befdfffb5145a778d622f6c1b8e6
120 +DIST firefox-96.0.2-tr.xpi 554375 BLAKE2B c9244d7a6babe45972d7e52d8c4216be72725a68d929dfdf3f7abe2c1017fdc0e52306789fc660d3196dc0bba955ac35f7fb37688202e0f79a4cacce9b883d93 SHA512 5b81702f19951337ce360c34647d00b0af14a074372d5e6b5ec11235aaf122f4cbcf9911c77a42445060a32e570a002ca07924dec0d65be2fc49c593b3fa34e6
121 +DIST firefox-96.0.2-trs.xpi 491105 BLAKE2B 0dc7d37d6a8f813eb9bd21e21a4826c1860787f87e5fc1b14063dab028630eb0761fd2b697806e8cd17d018f8bedaac3d61b13e660ee809ea0550a3c8fe055fa SHA512 717fafdaab0f337b26fc21d39052db4c59dde8d9b857d8cef3e92f48a7d6beaf6599efad6dd0629656b7e1331db00dcc59730876569d7468edc548f923b15d36
122 +DIST firefox-96.0.2-uk.xpi 622246 BLAKE2B 77110817025998b94a1fffbab933c7eb2aaf3a4ac94cbd76daf60f7a1675d89ae1553399cc7590cfde620c68e364e7313c9dec2f86446db35df9e89a8446ea5f SHA512 1e2439c3fd17950e131edb58d06c5772ce6eee32462c15fa327642cbb3c2c554992226d401595ef5274a4fc3e0d4a2805e1baa6a3cd3cf124775436a179ca0ef
123 +DIST firefox-96.0.2-ur.xpi 557344 BLAKE2B f24b261eedc4e1d9ba78cd5bba3943bad78263de157caa0fefd7e8b1801e6780419fad14b2201444bc03fbffbf39c5d932dbfa3357598b4667af4837ff00097e SHA512 16db030fdb4938703dbe4ac79b2994a811f74ea1107a087c79b4c17fdcc7c9e3a58e10ce06cdb184b222d26669d8da11bfc6f2997ce74215aab2a1f2aed2dead
124 +DIST firefox-96.0.2-uz.xpi 465824 BLAKE2B ffb31ac155a70f75f4a6a70f5b54f8462d47ddbae2441ac54d79d8210d8c10981fada4e92ee6b1c92743cf73b733ce097cf7e37121ebdbae7971bb38b7d87fbe SHA512 824d691cd5de67621fe1105221e7de2909976b401de3198f76d4c1dea861ecd49b73d4347b11b53fa93d651b022923a689635ec04eca270eda93cbf1d31aad80
125 +DIST firefox-96.0.2-vi.xpi 573968 BLAKE2B acd61c7f2457f5eae74649b701510d2555238e0488938defab8a686ac0e9c5ff341f81f9aae9e97e692c15284d97c70f39824c4707eba632249383eaef77f3a2 SHA512 eacc2d447f51376aaa1d7a88d8d1595487f3609b1c2b79aa8f256baa95f05b2bf8906e55f19822f96eda1c7f247b6ba7ffe834624754680b1ecdd7b5cd72588c
126 +DIST firefox-96.0.2-xh.xpi 424472 BLAKE2B 9a22f930141460d6d8cec62bb6081cb73dc644a93c100dd0590bf54e3ee47311cf3355688d8446cc0b0f2c123a24e42b552e8252738f9e73615e799144441a92 SHA512 a091d98bfc76640b4ae2a4764033df310f48e81ad9232318f7bbcd2907858765cea3523243e89eaa8441057bea5d2326560b793a62fe07d73f80a8ce95c109a2
127 +DIST firefox-96.0.2-zh-CN.xpi 576729 BLAKE2B b920aca63e1403839d31223f375738f3c97b285131791b9e80c412628579595c87c1bead8b6ad7f11846cbf956d0173026a40182eb275d00dcfbb6afaa7d4b8d SHA512 8850521b1a6137713329eff99101d587a93f0bcf2e2b301af278817f07a8c93eb2806479a4b6829cdd0b3389fc89ccd4fec37016321611c90b178d20d91f967d
128 +DIST firefox-96.0.2-zh-TW.xpi 577817 BLAKE2B b29e8cc93a9753d933a1868c072161cc9d7e26389e868b2f9a3bbf15b171b0fa22d46f6accd06d6898261c7bd0e244c0241785c4541b2d7f991ffe89dab38806 SHA512 330d6395328bb1135843fe9d8f164f169b3220257c9835bad8c1ccd7b64a807437289155445832d0d6117a48db80590a95be26cef5ecc828e8417241454ca042
129 +DIST firefox-96.0.2.source.tar.xz 414004200 BLAKE2B 652af84f39e68d12aa53718606abbedd4e24f1ed6f8e376c748a43166acea7fe3c0362114c4492204d36997e20244ff5607cbe79aa21361fb3827642575eede9 SHA512 5ceb1f023a9217c6a9c08b6525882d4091f989859cf209cc1d0ea22c846d05a967e1c47102ae052f7a5029d18118a558dd96da00437ee2c6fbf2896caf99d9dd
130
131 diff --git a/www-client/firefox/firefox-96.0.2.ebuild b/www-client/firefox/firefox-96.0.2.ebuild
132 new file mode 100644
133 index 000000000000..8346db9e48e9
134 --- /dev/null
135 +++ b/www-client/firefox/firefox-96.0.2.ebuild
136 @@ -0,0 +1,1239 @@
137 +# Copyright 1999-2022 Gentoo Authors
138 +# Distributed under the terms of the GNU General Public License v2
139 +
140 +EAPI="7"
141 +
142 +FIREFOX_PATCHSET="firefox-96-patches-02j.tar.xz"
143 +
144 +LLVM_MAX_SLOT=13
145 +
146 +PYTHON_COMPAT=( python3_{8..10} )
147 +PYTHON_REQ_USE="ncurses,sqlite,ssl"
148 +
149 +WANT_AUTOCONF="2.1"
150 +
151 +VIRTUALX_REQUIRED="pgo"
152 +
153 +MOZ_ESR=
154 +
155 +MOZ_PV=${PV}
156 +MOZ_PV_SUFFIX=
157 +if [[ ${PV} =~ (_(alpha|beta|rc).*)$ ]] ; then
158 + MOZ_PV_SUFFIX=${BASH_REMATCH[1]}
159 +
160 + # Convert the ebuild version to the upstream Mozilla version
161 + MOZ_PV="${MOZ_PV/_alpha/a}" # Handle alpha for SRC_URI
162 + MOZ_PV="${MOZ_PV/_beta/b}" # Handle beta for SRC_URI
163 + MOZ_PV="${MOZ_PV%%_rc*}" # Handle rc for SRC_URI
164 +fi
165 +
166 +if [[ -n ${MOZ_ESR} ]] ; then
167 + # ESR releases have slightly different version numbers
168 + MOZ_PV="${MOZ_PV}esr"
169 +fi
170 +
171 +MOZ_PN="${PN%-bin}"
172 +MOZ_P="${MOZ_PN}-${MOZ_PV}"
173 +MOZ_PV_DISTFILES="${MOZ_PV}${MOZ_PV_SUFFIX}"
174 +MOZ_P_DISTFILES="${MOZ_PN}-${MOZ_PV_DISTFILES}"
175 +
176 +inherit autotools check-reqs desktop flag-o-matic gnome2-utils linux-info \
177 + llvm multiprocessing pax-utils python-any-r1 toolchain-funcs \
178 + virtualx xdg
179 +
180 +MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/releases/${MOZ_PV}"
181 +
182 +if [[ ${PV} == *_rc* ]] ; then
183 + MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/candidates/${MOZ_PV}-candidates/build${PV##*_rc}"
184 +fi
185 +
186 +PATCH_URIS=(
187 + https://dev.gentoo.org/~{juippis,polynomial-c,whissi}/mozilla/patchsets/${FIREFOX_PATCHSET}
188 +)
189 +
190 +SRC_URI="${MOZ_SRC_BASE_URI}/source/${MOZ_P}.source.tar.xz -> ${MOZ_P_DISTFILES}.source.tar.xz
191 + ${PATCH_URIS[@]}"
192 +
193 +DESCRIPTION="Firefox Web Browser"
194 +HOMEPAGE="https://www.mozilla.com/firefox"
195 +
196 +KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
197 +
198 +SLOT="0/$(ver_cut 1)"
199 +LICENSE="MPL-2.0 GPL-2 LGPL-2.1"
200 +
201 +IUSE="+clang cpu_flags_arm_neon dbus debug eme-free hardened hwaccel"
202 +IUSE+=" jack lto +openh264 pgo pulseaudio sndio selinux"
203 +IUSE+=" +system-av1 +system-harfbuzz +system-icu +system-jpeg +system-libevent +system-libvpx system-png +system-webp"
204 +IUSE+=" wayland wifi"
205 +
206 +# Firefox-only IUSE
207 +IUSE+=" geckodriver"
208 +IUSE+=" +gmp-autoupdate"
209 +IUSE+=" screencast"
210 +
211 +REQUIRED_USE="debug? ( !system-av1 )
212 + pgo? ( lto )
213 + wayland? ( dbus )
214 + wifi? ( dbus )"
215 +
216 +# Firefox-only REQUIRED_USE flags
217 +REQUIRED_USE+=" screencast? ( wayland )"
218 +
219 +BDEPEND="${PYTHON_DEPS}
220 + app-arch/unzip
221 + app-arch/zip
222 + >=dev-util/cbindgen-0.19.0
223 + >=net-libs/nodejs-10.23.1
224 + virtual/pkgconfig
225 + >=virtual/rust-1.53.0
226 + || (
227 + (
228 + sys-devel/clang:13
229 + sys-devel/llvm:13
230 + clang? (
231 + =sys-devel/lld-13*
232 + pgo? ( =sys-libs/compiler-rt-sanitizers-13*[profile] )
233 + )
234 + )
235 + (
236 + sys-devel/clang:12
237 + sys-devel/llvm:12
238 + clang? (
239 + =sys-devel/lld-12*
240 + pgo? ( =sys-libs/compiler-rt-sanitizers-12*[profile] )
241 + )
242 + )
243 + (
244 + sys-devel/clang:11
245 + sys-devel/llvm:11
246 + clang? (
247 + =sys-devel/lld-11*
248 + pgo? ( =sys-libs/compiler-rt-sanitizers-11*[profile] )
249 + )
250 + )
251 + )
252 + amd64? ( >=dev-lang/nasm-2.13 )
253 + x86? ( >=dev-lang/nasm-2.13 )"
254 +
255 +CDEPEND="
256 + >=dev-libs/nss-3.73
257 + >=dev-libs/nspr-4.32
258 + dev-libs/atk
259 + dev-libs/expat
260 + >=x11-libs/cairo-1.10[X]
261 + >=x11-libs/gtk+-3.4.0:3[X]
262 + x11-libs/gdk-pixbuf
263 + >=x11-libs/pango-1.22.0
264 + >=media-libs/mesa-10.2:*
265 + media-libs/fontconfig
266 + >=media-libs/freetype-2.4.10
267 + kernel_linux? ( !pulseaudio? ( media-libs/alsa-lib ) )
268 + virtual/freedesktop-icon-theme
269 + >=x11-libs/pixman-0.19.2
270 + >=dev-libs/glib-2.26:2
271 + >=sys-libs/zlib-1.2.3
272 + >=dev-libs/libffi-3.0.10:=
273 + media-video/ffmpeg
274 + x11-libs/libX11
275 + x11-libs/libXcomposite
276 + x11-libs/libXdamage
277 + x11-libs/libXext
278 + x11-libs/libXfixes
279 + x11-libs/libXrandr
280 + x11-libs/libXrender
281 + x11-libs/libXtst
282 + x11-libs/libxcb
283 + dbus? (
284 + sys-apps/dbus
285 + dev-libs/dbus-glib
286 + )
287 + screencast? ( media-video/pipewire:= )
288 + system-av1? (
289 + >=media-libs/dav1d-0.9.3:=
290 + >=media-libs/libaom-1.0.0:=
291 + )
292 + system-harfbuzz? (
293 + >=media-libs/harfbuzz-2.8.1:0=
294 + >=media-gfx/graphite2-1.3.13
295 + )
296 + system-icu? ( >=dev-libs/icu-70.1:= )
297 + system-jpeg? ( >=media-libs/libjpeg-turbo-1.2.1 )
298 + system-libevent? ( >=dev-libs/libevent-2.0:0=[threads] )
299 + system-libvpx? ( >=media-libs/libvpx-1.8.2:0=[postproc] )
300 + system-png? ( >=media-libs/libpng-1.6.35:0=[apng] )
301 + system-webp? ( >=media-libs/libwebp-1.1.0:0= )
302 + wifi? (
303 + kernel_linux? (
304 + sys-apps/dbus
305 + dev-libs/dbus-glib
306 + net-misc/networkmanager
307 + )
308 + )
309 + jack? ( virtual/jack )
310 + selinux? ( sec-policy/selinux-mozilla )
311 + sndio? ( media-sound/sndio )"
312 +
313 +RDEPEND="${CDEPEND}
314 + jack? ( virtual/jack )
315 + openh264? ( media-libs/openh264:*[plugin] )
316 + pulseaudio? (
317 + || (
318 + media-sound/pulseaudio
319 + >=media-sound/apulse-0.1.12-r4
320 + )
321 + )
322 + selinux? ( sec-policy/selinux-mozilla )"
323 +
324 +DEPEND="${CDEPEND}
325 + x11-libs/libICE
326 + x11-libs/libSM
327 + pulseaudio? (
328 + || (
329 + media-sound/pulseaudio
330 + >=media-sound/apulse-0.1.12-r4[sdk]
331 + )
332 + )
333 + wayland? ( >=x11-libs/gtk+-3.11:3[wayland] )
334 + amd64? ( virtual/opengl )
335 + x86? ( virtual/opengl )"
336 +
337 +S="${WORKDIR}/${PN}-${PV%_*}"
338 +
339 +# Allow MOZ_GMP_PLUGIN_LIST to be set in an eclass or
340 +# overridden in the enviromnent (advanced hackers only)
341 +if [[ -z "${MOZ_GMP_PLUGIN_LIST+set}" ]] ; then
342 + MOZ_GMP_PLUGIN_LIST=( gmp-gmpopenh264 gmp-widevinecdm )
343 +fi
344 +
345 +llvm_check_deps() {
346 + if ! has_version -b "sys-devel/clang:${LLVM_SLOT}" ; then
347 + einfo "sys-devel/clang:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
348 + return 1
349 + fi
350 +
351 + if use clang ; then
352 + if ! has_version -b "=sys-devel/lld-${LLVM_SLOT}*" ; then
353 + einfo "=sys-devel/lld-${LLVM_SLOT}* is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
354 + return 1
355 + fi
356 +
357 + if use pgo ; then
358 + if ! has_version -b "=sys-libs/compiler-rt-sanitizers-${LLVM_SLOT}*" ; then
359 + einfo "=sys-libs/compiler-rt-sanitizers-${LLVM_SLOT}* is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
360 + return 1
361 + fi
362 + fi
363 + fi
364 +
365 + einfo "Using LLVM slot ${LLVM_SLOT} to build" >&2
366 +}
367 +
368 +MOZ_LANGS=(
369 + af ar ast be bg br ca cak cs cy da de dsb
370 + el en-CA en-GB en-US es-AR es-ES et eu
371 + fi fr fy-NL ga-IE gd gl he hr hsb hu
372 + id is it ja ka kab kk ko lt lv ms nb-NO nl nn-NO
373 + pa-IN pl pt-BR pt-PT rm ro ru
374 + sk sl sq sr sv-SE th tr uk uz vi zh-CN zh-TW
375 +)
376 +
377 +# Firefox-only LANGS
378 +MOZ_LANGS+=( ach )
379 +MOZ_LANGS+=( an )
380 +MOZ_LANGS+=( az )
381 +MOZ_LANGS+=( bn )
382 +MOZ_LANGS+=( bs )
383 +MOZ_LANGS+=( ca-valencia )
384 +MOZ_LANGS+=( eo )
385 +MOZ_LANGS+=( es-CL )
386 +MOZ_LANGS+=( es-MX )
387 +MOZ_LANGS+=( fa )
388 +MOZ_LANGS+=( ff )
389 +MOZ_LANGS+=( gn )
390 +MOZ_LANGS+=( gu-IN )
391 +MOZ_LANGS+=( hi-IN )
392 +MOZ_LANGS+=( hy-AM )
393 +MOZ_LANGS+=( ia )
394 +MOZ_LANGS+=( km )
395 +MOZ_LANGS+=( kn )
396 +MOZ_LANGS+=( lij )
397 +MOZ_LANGS+=( mk )
398 +MOZ_LANGS+=( mr )
399 +MOZ_LANGS+=( my )
400 +MOZ_LANGS+=( ne-NP )
401 +MOZ_LANGS+=( oc )
402 +MOZ_LANGS+=( sco )
403 +MOZ_LANGS+=( si )
404 +MOZ_LANGS+=( son )
405 +MOZ_LANGS+=( szl )
406 +MOZ_LANGS+=( ta )
407 +MOZ_LANGS+=( te )
408 +MOZ_LANGS+=( tl )
409 +MOZ_LANGS+=( trs )
410 +MOZ_LANGS+=( ur )
411 +MOZ_LANGS+=( xh )
412 +
413 +mozilla_set_globals() {
414 + # https://bugs.gentoo.org/587334
415 + local MOZ_TOO_REGIONALIZED_FOR_L10N=(
416 + fy-NL ga-IE gu-IN hi-IN hy-AM nb-NO ne-NP nn-NO pa-IN sv-SE
417 + )
418 +
419 + local lang xflag
420 + for lang in "${MOZ_LANGS[@]}" ; do
421 + # en and en_US are handled internally
422 + if [[ ${lang} == en ]] || [[ ${lang} == en-US ]] ; then
423 + continue
424 + fi
425 +
426 + # strip region subtag if $lang is in the list
427 + if has ${lang} "${MOZ_TOO_REGIONALIZED_FOR_L10N[@]}" ; then
428 + xflag=${lang%%-*}
429 + else
430 + xflag=${lang}
431 + fi
432 +
433 + SRC_URI+=" l10n_${xflag/[_@]/-}? ("
434 + SRC_URI+=" ${MOZ_SRC_BASE_URI}/linux-x86_64/xpi/${lang}.xpi -> ${MOZ_P_DISTFILES}-${lang}.xpi"
435 + SRC_URI+=" )"
436 + IUSE+=" l10n_${xflag/[_@]/-}"
437 + done
438 +}
439 +mozilla_set_globals
440 +
441 +moz_clear_vendor_checksums() {
442 + debug-print-function ${FUNCNAME} "$@"
443 +
444 + if [[ ${#} -ne 1 ]] ; then
445 + die "${FUNCNAME} requires exact one argument"
446 + fi
447 +
448 + einfo "Clearing cargo checksums for ${1} ..."
449 +
450 + sed -i \
451 + -e 's/\("files":{\)[^}]*/\1/' \
452 + "${S}"/third_party/rust/${1}/.cargo-checksum.json \
453 + || die
454 +}
455 +
456 +moz_install_xpi() {
457 + debug-print-function ${FUNCNAME} "$@"
458 +
459 + if [[ ${#} -lt 2 ]] ; then
460 + die "${FUNCNAME} requires at least two arguments"
461 + fi
462 +
463 + local DESTDIR=${1}
464 + shift
465 +
466 + insinto "${DESTDIR}"
467 +
468 + local emid xpi_file xpi_tmp_dir
469 + for xpi_file in "${@}" ; do
470 + emid=
471 + xpi_tmp_dir=$(mktemp -d --tmpdir="${T}")
472 +
473 + # Unpack XPI
474 + unzip -qq "${xpi_file}" -d "${xpi_tmp_dir}" || die
475 +
476 + # Determine extension ID
477 + if [[ -f "${xpi_tmp_dir}/install.rdf" ]] ; then
478 + emid=$(sed -n -e '/install-manifest/,$ { /em:id/!d; s/.*[\">]\([^\"<>]*\)[\"<].*/\1/; p; q }' "${xpi_tmp_dir}/install.rdf")
479 + [[ -z "${emid}" ]] && die "failed to determine extension id from install.rdf"
480 + elif [[ -f "${xpi_tmp_dir}/manifest.json" ]] ; then
481 + emid=$(sed -n -e 's/.*"id": "\([^"]*\)".*/\1/p' "${xpi_tmp_dir}/manifest.json")
482 + [[ -z "${emid}" ]] && die "failed to determine extension id from manifest.json"
483 + else
484 + die "failed to determine extension id"
485 + fi
486 +
487 + einfo "Installing ${emid}.xpi into ${ED}${DESTDIR} ..."
488 + newins "${xpi_file}" "${emid}.xpi"
489 + done
490 +}
491 +
492 +mozconfig_add_options_ac() {
493 + debug-print-function ${FUNCNAME} "$@"
494 +
495 + if [[ ${#} -lt 2 ]] ; then
496 + die "${FUNCNAME} requires at least two arguments"
497 + fi
498 +
499 + local reason=${1}
500 + shift
501 +
502 + local option
503 + for option in ${@} ; do
504 + echo "ac_add_options ${option} # ${reason}" >>${MOZCONFIG}
505 + done
506 +}
507 +
508 +mozconfig_add_options_mk() {
509 + debug-print-function ${FUNCNAME} "$@"
510 +
511 + if [[ ${#} -lt 2 ]] ; then
512 + die "${FUNCNAME} requires at least two arguments"
513 + fi
514 +
515 + local reason=${1}
516 + shift
517 +
518 + local option
519 + for option in ${@} ; do
520 + echo "mk_add_options ${option} # ${reason}" >>${MOZCONFIG}
521 + done
522 +}
523 +
524 +mozconfig_use_enable() {
525 + debug-print-function ${FUNCNAME} "$@"
526 +
527 + if [[ ${#} -lt 1 ]] ; then
528 + die "${FUNCNAME} requires at least one arguments"
529 + fi
530 +
531 + local flag=$(use_enable "${@}")
532 + mozconfig_add_options_ac "$(use ${1} && echo +${1} || echo -${1})" "${flag}"
533 +}
534 +
535 +mozconfig_use_with() {
536 + debug-print-function ${FUNCNAME} "$@"
537 +
538 + if [[ ${#} -lt 1 ]] ; then
539 + die "${FUNCNAME} requires at least one arguments"
540 + fi
541 +
542 + local flag=$(use_with "${@}")
543 + mozconfig_add_options_ac "$(use ${1} && echo +${1} || echo -${1})" "${flag}"
544 +}
545 +
546 +pkg_pretend() {
547 + if [[ ${MERGE_TYPE} != binary ]] ; then
548 + if use pgo ; then
549 + if ! has usersandbox $FEATURES ; then
550 + die "You must enable usersandbox as X server can not run as root!"
551 + fi
552 + fi
553 +
554 + # Ensure we have enough disk space to compile
555 + if use pgo || use lto || use debug ; then
556 + CHECKREQS_DISK_BUILD="13500M"
557 + else
558 + CHECKREQS_DISK_BUILD="6500M"
559 + fi
560 +
561 + check-reqs_pkg_pretend
562 + fi
563 +}
564 +
565 +pkg_setup() {
566 + if [[ ${MERGE_TYPE} != binary ]] ; then
567 + if use pgo ; then
568 + if ! has userpriv ${FEATURES} ; then
569 + eerror "Building ${PN} with USE=pgo and FEATURES=-userpriv is not supported!"
570 + fi
571 + fi
572 +
573 + # Ensure we have enough disk space to compile
574 + if use pgo || use lto || use debug ; then
575 + CHECKREQS_DISK_BUILD="13500M"
576 + else
577 + CHECKREQS_DISK_BUILD="6400M"
578 + fi
579 +
580 + check-reqs_pkg_setup
581 +
582 + llvm_pkg_setup
583 +
584 + if use clang && use lto ; then
585 + local version_lld=$(ld.lld --version 2>/dev/null | awk '{ print $2 }')
586 + [[ -n ${version_lld} ]] && version_lld=$(ver_cut 1 "${version_lld}")
587 + [[ -z ${version_lld} ]] && die "Failed to read ld.lld version!"
588 +
589 + # temp fix for https://bugs.gentoo.org/768543
590 + # we can assume that rust 1.{49,50}.0 always uses llvm 11
591 + local version_rust=$(rustc -Vv 2>/dev/null | grep -F -- 'release:' | awk '{ print $2 }')
592 + [[ -n ${version_rust} ]] && version_rust=$(ver_cut 1-2 "${version_rust}")
593 + [[ -z ${version_rust} ]] && die "Failed to read version from rustc!"
594 +
595 + if ver_test "${version_rust}" -ge "1.49" && ver_test "${version_rust}" -le "1.50" ; then
596 + local version_llvm_rust="11"
597 + else
598 + local version_llvm_rust=$(rustc -Vv 2>/dev/null | grep -F -- 'LLVM version:' | awk '{ print $3 }')
599 + [[ -n ${version_llvm_rust} ]] && version_llvm_rust=$(ver_cut 1 "${version_llvm_rust}")
600 + [[ -z ${version_llvm_rust} ]] && die "Failed to read used LLVM version from rustc!"
601 + fi
602 +
603 + if ver_test "${version_lld}" -ne "${version_llvm_rust}" ; then
604 + eerror "Rust is using LLVM version ${version_llvm_rust} but ld.lld version belongs to LLVM version ${version_lld}."
605 + eerror "You will be unable to link ${CATEGORY}/${PN}. To proceed you have the following options:"
606 + eerror " - Manually switch rust version using 'eselect rust' to match used LLVM version"
607 + eerror " - Switch to dev-lang/rust[system-llvm] which will guarantee matching version"
608 + eerror " - Build ${CATEGORY}/${PN} without USE=lto"
609 + die "LLVM version used by Rust (${version_llvm_rust}) does not match with ld.lld version (${version_lld})!"
610 + fi
611 + fi
612 +
613 + if ! use clang && [[ $(gcc-major-version) -eq 11 ]] \
614 + && ! has_version -b ">sys-devel/gcc-11.1.0:11" ; then
615 + # bug 792705
616 + eerror "Using GCC 11 to compile firefox is currently known to be broken (see bug #792705)."
617 + die "Set USE=clang or select <gcc-11 to build ${CATEGORY}/${P}."
618 + fi
619 +
620 + python-any-r1_pkg_setup
621 +
622 + # Avoid PGO profiling problems due to enviroment leakage
623 + # These should *always* be cleaned up anyway
624 + unset \
625 + DBUS_SESSION_BUS_ADDRESS \
626 + DISPLAY \
627 + ORBIT_SOCKETDIR \
628 + SESSION_MANAGER \
629 + XAUTHORITY \
630 + XDG_CACHE_HOME \
631 + XDG_SESSION_COOKIE
632 +
633 + # Build system is using /proc/self/oom_score_adj, bug #604394
634 + addpredict /proc/self/oom_score_adj
635 +
636 + if use pgo ; then
637 + # Allow access to GPU during PGO run
638 + local ati_cards mesa_cards nvidia_cards render_cards
639 + shopt -s nullglob
640 +
641 + ati_cards=$(echo -n /dev/ati/card* | sed 's/ /:/g')
642 + if [[ -n "${ati_cards}" ]] ; then
643 + addpredict "${ati_cards}"
644 + fi
645 +
646 + mesa_cards=$(echo -n /dev/dri/card* | sed 's/ /:/g')
647 + if [[ -n "${mesa_cards}" ]] ; then
648 + addpredict "${mesa_cards}"
649 + fi
650 +
651 + nvidia_cards=$(echo -n /dev/nvidia* | sed 's/ /:/g')
652 + if [[ -n "${nvidia_cards}" ]] ; then
653 + addpredict "${nvidia_cards}"
654 + fi
655 +
656 + render_cards=$(echo -n /dev/dri/renderD128* | sed 's/ /:/g')
657 + if [[ -n "${render_cards}" ]] ; then
658 + addpredict "${render_cards}"
659 + fi
660 +
661 + shopt -u nullglob
662 + fi
663 +
664 + if ! mountpoint -q /dev/shm ; then
665 + # If /dev/shm is not available, configure is known to fail with
666 + # a traceback report referencing /usr/lib/pythonN.N/multiprocessing/synchronize.py
667 + ewarn "/dev/shm is not mounted -- expect build failures!"
668 + fi
669 +
670 + # Google API keys (see http://www.chromium.org/developers/how-tos/api-keys)
671 + # Note: These are for Gentoo Linux use ONLY. For your own distribution, please
672 + # get your own set of keys.
673 + if [[ -z "${MOZ_API_KEY_GOOGLE+set}" ]] ; then
674 + MOZ_API_KEY_GOOGLE="AIzaSyDEAOvatFogGaPi0eTgsV_ZlEzx0ObmepsMzfAc"
675 + fi
676 +
677 + if [[ -z "${MOZ_API_KEY_LOCATION+set}" ]] ; then
678 + MOZ_API_KEY_LOCATION="AIzaSyB2h2OuRgGaPicUgy5N-5hsZqiPW6sH3n_rptiQ"
679 + fi
680 +
681 + # Mozilla API keys (see https://location.services.mozilla.com/api)
682 + # Note: These are for Gentoo Linux use ONLY. For your own distribution, please
683 + # get your own set of keys.
684 + if [[ -z "${MOZ_API_KEY_MOZILLA+set}" ]] ; then
685 + MOZ_API_KEY_MOZILLA="edb3d487-3a84-46m0ap1e3-9dfd-92b5efaaa005"
686 + fi
687 +
688 + # Ensure we use C locale when building, bug #746215
689 + export LC_ALL=C
690 + fi
691 +
692 + CONFIG_CHECK="~SECCOMP"
693 + WARNING_SECCOMP="CONFIG_SECCOMP not set! This system will be unable to play DRM-protected content."
694 + linux-info_pkg_setup
695 +}
696 +
697 +src_unpack() {
698 + local _lp_dir="${WORKDIR}/language_packs"
699 + local _src_file
700 +
701 + if [[ ! -d "${_lp_dir}" ]] ; then
702 + mkdir "${_lp_dir}" || die
703 + fi
704 +
705 + for _src_file in ${A} ; do
706 + if [[ ${_src_file} == *.xpi ]]; then
707 + cp "${DISTDIR}/${_src_file}" "${_lp_dir}" || die "Failed to copy '${_src_file}' to '${_lp_dir}'!"
708 + else
709 + unpack ${_src_file}
710 + fi
711 + done
712 +}
713 +
714 +src_prepare() {
715 + use lto && rm -v "${WORKDIR}"/firefox-patches/*-LTO-Only-enable-LTO-*.patch
716 + eapply "${WORKDIR}/firefox-patches"
717 +
718 + # Allow user to apply any additional patches without modifing ebuild
719 + eapply_user
720 +
721 + # Make LTO respect MAKEOPTS
722 + sed -i \
723 + -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \
724 + "${S}"/build/moz.configure/lto-pgo.configure \
725 + || die "sed failed to set num_cores"
726 +
727 + # Make ICU respect MAKEOPTS
728 + sed -i \
729 + -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \
730 + "${S}"/intl/icu_sources_data.py \
731 + || die "sed failed to set num_cores"
732 +
733 + # sed-in toolchain prefix
734 + sed -i \
735 + -e "s/objdump/${CHOST}-objdump/" \
736 + "${S}"/python/mozbuild/mozbuild/configure/check_debug_ranges.py \
737 + || die "sed failed to set toolchain prefix"
738 +
739 + sed -i \
740 + -e 's/ccache_stats = None/return None/' \
741 + "${S}"/python/mozbuild/mozbuild/controller/building.py \
742 + || die "sed failed to disable ccache stats call"
743 +
744 + einfo "Removing pre-built binaries ..."
745 + find "${S}"/third_party -type f \( -name '*.so' -o -name '*.o' \) -print -delete || die
746 +
747 + # Clearing checksums where we have applied patches
748 + moz_clear_vendor_checksums target-lexicon-0.9.0
749 +
750 + # Create build dir
751 + BUILD_DIR="${WORKDIR}/${PN}_build"
752 + mkdir -p "${BUILD_DIR}" || die
753 +
754 + # Write API keys to disk
755 + echo -n "${MOZ_API_KEY_GOOGLE//gGaPi/}" > "${S}"/api-google.key || die
756 + echo -n "${MOZ_API_KEY_LOCATION//gGaPi/}" > "${S}"/api-location.key || die
757 + echo -n "${MOZ_API_KEY_MOZILLA//m0ap1/}" > "${S}"/api-mozilla.key || die
758 +
759 + xdg_src_prepare
760 +}
761 +
762 +src_configure() {
763 + # Show flags set at the beginning
764 + einfo "Current BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}"
765 + einfo "Current CFLAGS:\t\t${CFLAGS:-no value set}"
766 + einfo "Current CXXFLAGS:\t\t${CXXFLAGS:-no value set}"
767 + einfo "Current LDFLAGS:\t\t${LDFLAGS:-no value set}"
768 + einfo "Current RUSTFLAGS:\t\t${RUSTFLAGS:-no value set}"
769 +
770 + local have_switched_compiler=
771 + if use clang && ! tc-is-clang ; then
772 + # Force clang
773 + einfo "Enforcing the use of clang due to USE=clang ..."
774 + have_switched_compiler=yes
775 + AR=llvm-ar
776 + CC=${CHOST}-clang
777 + CXX=${CHOST}-clang++
778 + NM=llvm-nm
779 + RANLIB=llvm-ranlib
780 + elif ! use clang && ! tc-is-gcc ; then
781 + # Force gcc
782 + have_switched_compiler=yes
783 + einfo "Enforcing the use of gcc due to USE=-clang ..."
784 + AR=gcc-ar
785 + CC=${CHOST}-gcc
786 + CXX=${CHOST}-g++
787 + NM=gcc-nm
788 + RANLIB=gcc-ranlib
789 + fi
790 +
791 + if [[ -n "${have_switched_compiler}" ]] ; then
792 + # Because we switched active compiler we have to ensure
793 + # that no unsupported flags are set
794 + strip-unsupported-flags
795 + fi
796 +
797 + # Ensure we use correct toolchain
798 + export HOST_CC="$(tc-getBUILD_CC)"
799 + export HOST_CXX="$(tc-getBUILD_CXX)"
800 + tc-export CC CXX LD AR NM OBJDUMP RANLIB PKG_CONFIG
801 +
802 + # Pass the correct toolchain paths through cbindgen
803 + if tc-is-cross-compiler ; then
804 + export BINDGEN_CFLAGS="${SYSROOT:+--sysroot=${ESYSROOT}} --target=${CHOST} ${BINDGEN_CFLAGS-}"
805 + fi
806 +
807 + # Set MOZILLA_FIVE_HOME
808 + export MOZILLA_FIVE_HOME="/usr/$(get_libdir)/${PN}"
809 +
810 + # python/mach/mach/mixin/process.py fails to detect SHELL
811 + export SHELL="${EPREFIX}/bin/bash"
812 +
813 + # Set state path
814 + export MOZBUILD_STATE_PATH="${BUILD_DIR}"
815 +
816 + # Set MOZCONFIG
817 + export MOZCONFIG="${S}/.mozconfig"
818 +
819 + # Initialize MOZCONFIG
820 + mozconfig_add_options_ac '' --enable-application=browser
821 +
822 + # Set Gentoo defaults
823 + export MOZILLA_OFFICIAL=1
824 +
825 + mozconfig_add_options_ac 'Gentoo default' \
826 + --allow-addon-sideload \
827 + --disable-cargo-incremental \
828 + --disable-crashreporter \
829 + --disable-install-strip \
830 + --disable-strip \
831 + --disable-updater \
832 + --enable-official-branding \
833 + --enable-release \
834 + --enable-system-ffi \
835 + --enable-system-pixman \
836 + --host="${CBUILD:-${CHOST}}" \
837 + --libdir="${EPREFIX}/usr/$(get_libdir)" \
838 + --prefix="${EPREFIX}/usr" \
839 + --target="${CHOST}" \
840 + --without-ccache \
841 + --without-wasm-sandboxed-libraries \
842 + --with-intl-api \
843 + --with-libclang-path="$(llvm-config --libdir)" \
844 + --with-system-nspr \
845 + --with-system-nss \
846 + --with-system-zlib \
847 + --with-toolchain-prefix="${CHOST}-" \
848 + --with-unsigned-addon-scopes=app,system \
849 + --x-includes="${SYSROOT}${EPREFIX}/usr/include" \
850 + --x-libraries="${SYSROOT}${EPREFIX}/usr/$(get_libdir)"
851 +
852 + # Set update channel
853 + local update_channel=release
854 + [[ -n ${MOZ_ESR} ]] && update_channel=esr
855 + mozconfig_add_options_ac '' --update-channel=${update_channel}
856 +
857 + if ! use x86 && [[ ${CHOST} != armv*h* ]] ; then
858 + mozconfig_add_options_ac '' --enable-rust-simd
859 + fi
860 +
861 + if [[ -s "${S}/api-google.key" ]] ; then
862 + local key_origin="Gentoo default"
863 + if [[ $(cat "${S}/api-google.key" | md5sum | awk '{ print $1 }') != 709560c02f94b41f9ad2c49207be6c54 ]] ; then
864 + key_origin="User value"
865 + fi
866 +
867 + mozconfig_add_options_ac "${key_origin}" \
868 + --with-google-safebrowsing-api-keyfile="${S}/api-google.key"
869 + else
870 + einfo "Building without Google API key ..."
871 + fi
872 +
873 + if [[ -s "${S}/api-location.key" ]] ; then
874 + local key_origin="Gentoo default"
875 + if [[ $(cat "${S}/api-location.key" | md5sum | awk '{ print $1 }') != ffb7895e35dedf832eb1c5d420ac7420 ]] ; then
876 + key_origin="User value"
877 + fi
878 +
879 + mozconfig_add_options_ac "${key_origin}" \
880 + --with-google-location-service-api-keyfile="${S}/api-location.key"
881 + else
882 + einfo "Building without Location API key ..."
883 + fi
884 +
885 + if [[ -s "${S}/api-mozilla.key" ]] ; then
886 + local key_origin="Gentoo default"
887 + if [[ $(cat "${S}/api-mozilla.key" | md5sum | awk '{ print $1 }') != 3927726e9442a8e8fa0e46ccc39caa27 ]] ; then
888 + key_origin="User value"
889 + fi
890 +
891 + mozconfig_add_options_ac "${key_origin}" \
892 + --with-mozilla-api-keyfile="${S}/api-mozilla.key"
893 + else
894 + einfo "Building without Mozilla API key ..."
895 + fi
896 +
897 + mozconfig_use_with system-av1
898 + mozconfig_use_with system-harfbuzz
899 + mozconfig_use_with system-harfbuzz system-graphite2
900 + mozconfig_use_with system-icu
901 + mozconfig_use_with system-jpeg
902 + mozconfig_use_with system-libevent system-libevent "${SYSROOT}${EPREFIX}/usr"
903 + mozconfig_use_with system-libvpx
904 + mozconfig_use_with system-png
905 + mozconfig_use_with system-webp
906 +
907 + mozconfig_use_enable dbus
908 +
909 + use eme-free && mozconfig_add_options_ac '+eme-free' --disable-eme
910 +
911 + mozconfig_use_enable geckodriver
912 +
913 + if use hardened ; then
914 + mozconfig_add_options_ac "+hardened" --enable-hardening
915 + append-ldflags "-Wl,-z,relro -Wl,-z,now"
916 + fi
917 +
918 + mozconfig_use_enable jack
919 +
920 + mozconfig_use_enable pulseaudio
921 + # force the deprecated alsa sound code if pulseaudio is disabled
922 + if use kernel_linux && ! use pulseaudio ; then
923 + mozconfig_add_options_ac '-pulseaudio' --enable-alsa
924 + fi
925 +
926 + mozconfig_use_enable sndio
927 +
928 + mozconfig_use_enable wifi necko-wifi
929 +
930 + if use wayland ; then
931 + mozconfig_add_options_ac '+wayland' --enable-default-toolkit=cairo-gtk3-wayland
932 + else
933 + mozconfig_add_options_ac '' --enable-default-toolkit=cairo-gtk3
934 + fi
935 +
936 + if use lto ; then
937 + if use clang ; then
938 + # Upstream only supports lld when using clang
939 + mozconfig_add_options_ac "forcing ld=lld due to USE=clang and USE=lto" --enable-linker=lld
940 +
941 + mozconfig_add_options_ac '+lto' --enable-lto=cross
942 + else
943 + # ld.gold is known to fail:
944 + # /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
945 +
946 + # ThinLTO is currently broken, see bmo#1644409
947 + mozconfig_add_options_ac '+lto' --enable-lto=full
948 + mozconfig_add_options_ac "linker is set to bfd" --enable-linker=bfd
949 + fi
950 +
951 + if use pgo ; then
952 + mozconfig_add_options_ac '+pgo' MOZ_PGO=1
953 +
954 + if use clang ; then
955 + # Used in build/pgo/profileserver.py
956 + export LLVM_PROFDATA="llvm-profdata"
957 + fi
958 + fi
959 + else
960 + # Avoid auto-magic on linker
961 + if use clang ; then
962 + # This is upstream's default
963 + mozconfig_add_options_ac "forcing ld=lld due to USE=clang" --enable-linker=lld
964 + else
965 + mozconfig_add_options_ac "linker is set to bfd" --enable-linker=bfd
966 + fi
967 + fi
968 +
969 + # LTO flag was handled via configure
970 + filter-flags '-flto*'
971 +
972 + mozconfig_use_enable debug
973 + if use debug ; then
974 + mozconfig_add_options_ac '+debug' --disable-optimize
975 + else
976 + if is-flag '-g*' ; then
977 + if use clang ; then
978 + mozconfig_add_options_ac 'from CFLAGS' --enable-debug-symbols=$(get-flag '-g*')
979 + else
980 + mozconfig_add_options_ac 'from CFLAGS' --enable-debug-symbols
981 + fi
982 + else
983 + mozconfig_add_options_ac 'Gentoo default' --disable-debug-symbols
984 + fi
985 +
986 + if is-flag '-O0' ; then
987 + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O0
988 + elif is-flag '-O4' ; then
989 + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O4
990 + elif is-flag '-O3' ; then
991 + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O3
992 + elif is-flag '-O1' ; then
993 + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O1
994 + elif is-flag '-Os' ; then
995 + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-Os
996 + else
997 + mozconfig_add_options_ac "Gentoo default" --enable-optimize=-O2
998 + fi
999 + fi
1000 +
1001 + # Debug flag was handled via configure
1002 + filter-flags '-g*'
1003 +
1004 + # Optimization flag was handled via configure
1005 + filter-flags '-O*'
1006 +
1007 + # Modifications to better support ARM, bug #553364
1008 + if use cpu_flags_arm_neon ; then
1009 + mozconfig_add_options_ac '+cpu_flags_arm_neon' --with-fpu=neon
1010 +
1011 + if ! tc-is-clang ; then
1012 + # thumb options aren't supported when using clang, bug 666966
1013 + mozconfig_add_options_ac '+cpu_flags_arm_neon' \
1014 + --with-thumb=yes \
1015 + --with-thumb-interwork=no
1016 + fi
1017 + fi
1018 +
1019 + if [[ ${CHOST} == armv*h* ]] ; then
1020 + mozconfig_add_options_ac 'CHOST=armv*h*' --with-float-abi=hard
1021 +
1022 + if ! use system-libvpx ; then
1023 + sed -i \
1024 + -e "s|softfp|hard|" \
1025 + "${S}"/media/libvpx/moz.build \
1026 + || die
1027 + fi
1028 + fi
1029 +
1030 + if use clang ; then
1031 + # https://bugzilla.mozilla.org/show_bug.cgi?id=1482204
1032 + # https://bugzilla.mozilla.org/show_bug.cgi?id=1483822
1033 + # toolkit/moz.configure Elfhack section: target.cpu in ('arm', 'x86', 'x86_64')
1034 + local disable_elf_hack=
1035 + if use amd64 ; then
1036 + disable_elf_hack=yes
1037 + elif use x86 ; then
1038 + disable_elf_hack=yes
1039 + elif use arm ; then
1040 + disable_elf_hack=yes
1041 + fi
1042 +
1043 + if [[ -n ${disable_elf_hack} ]] ; then
1044 + mozconfig_add_options_ac 'elf-hack is broken when using Clang' --disable-elf-hack
1045 + fi
1046 + elif tc-is-gcc ; then
1047 + if ver_test $(gcc-fullversion) -ge 10 ; then
1048 + einfo "Forcing -fno-tree-loop-vectorize to workaround GCC bug, see bug 758446 ..."
1049 + append-cxxflags -fno-tree-loop-vectorize
1050 + fi
1051 + fi
1052 +
1053 + # Additional ARCH support
1054 + case "${ARCH}" in
1055 + arm)
1056 + # Reduce the memory requirements for linking
1057 + if use clang ; then
1058 + # Nothing to do
1059 + :;
1060 + elif tc-ld-is-gold || use lto ; then
1061 + append-ldflags -Wl,--no-keep-memory
1062 + else
1063 + append-ldflags -Wl,--no-keep-memory -Wl,--reduce-memory-overheads
1064 + fi
1065 + ;;
1066 + esac
1067 +
1068 + if ! use elibc_glibc ; then
1069 + mozconfig_add_options_ac '!elibc_glibc' --disable-jemalloc
1070 + fi
1071 +
1072 + # Allow elfhack to work in combination with unstripped binaries
1073 + # when they would normally be larger than 2GiB.
1074 + append-ldflags "-Wl,--compress-debug-sections=zlib"
1075 +
1076 + # Make revdep-rebuild.sh happy; Also required for musl
1077 + append-ldflags -Wl,-rpath="${MOZILLA_FIVE_HOME}",--enable-new-dtags
1078 +
1079 + # Pass $MAKEOPTS to build system
1080 + export MOZ_MAKE_FLAGS="${MAKEOPTS}"
1081 +
1082 + # Use system's Python environment
1083 + export MACH_USE_SYSTEM_PYTHON=1
1084 + export MACH_SYSTEM_ASSERTED_COMPATIBLE_WITH_MACH_SITE=1
1085 + export PIP_NO_CACHE_DIR=off
1086 +
1087 + # Disable notification when build system has finished
1088 + export MOZ_NOSPAM=1
1089 +
1090 + # Portage sets XARGS environment variable to "xargs -r" by default which
1091 + # breaks build system's check_prog() function which doesn't support arguments
1092 + mozconfig_add_options_ac 'Gentoo default' "XARGS=${EPREFIX}/usr/bin/xargs"
1093 +
1094 + # Set build dir
1095 + mozconfig_add_options_mk 'Gentoo default' "MOZ_OBJDIR=${BUILD_DIR}"
1096 +
1097 + # Show flags we will use
1098 + einfo "Build BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}"
1099 + einfo "Build CFLAGS:\t\t${CFLAGS:-no value set}"
1100 + einfo "Build CXXFLAGS:\t\t${CXXFLAGS:-no value set}"
1101 + einfo "Build LDFLAGS:\t\t${LDFLAGS:-no value set}"
1102 + einfo "Build RUSTFLAGS:\t\t${RUSTFLAGS:-no value set}"
1103 +
1104 + # Handle EXTRA_CONF and show summary
1105 + local ac opt hash reason
1106 +
1107 + # Apply EXTRA_ECONF entries to $MOZCONFIG
1108 + if [[ -n ${EXTRA_ECONF} ]] ; then
1109 + IFS=\! read -a ac <<<${EXTRA_ECONF// --/\!}
1110 + for opt in "${ac[@]}"; do
1111 + mozconfig_add_options_ac "EXTRA_ECONF" --${opt#--}
1112 + done
1113 + fi
1114 +
1115 + echo
1116 + echo "=========================================================="
1117 + echo "Building ${PF} with the following configuration"
1118 + grep ^ac_add_options "${MOZCONFIG}" | while read ac opt hash reason; do
1119 + [[ -z ${hash} || ${hash} == \# ]] \
1120 + || die "error reading mozconfig: ${ac} ${opt} ${hash} ${reason}"
1121 + printf " %-30s %s\n" "${opt}" "${reason:-mozilla.org default}"
1122 + done
1123 + echo "=========================================================="
1124 + echo
1125 +
1126 + ./mach configure || die
1127 +}
1128 +
1129 +src_compile() {
1130 + local virtx_cmd=
1131 +
1132 + if use pgo ; then
1133 + virtx_cmd=virtx
1134 +
1135 + # Reset and cleanup environment variables used by GNOME/XDG
1136 + gnome2_environment_reset
1137 +
1138 + addpredict /root
1139 + fi
1140 +
1141 + local -x GDK_BACKEND=x11
1142 +
1143 + ${virtx_cmd} ./mach build --verbose \
1144 + || die
1145 +}
1146 +
1147 +src_install() {
1148 + # xpcshell is getting called during install
1149 + pax-mark m \
1150 + "${BUILD_DIR}"/dist/bin/xpcshell \
1151 + "${BUILD_DIR}"/dist/bin/${PN} \
1152 + "${BUILD_DIR}"/dist/bin/plugin-container
1153 +
1154 + DESTDIR="${D}" ./mach install || die
1155 +
1156 + # Upstream cannot ship symlink but we can (bmo#658850)
1157 + rm "${ED}${MOZILLA_FIVE_HOME}/${PN}-bin" || die
1158 + dosym ${PN} ${MOZILLA_FIVE_HOME}/${PN}-bin
1159 +
1160 + # Don't install llvm-symbolizer from sys-devel/llvm package
1161 + if [[ -f "${ED}${MOZILLA_FIVE_HOME}/llvm-symbolizer" ]] ; then
1162 + rm -v "${ED}${MOZILLA_FIVE_HOME}/llvm-symbolizer" || die
1163 + fi
1164 +
1165 + # Install policy (currently only used to disable application updates)
1166 + insinto "${MOZILLA_FIVE_HOME}/distribution"
1167 + newins "${FILESDIR}"/distribution.ini distribution.ini
1168 + newins "${FILESDIR}"/disable-auto-update.policy.json policies.json
1169 +
1170 + # Install system-wide preferences
1171 + local PREFS_DIR="${MOZILLA_FIVE_HOME}/browser/defaults/preferences"
1172 + insinto "${PREFS_DIR}"
1173 + newins "${FILESDIR}"/gentoo-default-prefs.js gentoo-prefs.js
1174 +
1175 + local GENTOO_PREFS="${ED}${PREFS_DIR}/gentoo-prefs.js"
1176 +
1177 + # Set dictionary path to use system hunspell
1178 + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set spellchecker.dictionary_path pref"
1179 + pref("spellchecker.dictionary_path", "${EPREFIX}/usr/share/myspell");
1180 + EOF
1181 +
1182 + # Force hwaccel prefs if USE=hwaccel is enabled
1183 + if use hwaccel ; then
1184 + cat "${FILESDIR}"/gentoo-hwaccel-prefs.js \
1185 + >>"${GENTOO_PREFS}" \
1186 + || die "failed to add prefs to force hardware-accelerated rendering to all-gentoo.js"
1187 + fi
1188 +
1189 + if ! use gmp-autoupdate ; then
1190 + local plugin
1191 + for plugin in "${MOZ_GMP_PLUGIN_LIST[@]}" ; do
1192 + einfo "Disabling auto-update for ${plugin} plugin ..."
1193 + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to disable autoupdate for ${plugin} media plugin"
1194 + pref("media.${plugin}.autoupdate", false);
1195 + EOF
1196 + done
1197 + fi
1198 +
1199 + # Force the graphite pref if USE=system-harfbuzz is enabled, since the pref cannot disable it
1200 + if use system-harfbuzz ; then
1201 + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set gfx.font_rendering.graphite.enabled pref"
1202 + sticky_pref("gfx.font_rendering.graphite.enabled", true);
1203 + EOF
1204 + fi
1205 +
1206 + # Install language packs
1207 + local langpacks=( $(find "${WORKDIR}/language_packs" -type f -name '*.xpi') )
1208 + if [[ -n "${langpacks}" ]] ; then
1209 + moz_install_xpi "${MOZILLA_FIVE_HOME}/distribution/extensions" "${langpacks[@]}"
1210 + fi
1211 +
1212 + # Install geckodriver
1213 + if use geckodriver ; then
1214 + einfo "Installing geckodriver into ${ED}${MOZILLA_FIVE_HOME} ..."
1215 + pax-mark m "${BUILD_DIR}"/dist/bin/geckodriver
1216 + exeinto "${MOZILLA_FIVE_HOME}"
1217 + doexe "${BUILD_DIR}"/dist/bin/geckodriver
1218 +
1219 + dosym ${MOZILLA_FIVE_HOME}/geckodriver /usr/bin/geckodriver
1220 + fi
1221 +
1222 + # Install icons
1223 + local icon_srcdir="${S}/browser/branding/official"
1224 + local icon_symbolic_file="${FILESDIR}/icon/firefox-symbolic.svg"
1225 +
1226 + insinto /usr/share/icons/hicolor/symbolic/apps
1227 + newins "${icon_symbolic_file}" ${PN}-symbolic.svg
1228 +
1229 + local icon size
1230 + for icon in "${icon_srcdir}"/default*.png ; do
1231 + size=${icon%.png}
1232 + size=${size##*/default}
1233 +
1234 + if [[ ${size} -eq 48 ]] ; then
1235 + newicon "${icon}" ${PN}.png
1236 + fi
1237 +
1238 + newicon -s ${size} "${icon}" ${PN}.png
1239 + done
1240 +
1241 + # Install menu
1242 + local app_name="Mozilla ${MOZ_PN^}"
1243 + local desktop_file="${FILESDIR}/icon/${PN}-r3.desktop"
1244 + local desktop_filename="${PN}.desktop"
1245 + local exec_command="${PN}"
1246 + local icon="${PN}"
1247 + local use_wayland="false"
1248 +
1249 + if use wayland ; then
1250 + use_wayland="true"
1251 + fi
1252 +
1253 + cp "${desktop_file}" "${WORKDIR}/${PN}.desktop-template" || die
1254 +
1255 + sed -i \
1256 + -e "s:@NAME@:${app_name}:" \
1257 + -e "s:@EXEC@:${exec_command}:" \
1258 + -e "s:@ICON@:${icon}:" \
1259 + "${WORKDIR}/${PN}.desktop-template" \
1260 + || die
1261 +
1262 + newmenu "${WORKDIR}/${PN}.desktop-template" "${desktop_filename}"
1263 +
1264 + rm "${WORKDIR}/${PN}.desktop-template" || die
1265 +
1266 + # Install wrapper script
1267 + [[ -f "${ED}/usr/bin/${PN}" ]] && rm "${ED}/usr/bin/${PN}"
1268 + newbin "${FILESDIR}/${PN}-r1.sh" ${PN}
1269 +
1270 + # Update wrapper
1271 + sed -i \
1272 + -e "s:@PREFIX@:${EPREFIX}/usr:" \
1273 + -e "s:@MOZ_FIVE_HOME@:${MOZILLA_FIVE_HOME}:" \
1274 + -e "s:@APULSELIB_DIR@:${apulselib}:" \
1275 + -e "s:@DEFAULT_WAYLAND@:${use_wayland}:" \
1276 + "${ED}/usr/bin/${PN}" \
1277 + || die
1278 +}
1279 +
1280 +pkg_preinst() {
1281 + xdg_pkg_preinst
1282 +
1283 + # If the apulse libs are available in MOZILLA_FIVE_HOME then apulse
1284 + # does not need to be forced into the LD_LIBRARY_PATH
1285 + if use pulseaudio && has_version ">=media-sound/apulse-0.1.12-r4" ; then
1286 + einfo "APULSE found; Generating library symlinks for sound support ..."
1287 + local lib
1288 + pushd "${ED}${MOZILLA_FIVE_HOME}" &>/dev/null || die
1289 + for lib in ../apulse/libpulse{.so{,.0},-simple.so{,.0}} ; do
1290 + # A quickpkg rolled by hand will grab symlinks as part of the package,
1291 + # so we need to avoid creating them if they already exist.
1292 + if [[ ! -L ${lib##*/} ]] ; then
1293 + ln -s "${lib}" ${lib##*/} || die
1294 + fi
1295 + done
1296 + popd &>/dev/null || die
1297 + fi
1298 +}
1299 +
1300 +pkg_postinst() {
1301 + xdg_pkg_postinst
1302 +
1303 + if ! use gmp-autoupdate ; then
1304 + elog "USE='-gmp-autoupdate' has disabled the following plugins from updating or"
1305 + elog "installing into new profiles:"
1306 + local plugin
1307 + for plugin in "${MOZ_GMP_PLUGIN_LIST[@]}" ; do
1308 + elog "\t ${plugin}"
1309 + done
1310 + elog
1311 + fi
1312 +
1313 + if use pulseaudio && has_version ">=media-sound/apulse-0.1.12-r4" ; then
1314 + elog "Apulse was detected at merge time on this system and so it will always be"
1315 + elog "used for sound. If you wish to use pulseaudio instead please unmerge"
1316 + elog "media-sound/apulse."
1317 + elog
1318 + fi
1319 +
1320 + local show_doh_information
1321 + local show_normandy_information
1322 + local show_shortcut_information
1323 +
1324 + if [[ -z "${REPLACING_VERSIONS}" ]] ; then
1325 + # New install; Tell user that DoH is disabled by default
1326 + show_doh_information=yes
1327 + show_normandy_information=yes
1328 + show_shortcut_information=no
1329 + else
1330 + local replacing_version
1331 + for replacing_version in ${REPLACING_VERSIONS} ; do
1332 + if ver_test "${replacing_version}" -lt 91.0 ; then
1333 + # Tell user that we no longer install a shortcut
1334 + # per supported display protocol
1335 + show_shortcut_information=yes
1336 + fi
1337 + done
1338 + fi
1339 +
1340 + if [[ -n "${show_doh_information}" ]] ; then
1341 + elog
1342 + elog "Note regarding Trusted Recursive Resolver aka DNS-over-HTTPS (DoH):"
1343 + elog "Due to privacy concerns (encrypting DNS might be a good thing, sending all"
1344 + elog "DNS traffic to Cloudflare by default is not a good idea and applications"
1345 + elog "should respect OS configured settings), \"network.trr.mode\" was set to 5"
1346 + elog "(\"Off by choice\") by default."
1347 + elog "You can enable DNS-over-HTTPS in ${PN^}'s preferences."
1348 + fi
1349 +
1350 + # bug 713782
1351 + if [[ -n "${show_normandy_information}" ]] ; then
1352 + elog
1353 + elog "Upstream operates a service named Normandy which allows Mozilla to"
1354 + elog "push changes for default settings or even install new add-ons remotely."
1355 + elog "While this can be useful to address problems like 'Armagadd-on 2.0' or"
1356 + elog "revert previous decisions to disable TLS 1.0/1.1, privacy and security"
1357 + elog "concerns prevail, which is why we have switched off the use of this"
1358 + elog "service by default."
1359 + elog
1360 + elog "To re-enable this service set"
1361 + elog
1362 + elog " app.normandy.enabled=true"
1363 + elog
1364 + elog "in about:config."
1365 + fi
1366 +
1367 + if [[ -n "${show_shortcut_information}" ]] ; then
1368 + elog
1369 + elog "Since ${PN}-91.0 we no longer install multiple shortcuts for"
1370 + elog "each supported display protocol. Instead we will only install"
1371 + elog "one generic Mozilla ${PN^} shortcut."
1372 + elog "If you still want to be able to select between running Mozilla ${PN^}"
1373 + elog "on X11 or Wayland, you have to re-create these shortcuts on your own."
1374 + fi
1375 +}