diff options
Diffstat (limited to 'www-client/firefox')
-rw-r--r-- | www-client/firefox/Manifest | 98 | ||||
-rw-r--r-- | www-client/firefox/firefox-94.0.1.ebuild | 1209 |
2 files changed, 1307 insertions, 0 deletions
diff --git a/www-client/firefox/Manifest b/www-client/firefox/Manifest index 567d55d1be16..ea96a5489dea 100644 --- a/www-client/firefox/Manifest +++ b/www-client/firefox/Manifest @@ -391,4 +391,102 @@ DIST firefox-94.0-vi.xpi 564311 BLAKE2B e28926ea1e95a85541fbd0dcea4a920b5aede166 DIST firefox-94.0-xh.xpi 420854 BLAKE2B 604d096543c2765a761f25150e3bff66a9542fd37fdf034d59505e722b68cbd804a4779fa834fc91727832f2e755be9f81a21a10791db804e67633092bf139d4 SHA512 39394ee0bb2790ab05bec2749d52869517f98d79e88e8e3326c100f89790057e4afdeb100481d62157bb764a1c203f9c624ad59bbd5cf63a006106db00a439de DIST firefox-94.0-zh-CN.xpi 565918 BLAKE2B 247e2c0d451bedec51c4e015cde9d954876ea5be18fc972de75d8ee880f79804129bf9c6465fb1b5568275562843ebb864bf3a83a4a61eedce765a4ee375bb21 SHA512 4398ef98cca5382aefa03a822cbd0cb508d6169189f074093c85c0f12ced4a32510a13339a57af3d7c3c8135607edd52d8aaf634aa302790aece2cf67495d05f DIST firefox-94.0-zh-TW.xpi 566575 BLAKE2B ef942cc3262a8600d4e0a7cbb73dc44bbe371234a2b4844ede9aeae0bfdd1391e9b34eb04cb7aa8c2b57d0137a6e38ffc5f99c39cbf3a19165338ed112947234 SHA512 c53ed001cbf60ba69f0ead669100ea21253cf0e716661d7f81589100fc23c62d4059a83e2cedc519a65f40af8756dceaf5dcf42c06e6743aae79bb469cf5e51e +DIST firefox-94.0.1-ach.xpi 446932 BLAKE2B 4c30d77cf1a7e5ea2c5a0e7ecef72d4c200d4d2bb47b0ffef936694f2119f2d7298a7fd03ce157ed66b3633df6478482c99031b73dcccea8ba2a236b5d2a6c91 SHA512 2978494443f9822086bcb47359194dcf785f61552cf37bbb1194c61db827c257b215c4479452c5878879b13b48285e95ce122fdb7ac0926cbe0077c3029ed7d5 +DIST firefox-94.0.1-af.xpi 418389 BLAKE2B 135382a8238e793a3c71f60720dd7cc3d15cfe5d61bdd5aa643816ee21c1be5645e87c9f49273c66d733214ee2faffafedb44bd711cfe566844996f9916f60aa SHA512 892d16da57d6839f4edf337ef09e5c355f5395387df31c4eeb5f468ed677dc7e71d7a1f28ac30b15ee0b11b735bf925d10f1ca40fc8093d010e0accf60de46c6 +DIST firefox-94.0.1-an.xpi 494150 BLAKE2B c6025640d597c72e02e1ceb1f11c8e866077020a5d62117d520526e3501e1f3a95e238d1213541803668023521a765b46e55bb58e2c0feb803885d188040deff SHA512 21534347371ae17dfcf0b9d6fab9842759114f9bc58c58d88bbee62f843f5b158e6185e13298f07017c626b3b309c0146491056df866ef8b70725244065111bb +DIST firefox-94.0.1-ar.xpi 552891 BLAKE2B c487f3c5749bfd604e4e6d83a01fcd7f017c909502d1185b16f2657eff1ab8ce405dd885b882ba800d56ac427fa9c9868dacc71a1f54d39eaf6f097647edf2ae SHA512 d495c67f248ed5e31f54127e13907eabb58c9095736062ad2586ef3ab4f5ecb78ff2642f7bc7496cecbc38362b13f3719c5d6d96113383c07c6148af74b199fc +DIST firefox-94.0.1-ast.xpi 492497 BLAKE2B f658615ad7e5ed9073c7c09401f62b286a9fd00e0391a0b6e667eee069d4c9f398bdb4173d9f29f1107acd030c1c6a6903a34174e19d1029ce39fcdd55e8cfa0 SHA512 debfc6f9f922c33625cbf74685d15ae4696217f483ff5ac6260961d0065f04cf84efaaebcfce36a972e0279f29405f77ae766ecc72b3fecd4d78c6942c752f4d +DIST firefox-94.0.1-az.xpi 482619 BLAKE2B dfe2b15cd5eb62967c3384216831ee06248e63f78c7b7e2382327daf792893bc941d558348144c006b5f98002aa98d09c8bdab0ba48cee8f1d5aa9b49a07bb3e SHA512 e38a6f4ddd00cd742e6a12271bcb10eba7c69d7a0f5ff76bed0f61efdb033b2c2ed5c736237b7b7712a169716f19c458f08345b9d2b26ce5b16b47ba704acbc8 +DIST firefox-94.0.1-be.xpi 611832 BLAKE2B 6cfb75c07d996b62821508694d50f1050d59cfc6033cd5a9bb17ae968dc8d68efc092d544951997ce0dae28a644d31bb31ae3f53c5a48565f22c0e0514a114bc SHA512 1c62e3ac4fe9c7dd691d670a95caac876460179179d37b5317167638ca6c3ee2eda52def4f844ec37e2fe2ce6b1454f247d8c1e68c398bc704c217542929d834 +DIST firefox-94.0.1-bg.xpi 561268 BLAKE2B fb7dab03062fa2c6c52a84b875140f165543ec57df8b7ec7102f530724536ad8d02d0ee0721629d7a3fdcc621ad2105ca90dd353b18a3a00ebed3fdc1b417ff3 SHA512 31dbae1211dfc8af07ae41ecd19bf7930d185eaefa87cb83e34d8c07483852ae9310e4534ae10fc30cabd49158800c42ddec7a5d3500bc677c39ec46692c9263 +DIST firefox-94.0.1-bn.xpi 549322 BLAKE2B ca880eba18433c02064ea086ee16d3980f5f701b07a3bf87512269a9c3e1dda5b566822560e9a21559c9bc4738ac351d1d9f37137d675bdf43a7b2287233b05a SHA512 57110114691b5ef0b3211ef3ea02b6ef21c54a7072dea2d9b1a2ee27eaf2b25e9676eac18b5f5057b4134ad020808988f3fcd80211d8045743c81313d6c0a94e +DIST firefox-94.0.1-br.xpi 518596 BLAKE2B a370872e8364e69f8e6f0a50fffcd09ffd15e6686ce30d3241d9af515c0cc271f0f49bf44ce7fb5d95c1b8d073b3fbcd9621bd2746d938362ad35c7ffbaf9994 SHA512 183eacae778dd6f95307a2332f4273800e38ea688829a147dbd8db016a7d9a444d72c0fe3bc4d475f9d5ee2509c62c1a18aac336ef0ae7d7d3b02b038c809b03 +DIST firefox-94.0.1-bs.xpi 457397 BLAKE2B 041d1be61949d924eb19c2831899923848b3f63643a13449d6d434b93b8ade5864d50f46a0d208ea9390830d817a7a740d4842171640608c87fc0fdb253aa8b2 SHA512 dc2237c3c6ae7ba5c1118d0cbfcdcc700ddcdfb49cbf47ba004479999b9ea6dd341829fe540fe1431dd4ffa635e91e0d3844a4fd1d1c89d3701b7a72714fa7f2 +DIST firefox-94.0.1-ca-valencia.xpi 522746 BLAKE2B e94b4ec2737317317baffabc11226d7e6dfdb36ea10c0ca0d5a8631fcd32347d03046f31cb263cc043ac21ec9ac8fbbc27a5a09c7d9540c2e8045aebfc2e67d2 SHA512 337ffbb3b634a1e0758f39df7fdebf4945d44a042e7834d18e7fbfab0a000ea0b0e6582c991c806c1b8e8c11a46490ec0da4770facce97cdca7b66942737f7ee +DIST firefox-94.0.1-ca.xpi 523366 BLAKE2B 35dc7f4a6c5f5a6a58a3a724538d4fb8eb17870d5152f67403c6f522b8306e3d990334b0ccd7e6d070584fc16ea84b06dff10cfd150694a570cb1e4a9cbb6225 SHA512 197badc4008e70a47ee90302c07919c6edb6ed27572c6a7d9ad7959cd29867c31376a6db1b76e2d32e175cf4b321b73acedfd465b64ebf89ba000e33cb68f746 +DIST firefox-94.0.1-cak.xpi 546847 BLAKE2B 71213ee4f2023bd182c1ddbf78f7708a6f90ba4166c4f3e8814b7f210809583136ced6f8a9cc4f5c884996335c440f251c2bcc2287fe7d1a9538cfa66938a3d0 SHA512 d05763fea0cbc50afcff8f7a90da029e25e608ad03fc713696925e7fbd8cdd64fc0b530cc6d97ef22effe7204ef5d466b3639c0b357fe8d663d27f08aeee0ada +DIST firefox-94.0.1-cs.xpi 554918 BLAKE2B 3b4f45cd7bf62ca4f7b216cd5b0e54f1b09e345fa567c5ea8e08250204896cc5cadb0861f46f4cea72e757fe47390e01262f755b4a700fcbea41ea26dc451d4a SHA512 19330ee94ee26aa570d53b437a56fe3fdca9221bc3e87ae948fa47d81c089229e32c3e9d90bc0c448e8dd66c4dacbe3db318c69497c7e8e9b4b90e3ee44682f4 +DIST firefox-94.0.1-cy.xpi 533295 BLAKE2B 00c09fe00332499f95405f422c0203cc459983df094b54321cee1f54b26b36390685086c0894907f45ced77346ad837643c645b1f8edd0db96fad7e7589b8992 SHA512 1227b7d51be26baa5ac202743f6800187a7803870636c26dcff9b3b22a4c0bc1c061245be0f18f90761fe8304f3b613c8f4ef4d1fb9f8f13ff5bde72f51c7641 +DIST firefox-94.0.1-da.xpi 525178 BLAKE2B 39bdaaaf779f6bca04f8cdfbf82c9a1e6b2592acbde1ab3a81291e2b3c9b8b8c9a124b59cfdfbd70c58834436680d666bd28c2aa350a9bf983f9d3ca6fc3a961 SHA512 624f9134853a7ee90c10dddfb6b894c3beabdc4f3803d329be3a0d4b56b1eb7545e186c1d75a37e5efba6d7863063ef61ae871564a414cac5a843370af1dbf6f +DIST firefox-94.0.1-de.xpi 544131 BLAKE2B e12b531b5b0a0bc8ecec7d8eaf7ac35fcee5d4c65d83a3079ee47e222e4692a31dd08f3e0c52bb4a1a0ce807248cbbba3c46ba72532482c16946cff0640b4fb9 SHA512 5b38adfd2f4cb298d1701a3cf9c62660b329610d974b208c3f2bd203590c12fa42509d7ee034bf713a420bfdf7f9dc2521e0bf5e8954c0a28d89cf9585f79113 +DIST firefox-94.0.1-dsb.xpi 556675 BLAKE2B a2c70890aea44a0ce77b2159530d09bd6bff9f5348f8cef1307c7d54d4bacbf4614f89bdac1b8474973fffc40d731bcc57c62ef90de677b85ff32695f24f9c3c SHA512 cf52b66dae89a3a1933d3d0edb52ea36ac2b86693ff4dbc992086f629d16314dbdcffe0507a6d1a9e43e359135b2cda420507183e1572de298ebb14ac2836e1d +DIST firefox-94.0.1-el.xpi 628426 BLAKE2B 1de8138e66c8a40f1e38b79dc2a70dd3e06fb63ecb5253f226c068a5fa68f980da005ea852a611b8414faf08f3c2b8a85fad96da2097a8e6fe2aa9846ea13795 SHA512 64e96fdc9b422ed3faf4f029f079ce8e4d5efff312baf57685871e7ceae6db7f0c476ac5268a19efcf929deb0266fa668c0c0bccd1ed15405c734a230515af0c +DIST firefox-94.0.1-en-CA.xpi 501775 BLAKE2B 88e205d6458ebe821044850cd2cafc413439fd8bdb094e32dd8b55f5a8e4011e5c6869b6d8c3af7d05e4fe5fde8401353d8f73d08bd688923b4fd2d78a3b896c SHA512 c029c30650f83090bf98095d4d287c8fbdf5fc7f628271c3527714ee21ab2c041aa61149f8fcc492ead60d2c1a825047055051baf23955141faf70195b798371 +DIST firefox-94.0.1-en-GB.xpi 502281 BLAKE2B b68cf3b6464f3700884170b663baa8298e5fb7a713e5762371419eb79e4c887ebbcb769bcbe95717d9ab9b3535baed9ed7fba1bb9f37d9971330eeeec087b8d0 SHA512 58f972ecd155e0cfba14e82726bd69460cfec3bae0c933797b8ff7598456949a1f9ed4048895e3a5ff7d427740832b56379e72e577098b782025434e3b0a8012 +DIST firefox-94.0.1-eo.xpi 524215 BLAKE2B 6eedb17f8e4be2517eae18a120b600f839f956f0695d4679c7ef789f37be1fa8a365d625f3bd87411e365298e49e68aa1196d02c704fa3b0565764be363b356f SHA512 03489d7a8ae90b675cfa0ac67dc667929d1a03a274c0d7ef9e17e1da2c55dd58deeec61ad8cbec4c99c02288f9efe248717a18da59daa425e6ebecb6a476d974 +DIST firefox-94.0.1-es-AR.xpi 537703 BLAKE2B fc61e2dc6bd59bb09d63da2aa65cbdbe3c3e7b959edba28799b683c940809bd46ea8513e619bf8d3b71d45ff4b3e9c50fe9aebf29784e6f743151e29d8216a0f SHA512 762f4d43792757b847b14720e284df1e52e9545b70f97e25f8498991e4c3a54a7535853645891a6c34315b268be96b196c58623ae41b317465d4e403b399dced +DIST firefox-94.0.1-es-CL.xpi 537231 BLAKE2B 1a71207578073074ff8b32b684e215c7e5f648d2f4fcea41d7d50b62b6350fea01201c5a3e7377ccd53ce1683d1058d2d4e562e9df9de6dda3acc39c80542f23 SHA512 bd44bf35c53992cbc6ebdaa1b0ae21c9a5820bcd1e77406cc1e469ccd4fb584b5462cee3417ea4ae46a8ef5c42d45f3cd22ba918fe24a6af3ef1807535374a96 +DIST firefox-94.0.1-es-ES.xpi 528001 BLAKE2B 90e81f8f2b7d2ccedac76b3a32694287a0d5a9a6a49d65102746a51a4778d27823cd1c4a7327f608d85600516f652055c74be38b13105788d260e4e0e525a33b SHA512 dbdc65c545146d96abc4d44e735ecfc46d421d13cf3bf9e4eba59c6268048d740a8c523720b1e8503bcad6bdd8a819125d6dd541114630d0372528facd241c77 +DIST firefox-94.0.1-es-MX.xpi 537402 BLAKE2B 754710b489c57b9ff228c559d38bac4e4fb552e1c76e7189e731ac64176c07b7d431decb4d424ef5d4930747aa012db5f67499acb0641bc696efce0fb73efcdc SHA512 e04a926816afd714c31899938dfb31c3fb663d019cef07b52627864a1454969f4bede8829399614e1e546bc86b42ccbd7f78144d55222efb317ba8a462d10ade +DIST firefox-94.0.1-et.xpi 475976 BLAKE2B f593723eca37ffc429f4ebeaf1a85e6fedead286f66708e3465f25c3b4f554f31f3fe90147dd64707656a3312baf6bd0a020d2acf337a4e42001837371a997a3 SHA512 01be4fdaa4b7b8a088d1ff43e3534e1a8e8f05067fa0e3b750fa09d7daf2602403dbb90479abcf3d071ad1f4e87a87bfcb511eeae3168263d300f0c975ad9843 +DIST firefox-94.0.1-eu.xpi 527556 BLAKE2B b96b705fb9d7a6d0440d246964ddc658c6d1a11c2de334c8fb37d08a13e3b8051c91cb64fa6134971d6ed3f245e66d6dfbd9b0d9bae46474b1573df516993617 SHA512 5778872ebd0cd4abdb4de4f4996c76deb250d640ed6bb7893012c3cf27d7b780533712b80b5a99651f657f3de7cc5fa8fb3a27e1225e6f02db00f7f2c5522a15 +DIST firefox-94.0.1-fa.xpi 549174 BLAKE2B 3acc751cf0fe224368bfe6e0ab07e8e3cfab29d194361005c0aaccab4caad83e0c9e689174027d025966459e1bbebab33f13b8d3279bd01065f9b6c6faeec6ba SHA512 a4d97b307e846f01e7591e457ce4901c75b2148416aff13395c5f5a3f300d5baefbf0e16f14d6239538c417e349ebddb4468d3851113957e03b07afd187dc253 +DIST firefox-94.0.1-ff.xpi 464857 BLAKE2B b99e997bface18a5521feb8aea9a59089d7d079c357874ebccd1ddd16f5119e7e5379ee113392a8be19f07ada2c4cb9d1b38bc379a708104124694b5476d30de SHA512 1b202b41556011a4b02fa9f232abe908dd6a4797929cafe7c8e5318cf535a9effbdeca08c056f7fbead0d50ddf1227ffcdc1bfe2664d396a8913826cbc287499 +DIST firefox-94.0.1-fi.xpi 521622 BLAKE2B d7993fdbcfb3ac0ec5b35654428ba748ef20374044efd957d2e15e1df4ef53d55094c91f215e7399a9307a1c79f5c21fc8d8217a502ccee7060dea95c18c0f6b SHA512 64f15d357e224c4a67b4897e9e36c20542e364921a547448124daf8f7ef52f7ff431b377af3f6430402fae92d08b67b60b507b731154fde3de102e5712f9d683 +DIST firefox-94.0.1-fr.xpi 548388 BLAKE2B c16b2fd141c5905c957f080fde24eb55d149e51b896482fbfb17031fa7e99ef86ddc1ad28e61eaa638fd6fbc3f637cce2877ceb856e14f6d65f7dce853e0959a SHA512 0baf5d42d3c431b0bf62f2ad346ebd481a5821d9637bbc3f16cb09e5624a929dcefed87190d8f0bf99e198c4ac2fe868835f4e78e94d5a5a030fb834d9d50c5f +DIST firefox-94.0.1-fy-NL.xpi 534139 BLAKE2B e48ae1f3b481584001ced783b06444edf32c8c57aa91c5194afc1441c15e232629e23096331240f7f08a1d8b64dda00faf156517b22749479524ce9183f27327 SHA512 dfd24d211b5c5f264f7b3fbb89b07c24519edd3b63c89681ddfe3b02524554b41f38560489460f7a69b45fa30bb40db0c2577f6d240958fd4c10473426264902 +DIST firefox-94.0.1-ga-IE.xpi 453026 BLAKE2B 14e332198eedf2d86366c0dbe186cb79531df873898b87a66b3c1c00d11ede89df771e76bffd9160176780867d7c5e51d3d6e0142d24ccc1d2d9fd3ec078387d SHA512 5d7f2f0956f270f9ddfa170d685cae0a4ab74ecc717d830078def8272169f9ecaa712d6e66404a80833bb70cd694d25ce918233ea0f6a5f3bb9af76882b66c6f +DIST firefox-94.0.1-gd.xpi 525198 BLAKE2B f8cd6d50b3d7c36f9bd350f181145746eb08d22d48f0e0960e51b127713fb774154a0afdf0b8ebd31ae9036dbcebcf408265545c55ff2bb04c190b1815fb2b95 SHA512 9043706e78fa2844f09986aec85004798a87215dc3db1d1b5cd2012a092c2096792ed490c0aac0d5b00262d6f492fc209cb248508f2ce945658d2a3eb7d8dc23 +DIST firefox-94.0.1-gl.xpi 532750 BLAKE2B 9ad20c1cd9b2c01f7cd9d1cc163ad61782b2165cbee146f09e7982f4b503087d9c2644f4172eecc0f9d4ec42315435c4c705db4dc1e6adcbf56fcd7504c89835 SHA512 adb5e68a796b815bea5ce58b3bf32157d120e11889d732e617ab5cde89a7fd1dd411c5caf7d74bcc13b23247ebbc12019bd278d8080e4760d5757e963bf57e78 +DIST firefox-94.0.1-gn.xpi 548781 BLAKE2B 79e7da047c99ecf93b1ba688f661174b9e0d90f09b92c0071b9d8820f6dd18a83103c39992c5530b2119523116c7f37d3d5d0f424908ab2bb44c5271b99f73b5 SHA512 89654173663a5509768f3e0cd92fd496eac760d6fc7e4d9df311a8fbc95f9c1fd7c9d227475fcb35f18bfb080e4dfcc257de55c0854e6378bf58a9800ff3f1cd +DIST firefox-94.0.1-gu-IN.xpi 521983 BLAKE2B c70d9721ec13bb668e4285b2f531f774c2d88d2577a487522a5aa49313d0301e87edab4690768765fc1eb72dd3774645ec2c7e5ee50911d58f1a2c9abedd56c3 SHA512 c18ebd6bcca1a1c5e0291d2bba4dac167999bafa3f44eea40ddbac1bd2f6078ac00553664ba2dc7ac29ed0b1134d6d229d1c13259ff03b6e85a5c616cc53cdf2 +DIST firefox-94.0.1-he.xpi 548085 BLAKE2B b3e80e0c3d4d2cc04cbb3851cea5b3368af460494d1895831813f40a02dc57c56e3fd9d78cb80adc9b192ea4287a561aae779e320268b5301b430c0e9ce7a198 SHA512 7ae7d6f811f2a658ffd96f17496bae0f4a9d424a21d310bc8f98ecb9e3359592a293b02871e3d0e4d19fbbec075ff6d08c4856bf233b67d572e7ae127c85c61a +DIST firefox-94.0.1-hi-IN.xpi 549625 BLAKE2B ee1beb870fc4a246157ce4b5aaa8ff6a5b61af43098dd8e1fc9662b675e4eb7ba1826b3027d0179079769cbe99b84cc2bd3ea033b7c36741be60ebae79d963c7 SHA512 fb2f9637d092b7168498bff0b2066b7d9a1732885bb135d1a86cac13168791f57be1a7fd8eb9713e6b013858d47b219ec241278a2192f3c87cf9f911a9875713 +DIST firefox-94.0.1-hr.xpi 524153 BLAKE2B 4be3684ddad5405458e646dc7635128727c27c0255b564eadeec585e478ce10d9aef5da7d4666fe01ca4fff55ba598c595aedddf85fa572fbf62057ae4e28b3c SHA512 e27aed55621e62a60d84c01abc423d7d663ac6819b65ea6cf8f24f6d680b88f430a0a423719938c923833af7f6515d811b2318e1e49621150ff9799777799cff +DIST firefox-94.0.1-hsb.xpi 552757 BLAKE2B cbb1eac8c048b9df73273ae9e1183e091265835f5f21e868d64fb61a15c5f9abbeff8f5bfdcf4c72e299569b6606874928b1f2b7c8b7d9e95aac8827f68b21ea SHA512 f303e8269397a906552c1dba1aba22f1fe56e7a02acdefa7fd0dafe137ab79ee6e57e85259f28b8208739649757db3ad4148e841ec2ce8fdb3cb0d13f40b6923 +DIST firefox-94.0.1-hu.xpi 556534 BLAKE2B ba29530955ff5df8219aa6aba0465f33ba0089f10a10eb6e55a35d173788fceff2f2a37bf64a4f94991cde99254c46d5768a875d977d1910aa00631bc39695b3 SHA512 c9538916c94e3815979e647c2512b00bb0e4f8f210410cd159a54a4521194df4d11f91ad83b71e5f32e8d9d1cf85fc4396f1320557ba7aeedf3050ab96e29bb3 +DIST firefox-94.0.1-hy-AM.xpi 571514 BLAKE2B 0bd099830c4cb06518d0a114fc887c4953256196a1d169991f87361599ea6214256797808798cb64c32728639166cc893dbaaf158e9f48c0ffbebaefc8d31105 SHA512 d936c2a136f8431435bdb9ed6607f10b203d3a456be08666c2578c3e719c398d119159b58db1abd8ca8fc77d633f36ee51dba5eba54e7bab7a3c0f2fa4efe8ac +DIST firefox-94.0.1-ia.xpi 523401 BLAKE2B 8099ac688ef78aea5488598bff0cb6b979f6a7cccf0b21fc850c0f5f5010e8f14ba5d4608e7aa5fc3494498f1b920dc4c4e3349853bc0b883357bc554050391f SHA512 3270c4ddab56531fb666594b7dbbc6fb790de8ee60108e3846fa7bbeb235230bda6a03047ec4a8f93207097f51cf2b4f5bb34771f34bdbd6f2936594019044d3 +DIST firefox-94.0.1-id.xpi 514260 BLAKE2B f03a76dfc2112aa2e0c77c7aa79ed176cdccd498309758ed41479330fe608a4c14f917d8af6870c348e866271718ad76336f412e4c8a7401ca3d3fa51a4c4963 SHA512 44aa8d310d23785feaf96bccb6fe2c55eb307927ea0af3079002f0cfe01a362d3fb520a2bbb867568b1f490b4a9fa615377c62707ed3e7eeab9245e95ba315aa +DIST firefox-94.0.1-is.xpi 463538 BLAKE2B 0a3275f02da3806280bd81a9c495bc9b1978de7e046bf574efa47b01bcfaf9a5ac0995c0c4bd90fdc1c3ce150bc9814f903458895d28787d5c78f5cef654efb1 SHA512 22d5fce78dc9ab53053531cc1bd17bb534cf048f916c91ff44fd2e381f97df39b73b4f603a1ea2e6d600388e07f2d064e317ff9c494fb0044ebf90af8c364757 +DIST firefox-94.0.1-it.xpi 451914 BLAKE2B d07b9d7b5692aa316fb0fac82fe8c8b8c3f8a2dcbd2400c52f43900968151e3f5db104341d3af5f8078ad29189efc5ac2bf688bd92349b69ed12c2dbfbb3c7c1 SHA512 c310b4a8d839a2ae7fbaf17ddee4ce28be7b079a4971f6d5eb2c788e2d593d8712953d0d01891708eb945804216c339e03bb8b1346c8b66dc09371ca7fb828ca +DIST firefox-94.0.1-ja.xpi 578384 BLAKE2B ac410ac8a39655c10d6fee47297b2cb0b6bbf1ec4305127958ed0402e70a63be49a3fff2c9c88e60954dde4d6c95b5f5d884fc89bd3c2ae76294b8ec0fe72d24 SHA512 af85d7b8eed5fb8608e4ad4e56431a7a3af006938ee1e1ab4301dc196bcdbdaad3cd58bea202748595101c454f18dc2c428928f419e544ca60bdd701edf65724 +DIST firefox-94.0.1-ka.xpi 577161 BLAKE2B 6eb873bad64e98414d5881c047288ca8d316ad0d97b1724a845273d88230cd951fc9bb0f726676fcb5daeeb02ac8412b9545c166f3eb01e1fd8b210b72c98535 SHA512 da0b75db325f8aff104e41092ad4992d27f53d6139f30b1328fba2af0a96bb05e97e56e8a67becebed1a19df65d6f107963cdd4da7eaf1fc3361093cefe5f18a +DIST firefox-94.0.1-kab.xpi 537780 BLAKE2B aa4825e3180a2127956bbfc9c23beb8c0559d0684bac428e147e48ac27ffd2270042b0c92ee6341be094146087e6953d99f676583338978f289cebb8387f2190 SHA512 8fabf482e67085af940a489a52cf230cae2ad4016bb413660b55162a6a475dbcb56f2ef74ed265e4d5d53fd3496d6b17c587c6725e9ee9d44379677833f215e3 +DIST firefox-94.0.1-kk.xpi 597284 BLAKE2B fdd9953d0e08388dcc5546da0193d817481357d69beb35e4a21847eebeccac279c714ca93ac4d0c4a72d8c31e64555145556d00743c748073d12f3093c4839a4 SHA512 771b1a1a8b7e292fc07672cf0298e9323ba4ada5f4ee23811377d676fe0421a29b470c5bf0cc606e9b0a1898781568ba9bf70cec56d3d0f4b5936687d5069442 +DIST firefox-94.0.1-km.xpi 525195 BLAKE2B 7ca270388b066aa4d66edb3c46fef96919ac56540e0db9fa0cb762527833385939d773e908ff481c1db16e06f5818ef9c68b807033d6ac74db5f8e6f95114f9b SHA512 be81bf7d9492c51fbba98324337fb4ee3c48b3d4dd2c5730c5a16f3835fcc163888a1612ac34cf896e76e55811e6144ba059c33d13cad6a2c0a2f0e4a94a8843 +DIST firefox-94.0.1-kn.xpi 490297 BLAKE2B e79d7e6a7ccd01f3fddf23da5f6607ce2c69823f45ff00ce7a32169623b58ad152def549591ed74bdfb26da56b6c34daed0f25d0f3671f3f99d7e17f4ae264d7 SHA512 52cd3e510e6ae090e1bccbfa29c5e8b0ba241d2420d751c50f110c9adfcfeb2fcfc1a3cd12024e6311d7167b08a3545ea0288c7aa4399304cd1223ec4d27e0ee +DIST firefox-94.0.1-ko.xpi 569334 BLAKE2B 1053a21fa3a3e855968a06a359ca1f4b52958b811267a495298d370e75a813098a361a93c9ade16c3d9691f44ae56fcff465c11af93be7c474e12d66872fa8cc SHA512 87fa5f0c269a05d43cfdc4173b58790f416284c07a33f51e62989220fba50a3124bbec26c56d22cc37434672aa593e2ac3ccfc78cf209cb60bf066246b7edcf4 +DIST firefox-94.0.1-lij.xpi 463822 BLAKE2B 0019844e9aa780e94344e294fc7a7b04b2015e5f7b6938f9dc626864e9917495e8c46dced1c9cadc80127dacd2799e8fb4be15693d5286eb7aec1488be4d3d35 SHA512 ffed1af31c993edc5aed5c004ed3f746b3f3c67aacb34cfe8b48c9629edcb7a4b54cf862e99476e09146cc85d4ad27bd3b7440a3dbb6cba04d39603b556f4bc6 +DIST firefox-94.0.1-lt.xpi 551284 BLAKE2B e56caa73b5ffeb523fbddc9e03efac3755438f9874a4bda01f52f5cd046ec992f2bdc6f328f09a520573f2cfd40bda423eeae293c205e648938b78bbb6a15b86 SHA512 ddea3ab958d33d6f19276764e4636cbec6654d8aac2b4187bfe4a1d8e3272c3ee152ac3bd593c6cf6d12cc3bc02d9ac2cf3227756dca979c7f3857d522ab0b41 +DIST firefox-94.0.1-lv.xpi 455639 BLAKE2B 33b4bfdd1a322f7088272faee07b737025c83e61674bdaa9cc410b60690749becbb001770230bb4487bacd5e75b68717a5dcd1b0314d946b36babe7bdcb6c22b SHA512 c377ef3973958c82fa86fd880c6feed720a936be6ddeffe26dbf6afcb4d60a477b60240b338f7954e4bd7223094d4ab837ccd237b01b9ed52829b67ce3f2ae78 +DIST firefox-94.0.1-mk.xpi 457654 BLAKE2B 79aa6b8a3fa0582481c73b8361cada59ca77358f4267f3672120879e9478cd0d0c69e0cea62599be9dd3f066be40ee07c8aaaa11cdad29ef82657d5c9691a058 SHA512 fafc3550a01f1246ec831faf2559387aadb6080b7c04a5486f5e947b534660ea0007b17afd6c11950baa731eb39de17286135bb2c262461f5f37fc07ff5060ee +DIST firefox-94.0.1-mr.xpi 524927 BLAKE2B e8a736a4fd6a70221ef06fb6c3e18c1a1d344b6d032ee8fd1f396ec7c072f0874440d49239662be54ee09f32e4cd1df3680cbf9c7a15fdfdaa720369d79bf71e SHA512 c0ad6327219ccdb7a73417e78118c331a06b2c08e437eaabc5b9104827aa8cacf0302c605fa883bfa8d8b90ee1f4ad73afc4e739b6b28d0812dd9fb96e5e86a0 +DIST firefox-94.0.1-ms.xpi 440745 BLAKE2B 276a598888e2ee845ef717d6fe0e45e449abffdb2d1e29ffa25f91170b361a3eba47c1b84c5840ab80cee6c4ea832dec6c07f33ce9de1a4c0e637becee56fa83 SHA512 ef10440c8e7e9f94d85aa4412cf114e91b411e0dfd36f72fd6311738f35c2362e77f428d18e7e4f38cc1894a7904326cf8726e45425d4e6cd5583ebc00ab72e4 +DIST firefox-94.0.1-my.xpi 509187 BLAKE2B 4f7d47043f7e9ac197900849ac80c7ad6899d3c8795324007ae09353e6e00a513b583be1495699877e758fdda02c1128d7bcdca5ecb4881f337ca2062e737e33 SHA512 25b29f4bdc3d576cd74684f03377e5d2527509da591769d5ccd656c22cd323734b560c315663da5d344bbbbc8b20e165ce88390432dc3a9d2f55155d3ef02d7f +DIST firefox-94.0.1-nb-NO.xpi 520728 BLAKE2B 9cd0a59d9d27d9a79bf4baa627c62d9973079d776c3d03796ef34aebec1282e18a580a51a900475425e7f6ea8e53551baeb475bfea71ee66cc46a86f90949b3b SHA512 e12309db8ace261011dae120d8efa5b0c6917ed60952387ad554e077c06b2c552992b3f161cb94949369785ed84d4f5642629880e63a29080017471ea6c835a1 +DIST firefox-94.0.1-ne-NP.xpi 468611 BLAKE2B eaa56b7214ca818892c1ff5189c9bf6db3ae7b1c077b911caaaa3d637dc9bcabcf48251367cb2a0c09dfe444cdeca44c3fb01209eb08ada834dd1c1d224bfff8 SHA512 130217f73469045a030fd6c580b5d28a05af5631628c8c2cdf744df1d7248515c3696276ad08e53770134fe14457daecf283b92fa9cb001a825da363ee997cbd +DIST firefox-94.0.1-nl.xpi 528249 BLAKE2B 11d528257a1aac744ce5038db4a701ab7d1dbab90c145c3034ef0617092c72cae7a688a4cf1920316a0766ac791e096c160fd400ea8cb259f227f54aee55e9b7 SHA512 35320e1adc5950e109bb5d1077ee268d7447204b4d780d9e3e2278a321477d1bd9299b8e8962ad7fb2011969bc2e8a183b3a8111ac9901ee73d3e11c55f6d1ae +DIST firefox-94.0.1-nn-NO.xpi 522090 BLAKE2B d709a879a159d0ecc5727afc85d6c776e699b45d399f07a3161cdb4a170b4d4c94d3c8619a64fe40eb381ffb77e299ae9c10620847f8a6ed41921523b4c1feca SHA512 009496290e299bcb8207865758609aba34a3493b4a5a06db8a18152dc10f3c2f6d0b4b33c45389810eb3203eb07d525d32ed2931ccceaa1c191f89a531975514 +DIST firefox-94.0.1-oc.xpi 543831 BLAKE2B 32cf383aa290f15806f77920187eb2feae8e4f14089914f5b0a3f4de86be4cacf2b562033bbb23efe69c2e96d1e836cc3d929269e2aeec62e1b1be8511c3a0d3 SHA512 9e4732d7ec389e38533a45f6b39a8a7874a6f01483819e84698866794b43acab81a59a4457d45da5305fe2f66e63d06c7c5ec09b3877ce93914eb26a2c7d0050 +DIST firefox-94.0.1-pa-IN.xpi 584001 BLAKE2B 8e864696bf5862a8e20455a04131ffbb31fa0b37c37bfd83788e3ca7fee7a9155a05a6bab37a2cdb76b670d9f8b464378a8ce71d7d2ba39a8c8c63d96b64a89a SHA512 7b626b4617f0d936e62bdaf870d979fd815764f41354c5424d9bfc987dd0ce4b584dae098e6fff6f2d21a82319933ee0bb3c52541ea903e2c0a90bebf7abf86b +DIST firefox-94.0.1-pl.xpi 547603 BLAKE2B e72fd9ded04f03d0e4187d9626e75d542280160a0631ca443c9204bdf2d45e93461ac3363ade45d714d97a8deac386c58690a4328478f7fda83379387dc3112d SHA512 bca1aeadd3895ef6d2cfd5e5336b5547360fb40e83c6fccb82feb3b6de98c4246ff67cb9cf09fdea1447ad035584998f84cbc8ea9dba1c8fb9d044bfcd7ec273 +DIST firefox-94.0.1-pt-BR.xpi 533496 BLAKE2B 3790664f2eeff9e6f11d5225320dc950588a1044f3e2cbb69cda11b0c4f70b2809a8d6f615c6c135da718d3fcc06d3a578cabd7b09ef1a2c8884de237f59eb46 SHA512 86246a1e8c83b3d4aa3acf8c2ca9e3451363a253b15c4fc6f38e89d6023e47771b3a8df506b4680dc082959919947d0d521eeca22fe21d2c9cbb87589f290fca +DIST firefox-94.0.1-pt-PT.xpi 537148 BLAKE2B e0d15fc2c85e03ea2a675d2e229b2c71883bd13fe1d1f358d30cfcf71266a367c1770f79416f6b8d455629a6c5db9aff5d188898dc364680a7487eca6b25631a SHA512 295f92b2de578e2609a903384a873e53f019e360ffaa207219090ff40a54690df10d7a56a803a05742a37f008bb8cb827e18652d2e888417e913df89220da693 +DIST firefox-94.0.1-rm.xpi 528026 BLAKE2B e7d91bda4e31d394c99feb9f83a188526096a93d4f9333047bb10e7ee35cb6b9161378d7074699093a464372a3f1844e4577f46d7a210536e2befec8acb48adf SHA512 4e9b5c63d140166ca3a2c79542ebaad36d88212a0ea6c1c61362ad9da3ba2302ac7a6f83a44861cffc8ab1d3badb3f0aca4cb25f68eaf7e4ff379579dd17006b +DIST firefox-94.0.1-ro.xpi 522833 BLAKE2B d9fdd39eb428e8e5432e0d8252dde5e8854d4ab0642938cdc15d2febffa95795a2a46123d0fa5eaf2858900ed2e4666a49ce6ca01297a1a39fa17abaaf77fb3e SHA512 f55df8baf3d4dbe11557b5ea614c296bbcfce35beaad2e73a454d8939279af13948227c7194a788b3016d82c57dc7568eafc37b942e6f426a68948ecc8c08c94 +DIST firefox-94.0.1-ru.xpi 616586 BLAKE2B ed1c4d455ad7edd3f2b4741bc954faf876c4aa78a32434fe38b9d63932f76d663730b5600b628bdaf3667323d29f45e94d68004ae1250013039eb2aa08d5089f SHA512 955cb81902b417340bdec9d78b7b8dee45cba6e8d8e049d58b882d52f3e3b10dc2756f7bed6dd5eba03b194544c96ac8c1ccd7e318c8967255e8ab265e18f9d3 +DIST firefox-94.0.1-sco.xpi 499125 BLAKE2B 70218e01791513795b56c46e30f7d5859ff2391be3ac5e2a637ab959b0350fd3d85843cbaa02c15553264921bd609c2f66e445084a590e1fb830c6ed661d409c SHA512 b9bd78d57313de5f70698c5313ea70d882ba8eb1d0616af4394ed34b90d8c192847b673f0b47a0c7323848f3c8f95f5a889c4e8eda622d2c9eda3bc7dd50bcfd +DIST firefox-94.0.1-si.xpi 480457 BLAKE2B 59a330275fdb3b96e73a78a2b626c766c741c8d4473e5a1d5748dc2df4716f8f00a8a7c5163294f57135a0dbcf27139aae37f7209748671640c5f907237e23b0 SHA512 5536a0f4a4eacd741b9e725e170a302298e75eda62e0c67a3c28a521f02710dc5b568cb548287d2dd00acc3ea8e479e2dda74c0e450c2e46bc8bc0c7732f651b +DIST firefox-94.0.1-sk.xpi 556810 BLAKE2B 63dd259b2acbc27fd3357a1d223360420dcaa71a16bbf3b42142058f212236f3542b676fe0d67fd2bf391fcb6ee4604bddff4b8bd64fe128e2ca130ecef29227 SHA512 028d67fe1c84e5bcd02984ef2596296964dd2b62605807f6990fcd15bd16323bcba13b064eef54bb1c0e0a1ce9336d8aa2668cc0192353273a75bcf7f3bf9634 +DIST firefox-94.0.1-sl.xpi 525780 BLAKE2B 049c312ee6fa51785922a22870aaaa2cb1382478a76a94107d827489f2e8bc60de0ce0c00aa16b53745e4fd02df3b7b396227af6a29e2f3ac27a7f6b2c8bf18b SHA512 e3939f3bf5eeccb4dd86d871ad90379ae03bbd30980bdaaa7c3d2b79ba35ea22410198d60522e79d06ad977dfa90cf27aef8b05512c33c0567691d5c73e05bb2 +DIST firefox-94.0.1-son.xpi 417354 BLAKE2B 9e662b2858a5c0ef834f4a43381cb2b0034ab166fc8b7043be5575ec5ee2739a71ce3591e0f2cc350f4122db3163774d579162144b5bb470dd4fb7253da96617 SHA512 67844e46f4424269164484e194329699b72dd72439cf96ceb822e0f8b9a06b60608e0e824c3c5a4cd7c6f32d9a07a4f2b2fcd3d85f8ab7c4b823bebe06e1084b +DIST firefox-94.0.1-sq.xpi 540824 BLAKE2B 4231b8b3dcd6afebda836fc1936cfa4e3ca55cdd3c20bf1fde5200a4eac267b3eeb9a5d054a7f798f07bbc871d68860465ef411bf1ba1ae4383f3dc522013960 SHA512 3fe0838e511df46ab13a333ca6173a1c3085ed5fb0bd9c1c6afb1a016396cc6904553b50f0607a01ec5e540aaccf3a395a1d414ca03cc0f451c713e844869b5b +DIST firefox-94.0.1-sr.xpi 578107 BLAKE2B e0ee54b3efae4e2e7a1583ef496cb7c6ff4a5ec1f8b263367dd2bcddd6e199b53c5d5a98269f98c06e19257e3fbfd43f0bd278cc04124cfc29ec4b247c2bc286 SHA512 a939784571d6afa863490bf6812f05403b5e428691a8f699b6c8d19113b23dac96a65f885719e136de745e5f47794199f0267771413d338f762f508a5617d253 +DIST firefox-94.0.1-sv-SE.xpi 531029 BLAKE2B de4c1a300e4f5ad9237221f8211e87f28ed482079628295ee619324f285c605b5379ea21a5fb185259c7675115bdb3f79a1aa8791b4badb04e012b70f27c64bf SHA512 9e362b0b533f4c1b82c44b2d87ae1dddb9203cf12d879a6e10a4aa38a9fca5cbb536076bd5b59974bbf7212012e90f76183904ef9faa263b102d4edd20417027 +DIST firefox-94.0.1-szl.xpi 503784 BLAKE2B 737fb3190e7cd0dde0ba907194e71749716d399ccbd3f467f6e4c4f5fd80dc1882742290693202c7e3671b88ed062450c707f4ed5995e94713927ba531e60440 SHA512 62d2b571b639eba953c277b65b1ac075a7dc2961b4218fd790f52be88af2c33a34b46ee37a5f0338f14a120e00ba33a4f5476928dd000d3bdc8c652c958969de +DIST firefox-94.0.1-ta.xpi 504706 BLAKE2B 353b910e65e9ab36c8d4ae4b54a78e2e6573dd6b114f4ef28ff9b1e3db0ab1ba290fb9316e1b45321bc249b33aae85300d2e21883f4b989d4b792effc7aab807 SHA512 c41843f63f43381ea2b61fb1bd679e8116a4bb8c1f61e260528afabeea1bbdd4c9bfde84bab6ad3f56648768418ad489257d443d90b9695d982b9453826f6fa2 +DIST firefox-94.0.1-te.xpi 543088 BLAKE2B f8d1e963a354e20499f56ae51bcc514e4bd1921a8842bf2c5a39c25a1984f9163d3d6ed715a5d1d006d4b98330cce0d292badc467555db32d7917e82d09d05c6 SHA512 f95cf4e8f53b483903af5c384f150ef4f0839ee26bedd21071c329dcf357b26211f2cf5363beb55925313ba3f20e038a32dac50c3ce4fffb1e330c67c247a411 +DIST firefox-94.0.1-th.xpi 592792 BLAKE2B 0456c4996af890180a87b4683e6766df3a599a9ea3e01fde7dbcef8600c0702e933f84879f611cd66c385c338a45519841797f5f6f3080187dfdbccc607f7bbb SHA512 49068ad2f1af995de3459999f5603e231ae9619c5bc5c6ef28ff86426e788430de3076bd78002a512b764e9c0b3440678d04b8ff355a2387b5d04cde0eb8837e +DIST firefox-94.0.1-tl.xpi 509582 BLAKE2B d115d4003382f3aa0afb462710bbe610a1d4c52a8de491f73f498b98677469618764737b5a5b999787aca5ec9d1d3cc7db3c9b054b0248dd3c6ebcb21ec2f962 SHA512 1de427a9732c7c6f9bc9351d47625ebda121f33e0237f9b8a99f93799d2906b5c88afa51c8829caeadea963b20e7068bee18cd6b75e597ff5034f7584c1d102e +DIST firefox-94.0.1-tr.xpi 543225 BLAKE2B ef1c1479621389d0a027df8bc58a5e706f7db425e8bd2f2f5990ff3a8f01e6a645dced7f9505ea27455f65ecb28d5c34ba2818f0508f0ae71ac0e0368810471f SHA512 6275020c4bd9d22b4a4794467d13ced3de6590bbe4358858a1a9592c9b179cdbdfb9a88c5dc56a7105ba827c8ec6b73f2e3443f21926126c26b80daf3d7a6038 +DIST firefox-94.0.1-trs.xpi 484040 BLAKE2B 5565da14b89aecccf79a0d9f13274a440d3dbe321685c67f28eb4fe535c680ae3c8bb58fbc42b9ff8bd356225e3bd3f86ea32b34676df6e9344f5a8730d2f014 SHA512 c3586add94a73a618398060aced1d49c73fa9ef421ec8804fe5e6beba96364f63a328e0d89a4f861a899579ee1d80d6b7019f95bdbb7ec661b636b5c00b583e5 +DIST firefox-94.0.1-uk.xpi 610074 BLAKE2B 74b5396f9705806c56fa39e8a788f0fe628cdec30edf9914b3e6a494171e5aedc0a82d42897eec890497a07a8f2e0488921ba64991c330e068a1612d64574a05 SHA512 411217d5f997624979405e362cbd7144c330ee4e22244dc7c47d7c08f303330d027a171c3449892ecd39333c30a3dfa01104fe6812b6e7d76380eac2d387de19 +DIST firefox-94.0.1-ur.xpi 549590 BLAKE2B e5a9338f09bbd3df87a957f659f9a2b96cf2e272e7d0546c01a616c52ad07e1cb7b353578090aacca1ef8593110968310c77c77ea3995afc7f5f90e657a0fbb2 SHA512 62b5613727916ded9aa78f25fe5af3e5a3184a35ae599a49631ca3359c86dbed8776bec17d451907eefd38aaa3b1ad853a2531e842a86c7881b482e548fa8586 +DIST firefox-94.0.1-uz.xpi 460398 BLAKE2B 4e3429417ccfc6e79cf2548d3187ae0be255dfb630c2cea8ff7a010beae60523427b116c21edc016f9d10b48691776d42b7f4c87db799392980adad43fb89624 SHA512 b858c99cb822cd17951dabe8bc4091f477af1079f388cff7b3f583e41896fabc1afc81159ec9b0811d695cf12db815018c4556cbbf1e9d9e7887cc6bac6913cf +DIST firefox-94.0.1-vi.xpi 564307 BLAKE2B bf5d0f3fba85514abb76cfbb6f0401da3ee1283942ed122cf0955a729a507482808881b5e53e35ade8f91a83cb5f890566bbb591b66e70a6034f2af5ca41049f SHA512 203e94ea9b34975d66db1810b8fb1782cb372caf548e940eee6a24e36fef555692be1ab8207fd3eff15a734948d74425af055a7d13e0e2863d0bd4ef3a4d0057 +DIST firefox-94.0.1-xh.xpi 420859 BLAKE2B 68842d4622acbf1a23fed065eb73d9ee82922e142b006c71cff39aa36fe0e28a7ae9a637dd0487e3563c751da6ae02df07721797baffc20bc4da6e44d89b5e01 SHA512 3ef6c9dcbe24babb7adcff536536b30788e63504be96263bbffeccb21f56d23a8665c83fdd049636cd44b9fb1c745ff96cbcb9519140fbe3a5cea5e25489a2fc +DIST firefox-94.0.1-zh-CN.xpi 565916 BLAKE2B 319fc21bdccf3989caffc60018720afda13be5c42bc109a9513b69e2ad5ad7c693fc91f8cc71f946567172969a798fcce9ebadd98732f46f11bf870e32de9431 SHA512 9f1e6321a0add7866bfff43acd1d128976eb46666fe672ec3ad632a556b1e20bf771b9e297becb136bdcb209e3b8f9e0dfcacadabc6c8b2f91c52dae230696e6 +DIST firefox-94.0.1-zh-TW.xpi 566573 BLAKE2B de71dcc798dbb394b9400d5801bda945cd80ded6c68c6e6c4c02bb269d16edfa00c02f21c361ab497071b25a2abf7520a0bca89b370c1bcec9b032c12f08c72f SHA512 8ec5f1fbdfc8d7ce5669f652b2bd7392048559fe8ff9e9f9ab43bc3071ef4272ddeb5c607148ee426e1722fed38cccebe972ba0b7fa6539f09c84ea804610a9c +DIST firefox-94.0.1.source.tar.xz 383929000 BLAKE2B 2683906fdddf1b11229affd5aae3df2a7d5bac00e79c10f0c3a8203a456fd4398908d4b5706a1dda6b22caa6435074e7fb629698fd68a223cfdef377ca3e3219 SHA512 634665ed64f2ef205fad03ba023bc915df110c0d4b0a5e36aa470627808fbb3bce5418ea607f909d4e1eaf7d90c5dcacf398b8a434e26906dcfa366292a18b66 DIST firefox-94.0.source.tar.xz 379590880 BLAKE2B 024bf40f379c72c4f12e322915e07dcd4dd7f6a8e7a725efc10d9b4afb6cd67093df7001fa93f4b9757eb22403da5cf8e2738440326234702816647fa497e2ad SHA512 5eb65450a0f1842d28d73235f3ef95fa1dbf8cf1467c354f13df51313bd227aaf5a48b741ee49b13378aaaf054bff52004c1dd5a274eddef4a3cf1b913ef7071 diff --git a/www-client/firefox/firefox-94.0.1.ebuild b/www-client/firefox/firefox-94.0.1.ebuild new file mode 100644 index 000000000000..adbc1566ba3e --- /dev/null +++ b/www-client/firefox/firefox-94.0.1.ebuild @@ -0,0 +1,1209 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI="7" + +FIREFOX_PATCHSET="firefox-94-patches-01.tar.xz" + +LLVM_MAX_SLOT=13 + +PYTHON_COMPAT=( python3_{7..10} ) +PYTHON_REQ_USE="ncurses,sqlite,ssl" + +WANT_AUTOCONF="2.1" + +VIRTUALX_REQUIRED="pgo" + +MOZ_ESR= + +MOZ_PV=${PV} +MOZ_PV_SUFFIX= +if [[ ${PV} =~ (_(alpha|beta|rc).*)$ ]] ; then + MOZ_PV_SUFFIX=${BASH_REMATCH[1]} + + # Convert the ebuild version to the upstream Mozilla version + MOZ_PV="${MOZ_PV/_alpha/a}" # Handle alpha for SRC_URI + MOZ_PV="${MOZ_PV/_beta/b}" # Handle beta for SRC_URI + MOZ_PV="${MOZ_PV%%_rc*}" # Handle rc for SRC_URI +fi + +if [[ -n ${MOZ_ESR} ]] ; then + # ESR releases have slightly different version numbers + MOZ_PV="${MOZ_PV}esr" +fi + +MOZ_PN="${PN%-bin}" +MOZ_P="${MOZ_PN}-${MOZ_PV}" +MOZ_PV_DISTFILES="${MOZ_PV}${MOZ_PV_SUFFIX}" +MOZ_P_DISTFILES="${MOZ_PN}-${MOZ_PV_DISTFILES}" + +inherit autotools check-reqs desktop flag-o-matic gnome2-utils linux-info \ + llvm multiprocessing pax-utils python-any-r1 toolchain-funcs \ + virtualx xdg + +MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/releases/${MOZ_PV}" + +if [[ ${PV} == *_rc* ]] ; then + MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/candidates/${MOZ_PV}-candidates/build${PV##*_rc}" +fi + +PATCH_URIS=( + https://dev.gentoo.org/~{polynomial-c,whissi}/mozilla/patchsets/${FIREFOX_PATCHSET} +) + +SRC_URI="${MOZ_SRC_BASE_URI}/source/${MOZ_P}.source.tar.xz -> ${MOZ_P_DISTFILES}.source.tar.xz + ${PATCH_URIS[@]}" + +DESCRIPTION="Firefox Web Browser" +HOMEPAGE="https://www.mozilla.com/firefox" + +KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86" + +SLOT="0/$(ver_cut 1)" +LICENSE="MPL-2.0 GPL-2 LGPL-2.1" + +IUSE="+clang cpu_flags_arm_neon dbus debug eme-free hardened hwaccel" +IUSE+=" jack lto +openh264 pgo pulseaudio sndio selinux" +IUSE+=" +system-av1 +system-harfbuzz +system-icu +system-jpeg +system-libevent +system-libvpx +system-webp" +IUSE+=" wayland wifi" + +# Firefox-only IUSE +IUSE+=" geckodriver" +IUSE+=" +gmp-autoupdate" +IUSE+=" screencast" + +REQUIRED_USE="debug? ( !system-av1 ) + wifi? ( dbus )" + +# Firefox-only REQUIRED_USE flags +REQUIRED_USE+=" screencast? ( wayland )" + +BDEPEND="${PYTHON_DEPS} + app-arch/unzip + app-arch/zip + >=dev-util/cbindgen-0.19.0 + >=net-libs/nodejs-10.23.1 + virtual/pkgconfig + >=virtual/rust-1.51.0 + || ( + ( + sys-devel/clang:13 + sys-devel/llvm:13 + clang? ( + =sys-devel/lld-13* + pgo? ( =sys-libs/compiler-rt-sanitizers-13*[profile] ) + ) + ) + ( + sys-devel/clang:12 + sys-devel/llvm:12 + clang? ( + =sys-devel/lld-12* + pgo? ( =sys-libs/compiler-rt-sanitizers-12*[profile] ) + ) + ) + ( + sys-devel/clang:11 + sys-devel/llvm:11 + clang? ( + =sys-devel/lld-11* + pgo? ( =sys-libs/compiler-rt-sanitizers-11*[profile] ) + ) + ) + ( + sys-devel/clang:10 + sys-devel/llvm:10 + clang? ( + =sys-devel/lld-10* + pgo? ( =sys-libs/compiler-rt-sanitizers-10*[profile] ) + ) + ) + ) + amd64? ( >=dev-lang/nasm-2.13 ) + x86? ( >=dev-lang/nasm-2.13 )" + +CDEPEND=" + >=dev-libs/nss-3.71 + >=dev-libs/nspr-4.32 + dev-libs/atk + dev-libs/expat + >=x11-libs/cairo-1.10[X] + >=x11-libs/gtk+-3.4.0:3[X] + x11-libs/gdk-pixbuf + >=x11-libs/pango-1.22.0 + >=media-libs/libpng-1.6.35:0=[apng] + >=media-libs/mesa-10.2:* + media-libs/fontconfig + >=media-libs/freetype-2.4.10 + kernel_linux? ( !pulseaudio? ( media-libs/alsa-lib ) ) + virtual/freedesktop-icon-theme + >=x11-libs/pixman-0.19.2 + >=dev-libs/glib-2.26:2 + >=sys-libs/zlib-1.2.3 + >=dev-libs/libffi-3.0.10:= + media-video/ffmpeg + x11-libs/libX11 + x11-libs/libxcb + x11-libs/libXcomposite + x11-libs/libXdamage + x11-libs/libXext + x11-libs/libXfixes + x11-libs/libXrandr + x11-libs/libXrender + dbus? ( + sys-apps/dbus + dev-libs/dbus-glib + ) + screencast? ( media-video/pipewire:0/0.3 ) + system-av1? ( + >=media-libs/dav1d-0.8.1:= + >=media-libs/libaom-1.0.0:= + ) + system-harfbuzz? ( + >=media-libs/harfbuzz-2.8.1:0= + >=media-gfx/graphite2-1.3.13 + ) + system-icu? ( >=dev-libs/icu-69.1:= ) + system-jpeg? ( >=media-libs/libjpeg-turbo-1.2.1 ) + system-libevent? ( >=dev-libs/libevent-2.0:0=[threads] ) + system-libvpx? ( >=media-libs/libvpx-1.8.2:0=[postproc] ) + system-webp? ( >=media-libs/libwebp-1.1.0:0= ) + wifi? ( + kernel_linux? ( + sys-apps/dbus + dev-libs/dbus-glib + net-misc/networkmanager + ) + ) + jack? ( virtual/jack ) + selinux? ( sec-policy/selinux-mozilla ) + sndio? ( media-sound/sndio )" + +RDEPEND="${CDEPEND} + jack? ( virtual/jack ) + openh264? ( media-libs/openh264:*[plugin] ) + pulseaudio? ( + || ( + media-sound/pulseaudio + >=media-sound/apulse-0.1.12-r4 + ) + ) + selinux? ( sec-policy/selinux-mozilla )" + +DEPEND="${CDEPEND} + x11-libs/libICE + x11-libs/libSM + pulseaudio? ( + || ( + media-sound/pulseaudio + >=media-sound/apulse-0.1.12-r4[sdk] + ) + ) + wayland? ( >=x11-libs/gtk+-3.11:3[wayland] ) + amd64? ( virtual/opengl ) + x86? ( virtual/opengl )" + +S="${WORKDIR}/${PN}-${PV%_*}" + +# Allow MOZ_GMP_PLUGIN_LIST to be set in an eclass or +# overridden in the enviromnent (advanced hackers only) +if [[ -z "${MOZ_GMP_PLUGIN_LIST+set}" ]] ; then + MOZ_GMP_PLUGIN_LIST=( gmp-gmpopenh264 gmp-widevinecdm ) +fi + +llvm_check_deps() { + if ! has_version -b "sys-devel/clang:${LLVM_SLOT}" ; then + einfo "sys-devel/clang:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2 + return 1 + fi + + if use clang ; then + if ! has_version -b "=sys-devel/lld-${LLVM_SLOT}*" ; then + einfo "=sys-devel/lld-${LLVM_SLOT}* is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2 + return 1 + fi + + if use pgo ; then + if ! has_version -b "=sys-libs/compiler-rt-sanitizers-${LLVM_SLOT}*" ; then + einfo "=sys-libs/compiler-rt-sanitizers-${LLVM_SLOT}* is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2 + return 1 + fi + fi + fi + + einfo "Using LLVM slot ${LLVM_SLOT} to build" >&2 +} + +MOZ_LANGS=( + af ar ast be bg br ca cak cs cy da de dsb + el en-CA en-GB en-US es-AR es-ES et eu + fi fr fy-NL ga-IE gd gl he hr hsb hu + id is it ja ka kab kk ko lt lv ms nb-NO nl nn-NO + pa-IN pl pt-BR pt-PT rm ro ru + sk sl sq sr sv-SE th tr uk uz vi zh-CN zh-TW +) + +# Firefox-only LANGS +MOZ_LANGS+=( ach ) +MOZ_LANGS+=( an ) +MOZ_LANGS+=( az ) +MOZ_LANGS+=( bn ) +MOZ_LANGS+=( bs ) +MOZ_LANGS+=( ca-valencia ) +MOZ_LANGS+=( eo ) +MOZ_LANGS+=( es-CL ) +MOZ_LANGS+=( es-MX ) +MOZ_LANGS+=( fa ) +MOZ_LANGS+=( ff ) +MOZ_LANGS+=( gn ) +MOZ_LANGS+=( gu-IN ) +MOZ_LANGS+=( hi-IN ) +MOZ_LANGS+=( hy-AM ) +MOZ_LANGS+=( ia ) +MOZ_LANGS+=( km ) +MOZ_LANGS+=( kn ) +MOZ_LANGS+=( lij ) +MOZ_LANGS+=( mk ) +MOZ_LANGS+=( mr ) +MOZ_LANGS+=( my ) +MOZ_LANGS+=( ne-NP ) +MOZ_LANGS+=( oc ) +MOZ_LANGS+=( sco ) +MOZ_LANGS+=( si ) +MOZ_LANGS+=( son ) +MOZ_LANGS+=( szl ) +MOZ_LANGS+=( ta ) +MOZ_LANGS+=( te ) +MOZ_LANGS+=( tl ) +MOZ_LANGS+=( trs ) +MOZ_LANGS+=( ur ) +MOZ_LANGS+=( xh ) + +mozilla_set_globals() { + # https://bugs.gentoo.org/587334 + local MOZ_TOO_REGIONALIZED_FOR_L10N=( + fy-NL ga-IE gu-IN hi-IN hy-AM nb-NO ne-NP nn-NO pa-IN sv-SE + ) + + local lang xflag + for lang in "${MOZ_LANGS[@]}" ; do + # en and en_US are handled internally + if [[ ${lang} == en ]] || [[ ${lang} == en-US ]] ; then + continue + fi + + # strip region subtag if $lang is in the list + if has ${lang} "${MOZ_TOO_REGIONALIZED_FOR_L10N[@]}" ; then + xflag=${lang%%-*} + else + xflag=${lang} + fi + + SRC_URI+=" l10n_${xflag/[_@]/-}? (" + SRC_URI+=" ${MOZ_SRC_BASE_URI}/linux-x86_64/xpi/${lang}.xpi -> ${MOZ_P_DISTFILES}-${lang}.xpi" + SRC_URI+=" )" + IUSE+=" l10n_${xflag/[_@]/-}" + done +} +mozilla_set_globals + +moz_clear_vendor_checksums() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -ne 1 ]] ; then + die "${FUNCNAME} requires exact one argument" + fi + + einfo "Clearing cargo checksums for ${1} ..." + + sed -i \ + -e 's/\("files":{\)[^}]*/\1/' \ + "${S}"/third_party/rust/${1}/.cargo-checksum.json \ + || die +} + +moz_install_xpi() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -lt 2 ]] ; then + die "${FUNCNAME} requires at least two arguments" + fi + + local DESTDIR=${1} + shift + + insinto "${DESTDIR}" + + local emid xpi_file xpi_tmp_dir + for xpi_file in "${@}" ; do + emid= + xpi_tmp_dir=$(mktemp -d --tmpdir="${T}") + + # Unpack XPI + unzip -qq "${xpi_file}" -d "${xpi_tmp_dir}" || die + + # Determine extension ID + if [[ -f "${xpi_tmp_dir}/install.rdf" ]] ; then + emid=$(sed -n -e '/install-manifest/,$ { /em:id/!d; s/.*[\">]\([^\"<>]*\)[\"<].*/\1/; p; q }' "${xpi_tmp_dir}/install.rdf") + [[ -z "${emid}" ]] && die "failed to determine extension id from install.rdf" + elif [[ -f "${xpi_tmp_dir}/manifest.json" ]] ; then + emid=$(sed -n -e 's/.*"id": "\([^"]*\)".*/\1/p' "${xpi_tmp_dir}/manifest.json") + [[ -z "${emid}" ]] && die "failed to determine extension id from manifest.json" + else + die "failed to determine extension id" + fi + + einfo "Installing ${emid}.xpi into ${ED}${DESTDIR} ..." + newins "${xpi_file}" "${emid}.xpi" + done +} + +mozconfig_add_options_ac() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -lt 2 ]] ; then + die "${FUNCNAME} requires at least two arguments" + fi + + local reason=${1} + shift + + local option + for option in ${@} ; do + echo "ac_add_options ${option} # ${reason}" >>${MOZCONFIG} + done +} + +mozconfig_add_options_mk() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -lt 2 ]] ; then + die "${FUNCNAME} requires at least two arguments" + fi + + local reason=${1} + shift + + local option + for option in ${@} ; do + echo "mk_add_options ${option} # ${reason}" >>${MOZCONFIG} + done +} + +mozconfig_use_enable() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -lt 1 ]] ; then + die "${FUNCNAME} requires at least one arguments" + fi + + local flag=$(use_enable "${@}") + mozconfig_add_options_ac "$(use ${1} && echo +${1} || echo -${1})" "${flag}" +} + +mozconfig_use_with() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -lt 1 ]] ; then + die "${FUNCNAME} requires at least one arguments" + fi + + local flag=$(use_with "${@}") + mozconfig_add_options_ac "$(use ${1} && echo +${1} || echo -${1})" "${flag}" +} + +pkg_pretend() { + if [[ ${MERGE_TYPE} != binary ]] ; then + if use pgo ; then + if ! has usersandbox $FEATURES ; then + die "You must enable usersandbox as X server can not run as root!" + fi + fi + + # Ensure we have enough disk space to compile + if use pgo || use lto || use debug ; then + CHECKREQS_DISK_BUILD="13500M" + else + CHECKREQS_DISK_BUILD="6400M" + fi + + check-reqs_pkg_pretend + fi +} + +pkg_setup() { + if [[ ${MERGE_TYPE} != binary ]] ; then + if use pgo ; then + if ! has userpriv ${FEATURES} ; then + eerror "Building ${PN} with USE=pgo and FEATURES=-userpriv is not supported!" + fi + fi + + # Ensure we have enough disk space to compile + if use pgo || use lto || use debug ; then + CHECKREQS_DISK_BUILD="13500M" + else + CHECKREQS_DISK_BUILD="6400M" + fi + + check-reqs_pkg_setup + + llvm_pkg_setup + + if use clang && use lto ; then + local version_lld=$(ld.lld --version 2>/dev/null | awk '{ print $2 }') + [[ -n ${version_lld} ]] && version_lld=$(ver_cut 1 "${version_lld}") + [[ -z ${version_lld} ]] && die "Failed to read ld.lld version!" + + # temp fix for https://bugs.gentoo.org/768543 + # we can assume that rust 1.{49,50}.0 always uses llvm 11 + local version_rust=$(rustc -Vv 2>/dev/null | grep -F -- 'release:' | awk '{ print $2 }') + [[ -n ${version_rust} ]] && version_rust=$(ver_cut 1-2 "${version_rust}") + [[ -z ${version_rust} ]] && die "Failed to read version from rustc!" + + if ver_test "${version_rust}" -ge "1.49" && ver_test "${version_rust}" -le "1.50" ; then + local version_llvm_rust="11" + else + local version_llvm_rust=$(rustc -Vv 2>/dev/null | grep -F -- 'LLVM version:' | awk '{ print $3 }') + [[ -n ${version_llvm_rust} ]] && version_llvm_rust=$(ver_cut 1 "${version_llvm_rust}") + [[ -z ${version_llvm_rust} ]] && die "Failed to read used LLVM version from rustc!" + fi + + if ver_test "${version_lld}" -ne "${version_llvm_rust}" ; then + eerror "Rust is using LLVM version ${version_llvm_rust} but ld.lld version belongs to LLVM version ${version_lld}." + eerror "You will be unable to link ${CATEGORY}/${PN}. To proceed you have the following options:" + eerror " - Manually switch rust version using 'eselect rust' to match used LLVM version" + eerror " - Switch to dev-lang/rust[system-llvm] which will guarantee matching version" + eerror " - Build ${CATEGORY}/${PN} without USE=lto" + die "LLVM version used by Rust (${version_llvm_rust}) does not match with ld.lld version (${version_lld})!" + fi + fi + + if ! use clang && [[ $(gcc-major-version) -eq 11 ]] \ + && ! has_version -b ">sys-devel/gcc-11.1.0:11" ; then + # bug 792705 + eerror "Using GCC 11 to compile firefox is currently known to be broken (see bug #792705)." + die "Set USE=clang or select <gcc-11 to build ${CATEGORY}/${P}." + fi + + python-any-r1_pkg_setup + + # Avoid PGO profiling problems due to enviroment leakage + # These should *always* be cleaned up anyway + unset \ + DBUS_SESSION_BUS_ADDRESS \ + DISPLAY \ + ORBIT_SOCKETDIR \ + SESSION_MANAGER \ + XAUTHORITY \ + XDG_CACHE_HOME \ + XDG_SESSION_COOKIE + + # Build system is using /proc/self/oom_score_adj, bug #604394 + addpredict /proc/self/oom_score_adj + + if ! mountpoint -q /dev/shm ; then + # If /dev/shm is not available, configure is known to fail with + # a traceback report referencing /usr/lib/pythonN.N/multiprocessing/synchronize.py + ewarn "/dev/shm is not mounted -- expect build failures!" + fi + + # Google API keys (see http://www.chromium.org/developers/how-tos/api-keys) + # Note: These are for Gentoo Linux use ONLY. For your own distribution, please + # get your own set of keys. + if [[ -z "${MOZ_API_KEY_GOOGLE+set}" ]] ; then + MOZ_API_KEY_GOOGLE="AIzaSyDEAOvatFogGaPi0eTgsV_ZlEzx0ObmepsMzfAc" + fi + + if [[ -z "${MOZ_API_KEY_LOCATION+set}" ]] ; then + MOZ_API_KEY_LOCATION="AIzaSyB2h2OuRgGaPicUgy5N-5hsZqiPW6sH3n_rptiQ" + fi + + # Mozilla API keys (see https://location.services.mozilla.com/api) + # Note: These are for Gentoo Linux use ONLY. For your own distribution, please + # get your own set of keys. + if [[ -z "${MOZ_API_KEY_MOZILLA+set}" ]] ; then + MOZ_API_KEY_MOZILLA="edb3d487-3a84-46m0ap1e3-9dfd-92b5efaaa005" + fi + + # Ensure we use C locale when building, bug #746215 + export LC_ALL=C + fi + + CONFIG_CHECK="~SECCOMP" + WARNING_SECCOMP="CONFIG_SECCOMP not set! This system will be unable to play DRM-protected content." + linux-info_pkg_setup +} + +src_unpack() { + local _lp_dir="${WORKDIR}/language_packs" + local _src_file + + if [[ ! -d "${_lp_dir}" ]] ; then + mkdir "${_lp_dir}" || die + fi + + for _src_file in ${A} ; do + if [[ ${_src_file} == *.xpi ]]; then + cp "${DISTDIR}/${_src_file}" "${_lp_dir}" || die "Failed to copy '${_src_file}' to '${_lp_dir}'!" + else + unpack ${_src_file} + fi + done +} + +src_prepare() { + use lto && rm -v "${WORKDIR}"/firefox-patches/*-LTO-Only-enable-LTO-*.patch + eapply "${WORKDIR}/firefox-patches" + + # Allow user to apply any additional patches without modifing ebuild + eapply_user + + # Make LTO respect MAKEOPTS + sed -i \ + -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \ + "${S}"/build/moz.configure/lto-pgo.configure \ + || die "sed failed to set num_cores" + + # Make ICU respect MAKEOPTS + sed -i \ + -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \ + "${S}"/intl/icu_sources_data.py \ + || die "sed failed to set num_cores" + + # sed-in toolchain prefix + sed -i \ + -e "s/objdump/${CHOST}-objdump/" \ + "${S}"/python/mozbuild/mozbuild/configure/check_debug_ranges.py \ + || die "sed failed to set toolchain prefix" + + sed -i \ + -e 's/ccache_stats = None/return None/' \ + "${S}"/python/mozbuild/mozbuild/controller/building.py \ + || die "sed failed to disable ccache stats call" + + einfo "Removing pre-built binaries ..." + find "${S}"/third_party -type f \( -name '*.so' -o -name '*.o' \) -print -delete || die + + # Clearing checksums where we have applied patches + moz_clear_vendor_checksums target-lexicon-0.9.0 + + # Create build dir + BUILD_DIR="${WORKDIR}/${PN}_build" + mkdir -p "${BUILD_DIR}" || die + + # Write API keys to disk + echo -n "${MOZ_API_KEY_GOOGLE//gGaPi/}" > "${S}"/api-google.key || die + echo -n "${MOZ_API_KEY_LOCATION//gGaPi/}" > "${S}"/api-location.key || die + echo -n "${MOZ_API_KEY_MOZILLA//m0ap1/}" > "${S}"/api-mozilla.key || die + + xdg_src_prepare +} + +src_configure() { + # Show flags set at the beginning + einfo "Current BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}" + einfo "Current CFLAGS:\t\t${CFLAGS:-no value set}" + einfo "Current CXXFLAGS:\t\t${CXXFLAGS:-no value set}" + einfo "Current LDFLAGS:\t\t${LDFLAGS:-no value set}" + einfo "Current RUSTFLAGS:\t\t${RUSTFLAGS:-no value set}" + + local have_switched_compiler= + if use clang && ! tc-is-clang ; then + # Force clang + einfo "Enforcing the use of clang due to USE=clang ..." + have_switched_compiler=yes + AR=llvm-ar + CC=${CHOST}-clang + CXX=${CHOST}-clang++ + NM=llvm-nm + RANLIB=llvm-ranlib + elif ! use clang && ! tc-is-gcc ; then + # Force gcc + have_switched_compiler=yes + einfo "Enforcing the use of gcc due to USE=-clang ..." + AR=gcc-ar + CC=${CHOST}-gcc + CXX=${CHOST}-g++ + NM=gcc-nm + RANLIB=gcc-ranlib + fi + + if [[ -n "${have_switched_compiler}" ]] ; then + # Because we switched active compiler we have to ensure + # that no unsupported flags are set + strip-unsupported-flags + fi + + # Ensure we use correct toolchain + export HOST_CC="$(tc-getBUILD_CC)" + export HOST_CXX="$(tc-getBUILD_CXX)" + tc-export CC CXX LD AR NM OBJDUMP RANLIB PKG_CONFIG + + # Pass the correct toolchain paths through cbindgen + if tc-is-cross-compiler ; then + export BINDGEN_CFLAGS="${SYSROOT:+--sysroot=${ESYSROOT}} --target=${CHOST} ${BINDGEN_CFLAGS-}" + fi + + # Set MOZILLA_FIVE_HOME + export MOZILLA_FIVE_HOME="/usr/$(get_libdir)/${PN}" + + # python/mach/mach/mixin/process.py fails to detect SHELL + export SHELL="${EPREFIX}/bin/bash" + + # Set state path + export MOZBUILD_STATE_PATH="${BUILD_DIR}" + + # Set MOZCONFIG + export MOZCONFIG="${S}/.mozconfig" + + # Initialize MOZCONFIG + mozconfig_add_options_ac '' --enable-application=browser + + # Set Gentoo defaults + export MOZILLA_OFFICIAL=1 + + mozconfig_add_options_ac 'Gentoo default' \ + --allow-addon-sideload \ + --disable-cargo-incremental \ + --disable-crashreporter \ + --disable-install-strip \ + --disable-strip \ + --disable-updater \ + --enable-official-branding \ + --enable-release \ + --enable-system-ffi \ + --enable-system-pixman \ + --host="${CBUILD:-${CHOST}}" \ + --libdir="${EPREFIX}/usr/$(get_libdir)" \ + --prefix="${EPREFIX}/usr" \ + --target="${CHOST}" \ + --without-ccache \ + --with-intl-api \ + --with-libclang-path="$(llvm-config --libdir)" \ + --with-system-nspr \ + --with-system-nss \ + --with-system-png \ + --with-system-zlib \ + --with-toolchain-prefix="${CHOST}-" \ + --with-unsigned-addon-scopes=app,system \ + --x-includes="${SYSROOT}${EPREFIX}/usr/include" \ + --x-libraries="${SYSROOT}${EPREFIX}/usr/$(get_libdir)" + + # Set update channel + local update_channel=release + [[ -n ${MOZ_ESR} ]] && update_channel=esr + mozconfig_add_options_ac '' --update-channel=${update_channel} + + if ! use x86 && [[ ${CHOST} != armv*h* ]] ; then + mozconfig_add_options_ac '' --enable-rust-simd + fi + + if [[ -s "${S}/api-google.key" ]] ; then + local key_origin="Gentoo default" + if [[ $(cat "${S}/api-google.key" | md5sum | awk '{ print $1 }') != 709560c02f94b41f9ad2c49207be6c54 ]] ; then + key_origin="User value" + fi + + mozconfig_add_options_ac "${key_origin}" \ + --with-google-safebrowsing-api-keyfile="${S}/api-google.key" + else + einfo "Building without Google API key ..." + fi + + if [[ -s "${S}/api-location.key" ]] ; then + local key_origin="Gentoo default" + if [[ $(cat "${S}/api-location.key" | md5sum | awk '{ print $1 }') != ffb7895e35dedf832eb1c5d420ac7420 ]] ; then + key_origin="User value" + fi + + mozconfig_add_options_ac "${key_origin}" \ + --with-google-location-service-api-keyfile="${S}/api-location.key" + else + einfo "Building without Location API key ..." + fi + + if [[ -s "${S}/api-mozilla.key" ]] ; then + local key_origin="Gentoo default" + if [[ $(cat "${S}/api-mozilla.key" | md5sum | awk '{ print $1 }') != 3927726e9442a8e8fa0e46ccc39caa27 ]] ; then + key_origin="User value" + fi + + mozconfig_add_options_ac "${key_origin}" \ + --with-mozilla-api-keyfile="${S}/api-mozilla.key" + else + einfo "Building without Mozilla API key ..." + fi + + mozconfig_use_with system-av1 + mozconfig_use_with system-harfbuzz + mozconfig_use_with system-harfbuzz system-graphite2 + mozconfig_use_with system-icu + mozconfig_use_with system-jpeg + mozconfig_use_with system-libevent system-libevent "${SYSROOT}${EPREFIX}/usr" + mozconfig_use_with system-libvpx + mozconfig_use_with system-webp + + mozconfig_use_enable dbus + + use eme-free && mozconfig_add_options_ac '+eme-free' --disable-eme + + mozconfig_use_enable geckodriver + + if use hardened ; then + mozconfig_add_options_ac "+hardened" --enable-hardening + append-ldflags "-Wl,-z,relro -Wl,-z,now" + fi + + mozconfig_use_enable jack + + mozconfig_use_enable pulseaudio + # force the deprecated alsa sound code if pulseaudio is disabled + if use kernel_linux && ! use pulseaudio ; then + mozconfig_add_options_ac '-pulseaudio' --enable-alsa + fi + + mozconfig_use_enable sndio + + mozconfig_use_enable wifi necko-wifi + + if use wayland ; then + mozconfig_add_options_ac '+wayland' --enable-default-toolkit=cairo-gtk3-wayland + else + mozconfig_add_options_ac '' --enable-default-toolkit=cairo-gtk3 + fi + + if use lto ; then + if use clang ; then + # Upstream only supports lld when using clang + mozconfig_add_options_ac "forcing ld=lld due to USE=clang and USE=lto" --enable-linker=lld + + mozconfig_add_options_ac '+lto' --enable-lto=cross + else + # ThinLTO is currently broken, see bmo#1644409 + mozconfig_add_options_ac '+lto' --enable-lto=full + fi + + if use pgo ; then + mozconfig_add_options_ac '+pgo' MOZ_PGO=1 + + if use clang ; then + # Used in build/pgo/profileserver.py + export LLVM_PROFDATA="llvm-profdata" + fi + fi + else + # Avoid auto-magic on linker + if use clang ; then + # This is upstream's default + mozconfig_add_options_ac "forcing ld=lld due to USE=clang" --enable-linker=lld + else + mozconfig_add_options_ac "linker is set to bfd" --enable-linker=bfd + fi + fi + + # LTO flag was handled via configure + filter-flags '-flto*' + + mozconfig_use_enable debug + if use debug ; then + mozconfig_add_options_ac '+debug' --disable-optimize + else + if is-flag '-g*' ; then + if use clang ; then + mozconfig_add_options_ac 'from CFLAGS' --enable-debug-symbols=$(get-flag '-g*') + else + mozconfig_add_options_ac 'from CFLAGS' --enable-debug-symbols + fi + else + mozconfig_add_options_ac 'Gentoo default' --disable-debug-symbols + fi + + if is-flag '-O0' ; then + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O0 + elif is-flag '-O4' ; then + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O4 + elif is-flag '-O3' ; then + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O3 + elif is-flag '-O1' ; then + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O1 + elif is-flag '-Os' ; then + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-Os + else + mozconfig_add_options_ac "Gentoo default" --enable-optimize=-O2 + fi + fi + + # Debug flag was handled via configure + filter-flags '-g*' + + # Optimization flag was handled via configure + filter-flags '-O*' + + # Modifications to better support ARM, bug #553364 + if use cpu_flags_arm_neon ; then + mozconfig_add_options_ac '+cpu_flags_arm_neon' --with-fpu=neon + + if ! tc-is-clang ; then + # thumb options aren't supported when using clang, bug 666966 + mozconfig_add_options_ac '+cpu_flags_arm_neon' \ + --with-thumb=yes \ + --with-thumb-interwork=no + fi + fi + + if [[ ${CHOST} == armv*h* ]] ; then + mozconfig_add_options_ac 'CHOST=armv*h*' --with-float-abi=hard + + if ! use system-libvpx ; then + sed -i \ + -e "s|softfp|hard|" \ + "${S}"/media/libvpx/moz.build \ + || die + fi + fi + + if use clang ; then + # https://bugzilla.mozilla.org/show_bug.cgi?id=1482204 + # https://bugzilla.mozilla.org/show_bug.cgi?id=1483822 + # toolkit/moz.configure Elfhack section: target.cpu in ('arm', 'x86', 'x86_64') + local disable_elf_hack= + if use amd64 ; then + disable_elf_hack=yes + elif use x86 ; then + disable_elf_hack=yes + elif use arm ; then + disable_elf_hack=yes + fi + + if [[ -n ${disable_elf_hack} ]] ; then + mozconfig_add_options_ac 'elf-hack is broken when using Clang' --disable-elf-hack + fi + elif tc-is-gcc ; then + if ver_test $(gcc-fullversion) -ge 10 ; then + einfo "Forcing -fno-tree-loop-vectorize to workaround GCC bug, see bug 758446 ..." + append-cxxflags -fno-tree-loop-vectorize + fi + fi + + # Additional ARCH support + case "${ARCH}" in + arm) + # Reduce the memory requirements for linking + if use clang ; then + # Nothing to do + :; + elif tc-ld-is-gold || use lto ; then + append-ldflags -Wl,--no-keep-memory + else + append-ldflags -Wl,--no-keep-memory -Wl,--reduce-memory-overheads + fi + ;; + esac + + if ! use elibc_glibc ; then + mozconfig_add_options_ac '!elibc_glibc' --disable-jemalloc + fi + + # Allow elfhack to work in combination with unstripped binaries + # when they would normally be larger than 2GiB. + append-ldflags "-Wl,--compress-debug-sections=zlib" + + # Make revdep-rebuild.sh happy; Also required for musl + append-ldflags -Wl,-rpath="${MOZILLA_FIVE_HOME}",--enable-new-dtags + + # Pass $MAKEOPTS to build system + export MOZ_MAKE_FLAGS="${MAKEOPTS}" + + # Use system's Python environment + export MACH_USE_SYSTEM_PYTHON=1 + + # Disable notification when build system has finished + export MOZ_NOSPAM=1 + + # Portage sets XARGS environment variable to "xargs -r" by default which + # breaks build system's check_prog() function which doesn't support arguments + mozconfig_add_options_ac 'Gentoo default' "XARGS=${EPREFIX}/usr/bin/xargs" + + # Set build dir + mozconfig_add_options_mk 'Gentoo default' "MOZ_OBJDIR=${BUILD_DIR}" + + # Show flags we will use + einfo "Build BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}" + einfo "Build CFLAGS:\t\t${CFLAGS:-no value set}" + einfo "Build CXXFLAGS:\t\t${CXXFLAGS:-no value set}" + einfo "Build LDFLAGS:\t\t${LDFLAGS:-no value set}" + einfo "Build RUSTFLAGS:\t\t${RUSTFLAGS:-no value set}" + + # Handle EXTRA_CONF and show summary + local ac opt hash reason + + # Apply EXTRA_ECONF entries to $MOZCONFIG + if [[ -n ${EXTRA_ECONF} ]] ; then + IFS=\! read -a ac <<<${EXTRA_ECONF// --/\!} + for opt in "${ac[@]}"; do + mozconfig_add_options_ac "EXTRA_ECONF" --${opt#--} + done + fi + + echo + echo "==========================================================" + echo "Building ${PF} with the following configuration" + grep ^ac_add_options "${MOZCONFIG}" | while read ac opt hash reason; do + [[ -z ${hash} || ${hash} == \# ]] \ + || die "error reading mozconfig: ${ac} ${opt} ${hash} ${reason}" + printf " %-30s %s\n" "${opt}" "${reason:-mozilla.org default}" + done + echo "==========================================================" + echo + + ./mach configure || die +} + +src_compile() { + local virtx_cmd= + + if use pgo ; then + virtx_cmd=virtx + + # Reset and cleanup environment variables used by GNOME/XDG + gnome2_environment_reset + + addpredict /root + fi + + local -x GDK_BACKEND=x11 + + ${virtx_cmd} ./mach build --verbose \ + || die +} + +src_install() { + # xpcshell is getting called during install + pax-mark m \ + "${BUILD_DIR}"/dist/bin/xpcshell \ + "${BUILD_DIR}"/dist/bin/${PN} \ + "${BUILD_DIR}"/dist/bin/plugin-container + + DESTDIR="${D}" ./mach install || die + + # Upstream cannot ship symlink but we can (bmo#658850) + rm "${ED}${MOZILLA_FIVE_HOME}/${PN}-bin" || die + dosym ${PN} ${MOZILLA_FIVE_HOME}/${PN}-bin + + # Don't install llvm-symbolizer from sys-devel/llvm package + if [[ -f "${ED}${MOZILLA_FIVE_HOME}/llvm-symbolizer" ]] ; then + rm -v "${ED}${MOZILLA_FIVE_HOME}/llvm-symbolizer" || die + fi + + # Install policy (currently only used to disable application updates) + insinto "${MOZILLA_FIVE_HOME}/distribution" + newins "${FILESDIR}"/distribution.ini distribution.ini + newins "${FILESDIR}"/disable-auto-update.policy.json policies.json + + # Install system-wide preferences + local PREFS_DIR="${MOZILLA_FIVE_HOME}/browser/defaults/preferences" + insinto "${PREFS_DIR}" + newins "${FILESDIR}"/gentoo-default-prefs.js gentoo-prefs.js + + local GENTOO_PREFS="${ED}${PREFS_DIR}/gentoo-prefs.js" + + # Set dictionary path to use system hunspell + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set spellchecker.dictionary_path pref" + pref("spellchecker.dictionary_path", "${EPREFIX}/usr/share/myspell"); + EOF + + # Force hwaccel prefs if USE=hwaccel is enabled + if use hwaccel ; then + cat "${FILESDIR}"/gentoo-hwaccel-prefs.js \ + >>"${GENTOO_PREFS}" \ + || die "failed to add prefs to force hardware-accelerated rendering to all-gentoo.js" + fi + + if ! use gmp-autoupdate ; then + local plugin + for plugin in "${MOZ_GMP_PLUGIN_LIST[@]}" ; do + einfo "Disabling auto-update for ${plugin} plugin ..." + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to disable autoupdate for ${plugin} media plugin" + pref("media.${plugin}.autoupdate", false); + EOF + done + fi + + # Force the graphite pref if USE=system-harfbuzz is enabled, since the pref cannot disable it + if use system-harfbuzz ; then + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set gfx.font_rendering.graphite.enabled pref" + sticky_pref("gfx.font_rendering.graphite.enabled", true); + EOF + fi + + # Install language packs + local langpacks=( $(find "${WORKDIR}/language_packs" -type f -name '*.xpi') ) + if [[ -n "${langpacks}" ]] ; then + moz_install_xpi "${MOZILLA_FIVE_HOME}/distribution/extensions" "${langpacks[@]}" + fi + + # Install geckodriver + if use geckodriver ; then + einfo "Installing geckodriver into ${ED}${MOZILLA_FIVE_HOME} ..." + pax-mark m "${BUILD_DIR}"/dist/bin/geckodriver + exeinto "${MOZILLA_FIVE_HOME}" + doexe "${BUILD_DIR}"/dist/bin/geckodriver + + dosym ${MOZILLA_FIVE_HOME}/geckodriver /usr/bin/geckodriver + fi + + # Install icons + local icon_srcdir="${S}/browser/branding/official" + local icon_symbolic_file="${FILESDIR}/icon/firefox-symbolic.svg" + + insinto /usr/share/icons/hicolor/symbolic/apps + newins "${icon_symbolic_file}" ${PN}-symbolic.svg + + local icon size + for icon in "${icon_srcdir}"/default*.png ; do + size=${icon%.png} + size=${size##*/default} + + if [[ ${size} -eq 48 ]] ; then + newicon "${icon}" ${PN}.png + fi + + newicon -s ${size} "${icon}" ${PN}.png + done + + # Install menu + local app_name="Mozilla ${MOZ_PN^}" + local desktop_file="${FILESDIR}/icon/${PN}-r3.desktop" + local desktop_filename="${PN}.desktop" + local exec_command="${PN}" + local icon="${PN}" + local use_wayland="false" + + if use wayland ; then + use_wayland="true" + fi + + cp "${desktop_file}" "${WORKDIR}/${PN}.desktop-template" || die + + sed -i \ + -e "s:@NAME@:${app_name}:" \ + -e "s:@EXEC@:${exec_command}:" \ + -e "s:@ICON@:${icon}:" \ + "${WORKDIR}/${PN}.desktop-template" \ + || die + + newmenu "${WORKDIR}/${PN}.desktop-template" "${desktop_filename}" + + rm "${WORKDIR}/${PN}.desktop-template" || die + + # Install wrapper script + [[ -f "${ED}/usr/bin/${PN}" ]] && rm "${ED}/usr/bin/${PN}" + newbin "${FILESDIR}/${PN}-r1.sh" ${PN} + + # Update wrapper + sed -i \ + -e "s:@PREFIX@:${EPREFIX}/usr:" \ + -e "s:@MOZ_FIVE_HOME@:${MOZILLA_FIVE_HOME}:" \ + -e "s:@APULSELIB_DIR@:${apulselib}:" \ + -e "s:@DEFAULT_WAYLAND@:${use_wayland}:" \ + "${ED}/usr/bin/${PN}" \ + || die +} + +pkg_preinst() { + xdg_pkg_preinst + + # If the apulse libs are available in MOZILLA_FIVE_HOME then apulse + # does not need to be forced into the LD_LIBRARY_PATH + if use pulseaudio && has_version ">=media-sound/apulse-0.1.12-r4" ; then + einfo "APULSE found; Generating library symlinks for sound support ..." + local lib + pushd "${ED}${MOZILLA_FIVE_HOME}" &>/dev/null || die + for lib in ../apulse/libpulse{.so{,.0},-simple.so{,.0}} ; do + # A quickpkg rolled by hand will grab symlinks as part of the package, + # so we need to avoid creating them if they already exist. + if [[ ! -L ${lib##*/} ]] ; then + ln -s "${lib}" ${lib##*/} || die + fi + done + popd &>/dev/null || die + fi +} + +pkg_postinst() { + xdg_pkg_postinst + + if ! use gmp-autoupdate ; then + elog "USE='-gmp-autoupdate' has disabled the following plugins from updating or" + elog "installing into new profiles:" + local plugin + for plugin in "${MOZ_GMP_PLUGIN_LIST[@]}" ; do + elog "\t ${plugin}" + done + elog + fi + + if use pulseaudio && has_version ">=media-sound/apulse-0.1.12-r4" ; then + elog "Apulse was detected at merge time on this system and so it will always be" + elog "used for sound. If you wish to use pulseaudio instead please unmerge" + elog "media-sound/apulse." + elog + fi + + local show_doh_information + local show_normandy_information + local show_shortcut_information + + if [[ -z "${REPLACING_VERSIONS}" ]] ; then + # New install; Tell user that DoH is disabled by default + show_doh_information=yes + show_normandy_information=yes + show_shortcut_information=no + else + local replacing_version + for replacing_version in ${REPLACING_VERSIONS} ; do + if ver_test "${replacing_version}" -lt 91.0 ; then + # Tell user that we no longer install a shortcut + # per supported display protocol + show_shortcut_information=yes + fi + done + fi + + if [[ -n "${show_doh_information}" ]] ; then + elog + elog "Note regarding Trusted Recursive Resolver aka DNS-over-HTTPS (DoH):" + elog "Due to privacy concerns (encrypting DNS might be a good thing, sending all" + elog "DNS traffic to Cloudflare by default is not a good idea and applications" + elog "should respect OS configured settings), \"network.trr.mode\" was set to 5" + elog "(\"Off by choice\") by default." + elog "You can enable DNS-over-HTTPS in ${PN^}'s preferences." + fi + + # bug 713782 + if [[ -n "${show_normandy_information}" ]] ; then + elog + elog "Upstream operates a service named Normandy which allows Mozilla to" + elog "push changes for default settings or even install new add-ons remotely." + elog "While this can be useful to address problems like 'Armagadd-on 2.0' or" + elog "revert previous decisions to disable TLS 1.0/1.1, privacy and security" + elog "concerns prevail, which is why we have switched off the use of this" + elog "service by default." + elog + elog "To re-enable this service set" + elog + elog " app.normandy.enabled=true" + elog + elog "in about:config." + fi + + if [[ -n "${show_shortcut_information}" ]] ; then + elog + elog "Since ${PN}-91.0 we no longer install multiple shortcuts for" + elog "each supported display protocol. Instead we will only install" + elog "one generic Mozilla ${PN^} shortcut." + elog "If you still want to be able to select between running Mozilla ${PN^}" + elog "on X11 or Wayland, you have to re-create these shortcuts on your own." + fi +} |