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, 27 Jan 2022 13:40:46
Message-Id: 1643290819.67723237ba326e5df969ec6b624961122acc0ee4.juippis@gentoo
1 commit: 67723237ba326e5df969ec6b624961122acc0ee4
2 Author: Joonas Niilola <juippis <AT> gentoo <DOT> org>
3 AuthorDate: Thu Jan 27 13:34:52 2022 +0000
4 Commit: Joonas Niilola <juippis <AT> gentoo <DOT> org>
5 CommitDate: Thu Jan 27 13:40:19 2022 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=67723237
7
8 www-client/firefox: add 96.0.3
9
10 Signed-off-by: Joonas Niilola <juippis <AT> gentoo.org>
11
12 www-client/firefox/Manifest | 98 +++
13 www-client/firefox/firefox-96.0.3.ebuild | 1239 ++++++++++++++++++++++++++++++
14 2 files changed, 1337 insertions(+)
15
16 diff --git a/www-client/firefox/Manifest b/www-client/firefox/Manifest
17 index ff50ad5c5000..60ca6f879119 100644
18 --- a/www-client/firefox/Manifest
19 +++ b/www-client/firefox/Manifest
20 @@ -294,3 +294,101 @@ DIST firefox-96.0.2-xh.xpi 424472 BLAKE2B 9a22f930141460d6d8cec62bb6081cb73dc644
21 DIST firefox-96.0.2-zh-CN.xpi 576729 BLAKE2B b920aca63e1403839d31223f375738f3c97b285131791b9e80c412628579595c87c1bead8b6ad7f11846cbf956d0173026a40182eb275d00dcfbb6afaa7d4b8d SHA512 8850521b1a6137713329eff99101d587a93f0bcf2e2b301af278817f07a8c93eb2806479a4b6829cdd0b3389fc89ccd4fec37016321611c90b178d20d91f967d
22 DIST firefox-96.0.2-zh-TW.xpi 577817 BLAKE2B b29e8cc93a9753d933a1868c072161cc9d7e26389e868b2f9a3bbf15b171b0fa22d46f6accd06d6898261c7bd0e244c0241785c4541b2d7f991ffe89dab38806 SHA512 330d6395328bb1135843fe9d8f164f169b3220257c9835bad8c1ccd7b64a807437289155445832d0d6117a48db80590a95be26cef5ecc828e8417241454ca042
23 DIST firefox-96.0.2.source.tar.xz 414004200 BLAKE2B 652af84f39e68d12aa53718606abbedd4e24f1ed6f8e376c748a43166acea7fe3c0362114c4492204d36997e20244ff5607cbe79aa21361fb3827642575eede9 SHA512 5ceb1f023a9217c6a9c08b6525882d4091f989859cf209cc1d0ea22c846d05a967e1c47102ae052f7a5029d18118a558dd96da00437ee2c6fbf2896caf99d9dd
24 +DIST firefox-96.0.3-ach.xpi 452228 BLAKE2B d23eba2f4715d101bf2ecf8dab0c46bc44a80c1090645cfd2a09864293abc6fd2000b8c018f6cf6cb290795c4338ca16252aee8b9cb85ca422016a82ff817d7c SHA512 887f910a26ccf94be836b8f031b21a275b4791d64c33e6a0c0a7786a2961a336ec9bb0d3590003fc9c394e78a1fcfb0d048a4954b39bbc5ac08e04fbe53c501d
25 +DIST firefox-96.0.3-af.xpi 421362 BLAKE2B a6caf6e6f6ee9de98e50c59080859a549f15e8c625204fc091c2196afecb22aa3d98c787306b7933bb98a3b9e495bd2fb601551a08c442307c864c2a352c90d2 SHA512 bafeca49c39c01eb385bcbf7c5d439ba187f56ca9c6f6d5459e807533d638737af8d3a88e22c41794099b157b54cc56d03fd9fb378897dfdf9a919c7526035de
26 +DIST firefox-96.0.3-an.xpi 500465 BLAKE2B a7c90809abe83697e85ba92245b2947a7a1edef88b0864ab44de81d5082f1dae63ed586559e62fa283af035f1c8e45fdcd3c0e2702e6b92bc4a0df3f7000bc65 SHA512 fdaf104f5c4cd52cf37fd57c64d2014bdd26047e034e6c8307b1d1d56c376816bf7ecd2cabd5493d12713b926d44d6636a5669d180928781aab193e9313ef1dd
27 +DIST firefox-96.0.3-ar.xpi 560678 BLAKE2B 81babb91e7c9e6979c9a792d543fc5e5f8f45da4b5937dc864d3bc322d638dad721979979a9cd7e74b367cab368179438543ee1197a94aaac178520498e03469 SHA512 034d7ec5ff281d70c45dd781e39a1bbfc4e64c027a13bcb45db014b5c1e0a72e6575fc167402da44de421d90b14a89b0c8debc8852fb4ebead101a3d94cfe1bb
28 +DIST firefox-96.0.3-ast.xpi 497764 BLAKE2B 053d018126da34add24ef0a49fab02c71ff46467cb2db805e8fb81fe36eadeb9b296592597a6643beb8d6206dff0189c6d2a0e0459cfbed59eaf25a01dddf2bf SHA512 1d29d7ef672688e3504b348337843950f30e4f9dfac1977f9d85dd2e96c191453d1188204f86e5958921fbba77c7252ef8faf73237910e36155e1161e62548a8
29 +DIST firefox-96.0.3-az.xpi 488174 BLAKE2B cf04dfea0db421fc15ff354c8c85569eb537d8de7b7dc3ea464c1113d76ad97132fb0aceb96f28495745e8f68ad2c5a3bbf721f987b4aef6a296526efa58c744 SHA512 47998a79d83ddcb26bb69d7011c69642c255c2aa3b37bde0e6a89191d721df4be7670ef51fc23d6a87fdba99891e3811a952ba1ee97154783e0d2b2918530d68
30 +DIST firefox-96.0.3-be.xpi 621947 BLAKE2B d1c176dd2b33f4d440532cb959dd2e6beea868936c0631a7e26e31d90be05a2457fbe6295750c6df7d32a6a644242ba18925987da27e8cb801faf623abdc0797 SHA512 4fadaeb094374878e3d17e37f147449488635d563420eca48a72977ae14a7e076b30b24754edda50bb8e67ad8e127d197c5791053fdf49f027ad6efff8fd1983
31 +DIST firefox-96.0.3-bg.xpi 567722 BLAKE2B bc3e41032737a1c403c7a1b6354adad0c77e2247d958e00f26df3fefb9f7afdcb342c4dc2f5e13eca5810bbced702197df44a6937d22c7c539c65cde70fbfa49 SHA512 40bdc69ddc6eb021c17b59061de526b420a0f56fd775f43753c553b586b95baec9fbafe374a19fa4901abda36fd4ecf685f2e4a2d44363f8f24f0d7dbfeb9959
32 +DIST firefox-96.0.3-bn.xpi 557063 BLAKE2B 1d89761d81637a35fa34253c88178b13f007100852b31fd0100705ad272639a9d870273a2a5b670751eebd3decd6843288cce1542d4ca745938e839e4878326f SHA512 18887a2985fd4cfc922d61c1f1cfd2e55cc773a92f4cd4ad5963de47c0acaab28724b3ef791ab0ce2ee91065fbc02d5f2511f1c6236b4c377bedfb900551c845
33 +DIST firefox-96.0.3-br.xpi 527913 BLAKE2B 39bfcefef4e45e3cb8d082ad19dd7a07a3257b410a73fd1f11e8675349e6533a6351545e711116d123824e2242922124be1f51dba9a3b0211420648b9c805b0d SHA512 f801f81598d412e82a38624069bf0987f9427b9efb4447d129fafad29f1d336e74ec04094857dbf9e1ca2f16f3e9b00f312880e3e0df766de69ec1007580fa2a
34 +DIST firefox-96.0.3-bs.xpi 463271 BLAKE2B b32224d00d1e5907c6a669c57a241eb86a7e91c55e413cd98f217c5a819713d0cc7c76a16c1535b6891cfd43fc595210992f6565a998e764b51fd3ed5c63cc7c SHA512 fd7d66eafb9476a9b8c7284af40bb3d3959b7f44b66ddada60650e791c635e845d752ce0a54be24a5b10d0894971088751afecbfc8b207c8db83d0d9ef60d92e
35 +DIST firefox-96.0.3-ca-valencia.xpi 539685 BLAKE2B 0bf0e70ed2dc4cd390703c27efc7cfc00c26e9aa3c938e9bd1c1f07fee794cde64adc4270a1a38b39f03ca7462bf00bcbb8f8704509548d4f732bcfa7ce1ac1d SHA512 9d13c632a56e07c7712374f02444fc7434f84a8e61e342f49846103a3beca2b332f334993f55b37eeaff97a29b5d380167267acbf746e36397a8e7b584df41ab
36 +DIST firefox-96.0.3-ca.xpi 532330 BLAKE2B 084a14cbf6e401f97e923eb11222f5142afb5eb2fbb162137a66dbaf34e4c1b741168f1c2930361a6ea2951143feb98e9e111335a43f9fb7daa5ec9ccc2971df SHA512 7eebd71f4173ddc610dc1ee653e60cc8a0276ddd0630176c8022d40b025eae6308e2c10880ebd2187afbef8d9dc00ee7c76d9be9e35813b0c6df5b5bf13bccfe
37 +DIST firefox-96.0.3-cak.xpi 554175 BLAKE2B 27b2abf6757be6ea31f1fe6371823b38f115c8300bf50c02b69584b382d5fe24e12dcbfa7290bdfbe605635027e8012052871e60274c0500bba2a1db19f35018 SHA512 f4045d27a92d2d45e12208bfa59e77783bd653e3b33f984c36b2c89be5a1db445163b3b39e25a11d265cd63f2f92ebc1a6795466f9c5bac1f5a5f4f8e90e4c81
38 +DIST firefox-96.0.3-cs.xpi 564609 BLAKE2B 13c470edba6a14f70978d3f7b1798c8ddf540fb2ce8d3a380ef79fdc78abfca776edfe3733d24c3627615c936981c0cd8afd7e67ddb995fdbef980182e835c91 SHA512 65deec54dd2e278aefefc540321c75eacb4dff616bf5679dbce309c25b7db977a1f01cd096f222b5390f7cb13d77ed34d4dcc4c88a83e231a5be68b028fe0f9a
39 +DIST firefox-96.0.3-cy.xpi 543969 BLAKE2B 13d0479063535abd9acab08c59c85294ad063d503fdbbcf534ac56e5c9f858b1758667c06834be6965adad9a217a4df9776aa3e1452437263ad8ef62e09d4c6c SHA512 fcf0a7c2f0750e3712f148ce346503c01d368440802205b3eb477597077e869acca36d3a7c93809b40f7c6f311f06731e756633c96b5fc0def2b78156c9dc7f7
40 +DIST firefox-96.0.3-da.xpi 534878 BLAKE2B e7e290a615e5719cf96889b784ecb35bdfeec50799698ec267795717093909b606f959557980f43951c8fe2ccff04328cb9f569c5b8daa0216fac5f8aceeb83a SHA512 184361a056e443ef85882cc13d26a952395848fb0b2c197b76b402d46e890c19c232d2015a4ecb4059da3d7aa44a122d4c79f70dab19c091d02dd0f3f04e0e25
41 +DIST firefox-96.0.3-de.xpi 555198 BLAKE2B 30f0df486a2db6e0b51e3df9a5e2b9688cab79160ad438b263b2ef167842f5db82d7dea6634b9e4d4668435de4bd81af30cf70d0b93adb08c3701d2a846650e5 SHA512 d216c6ab9fc4767ca4675760b6405472c629ebf601d2bad7c6885315a7d842ac70d59f462a8f850e105aff5b1bb8b0e6b6bd4f326fbd0b04819faee65dae1614
42 +DIST firefox-96.0.3-dsb.xpi 568055 BLAKE2B 090ca4178d69418e3224d5ae99fbfef274634cc2091241e863dffadcc8f00d1f20cf54162ab9e748d68e490ac2106a2a8ce467a6b0cd4dc522f6f07d7f2b4313 SHA512 1fdd9f15fbd684d2d7e04a02840c85dc6d82887f0bd75fa09d570b8cc534e4f8acb57bc4598e91ca0e649d2f3f0dc4249009803b6d2e752b9650d3b0ef1a1f37
43 +DIST firefox-96.0.3-el.xpi 639303 BLAKE2B 8545baf14689d17cb8081928899a6cee265525ead46bde2521f8bb9792a6c4a7493d10d25f76d3e5a52d77527edcb7b36495594f1d30979a9f031f9c7757d845 SHA512 e1b92e1eba6dd57bfb51f596d9483deb9cc64c873ccd13e4325ae8592033089c36e9ef0cb81b0914755a695c065009e20edc927311c45d4599f4d170fcc32b69
44 +DIST firefox-96.0.3-en-CA.xpi 511589 BLAKE2B a53097d9a798643e70616fd9e4c5f16a5dcfc12996f63edb8b1230fb0724f8953212de66cff60b7185392e5d02894951d0a352c9d32ea8eae8b1b5db0c5834db SHA512 c58497cf0e58c4f06c139b84268efd539209e2a5818b307094fcd26567c48d7f335f4a85fc3066dd8efab33fd8641d6833772bce35a92008c1e47811ac6a0323
45 +DIST firefox-96.0.3-en-GB.xpi 512296 BLAKE2B 94da8be70d1f49e2cab4fa0316bbe0404cc1c4215f9ed1ef65cbefafd7868752e698edaf9ec971305fbaf29c9f925f56228ba1273a81b8a1ed80a7fb172db1d0 SHA512 a155c20c644ec78fffb2fc01ba3cdf08fc3dd371f8b835c4e09281b48d2950f253344e097275663f2ebd44b27a2065b9a3d20a0ac425bb09188d80906e30cb57
46 +DIST firefox-96.0.3-eo.xpi 536247 BLAKE2B aba7f00a9f9991e295325238eddddcd581a0ca04f457a00893bb5cd8ebaf30e64a549110a168b4dcb5146a0330d7420f13565184bfde32ab86c5710d4be703dd SHA512 8fa9c7216df39ec8462370ded4fb2aa6d1e873ba0c226213f77b97b00e9fc325b6cb3b39e809ae35e8996a0ace88f7e107f9e2a6ee4a540410ae89ebafec1717
47 +DIST firefox-96.0.3-es-AR.xpi 548522 BLAKE2B fdb73c5061a3968c8d9532f7ab24f0992addca333d27245c4cfab51bdd4bedfc4533ffd6bf227317321d03b1861bf4017ec9eddb1acf7227a4336aa6055814ca SHA512 df74d75c228608e77453db2d63ced8e557d871b94c7deb2e30d7aed2bfc96e35ebd527fdbe00f479437f9c276551e6b8054135a3a271cbfce9461793279d3200
48 +DIST firefox-96.0.3-es-CL.xpi 547895 BLAKE2B 21cd5d66871acf5e2ca7f0a2f07ee0c0e4a12f0ffc4688ed8cd4e037facb01acea2d934fc17ae5b666c40aa1ed3574041e14e6c5e827e725277481c528bd9ca4 SHA512 0831c3de5a0a091757d9a71f57d9df12cd2c6e3cad0cf12286f739feb7613445b8a7b1a1fff532b9229796428724816f7212055f2259a1acdb2d6ff6eb4ef5ad
49 +DIST firefox-96.0.3-es-ES.xpi 538752 BLAKE2B 555fb65a1d7c659704a8b9b580c786a16ea70a5a0a1158a45e68025e687ec8509c78f31aba14b12028062179d8773dbec3bfe11760ba7de36fa1c78807aa22ea SHA512 6453d10cf5372d70d455336a5351c6f2aaa91692a5bc6bef39b0957814e9bc3e0fc9cefe8900933b612a62299825c2b08a3afc13b8a4bbfd5039984d5f5f4c68
50 +DIST firefox-96.0.3-es-MX.xpi 551753 BLAKE2B 51ad4c6ae803a89be7b2c7ef5ecac86d8145625fa7195b4cf9d2e74464e7c80102a00b9bd41eeaaabe4230e6e6fa0c0e4ac517140c689336dd413ef977a1ec03 SHA512 6858007e6a16276cc51db89b38b7ececc8329d670542f8f32788c0306820b4da619fd92c29edec4e713ceae0bc1f18877f995a515f9e700c57ae3c89b8e35353
51 +DIST firefox-96.0.3-et.xpi 529832 BLAKE2B 00965f0f730c6af092218b22fe141787b3ed80537affc4a1c971c3914ab96654e7edac2d013462e6a7ab316247a6c46113743fcd26f4407d3132c0ebe7e5feb7 SHA512 f8d074e189c811c5b815fe463b26c451e9efa0ceb92acd3b66851e542637b828eed9481cf5463c66bf2264116ae6465b77be95d410fc5b310235c440cedb54bf
52 +DIST firefox-96.0.3-eu.xpi 537825 BLAKE2B 0281be395b1ac9775acdc8699bcf1dd12a043f20870b5d2e4636a087be09bac674d579bc60f9a1d85fccb58d761a3051705dc4044c75fad5eb676cec267e1550 SHA512 bee1ea778856b29e848f4f60e0a36d3a3f5fed34ade7cfadac68e061d939636d045bef88d19ce2e7ee084077aaa8ad5100fd4fcccc8c0736c997d5a61bc520c0
53 +DIST firefox-96.0.3-fa.xpi 564727 BLAKE2B 3292b9686da081e63ec9d694725c00b9dd36e028efaaf82ba08885f01eae111e47faf3d7a71a007689bd80468bc9a693e70ac9f6648a5600bce571fd26a1952b SHA512 5738de832059a80659246a1471026c12a6ca394ccee7ad946bdba109b42b712818caeaa6cec87bcaa9b617d65ac2f731a8b190daa5ae250c16b059996588e66c
54 +DIST firefox-96.0.3-ff.xpi 471416 BLAKE2B 57c9ca3acae39883c7ced54bfe68a437a5975ce452236d8c93dde475cb4f06c3bb9c3843080386388e110c0d72de096770e5ddded707a6b0fd84ca2333d5d53f SHA512 fc512f4abdea781df5d12cb5c396d1792247eed75612d10e18ded056b869b9bc67c7bb5101bf8a436a3eabff192b0e9b0673ffcdf08dbe692bd5246c6aed9723
55 +DIST firefox-96.0.3-fi.xpi 533880 BLAKE2B 7a4f33ebf6a6c6c2bc5aed6868051c88e1a2d35044c9a7b16c142c7bcef37a697418aefa9c824df297517c456cbe66b3993ea26f173ff1565dc2356e5ceb85cc SHA512 963531a908eaa703392b2ae22c68e91b46e27cee8d52f9de669e9cdc9fbfa53748f5baf02a0ace9dc2e1a58ecf7fd3b75ab10e259276776bb57ef1297101d3a3
56 +DIST firefox-96.0.3-fr.xpi 559472 BLAKE2B adf87ce91b34402d8bfae82db2cde90d881376aecc7f6d960285f9b963a7e8668e0889867c92e6980d63e82ee982ba26bf87b11e147a76e602091b9cba542907 SHA512 e5b6fbad1f3bafd2e0152dbd6c7e0c959d47a03cba38ea121240a0c81276cbefbf557699159c2b544f36782a726a014c282b3982f91b3970a4da17df12b1a2fc
57 +DIST firefox-96.0.3-fy-NL.xpi 544730 BLAKE2B 8418e59f6fdc7e4dc5c522b333989c19f05d388846d324d95984de9f420e6719162535e75e42391d8ea76dd683e3917ba36ffa193650ed28011216e1020f316d SHA512 f61af838429a4472f2152d8d205a61544b853c2167a5528baf77372aaf7d18a543804299ca875c6ba7e27cd1d7a3ea6a47a65c6fbb1d80ecbefecbd0dae2e038
58 +DIST firefox-96.0.3-ga-IE.xpi 458682 BLAKE2B e1601ca0f1df7d875dd2b4a9b21b53acba8357ff474db0e853fb1024fa141d63d01e2d3e85bbe32512d3a5d6971ddc7925ebf272e56523122bbf9c54cfb3d284 SHA512 9b1e0fcbefc35f0a7b3ff5290c32704496bcaf0522c0f7dfc484653331e9bde1d4c5d4a13c0c360ab63188c1d449745077cf9fabf458b2c98d5d4812ed7fd5c6
59 +DIST firefox-96.0.3-gd.xpi 531919 BLAKE2B cdc38cf37dcdb2c3be689b60c663f949a043556f6ae793371ff13d466b7f6a04577ee41ebce0061c34beecb1fc362f270e4a27af3244cb0ae856627e637499a8 SHA512 6e1f599dc876f7fbde684a7bf8d44d10fc1301cdec8f3f7edfcefdc13f30c353e4df9c86ca95a13d77a51e7e96d5e66dad1b8411f7d3b341a5c72d7ffee53009
60 +DIST firefox-96.0.3-gl.xpi 543064 BLAKE2B c71c1b087b9b8d35ae3bc2c7ea2c121616a44e82a50acb61cc3c5363c9a6fd816e1e13085f60b6ff31921d402b0c33571359bc95a264cac5cc45ef03aaa350fb SHA512 619b61fcde71dda6502ff942d4d39a2d5f1782e83aff191aaea4a5ae2fd2b8f5c7be6401fd804ab39122e384f352da578ad4b58a811a7057a412d3e4bca4873e
61 +DIST firefox-96.0.3-gn.xpi 559984 BLAKE2B 52ddc6f43c6818ddcd5fe6f5047c6d67756e8b62445b1018077b0a783753742a2ba6e9fa47b492b0b8ecf51ecedfd06c76499bfd844aad4390c662ed7aa6b075 SHA512 364fbfe03c5bc5595555bdd1e165b3c29ac073cb4981cc69f6a539c45d4d013750c34c1f30905f7fcef19b512cbab5a88d99d3c6a82ea7191273eb6788bcf72a
62 +DIST firefox-96.0.3-gu-IN.xpi 528692 BLAKE2B 36352d19450e4ef29800516179c20321692920e902a6feaf9db7e9b25ceca88b0251f1c8dbf40b12e78247886a31227922db9776008a8db46f4c083c44abe6e3 SHA512 41748fec4dd7e95198fd6e2015f7065e5bd46dec8b72657ee0cfe7572936a3b2a966047753914e373b83bd8495d0013e6272bae956116f803d36b640201a8a4b
63 +DIST firefox-96.0.3-he.xpi 558121 BLAKE2B 0d41d9598100fbc025491fe27d3aa59bf29f3d33b840bdf2445bd6573c8fcee9305e7a6b004473c011ce0417081d0f3014c301d44a933fd2a97c92c20433a376 SHA512 f14be4d28e8298d0e6db24b9f122b453d9e2069eaedb19340b782660f2b8643f911f63e2ae759047410c9755db1870e4535c790edfa0c51f849476cb296ebd1e
64 +DIST firefox-96.0.3-hi-IN.xpi 559791 BLAKE2B 9076b272016d8a57ad96b05f915156962bd85e49cdc4b3652dc72dc48373bd538213885b6087f64f4571324fc073713a2d01834f39c4058b5eccf770a030d352 SHA512 276c03545cf560f5a04eec51d3954720c66b75b59a1ae42fe5ffbe336f3a110c0b8b76731572834cb32eba581a4445519912c74aeaa491307ce838a07bec892b
65 +DIST firefox-96.0.3-hr.xpi 532782 BLAKE2B 252168e9a6e468e39950767b5c9339b7375291586928218f2e322bf20991c156f1f7239de7905ac312bc32022b1a75f753d0569269d9ae5dbf35f3899e717766 SHA512 158e3f34f7581c7f0b50da8aa0225376410ec001abc2a863feafb4f64dba5e083495aa6ae1a38f750e2171f6524d8dda21464c41feeabb65dc5c14120a1a4f94
66 +DIST firefox-96.0.3-hsb.xpi 564162 BLAKE2B 5bf462722c50850ff4d79a117718e1ebf0f8f13c0e555cec4f172de230c26ab6d0fac112405f047e06e1191271b72ddff18c00269bc808fddea4b89772a2c919 SHA512 24e14d85f0519dffd5e918f7b160d5ca65ec475f34706c2300993e93a8d0731470afc66bb0e95738b05fc2f269be562ef006b21d285e794a576d27ee9ebde52e
67 +DIST firefox-96.0.3-hu.xpi 567454 BLAKE2B 49f11a40bfa0a14ca8c093b08b873902bf94083193f6d8af24a2dae7a1546007f5ac67f32bc684db1cc3af40f9cdd57fb7ea14c37de2092d77533e733c37d3d2 SHA512 66696b692d176a41e9986c2fe6ea9f596bc3340bfdb5f2902616dd99290353bd4fd8107d8a4d61384c0fb23ace56e132adadd51c5ad455b37a0958e355d915a0
68 +DIST firefox-96.0.3-hy-AM.xpi 581504 BLAKE2B dfdf5e6313324e119605c5066c0ed960276fe1a63975c4e7ac0a5f2a9d50e9b6a689ebb05007802e9c5ac03f2eccd007ec56128d2ca9ee7393335c6cf041f285 SHA512 b0ffe981866b6d0222e7713954c6b320fcf390b7ca3b9ac3240dfad8657be20c47f10389c20c7417ca52478f89f2429322bb3c6c65a8380a1730cf84fdfac03a
69 +DIST firefox-96.0.3-ia.xpi 534117 BLAKE2B 6fe5469f9841f5d13ef4b921f3ecee17ab6c7ab3262681f36b0351a7cda81ea9500deb782cf9b08f41dd6c1380d74b1d8fdae6e4b2a9e75353a4c2e8f2c3396a SHA512 bb7504aca7deec0981eeed4c4fa64f532e332f61559f867fb321aaaef7bd8764c13febecf883e1eb66caf5a652aecbc30ef7770f9c4c162683327068cf551b00
70 +DIST firefox-96.0.3-id.xpi 522741 BLAKE2B ece2e6508af08f854f3cf372d3be977c4899211a2fc47e312950cfc2972abb44836956bfea73d3263258e379244a0425d0705de15d6f75a06d81e6d2ee987a76 SHA512 3f8e5e46d6cbd5f2f300c0c0c384b2c40fca35ad567f37f6cd9cd0d187f1c4bffa29578a68dc73e40f343a8fde1d33ba1f2544b63a1273253d5a02c6747cb2f2
71 +DIST firefox-96.0.3-is.xpi 501037 BLAKE2B b11f29a98b372c019ee296b5f472cc04e26e581ff2e50cd11cbbe903826118734499c9a4d7d65459775bdf0cddc3a476b7b320acb3f66c3992e16e9f726f52e6 SHA512 a851108902525538ff5fd50eb0664a75326bbbd96b32fc01574dc51d1fea603a950d91b2ad27f8fd766a633be7d7561767ab5980a2618e5a52e6d41f06c3cf17
72 +DIST firefox-96.0.3-it.xpi 461971 BLAKE2B 1363f50ed0f55cb8510c8b52b369456e5140289dca568e20e7cdbdda597e833712468be22d4216464ab2e22e15723a109169657c0ab409586d0b1ed079c2ce80 SHA512 a81e93e420e09a05ca574033816c29ae0b7497c0fb29527f3476d3895fdb727e093966329aa3868f3ebaebbd111057381222e6ccaa0d16c4bf8bb8efb4f88183
73 +DIST firefox-96.0.3-ja.xpi 587130 BLAKE2B 1cad77aecf8097444c7927128ed1b7909b2a32fb6ec460299df78199eb71c16cd3c8da357f115a743c8155e9557cb90e36706753014cdffc3f0242bf2714d022 SHA512 21e23c30b3fd2f387935cefcf90971f9f34f630a16271ad29de8d88195e111638b6054f00281299435b3c13fa33473f84c844b6bd30e06c12a26b3aa62ea1118
74 +DIST firefox-96.0.3-ka.xpi 591857 BLAKE2B 6b9c15bde184d866fe290dbb882a0c5acb3d6e482408f1d10caad81f814c79d19ad79e504a62d6b81c27c5d11a2cc2f87952a6724692c9321c790bf0671c5035 SHA512 f8f78b1085bcbd0feb73d88c272f8dc71e2d44dc04b601e9f3fe1fc2d1ae4a0c13e1dedb9256879e0f0aaef93afa6c4964fa6bb88d87a037b67c78f2fa037dd6
75 +DIST firefox-96.0.3-kab.xpi 547213 BLAKE2B 415fa35e926f2cff7c68e9b693f29cc555f92909824afbcaa6e38d542f2c6f5faf6f715d2e2c18d7a06881c46f8a508df99bfd95f7d9a5ac111f1f3c87c393af SHA512 6a124b07dca670e2f7d6a6735f0055766856d2e3173e33d3a4864c00600a15c69d788badd6c0882aa2ac353377c9b64338c4a79e24daa12b577456a12e88ed48
76 +DIST firefox-96.0.3-kk.xpi 614207 BLAKE2B 58b4e7215e0787c6cdaee66832a8ab7b011c222570df787599ee0814a337d759c05f7eb7f1896fbf31a56bd7ffad56718909bcc599374a08ddad0b3a24819db9 SHA512 78ea1148d25d9fc44313d5a311d41a54a01e53ee12ef8cc03a72f20f6d512e28927d938c216d2fd23b6751803050f5f6e9f6f2e56c9f2583d11dea9f78878d2c
77 +DIST firefox-96.0.3-km.xpi 530651 BLAKE2B f9517e08cd9d9ee41330eacb830df69afc35d72dd0303175e874af801ec9af2dfb862dd4ba906a0c66faa1541d69dd5081b8407c2848541443978ed249a214d0 SHA512 da515674c9b4f2bd5c01d1e489b6c411ff4db2fcd890310182aa2ac0f512c3aac56a934ea2b962baf9cd3ea25542bf4c7a1757918d14a5d78557d0cb0e9a426d
78 +DIST firefox-96.0.3-kn.xpi 496359 BLAKE2B a5d4f4308c329dab48178cf69c9f5c79fa44c02c0261e95ebd65c06dbaab91e762fe71b7033793c1cf68064e4da736974271634e0851cc73d17c3cdf0a40526e SHA512 5b39e596d72c2588a767e79386d17b490e6966f3c9163d73679ea5bc4ca963274d142ab484945671eb53c4ce451cf0e2415448136a2a7a36092a41475bc59c5c
79 +DIST firefox-96.0.3-ko.xpi 580650 BLAKE2B c2ec3e9253baa2d51fb57dfd4f63e6139350f455ee94dc8dec86df2204b87b73e201b76c0e374dd8cbad6c5477c61f77cc9d760adc9a5ff4a7a179cc73c26712 SHA512 28e9435ef963c9effdc9506cdf5c21b41e68c3d432eb28cbbeb5f0e2f11da32b5a2b28d1cbc4be54df37929821c914315508c5d87452e9dd510bcb44a700aef1
80 +DIST firefox-96.0.3-lij.xpi 470188 BLAKE2B 4204af58e1d9736600597e6456225d37fa44526728cd1e4fb0234a0911989cf902e6097a23750628005b5eece4560ef9b5ba87866fb7eda0ec403638f159947c SHA512 9822c1b9efbe71d16224cd5029c9c7f66e3eebe35bd05e400efe829180dcb23d880efc7a5d7e504f4938682af513ca0e6c5c9af28f8549f265c1ea68b4be9204
81 +DIST firefox-96.0.3-lt.xpi 560335 BLAKE2B 838ffa1a260736d9ba3f389fae92d2194648cb65f685ef4b8212a074042e395c5bc491a9653895b7cb855ce957d1addd5b2319a2e6608f5aa21b4ac604a0e08b SHA512 9ad258f43f6c4e3c455ebdce5f4432ba1656b915c06882ecf9ff9e81955cbd880df8a049a9c08d2f321a2870f8a9b445e5f0b23f7b9099acca7e230d821aea1c
82 +DIST firefox-96.0.3-lv.xpi 462328 BLAKE2B e85860864dbabfcb4ff35c8a7b7af5e139640d401ade0005aa60e3ea13d7c2c321de4662b68ebb5699cffd5b6a60103f58ca1811776fd303d71998b587bcba30 SHA512 03130fbe7efa0ddd1231034e8c69578c26aa2fc853a0e5623ebc19eb2610474752c560e0a1f9894eed30550322a8159e975110ba2970837ce6d23765cdfbaaf0
83 +DIST firefox-96.0.3-mk.xpi 464352 BLAKE2B bb10f152effcadf2391b74e5ecf652c40ed76bd2f7247fb7a410f2e05887eb3ac5cf9363badf93ca7efee915f671b6d7c22efce8dfd83530cdd1d35f54952e63 SHA512 b74a96f496be8fda40376a609396b7700e452d203433e8c9a49b7914065303a87e31687f4b4a166def361c15752a60c2a7406ec9e48760e2c5cc0295a2d388d0
84 +DIST firefox-96.0.3-mr.xpi 531538 BLAKE2B f091eabc33d00de9b31385144fd14ff7093c834679be8060c7b7c211eb31cb8d0a7a251fbee3a0b285f35aab0c1d8d70f6ed8aae56b14fed51be48600690c2b1 SHA512 dfd21f0ed788e9057892f5048cbe6fa45e5cc17159ba8e507324a22266b45b31ed74e9b7ad75e4b8099c2ce21db1fa315c921b45f217ab09af5ad03606893715
85 +DIST firefox-96.0.3-ms.xpi 447427 BLAKE2B 97baa99dea12e562b9bf45399851a75033a3b49f6fe817e4a5de2bf1ea123bdb59cae78e380cb5911f14c9d180098bc3cd7822e36208b093c67c0f56be6cb994 SHA512 53a81b0123fac860ecc29cdeeb5c48fc24e7f3cc885092aafdf0c2ba21c297c05335fe46ebd73f77682cab3e4624cca12fa30f3cee84bba85c3fe680986d7819
86 +DIST firefox-96.0.3-my.xpi 512739 BLAKE2B 705380448360973ecf7ec94073c53722d6cb8fb122a6ea436185cfa61d5327ae4d82f7bc6e5b87a248d6ba48841994585d90010b6f8efd85c6fe02d2bd19c1c3 SHA512 5fb444b09c49b6937f6918e6ec17bf4b1540c311714aba23acc71f8af99e661635b9cbe64b62ee76ef40dc9ce8faa9dc2e3e7489cd414ad38cb6eabde3980abe
87 +DIST firefox-96.0.3-nb-NO.xpi 530051 BLAKE2B 209b612cc9a2dfefc5ff827faafbc5bb11f7a4c549b32aade8aa8224af73f15eaa7e2d5f2500c0ef60c47c4711259d083976d47bf4046bfa4c8b3dd79e9fecb3 SHA512 f9b6a8e14b8ef4b67fcb59d079f13ddf4e413ee15992348e5ba62c45ab1d2ffe69b51acf3fcc0d2f69657c6d40a6d77da31ab7958b5093ad442eab2b6c260c74
88 +DIST firefox-96.0.3-ne-NP.xpi 483379 BLAKE2B d8347927aaff748b037ab27c66dddcfb728022a9b16df2610b8706bae4bf08c917f8c4004cde03ef4e2c55afb8dc76bcafa7e5039ff0e827968de4676ff26592 SHA512 5a0f9222e107709ceef8f544f72a77134d8ca4b165c7d23aa6f33284b50ad00016d917b5e18370447f7163c6155183950281cb79b7f7a5a283d1d7bce7e94fd9
89 +DIST firefox-96.0.3-nl.xpi 539056 BLAKE2B 2f9aaf6d83816bb656f03a072f0883f998be2f8eb73e37c9c9eb428da184c1b2de7507d4b0463540c84bd9361babd8f296b54dbc768f45939fe20c928904a36f SHA512 a24d587442101bafde5ebbbc9099a4cc741838dbff80c920bab5e6ea86ce577b1193e13602533700d7ea92fbcce4d3cfc0b1d92f5875a5d58c8da34267b17470
90 +DIST firefox-96.0.3-nn-NO.xpi 532151 BLAKE2B 70c9856520f879dda547e2d4375dfe757fbe4f1cea6a969c0bb7f90386c4f90123f3c449a850377aee6b6dd9119ffc1fde58c7e294cf09d28c3308e850806fa5 SHA512 ff7d62fbfe68a8830ea39d2c7c4d3d7e3f608bdde91010d2a75c8f7554cf5d455e969160869e1c6e091610f8aeb034f0444d51d33edafeb75cd5cfa6b6db7209
91 +DIST firefox-96.0.3-oc.xpi 554605 BLAKE2B 74b57ba0f3815a4a9ed886204667e5dea4d61766ddee8ef6691fff395af965ea72b1cc102b6d8bcc503260dd2bc0c0fdce626be25f3e3a4ce0902b40a1a0188c SHA512 e6fca73ba73022d7d99b65d047515ed00f0dbae8c9afbdd0f0d629ebf505da751f764c4f162fa11640d7bf8a713588f1915d9277a95d0eb337fa53fb3b41afad
92 +DIST firefox-96.0.3-pa-IN.xpi 594729 BLAKE2B 317299c6ae3b549636faedbaaadb9cd1e5c614b6e9a27eef7b3952416ff0da0e02ebe1ec1a5f81010a340b012360ae881c793d8e77b2d4d62bebd3b721920071 SHA512 9e7581fb25d2278a4286d113cde0fd0beeac236739344481f7892ff8a5beccfa75387a2762c1c57a7f042c6d73aef493732cb7f9a0e9a1db3cfb7474bdd6be7f
93 +DIST firefox-96.0.3-pl.xpi 557901 BLAKE2B e5f814e5dc41637f284e13d49e817e74932a93b6aaa9f75e7b8daf4f5099494c06eed2138b3c3260b19d904c1409ba98a93b0ede09415832a3a575cb7f07103b SHA512 438c9b5eb0a52323815aa09451a5d932682146cc85af7c2b6e467a574c2fc207a53b78a21769ceac0aca20ccb807d2968122c72453c5462917a076266ee02b6f
94 +DIST firefox-96.0.3-pt-BR.xpi 544402 BLAKE2B bdceb307017fd2814f185b939eda41a65aef91e31865852c75882799829204d5faf331417942e046c68e67e6430f1f8eaab47447678b5838c47f346d12eaa59d SHA512 1f91d5cba0786ddbed4ed4dc2b2d955bb5029cd9b80789ed72f4a633fe79b54159894c7b13b0738b3bdb920a08417b6a3050cfe127e8af5d7e17103686385463
95 +DIST firefox-96.0.3-pt-PT.xpi 546137 BLAKE2B 521328ddfacb992cb42373b9e639e49935b54952eef229325f805271daf5c057c054f4fbe136b7cc058f7b43fa103a3ffa62416591b86efe5b5cdfec1976c9d7 SHA512 110ce3bee8586417718b8174697f3115c30943066c4c4a068f04641e48bd8922d8193f6627b86ece749ef8d8b7fd9c9564a23e6f7e2ea1896c922e9c3f2a3996
96 +DIST firefox-96.0.3-rm.xpi 537787 BLAKE2B 5d43737a955f0a80835cf42d9665344bfc3fa20f24eaed462475f00c8a81d0e4dbd605e3f25ed63f7c1c20c7b3a1cd8c66fcaffa306477e5afb9551aa5c5f531 SHA512 f3d13b934627fc62b76e91de2793581ff1d1c131df27bcfa4b65b275bf5de9dbe29a0d716c647302f93d55adba7f567a3b60def99cfbe4ac5db2f488d1bdf22d
97 +DIST firefox-96.0.3-ro.xpi 530786 BLAKE2B f5e4446d5f797d694554e7b42678d26d140cb465c4ebc1ad4aacdf6d5eee697851c1a58ee1c23de8b3cb035ddb04a45ba1cd9ecc65832e0bf757356967070200 SHA512 479676b46ffb091fced87be684439e038cd2d3c558cb1b4a0a02f8cb63ca44f509f31167fe0f44b403cd69bb369701a1c411b17f41a1115aa687d07455d793b3
98 +DIST firefox-96.0.3-ru.xpi 628639 BLAKE2B aa296e931dc084629cf7a4948757a2ca98190f758ec2e8130f593a5348999e3c0bc394c8a2e9682b778facf9952840349e5bcf7a376d26a1810f6f4c7908bce0 SHA512 7f9e9ee29d86ff4f5a166ed5c55e42ea437a1e5f2a600399a6f033ace62e8fd2cf8860af654f0c9a747f9367f07d78ae1af6a2cb4a9f5d91f3c588419fc81e16
99 +DIST firefox-96.0.3-sco.xpi 504503 BLAKE2B abd8fcda75a1ea1a1e837ff5c1b7e1c1b08ce47de21153ec71b806ebc25335d7fe0ed6b591c8399be53786b21c6909d705714653a384e114daf8de07d5a163e2 SHA512 1022dd16bdcf852c5df1fff7d4893f02858ba0771aa111cfe08cfe2690ad415d093d451878163808cc835ff4c44f302c341dc27929a0bfe640870e1dffa2bab2
100 +DIST firefox-96.0.3-si.xpi 485776 BLAKE2B 60ff7ad50f3e2f5cea93cd859e4a30920b35a8323b545cef2365e51ea2f2ce0dc62fcdfcb711af02f8b571014d23cb2c37256cbfc4e6263f1dc3bea014b972d2 SHA512 c3938b7ba6ebd79f026fe278484c0caa6bdca3308cd63542944c9cb774896cc5daeed3add59800433040d6060ed5d4f5a1f068a2af51054fbe6689ed72300d85
101 +DIST firefox-96.0.3-sk.xpi 568191 BLAKE2B de3eba63afaa648b89a43f19060368f999b6c7664681a0513a58a3473b4dcf50d347a387f7f9351f74355826bc2112f4f357aec23a354c5738fece97b344f7e2 SHA512 2583fa4b68386a7e291e63824f50f1a4aefe2753927e18c702f703c12ecb050b7fdf3ae6506359e5f4221545815de17be518728c5c49df8c116efaebe241ff2d
102 +DIST firefox-96.0.3-sl.xpi 538555 BLAKE2B dd8cac2a57bdd46f9383ebe2e62bf954959681a6793b0d9f870bf26200238a7a6457a73d1c6a68bb1cdb80773874969dcee50444850cdafc739e1c5797d6d8ed SHA512 1143336f79136a07f46850596e7b7b4f107ef5b0879b41aaf10054a8c85863ef0349dced924f0ab5e3a168a605dd3bc3313878b341f2d8f539ab82a2a86210e6
103 +DIST firefox-96.0.3-son.xpi 421890 BLAKE2B ba14ab5bfc902c2df781e64f42fbc4566711270aba0df6635aa33f3e4f4be9d1eacda96223808bf8c8733f4ced3d1c0eabc83d78c1d4d9fbc9f852f531dc61a6 SHA512 6fcc4e2509c4a1fe6f3f6b4576c5eccae220f627f8825245744030c3137d93e5b6df8db81279116cd4956f776790a1e5d942495311b5e021a7bcbf98ba706eca
104 +DIST firefox-96.0.3-sq.xpi 556381 BLAKE2B 46cea273d7fc5eee9feacc581596452726a5f748249f00c16259dff9c6bcd6444dca84042deb490a6d8e4199356afd2800b1be93117bdce542a62b5708ed833b SHA512 f5b64beebdd562517e48cd5a6432b7b33f9881259b801bac62b206e57653f68f030ad6c8020ca65450a97e551d833115d524e0df0648c5eeb4c6542ea5ad4413
105 +DIST firefox-96.0.3-sr.xpi 586990 BLAKE2B cca4a0ec6dd5eb98415853a320501cc13fc3776a98d1751bca676bb573b4aaa4de65b45e7a9df0acbf078e958cea307ccc069250ea2ee63a869e65b5e558d509 SHA512 a1a1ee296f0d5c98f50734eee7bd7d4d3dd9ffdbcc708652e47c2fffcd3340a5254a15886986cd5d3aee791ccc56e8ad2bad34dee550d9197948e2bee89f8a88
106 +DIST firefox-96.0.3-sv-SE.xpi 541678 BLAKE2B 6cdcfe2b728f69746114f4bfdc04fc7d192ee29c071269269552e58b25eecc20b55a2630743bc09a39211b12c311b13d803679fe77485b853bf3f008fefada0f SHA512 ffb9e81b47926fac04b3882bdd950f0e0fa6f9cf2fe12e5edcbe4bc962465c98d268b0862d6d2dd53ad669fedc4dd522671b631b8084cb2bf65762ddc91a1675
107 +DIST firefox-96.0.3-szl.xpi 508927 BLAKE2B ae051dca4fb824c1891a346d5e1ebed68a79d94ceb617666c88bcfb2320f9e295098c545f70847f5aa524c266127dd0bec67687b4b696a372e901138d2a93529 SHA512 81cff1979ff81982a638646829ea4e42d30a0a9ae20d061df184293961da1de3f817350a7aeb48b8f8ac3342978ae26555aebedaf313a1cef89ea9ed90341b8f
108 +DIST firefox-96.0.3-ta.xpi 511881 BLAKE2B 6cd1c9f0310b7dfb883afa8cfd1e4678e1f0fb0d3f2a0eb9fd6d1817a5e6a681d2856f68e4ee102bd7fbb1ce871980a6c845e82b08a3f94115e33c9cf88b559c SHA512 4f20c73c403a0907c45d7333318dc1b8daba14d1f9a2460ace85215f9dc743d73d11c500bfbf84ddba919659e39fe472529e986c63bd04b1601e07a2aab87b1b
109 +DIST firefox-96.0.3-te.xpi 550295 BLAKE2B 8fd7b6082795b12b959fd81e37e3150c8c59e3a0580b3b631f0f8148ac7d3e1254af59363565fdc711842cbd1488d579946193d2e93ea80b79771a3be1f743e0 SHA512 c00b1c5e5d0bdb432484f0226e331214b1435ac48cc0711977f47afea493288003d90e4ca66d683d80b85073abd084e8d0defe20f424240e3fcc03952fbb9b23
110 +DIST firefox-96.0.3-th.xpi 606843 BLAKE2B ae69e5d58a2b8850dc241fe843629d9aa202418df5b54b5320e5abba71bd77e4acdcefc1f9159f0576b0aa9088a164d02f45203e3ba15b33ea69b7e53087c0ed SHA512 e3337a19ac21fe678d22731cc180ceb890075ac8f28a3d3c4e85f3f9543a1259978e55c405d19c3337cceb84179be3dc008b6ba55337d62d60e3ea4f993e0568
111 +DIST firefox-96.0.3-tl.xpi 520542 BLAKE2B 8d1e7d119f8f30bf3decfcc57009502ee6583d921d28c2068497a7ad0d03d32356d7c26e7e7a5a3f1957b45b8092d1996d9a6721d8472859a372eaba4147e71f SHA512 c90b3847f3ee30692968e6c900b7a7a1e892bc6aa87649997f1716ef87e00df30b50e3d019e6586fd93f384b6543e21c26eb1e4f42c16e27dc40b58defcd29ac
112 +DIST firefox-96.0.3-tr.xpi 554382 BLAKE2B 75b36eabb95e1bcfb417f8ed891030b8852019f983f837e9829484cda95db847532bf9e88c465c0edfc324ab81db568351009c1632c633e6c878be22f009b03b SHA512 1e54dbf80c3e03e5adc76671fb577faf63ce77425c1d5afcfbb4e4a6567b963f819c15e4eb285ba78952c6a67a66be1865d90239e7506eaeb6c4185737ead606
113 +DIST firefox-96.0.3-trs.xpi 491107 BLAKE2B 730de8e25882a50ecc09576c4fe024a01ae6a2d46beaf2c602ccdce36e8fafb004c15decf3724554adfe543e7d269d1233818e1a63514e50953b5391bd5cbca6 SHA512 93deb2ed5fed2a891698ec361f510c0ce27e60873f1336d559c4939166455bf33c20ec0ef05f8bdbe63cb98b9205ff22c05089762ecbbf762ad325d5f1fd5fee
114 +DIST firefox-96.0.3-uk.xpi 622254 BLAKE2B 2344777908656d1146a420f419bd115d8dfc536d8eacfb691d10d46cdca9ad0abfa05a67cf5f4a5b06cac07b66e23e16fa081324bdbb17fa08a89946cc0a0300 SHA512 7ec0292c46a508c27f7674edb2b6609520786230e75530100b804e99ce052085041d8af9c2f76bac960647284f39abf8a54a72b70dbc53fb3c96109d261804a4
115 +DIST firefox-96.0.3-ur.xpi 557344 BLAKE2B 5affd41bf3668647d29c886ff2fc79dee56d9d24a22db90c4fa2b67445a211bc1756f269da570d4deb6fbb494acfa44c80710dbd5fea392b61d5e61666c9909d SHA512 fd5de6cbe0f73cedd713fff4ca8d268bbdc2ec608243a4fc4e1a9cf6e4d519193d7a466610f45068af8200678493d61b9dd45a3d049c617483789e2ca34c53c0
116 +DIST firefox-96.0.3-uz.xpi 465817 BLAKE2B e06a1176e6ef144804fae2ffe270a67d7b2c9a1559023e5a7339cd9e32fb209e4a06ea79c11ce3eda81e5ff067724d034952bb92aaa8360591d888d963c05f93 SHA512 50f9a36559f2946169eb4f1290b2ee93dbfc3d7c861c2018e16bd604e5e0f8afdf5c2961a7a8525a2b0eb823c53f5d87b79b04f6bf4dfd652ad808d1a32662ba
117 +DIST firefox-96.0.3-vi.xpi 573965 BLAKE2B 6bb926eff2001f2a373f71853cc2b56dcbc0e647c656ef168143103adc0dc73bb7a37f1d912b6c574182e3a0cc5e777d8ab1e52ec5e5ef9dd338d1d4f5300af9 SHA512 920fd05d5805ff80a2f608ab92b725c94fe07a5e5c9e8e7d80f70c6a077edfecb82bc96d8774a1371a743e70ebbacd3faecbd08fb2cdf522669a93748d3f5f8f
118 +DIST firefox-96.0.3-xh.xpi 424482 BLAKE2B 992b037fb299c6fb9a4336e5f0c42180e31db8e7bd853cc12f7f8c74f8c6f7957f11a5b18c00bddf6983623aaa008385ffe2fd73dadfe183857b67fce365abe9 SHA512 08f17552f53675627c432bb90b0a0cf1c93dd1884df097990219e3ee4283a973760e238b101584eb8e500518ef610090d5b0684540f47a27fe3598fbb4e8a6fd
119 +DIST firefox-96.0.3-zh-CN.xpi 576718 BLAKE2B 5f3f90d0b882284e7792837fdf69a0013318a1f620f2ee6cc808b8978073a939e62082050876ae84c553470b699fef04994a37436db1b7b1bb3578ee0cf84823 SHA512 ffdba2148ddda29ce31a5bc550cb1a520de5e3b4be21a324d28ae5259175dc034293380b84bb1cc89a6b3dc2aa866aeed916f1785029bb861ed538225721b43f
120 +DIST firefox-96.0.3-zh-TW.xpi 577835 BLAKE2B 6e7dcd8ee056afd73f3270d1d337b4900134241fc14ba1f0c0850f61a7196912b0b7de59869fd6bf7712aabcfcb043c5e161d159bc4c72b2b22b2242b4c8d966 SHA512 aaa2b1cfec87e2fc6450b427ebbe4474320acd6a54b16a15a9d8118528f7856155e01acca884afedf75b9b98e13fab81f10c2fb85d9f899f417f5cfdcc02acc2
121 +DIST firefox-96.0.3.source.tar.xz 406721708 BLAKE2B 93f5f6258fb76323c45b21d15415d30069bcf2347d37b939b90d0f51d592224bd811972844848f1e1f9dab0f055e140b07693b4d9bb9e9f375358d2a56d00fcb SHA512 3dd5fbc96e369d5f4fb3eca778c2bd3e2313d089f867de9fac3556810a797e9b5629ef1b8840fb2f22a18df7de95ea1993eee052f691d861a555cea544b05966
122
123 diff --git a/www-client/firefox/firefox-96.0.3.ebuild b/www-client/firefox/firefox-96.0.3.ebuild
124 new file mode 100644
125 index 000000000000..8d7e2c1c0e9e
126 --- /dev/null
127 +++ b/www-client/firefox/firefox-96.0.3.ebuild
128 @@ -0,0 +1,1239 @@
129 +# Copyright 1999-2022 Gentoo Authors
130 +# Distributed under the terms of the GNU General Public License v2
131 +
132 +EAPI="7"
133 +
134 +FIREFOX_PATCHSET="firefox-96-patches-03j.tar.xz"
135 +
136 +LLVM_MAX_SLOT=13
137 +
138 +PYTHON_COMPAT=( python3_{8..10} )
139 +PYTHON_REQ_USE="ncurses,sqlite,ssl"
140 +
141 +WANT_AUTOCONF="2.1"
142 +
143 +VIRTUALX_REQUIRED="pgo"
144 +
145 +MOZ_ESR=
146 +
147 +MOZ_PV=${PV}
148 +MOZ_PV_SUFFIX=
149 +if [[ ${PV} =~ (_(alpha|beta|rc).*)$ ]] ; then
150 + MOZ_PV_SUFFIX=${BASH_REMATCH[1]}
151 +
152 + # Convert the ebuild version to the upstream Mozilla version
153 + MOZ_PV="${MOZ_PV/_alpha/a}" # Handle alpha for SRC_URI
154 + MOZ_PV="${MOZ_PV/_beta/b}" # Handle beta for SRC_URI
155 + MOZ_PV="${MOZ_PV%%_rc*}" # Handle rc for SRC_URI
156 +fi
157 +
158 +if [[ -n ${MOZ_ESR} ]] ; then
159 + # ESR releases have slightly different version numbers
160 + MOZ_PV="${MOZ_PV}esr"
161 +fi
162 +
163 +MOZ_PN="${PN%-bin}"
164 +MOZ_P="${MOZ_PN}-${MOZ_PV}"
165 +MOZ_PV_DISTFILES="${MOZ_PV}${MOZ_PV_SUFFIX}"
166 +MOZ_P_DISTFILES="${MOZ_PN}-${MOZ_PV_DISTFILES}"
167 +
168 +inherit autotools check-reqs desktop flag-o-matic gnome2-utils linux-info \
169 + llvm multiprocessing pax-utils python-any-r1 toolchain-funcs \
170 + virtualx xdg
171 +
172 +MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/releases/${MOZ_PV}"
173 +
174 +if [[ ${PV} == *_rc* ]] ; then
175 + MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/candidates/${MOZ_PV}-candidates/build${PV##*_rc}"
176 +fi
177 +
178 +PATCH_URIS=(
179 + https://dev.gentoo.org/~{juippis,polynomial-c,whissi}/mozilla/patchsets/${FIREFOX_PATCHSET}
180 +)
181 +
182 +SRC_URI="${MOZ_SRC_BASE_URI}/source/${MOZ_P}.source.tar.xz -> ${MOZ_P_DISTFILES}.source.tar.xz
183 + ${PATCH_URIS[@]}"
184 +
185 +DESCRIPTION="Firefox Web Browser"
186 +HOMEPAGE="https://www.mozilla.com/firefox"
187 +
188 +KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
189 +
190 +SLOT="0/$(ver_cut 1)"
191 +LICENSE="MPL-2.0 GPL-2 LGPL-2.1"
192 +
193 +IUSE="+clang cpu_flags_arm_neon dbus debug eme-free hardened hwaccel"
194 +IUSE+=" jack lto +openh264 pgo pulseaudio sndio selinux"
195 +IUSE+=" +system-av1 +system-harfbuzz +system-icu +system-jpeg +system-libevent +system-libvpx system-png +system-webp"
196 +IUSE+=" wayland wifi"
197 +
198 +# Firefox-only IUSE
199 +IUSE+=" geckodriver"
200 +IUSE+=" +gmp-autoupdate"
201 +IUSE+=" screencast"
202 +
203 +REQUIRED_USE="debug? ( !system-av1 )
204 + pgo? ( lto )
205 + wayland? ( dbus )
206 + wifi? ( dbus )"
207 +
208 +# Firefox-only REQUIRED_USE flags
209 +REQUIRED_USE+=" screencast? ( wayland )"
210 +
211 +BDEPEND="${PYTHON_DEPS}
212 + app-arch/unzip
213 + app-arch/zip
214 + >=dev-util/cbindgen-0.19.0
215 + >=net-libs/nodejs-10.23.1
216 + virtual/pkgconfig
217 + >=virtual/rust-1.53.0
218 + || (
219 + (
220 + sys-devel/clang:13
221 + sys-devel/llvm:13
222 + clang? (
223 + =sys-devel/lld-13*
224 + pgo? ( =sys-libs/compiler-rt-sanitizers-13*[profile] )
225 + )
226 + )
227 + (
228 + sys-devel/clang:12
229 + sys-devel/llvm:12
230 + clang? (
231 + =sys-devel/lld-12*
232 + pgo? ( =sys-libs/compiler-rt-sanitizers-12*[profile] )
233 + )
234 + )
235 + (
236 + sys-devel/clang:11
237 + sys-devel/llvm:11
238 + clang? (
239 + =sys-devel/lld-11*
240 + pgo? ( =sys-libs/compiler-rt-sanitizers-11*[profile] )
241 + )
242 + )
243 + )
244 + amd64? ( >=dev-lang/nasm-2.13 )
245 + x86? ( >=dev-lang/nasm-2.13 )"
246 +
247 +CDEPEND="
248 + >=dev-libs/nss-3.73
249 + >=dev-libs/nspr-4.32
250 + dev-libs/atk
251 + dev-libs/expat
252 + >=x11-libs/cairo-1.10[X]
253 + >=x11-libs/gtk+-3.4.0:3[X]
254 + x11-libs/gdk-pixbuf
255 + >=x11-libs/pango-1.22.0
256 + >=media-libs/mesa-10.2:*
257 + media-libs/fontconfig
258 + >=media-libs/freetype-2.4.10
259 + kernel_linux? ( !pulseaudio? ( media-libs/alsa-lib ) )
260 + virtual/freedesktop-icon-theme
261 + >=x11-libs/pixman-0.19.2
262 + >=dev-libs/glib-2.26:2
263 + >=sys-libs/zlib-1.2.3
264 + >=dev-libs/libffi-3.0.10:=
265 + media-video/ffmpeg
266 + x11-libs/libX11
267 + x11-libs/libXcomposite
268 + x11-libs/libXdamage
269 + x11-libs/libXext
270 + x11-libs/libXfixes
271 + x11-libs/libXrandr
272 + x11-libs/libXrender
273 + x11-libs/libXtst
274 + x11-libs/libxcb
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-70.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="6500M"
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 MACH_SYSTEM_ASSERTED_COMPATIBLE_WITH_MACH_SITE=1
1077 + export PIP_NO_CACHE_DIR=off
1078 +
1079 + # Disable notification when build system has finished
1080 + export MOZ_NOSPAM=1
1081 +
1082 + # Portage sets XARGS environment variable to "xargs -r" by default which
1083 + # breaks build system's check_prog() function which doesn't support arguments
1084 + mozconfig_add_options_ac 'Gentoo default' "XARGS=${EPREFIX}/usr/bin/xargs"
1085 +
1086 + # Set build dir
1087 + mozconfig_add_options_mk 'Gentoo default' "MOZ_OBJDIR=${BUILD_DIR}"
1088 +
1089 + # Show flags we will use
1090 + einfo "Build BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}"
1091 + einfo "Build CFLAGS:\t\t${CFLAGS:-no value set}"
1092 + einfo "Build CXXFLAGS:\t\t${CXXFLAGS:-no value set}"
1093 + einfo "Build LDFLAGS:\t\t${LDFLAGS:-no value set}"
1094 + einfo "Build RUSTFLAGS:\t\t${RUSTFLAGS:-no value set}"
1095 +
1096 + # Handle EXTRA_CONF and show summary
1097 + local ac opt hash reason
1098 +
1099 + # Apply EXTRA_ECONF entries to $MOZCONFIG
1100 + if [[ -n ${EXTRA_ECONF} ]] ; then
1101 + IFS=\! read -a ac <<<${EXTRA_ECONF// --/\!}
1102 + for opt in "${ac[@]}"; do
1103 + mozconfig_add_options_ac "EXTRA_ECONF" --${opt#--}
1104 + done
1105 + fi
1106 +
1107 + echo
1108 + echo "=========================================================="
1109 + echo "Building ${PF} with the following configuration"
1110 + grep ^ac_add_options "${MOZCONFIG}" | while read ac opt hash reason; do
1111 + [[ -z ${hash} || ${hash} == \# ]] \
1112 + || die "error reading mozconfig: ${ac} ${opt} ${hash} ${reason}"
1113 + printf " %-30s %s\n" "${opt}" "${reason:-mozilla.org default}"
1114 + done
1115 + echo "=========================================================="
1116 + echo
1117 +
1118 + ./mach configure || die
1119 +}
1120 +
1121 +src_compile() {
1122 + local virtx_cmd=
1123 +
1124 + if use pgo ; then
1125 + virtx_cmd=virtx
1126 +
1127 + # Reset and cleanup environment variables used by GNOME/XDG
1128 + gnome2_environment_reset
1129 +
1130 + addpredict /root
1131 + fi
1132 +
1133 + local -x GDK_BACKEND=x11
1134 +
1135 + ${virtx_cmd} ./mach build --verbose \
1136 + || die
1137 +}
1138 +
1139 +src_install() {
1140 + # xpcshell is getting called during install
1141 + pax-mark m \
1142 + "${BUILD_DIR}"/dist/bin/xpcshell \
1143 + "${BUILD_DIR}"/dist/bin/${PN} \
1144 + "${BUILD_DIR}"/dist/bin/plugin-container
1145 +
1146 + DESTDIR="${D}" ./mach install || die
1147 +
1148 + # Upstream cannot ship symlink but we can (bmo#658850)
1149 + rm "${ED}${MOZILLA_FIVE_HOME}/${PN}-bin" || die
1150 + dosym ${PN} ${MOZILLA_FIVE_HOME}/${PN}-bin
1151 +
1152 + # Don't install llvm-symbolizer from sys-devel/llvm package
1153 + if [[ -f "${ED}${MOZILLA_FIVE_HOME}/llvm-symbolizer" ]] ; then
1154 + rm -v "${ED}${MOZILLA_FIVE_HOME}/llvm-symbolizer" || die
1155 + fi
1156 +
1157 + # Install policy (currently only used to disable application updates)
1158 + insinto "${MOZILLA_FIVE_HOME}/distribution"
1159 + newins "${FILESDIR}"/distribution.ini distribution.ini
1160 + newins "${FILESDIR}"/disable-auto-update.policy.json policies.json
1161 +
1162 + # Install system-wide preferences
1163 + local PREFS_DIR="${MOZILLA_FIVE_HOME}/browser/defaults/preferences"
1164 + insinto "${PREFS_DIR}"
1165 + newins "${FILESDIR}"/gentoo-default-prefs.js gentoo-prefs.js
1166 +
1167 + local GENTOO_PREFS="${ED}${PREFS_DIR}/gentoo-prefs.js"
1168 +
1169 + # Set dictionary path to use system hunspell
1170 + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set spellchecker.dictionary_path pref"
1171 + pref("spellchecker.dictionary_path", "${EPREFIX}/usr/share/myspell");
1172 + EOF
1173 +
1174 + # Force hwaccel prefs if USE=hwaccel is enabled
1175 + if use hwaccel ; then
1176 + cat "${FILESDIR}"/gentoo-hwaccel-prefs.js \
1177 + >>"${GENTOO_PREFS}" \
1178 + || die "failed to add prefs to force hardware-accelerated rendering to all-gentoo.js"
1179 + fi
1180 +
1181 + if ! use gmp-autoupdate ; then
1182 + local plugin
1183 + for plugin in "${MOZ_GMP_PLUGIN_LIST[@]}" ; do
1184 + einfo "Disabling auto-update for ${plugin} plugin ..."
1185 + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to disable autoupdate for ${plugin} media plugin"
1186 + pref("media.${plugin}.autoupdate", false);
1187 + EOF
1188 + done
1189 + fi
1190 +
1191 + # Force the graphite pref if USE=system-harfbuzz is enabled, since the pref cannot disable it
1192 + if use system-harfbuzz ; then
1193 + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set gfx.font_rendering.graphite.enabled pref"
1194 + sticky_pref("gfx.font_rendering.graphite.enabled", true);
1195 + EOF
1196 + fi
1197 +
1198 + # Install language packs
1199 + local langpacks=( $(find "${WORKDIR}/language_packs" -type f -name '*.xpi') )
1200 + if [[ -n "${langpacks}" ]] ; then
1201 + moz_install_xpi "${MOZILLA_FIVE_HOME}/distribution/extensions" "${langpacks[@]}"
1202 + fi
1203 +
1204 + # Install geckodriver
1205 + if use geckodriver ; then
1206 + einfo "Installing geckodriver into ${ED}${MOZILLA_FIVE_HOME} ..."
1207 + pax-mark m "${BUILD_DIR}"/dist/bin/geckodriver
1208 + exeinto "${MOZILLA_FIVE_HOME}"
1209 + doexe "${BUILD_DIR}"/dist/bin/geckodriver
1210 +
1211 + dosym ${MOZILLA_FIVE_HOME}/geckodriver /usr/bin/geckodriver
1212 + fi
1213 +
1214 + # Install icons
1215 + local icon_srcdir="${S}/browser/branding/official"
1216 + local icon_symbolic_file="${FILESDIR}/icon/firefox-symbolic.svg"
1217 +
1218 + insinto /usr/share/icons/hicolor/symbolic/apps
1219 + newins "${icon_symbolic_file}" ${PN}-symbolic.svg
1220 +
1221 + local icon size
1222 + for icon in "${icon_srcdir}"/default*.png ; do
1223 + size=${icon%.png}
1224 + size=${size##*/default}
1225 +
1226 + if [[ ${size} -eq 48 ]] ; then
1227 + newicon "${icon}" ${PN}.png
1228 + fi
1229 +
1230 + newicon -s ${size} "${icon}" ${PN}.png
1231 + done
1232 +
1233 + # Install menu
1234 + local app_name="Mozilla ${MOZ_PN^}"
1235 + local desktop_file="${FILESDIR}/icon/${PN}-r3.desktop"
1236 + local desktop_filename="${PN}.desktop"
1237 + local exec_command="${PN}"
1238 + local icon="${PN}"
1239 + local use_wayland="false"
1240 +
1241 + if use wayland ; then
1242 + use_wayland="true"
1243 + fi
1244 +
1245 + cp "${desktop_file}" "${WORKDIR}/${PN}.desktop-template" || die
1246 +
1247 + sed -i \
1248 + -e "s:@NAME@:${app_name}:" \
1249 + -e "s:@EXEC@:${exec_command}:" \
1250 + -e "s:@ICON@:${icon}:" \
1251 + "${WORKDIR}/${PN}.desktop-template" \
1252 + || die
1253 +
1254 + newmenu "${WORKDIR}/${PN}.desktop-template" "${desktop_filename}"
1255 +
1256 + rm "${WORKDIR}/${PN}.desktop-template" || die
1257 +
1258 + # Install wrapper script
1259 + [[ -f "${ED}/usr/bin/${PN}" ]] && rm "${ED}/usr/bin/${PN}"
1260 + newbin "${FILESDIR}/${PN}-r1.sh" ${PN}
1261 +
1262 + # Update wrapper
1263 + sed -i \
1264 + -e "s:@PREFIX@:${EPREFIX}/usr:" \
1265 + -e "s:@MOZ_FIVE_HOME@:${MOZILLA_FIVE_HOME}:" \
1266 + -e "s:@APULSELIB_DIR@:${apulselib}:" \
1267 + -e "s:@DEFAULT_WAYLAND@:${use_wayland}:" \
1268 + "${ED}/usr/bin/${PN}" \
1269 + || die
1270 +}
1271 +
1272 +pkg_preinst() {
1273 + xdg_pkg_preinst
1274 +
1275 + # If the apulse libs are available in MOZILLA_FIVE_HOME then apulse
1276 + # does not need to be forced into the LD_LIBRARY_PATH
1277 + if use pulseaudio && has_version ">=media-sound/apulse-0.1.12-r4" ; then
1278 + einfo "APULSE found; Generating library symlinks for sound support ..."
1279 + local lib
1280 + pushd "${ED}${MOZILLA_FIVE_HOME}" &>/dev/null || die
1281 + for lib in ../apulse/libpulse{.so{,.0},-simple.so{,.0}} ; do
1282 + # A quickpkg rolled by hand will grab symlinks as part of the package,
1283 + # so we need to avoid creating them if they already exist.
1284 + if [[ ! -L ${lib##*/} ]] ; then
1285 + ln -s "${lib}" ${lib##*/} || die
1286 + fi
1287 + done
1288 + popd &>/dev/null || die
1289 + fi
1290 +}
1291 +
1292 +pkg_postinst() {
1293 + xdg_pkg_postinst
1294 +
1295 + if ! use gmp-autoupdate ; then
1296 + elog "USE='-gmp-autoupdate' has disabled the following plugins from updating or"
1297 + elog "installing into new profiles:"
1298 + local plugin
1299 + for plugin in "${MOZ_GMP_PLUGIN_LIST[@]}" ; do
1300 + elog "\t ${plugin}"
1301 + done
1302 + elog
1303 + fi
1304 +
1305 + if use pulseaudio && has_version ">=media-sound/apulse-0.1.12-r4" ; then
1306 + elog "Apulse was detected at merge time on this system and so it will always be"
1307 + elog "used for sound. If you wish to use pulseaudio instead please unmerge"
1308 + elog "media-sound/apulse."
1309 + elog
1310 + fi
1311 +
1312 + local show_doh_information
1313 + local show_normandy_information
1314 + local show_shortcut_information
1315 +
1316 + if [[ -z "${REPLACING_VERSIONS}" ]] ; then
1317 + # New install; Tell user that DoH is disabled by default
1318 + show_doh_information=yes
1319 + show_normandy_information=yes
1320 + show_shortcut_information=no
1321 + else
1322 + local replacing_version
1323 + for replacing_version in ${REPLACING_VERSIONS} ; do
1324 + if ver_test "${replacing_version}" -lt 91.0 ; then
1325 + # Tell user that we no longer install a shortcut
1326 + # per supported display protocol
1327 + show_shortcut_information=yes
1328 + fi
1329 + done
1330 + fi
1331 +
1332 + if [[ -n "${show_doh_information}" ]] ; then
1333 + elog
1334 + elog "Note regarding Trusted Recursive Resolver aka DNS-over-HTTPS (DoH):"
1335 + elog "Due to privacy concerns (encrypting DNS might be a good thing, sending all"
1336 + elog "DNS traffic to Cloudflare by default is not a good idea and applications"
1337 + elog "should respect OS configured settings), \"network.trr.mode\" was set to 5"
1338 + elog "(\"Off by choice\") by default."
1339 + elog "You can enable DNS-over-HTTPS in ${PN^}'s preferences."
1340 + fi
1341 +
1342 + # bug 713782
1343 + if [[ -n "${show_normandy_information}" ]] ; then
1344 + elog
1345 + elog "Upstream operates a service named Normandy which allows Mozilla to"
1346 + elog "push changes for default settings or even install new add-ons remotely."
1347 + elog "While this can be useful to address problems like 'Armagadd-on 2.0' or"
1348 + elog "revert previous decisions to disable TLS 1.0/1.1, privacy and security"
1349 + elog "concerns prevail, which is why we have switched off the use of this"
1350 + elog "service by default."
1351 + elog
1352 + elog "To re-enable this service set"
1353 + elog
1354 + elog " app.normandy.enabled=true"
1355 + elog
1356 + elog "in about:config."
1357 + fi
1358 +
1359 + if [[ -n "${show_shortcut_information}" ]] ; then
1360 + elog
1361 + elog "Since ${PN}-91.0 we no longer install multiple shortcuts for"
1362 + elog "each supported display protocol. Instead we will only install"
1363 + elog "one generic Mozilla ${PN^} shortcut."
1364 + elog "If you still want to be able to select between running Mozilla ${PN^}"
1365 + elog "on X11 or Wayland, you have to re-create these shortcuts on your own."
1366 + fi
1367 +}