diff options
Diffstat (limited to 'www-client/firefox')
-rw-r--r-- | www-client/firefox/Manifest | 99 | ||||
-rw-r--r-- | www-client/firefox/firefox-106.0.2.ebuild | 1321 |
2 files changed, 1420 insertions, 0 deletions
diff --git a/www-client/firefox/Manifest b/www-client/firefox/Manifest index 1edd30a55131..5fa951d1ce76 100644 --- a/www-client/firefox/Manifest +++ b/www-client/firefox/Manifest @@ -205,6 +205,105 @@ DIST firefox-106.0.1-xh.xpi 427003 BLAKE2B a969fa4cf091e34e1038d893c19aede541b43 DIST firefox-106.0.1-zh-CN.xpi 595316 BLAKE2B 8d8c6611167fe8f2d2e7d44109b52e47e17193925306fa2edd497bcbca790a32d0a265caa8a7e2a143b9c625d186caf163d2917241803bd4739d1a5bae45e2f7 SHA512 b997cb0ae5d2c76ba4ce885da09207b2561c1f4453ac284a58ddbed5de41f0378bb4ae7507573df378a176476392b278e5d025a8d59f23962d6fcef72805420f DIST firefox-106.0.1-zh-TW.xpi 596106 BLAKE2B eefdbba0813fbe04bc1f9737b4c1a3e608c40bfc58454db12c447a7b134efd51c1f38297dfe06ad8587c22b4195994237806918179d8583538e477f8cdcfe542 SHA512 c6849a68624ec1ae00fd5f622efb5dc6e79a03c23f924c40e2ef448a4d52b9da972c263c3719c3ca033433212cc47b200e53403f5c26fdc3561a297911ad48a2 DIST firefox-106.0.1.source.tar.xz 501822184 BLAKE2B 8443392cf1f1ca5d41ba2d9571a6817f4b82ee31f21eb99586f6736783c56d53e0c67be485768ee70fb06040cafc6548e7082bf6f4bb360f2cf0cfbeba2e89e2 SHA512 15f5a65a69e11dd0c463b358cafb5ad0f31db93619b9ec3f89e8c5e14d4d319d9423fe4dcd0dbbcbedc1ad444dcbd8e5e30e483220277f5b550bff6124b66519 +DIST firefox-106.0.2-ach.xpi 460153 BLAKE2B 3f640bec61bd4de30e34c2a3146026ad304ae6731ab2b50ca690041156ab214fb8298119811b00690ce931480b176f0b5e8c83f479ce1ea2ffffe9ed95189183 SHA512 24104d81775981ba5fd237c3ed6a77c6d484b024541af0b0b0e82d7347980a0d4244291d673654d96e79b5bb2a4a8a2d7da1b3ca133792247da1d0f1f35856da +DIST firefox-106.0.2-af.xpi 428348 BLAKE2B 2366cfa2b7f705167efeed1d18f4b43cc3172584f49feaf05cac26790591fee8c80c6f09690dd43b361f314b65bfae1317015c15f30c6364a3c62144e35fb0e0 SHA512 85716d6352f78f4878033003f27d84fab3c9e64ef8a4afe4c17bb4f14871234f6a44e91ff8d3d55bc2cf135315c0420306dbcd66b6b7ce23494ba40cce534adb +DIST firefox-106.0.2-an.xpi 507380 BLAKE2B f8c9ac4120f25c2c864af0067d2cace310a9922a31f632d4106c7f334dfba02efcc16ea800b986bc525e0fa6d45e094da28346f63e484a4aa48bdc88a0a67082 SHA512 158e9fea29d372aab6b2e098bc89ddda44739007da532e06be87e0a71d4523649a1f2bcba3229958e84d53f6d57f24e4c79ca7f8dacd55683ec55136fa9178ad +DIST firefox-106.0.2-ar.xpi 573896 BLAKE2B 93c49b8a7dea1a8accf734e0e6b383517f6537d6f9842462b9a2b5b24c04a6b7f5b4b1b15dc7ab6bad85f7aab2ce6f0a42693b3e3428b1a8b3cacd728f24b39c SHA512 c3c495110272e4154c0d8d1f0ead3f539c22b8e5065289aa73df78429ee736de1cb85027e73648f9d50b181419511982d5adf4f29d909b3315c18bf48d0702b4 +DIST firefox-106.0.2-ast.xpi 494688 BLAKE2B fe72d6def308157d76420a8ba06c88279c38a4c5e2dde5f96e005d59a521d2ee21544b3c7e9ffb146dea940a18fbccec499c1d1b5a23b12bb26bfeed4aea5847 SHA512 57decfbe30f8a1fa6f4ebdf5d5cbdc8f65dd9e0b8f17915d68c0817953b85bd1438477ba33d7c1644a8355d9e520bba7ec6fb5da2a0f7698de67615a017d247a +DIST firefox-106.0.2-az.xpi 497309 BLAKE2B cf9b3544e265e4ede2feacb738353381ddf42f6d96c0ca86ef95001c688b870601e0362b50983723de996d220c41daf3c8a9ac57626f16d5c68759ea8dc6d93e SHA512 83f1247f5b003643874fbe2d7e7c9a55818058ebe5604d23e0933867ea69a293520ad8d78a4e06578fcd41fa71bf8ebb73ecfb70b89aa63c30792b13dd6e5059 +DIST firefox-106.0.2-be.xpi 647948 BLAKE2B ff1528c3baac97149e7ad22b1e640b44b709f6c0d1dcc3bb39837caa79df41d3e99faf481966c3a97f48eaa3a9e643b4b76d3094775d07225823d3f55202c741 SHA512 6f0f7cdedeb60693ce878c6e27c7ede5ddaf3c9b2b1dbe40aec106855bdd9fd79642400a94d2263420282ad84f1290d3db7515899954a546d1b9ccd5834b12f6 +DIST firefox-106.0.2-bg.xpi 586683 BLAKE2B aa1087c5cd4b78682c2f9aeef47ed9002642c2c1de2e88f860a5ebeac8bbbd8119350a513da9965285de89ffc82229a02f687634debce6d5058fe0fc9f98e120 SHA512 46bc766adec66a4a73e0831e8ba415f219b804a07d893eb3ceaf0c6899eaf3560f422039fe4e9a14fd005abfb996cd07dc67d77d9465baa4809acaa369b8027e +DIST firefox-106.0.2-bn.xpi 587370 BLAKE2B 56a485f1754817b2e60043a041bb5fe94388e81d2ab930f66458c651cca4edf826984658222ad7a49ef9d2aa011084d8d84050f84ac21120ff2dc081c287895b SHA512 e4f92cd2274e49201f4641a54952885dab49cc7294b5a357d195f4756683900a7af9827588f4521e82d235f70369e45428aaed1f1969b86a76e438554c03f071 +DIST firefox-106.0.2-br.xpi 546140 BLAKE2B 696ac761f09b09fad33bc90e39a9cbd0b3e750fd84f192531475e65bfdd325e6bde62be2753456d2246f083f502c0b774609406d4fd342564c27b8c7774eaaf3 SHA512 90abc395744c8536c0367d215a45de3e3528cf3b8009c57428eb1cc00398584ef32935354f8e3f526587685876c02eebf3abb6eed46051a1259b68d1cb141d67 +DIST firefox-106.0.2-bs.xpi 468732 BLAKE2B df3c8ef4f54f1c8ca310c0cbc057da4b0a021e0171640035aba1d985df9c1dc61870889ac473675633a322bd50a6df2ee9f757a68be607ebb21ee1118fddcb44 SHA512 ab6660691a2cfa3130c55c4eb05e3844925af0d8f2a814fb6bd1ed490bcb89a357eb167a3bd7187b3073ecf985a56a8d0411b831a17bc7bdf859bbd697980200 +DIST firefox-106.0.2-ca-valencia.xpi 545335 BLAKE2B dff82e6a6296bf1fec53a6004b1b0991a47936f1f3c9714a8a869774b8850f2db7d9eb2c760aa0124cf7edf06949bdaa08869235a5c279c28555327aa51ca326 SHA512 536f88b754355737d4d6e89fae03d00309438e207ea40abd8552b717a899e6228f51ebe12e147342684e06f3f6db24f2a0cacbb161f30553dfd25352d3214511 +DIST firefox-106.0.2-ca.xpi 548756 BLAKE2B 48aa527c0454516fa477ccd6815d01597f106ac6914c390885b5c4e2d7b8e13c9c084c346cf51074f4d1fba5ba0dcf216c2e7bc5f2d6663a9c924fcc07c42f2f SHA512 07540dd444f9738955dcf4e4d8380dfd172f693dc89f0126ad842572be22fcd4e9bbc42e056efdd30233792721e8feb64fdbd01f3c1c932458e75f1cf99cf30a +DIST firefox-106.0.2-cak.xpi 560418 BLAKE2B c0721b776b14433c2d054d39f1e4a6032bcdcb7e3b2ba0c2d89dc437ee91870ef4dcb269c811c1c9e01d34ee1982d06194a941bcc0c18c5dc9183962e74d349f SHA512 35ce73f98f4a3c5afd05850cc1bc9a50190182a43342ede1f42b7ecad701a953af224f9ba4de4c9a21509f19b52349aa1e30710eda0285b27800b2cbb8bf1483 +DIST firefox-106.0.2-cs.xpi 580718 BLAKE2B 39c5bc146b95b21bab4e6ec46db7a07b2fd62d54ebac3d005f9aca90b98fe04474f9cdfab5ffff55947028cd6bc410597c03ff9e437fb11bed3c4a2d2c43f846 SHA512 e8305a781020777a29a985f1e4182e566e67a2c8289af24f1281f760b6b4863694058b64abed0b2379efc97ef9ad0e38b89517c5bf1d8daa7be48782dd6dabe4 +DIST firefox-106.0.2-cy.xpi 562861 BLAKE2B 35f4e7df6f663ee164f685b09292f297211e1a6defcd6f9519df586e46e533a2dd55ad3de909aad7e005d844dcf54fb09b256d018ac89bf414f262da45927349 SHA512 f8b11ac1ef42803044f7ed538acfffb35f7f1b046514aab5dccdcacfa51452fc0c73ca2376918e25f56d89ef79b82d5dbf9ef4c13261e5089773e957f1db8854 +DIST firefox-106.0.2-da.xpi 553192 BLAKE2B 0abaf0054ee79472af1793a071ab32bcf41c9b1ecd14f9d6a0b6738c159b18ec9e371db668c9621b7fc1145f419ce3b6ca811fb7a9854d7aa3f5c16b0da5efc3 SHA512 5983785c0a0186c43ef40c112de6aa32ad70850b9b8b9300241f461ed4acac1b30f67a4f45625df437e91f7338eb756e1138337f9434d9bd9487eae71d41245e +DIST firefox-106.0.2-de.xpi 574545 BLAKE2B 9c9519fea5d87da221ab59c3b23934938327824e04822b4e1f437d31610f51b5b3612015ac355823f55761c5f0a2291f5b17f1a06b94ecfc76d14b4359ad9cc6 SHA512 f178e3cc6137a00f558cb9f8a1f1209d350b3e4aadf883449c90ae82a81addcbf4ac255f9f0b3371732b70fffb56b69046e796893344c6882241028284f0bb00 +DIST firefox-106.0.2-dsb.xpi 588020 BLAKE2B d06315c89fc82c07eaadddac1578b82efd4ee212f6dac1b18342bb9976bbd7c0cfdd95cb814e44b060a90646ff69603a0c660136e5c06ab049fa5fa1ff755a62 SHA512 60c6e9dc3566b294fc56b1a1b32c0891b408de2840dbbfa687f262a2f63cfa5cceac9d62a46597340d3fef81e0c9449c40050c8876544423836ffb6079865be1 +DIST firefox-106.0.2-el.xpi 663915 BLAKE2B c52bddacb1c541d75974d2da44d5a29dc42b619029536ea781675cf26af0fb984e1964241199a036a6f03a75c7fcd658764f8247e8fa6c5af4b462a327e9d51a SHA512 1f822f50b12528e7b6947ca2c62dd683baeadce9cd2d6546e023398e2f01b55d6ebc9909f9bf21d2a862c0c8c626a89eb87da51de5e8b542a55d9b5c0a7db382 +DIST firefox-106.0.2-en-CA.xpi 528597 BLAKE2B 038a9d3bd2e96c6b03e52b5f7a04e340606fa517eeebd14578799e0c26a7b37d7eb415c9fb9b75dab817009209a65787b1879e932d7d57cd37ba267f7786ab7b SHA512 7b7646e761bc4143b598cbb7b3e4179417ba3925d21c28f78dd0fafd396e305c21aac38184c35fa7eb7052db5f9bafc37b4ca8d638e190c5b22489b93df3fc2a +DIST firefox-106.0.2-en-GB.xpi 529340 BLAKE2B 3ed8f5e09e941389383b8da4cb11d336c41233431957d5b92e0875a8e5c31aa2f53583a6212410f732c497e16213c49ea44735b6415951b3fe031ca93cbc93be SHA512 a0d2d51f508753eaf0397d9d7875c7027bca3e0fb9d38cad4f0b58678fa2d5aa158fbeae3b0d8fac86e720023b6629d8b1ced405c5d7cf2cdc7d196e0d8741f3 +DIST firefox-106.0.2-eo.xpi 556648 BLAKE2B db8e473bea8930ee8f92588fbee83f48fee98c29a7656990ea05b8ed3ddcd38e16e32730e1400e6edca32199488b424fd5b3d2f5b617496b0e05c16715a1a063 SHA512 1c53d9fd08c83968d76260a6e89c43bc606c94129bb21bd0d846134e668eebdca50d2a19516cc8277910e3d47a96c51e6c4aee5dcd9dd585c8028863b9054add +DIST firefox-106.0.2-es-AR.xpi 568408 BLAKE2B 0c7d1727d8a988676c3b6977bf3c409f52e2ddbf9e9ec16f5b42c1a81f30ec592f5ef1ac40a3647f8d1704211db1f36c5e94134fe2a0c93577512a67ec8bc41e SHA512 b28eba89e1cbb7654c14aabd43fb39a9b4c5215935cfca69739a3edaf904a6a85c6a122dfeca3bb73b059bcdd8a2dc44e5992e560db9e56cfca537a60065c05e +DIST firefox-106.0.2-es-CL.xpi 567434 BLAKE2B bcce4a5fada58befe748c3c38a65d0cd90cca4de2d6e91e09f9ee20c00e6a40159ef73dbca54a25b281b616d5f10832ea41fb50716322361c2ba495be8892eee SHA512 998b985882d3044e37f72ea482da0cbba4fc0e4b0a87c4ec4881517fa88eedf92f3b8471a56583273e1ccdbdc18c9b4d739e68c22569fd166dc8ebd27b10fac2 +DIST firefox-106.0.2-es-ES.xpi 559869 BLAKE2B d2e085097a1bd0152de4136335d3591ae6273a8b6611b5c815b9ad615a07d582f5898d36a6037df3d70e36afc85c9dd723184dba7891aa77f6de8a5f7eb3b729 SHA512 18f542fa75f65739718e3a9a41fe8c6b3f3a792e2a6e6a748fdbb5f7c98af44d9ad6d63309aa8c2878f4a832fd44755f946a6fbaf861b25f4d4388400c707891 +DIST firefox-106.0.2-es-MX.xpi 571130 BLAKE2B 22b5acf9f7c5b1bc47e6f1f26c24c1d98d04f3fd0f80a8d8bbb2f3f0354d9b7a8d39bd30f4498fdbefef3b9839c52766bcfda02b8d9ec91247959922e402d3ef SHA512 2ed1d2590df1a1dc4a629c43b1a5cab1e40ecb7131434553c36740cc7d0b7e0f31196aba619a8f76faf4be8fa13e5f9d520aa5e97644ee58e6e0be28d6b3ef30 +DIST firefox-106.0.2-et.xpi 539264 BLAKE2B 8739865ff2caa658af13a3485e0a42e8276e3fb3813186c023ddf0ce995e9298ca3d3c494dbcbd30ef95455d48423c850c2c6c97d33d652f31fef5c2fd08244a SHA512 55da6af74c661aeab4618ac771ab9ef9ad0abd93d5014f2df7d0249613794a257990fb1bde0a77592fb90aa4751dce1e9d3f483115efd34b22d08a16ce45cc76 +DIST firefox-106.0.2-eu.xpi 554706 BLAKE2B d6396f59c919129311b48d249ad7db4b63c80383a08e13e5773abdce37f07cdb7613ff4624b5cf9af9f5c15762d743f78fd5c0f30415835584be66401a485ae8 SHA512 b8bb75035bccbd6c031ae0cbe86fda28533796c62b1fbf1e82ab8413a7d414cc99511edaafc51ba5bd339409177bb87d635bf7fdc0b5192faccfb9cea26f3dc1 +DIST firefox-106.0.2-fa.xpi 571098 BLAKE2B b3b9af0efb9fa54e782edb6626e5f5e1924306462157b59df0ef6ed2b47548596953322821c2e0e8bfbfc322f24e169fb101c0038194026b61288497713eaff9 SHA512 5a308a527af339ce5490e480c8c7ad76c2cb668046b11c9f10bceebc7bd67a336e2e3d409393ff67dc0bb3dd6ed64f6f2ae7c44e78974c7f7ef79fa2d39b41f1 +DIST firefox-106.0.2-ff.xpi 480579 BLAKE2B f6f8fe33b3db165c7da707ec2e2902d3bfca505da88c6623106e4605ff6bd74cfc61da3ff5085d2650d6bcc941b22732498d3d897e082ef50d64682c2d7cb554 SHA512 81a4d1ed49dd1772a32e18b8f2b27f6e7b2bc97ec603bbc9420631d5072674d6b7751649e16bb133e408b31006f6bf3da046045e68d78bfde133dd7dcc73ba44 +DIST firefox-106.0.2-fi.xpi 553334 BLAKE2B aed531a86716c921236908da9ea7ce543db713b9ff08d619a22e47463517f861f7fc34069dcbc86e66e7bd39393b05258ab955ae2ec7b1120fbb5840e8f1bb61 SHA512 d15e985027878249147359b7add0c9b6f1e39a52860e0b85957d4bc433e09a082cc6985df590158a619b63b47748a8b30425d185f712fe8c0c5f0134dfd00752 +DIST firefox-106.0.2-fr.xpi 580182 BLAKE2B 002d918566df332beb9d0646e4e69c8283f613e620238c05c04becc3193979a9f33df44e759092736e45dcefa5305497a2812e9200182aafbfb30684bc91d059 SHA512 65f14cfdde47d1247d6ecd2537ddda908b6cead1cfd9ac2a25ffce8e8f8bdb3e29084f6fcdb53a4440edf74bf679bdf8235d0f872945d722f913c1bd9cc62b72 +DIST firefox-106.0.2-fy-NL.xpi 563946 BLAKE2B 3104f2c64f88606184f349d9d11bc3f3ff677807e5fe70af311299b8245f55d588d1dead26112e74a94fa0e75a0fb382e0fcd26e9823a0f4d5afad5547755589 SHA512 97723db1bdd8665ebcb7dbe43517118cc396db0381ae2400ccc59f5805916616aecb41639db370605772d1bdb09cfcf4687c593f47c6654bd5dca00c9dc0000e +DIST firefox-106.0.2-ga-IE.xpi 476066 BLAKE2B 5ec4adb8aa6e469515b3bcf4f862b91ca047389ccc52e914480be6f6cd88db9557851b7ed86cc9fd715b0e78ab6c3b66f981dd6554780d0cecd740951a75cf3e SHA512 7f0aad71bc42266bf08585a293204715a44041c8bfb3d18ddbf38a818b79bcc142a344586f9671303fe54fcc77f401218fd20f3df8bbda46b5696f43734f28b2 +DIST firefox-106.0.2-gd.xpi 554226 BLAKE2B de46563a41c36ac907abd9a78a46a0a4b874e66e362aba5a1cbdcf353e84f76a7e357b53460b4148e1bb1d236e26d6e2c4da4588b3505fe59dbc969d9d150f49 SHA512 39bdcc2ca81df8958ef7c517d59e4fd77ea1f1c74a0a81db996304c7cad4a783550732c4797f450afd054e393a35b2f7942bd92c9871b83375fb36aea1f4f403 +DIST firefox-106.0.2-gl.xpi 548338 BLAKE2B c706810bdcc023a66c3c5cac47c1c18c9211c29f106eb175680061cb47bfce124891f6b5b98b65ade4173a11a7833d8c16474459ab07f2cd7a7c152ff8e5ab89 SHA512 5e51d2fb4e6d6209108954746ee49db1216a9a3d30f4adabc1a96d5be5f653aaf7b6c421dfb47daaf8f1cd527a26edb58664bbc19803d5527ce4a3c306928c7a +DIST firefox-106.0.2-gn.xpi 577837 BLAKE2B b8f7d66b2f8cab3970ba08fe64d5f8df8a91a14e524acd6d67277acc63858644e85e9d26493a91d0b45ad45096e97b86674afa60758f549ec231b436600a55d8 SHA512 d734ca68f69b3cc2599ea9a3bc030e115b2a150528db61bf58b7b4e26ac402d13d2cc674e58a3748b3875d76cacc792dd9293d47fcb7659d9d2af7740f8b600c +DIST firefox-106.0.2-gu-IN.xpi 537613 BLAKE2B 4000537ad2eb8a69065e7a1fea0b95e59305523bc29f804c8cd29e7f53ca3635d9099dd3bfcbf45ac37c95c5a08c0d7a3cec1f5986c7d36ca117bbe2c0b19ff1 SHA512 40a4959cd06c55ed929fc61cc7259910960b9026bddf92bbc53840f43ec84eea230da24fd5a7b4107891efecf31e580e6b802123a71191f71870e3510ee415e6 +DIST firefox-106.0.2-he.xpi 574397 BLAKE2B 6d2975877c90a5ac5ffd5c5b680346568bc0af691fa965108bacb2befa96872dc24cdaa49ee788aea09d2b9207772c0692490744046a55de4dc1db8f3989df08 SHA512 6bd5a9dde2e4a7cb2c94678f6c0f7a9ddf7b0dc4c7616ad2ef3c9e275cd62642be3adb8983d108b7a6e318ede79effb84b6468ad6267528c08b2cb11b7423c94 +DIST firefox-106.0.2-hi-IN.xpi 565715 BLAKE2B ac1b2ba056bdb041b857a79ae1c58cf6fc49290e8f3b2779ae3d2e0fd73f4555461cbe09180a09c4b82e79196e5f2915e1f819a6ed19cc4fb8582e070912855b SHA512 deeb1abb15331bbbf76c2749f7c87a55c366bab3c69691fec0c68f875809735a5be672b859fb8a787eb245e397ea6a19d3bd0d9dccb91bee6794b6b2c15c6e30 +DIST firefox-106.0.2-hr.xpi 539361 BLAKE2B a0a94ee249631a768e9d7f4b463b3f443ca2f88d905872326629f2b2da4ff3d294de87b4869c005886c8880236a2f017225d0e108d2bf0b4d550b123b79d6c07 SHA512 dfa83e911e279f34a22ec2756b7b3ab0581bf846c5ee618bcfc5c16b3d43d46a597c10d5b59f84df0d2f9b1e7747ca27dc00b7e5875454647f77ea2d72062b53 +DIST firefox-106.0.2-hsb.xpi 583935 BLAKE2B 0fd0ff3a356a0d39112699483b894d0770302ff0ab3a9957f77f5645f5deaca3e800f9b0147aaad4010f6916fdf8d69ccb3f48e0a90aa2c4aeabd1fa72d51bf4 SHA512 616f0f705b53d279e49905d9ac0580820eec7c7e5844ed31433c2a0d82184d260b9660a7649e66308643de3ba778be2774eacd515cc0b52b3cdae8b0e9daa2d2 +DIST firefox-106.0.2-hu.xpi 588138 BLAKE2B 7fa7ddf8e65fd211c2281f0d41480245d9974b6be3a6199337153e84a47b0c2ea6593b8e95f7f7c01970d8b2bf477dd871824ac5fcb181f3ebd79636ad14c131 SHA512 d023d24b1df4d36f10faa73e3fba12a28f32e90b10f8fb2ed60b8da303e14bc2c573764bd6d064d1b06134eda3492982bc6db23689bbd5f9977914cbe7051bb4 +DIST firefox-106.0.2-hy-AM.xpi 592225 BLAKE2B f9a3ba12f506cea69a6d7002fc1feeb40e3c5baca91456980b2cd7b782272f19b38aa5ec8db7abf833a8507130dd822790324fc734b6005860cd7282d73f6ac1 SHA512 4514f362f3ec7d24ef4f0ed86c6378f027683f187103fe7c4cc2661c186d6a12279041201106e936dbf9367ae27e245a1b417005e6cc7ff7c77c60a4da14730c +DIST firefox-106.0.2-ia.xpi 552326 BLAKE2B debcfc34ddac3304b3e93755cd7ea3ed791b329312fd84e902866d4a3efe3052e00d7c80ea659b828e9b261093db14322912cbc5c60dce3aeb7d75b6903f4ea1 SHA512 d38d7378772c32dcb076b14874dfb88fc60b74cec101449f6b540556ac2428f1e2e52efe06c1be285776d3f9fcb4c1cf2e89354e384615dbe76de38de248ed2a +DIST firefox-106.0.2-id.xpi 549222 BLAKE2B 091e05e631318cc0a144b2164027d6bad4dd60a412bf37e6619cd6fabefa4120a2e2396a57903bc83af935774b7f293259004cdba009c86c6c26e6011cb7ca42 SHA512 9d697864a56c09e4d4aedb768fa7b04e16b8c5f25253aa4af17f7d692b42c086becdaa6fe57dd8de701542f9a250ee5b1f44e9bb2de04bbedf5308ebe1055f74 +DIST firefox-106.0.2-is.xpi 562120 BLAKE2B 52646667e04db2ad0fa1a768ba104878cf7488595f7939814f1cb5d6e1b3d6dbb1b5bea65a5e677a242c4c24ef596fda2a2eeeafd1d51cc6d804c750d7108aa8 SHA512 6390dd3aab18a0a918ccdd31033d8c63288d964e8a55db6c9b9c8c255058513e062c756e52ec42831db7575ca00a45c94756d238c400b01fcb2e9fa3ceac6b1c +DIST firefox-106.0.2-it.xpi 489722 BLAKE2B 2d18b018ebce382141019eb785ea367ac831e9fd86b16b902489a6b21e1288375705dc94ef2bd85cfd12fb075d8addf8ceedf1694f2f186aefbd3bbf0fcc41a8 SHA512 ce0df31409a5a5a9be5fe0352fdbd91a1b1674c2b825643b74e724b6b5d17096026ed526531313366f5c0d712d9b1eefc18970524f509d9d8004c5ec75168ecf +DIST firefox-106.0.2-ja.xpi 613432 BLAKE2B 99068525ea106aa0773e76a7b6e3291553406b2a1309dffbea28be4a640ea16405581fb3bc5e0b766753442405fce08918d726fefd64f5f6643ce45c4b542f7f SHA512 d14187c8e76948a57973ed08a2d17ed6abaa18d40f3521ec6b188985dd59f1870db4cd8ba9c4363e935c24cace741597c20427ff03f51d43bf0646993dc0a008 +DIST firefox-106.0.2-ka.xpi 617308 BLAKE2B 2c56022c8bbec7fe775c231059445172b2fe06b4b3d85df1e9018b25a3465715508df9b445aae0c38dff04b547ef63ae7febdef6c128fb8e414a92b3eae55ac8 SHA512 a310dde14689f7d29c18698e5a354da573db687a6a65256c2a81324aa385be542e41a85d8232455b9e2a7720247e2170f1af8f9bda4028a790894ed3a3987a9f +DIST firefox-106.0.2-kab.xpi 572401 BLAKE2B df2d536f5101233e5d82984ce20fda4a706519ad7c661ba9e169b0ae815c7e12ffbc7230fc8b6ede295e504de8dc91dcb84b424f41b7f38e2f104b04852647af SHA512 b95780fd59b3b80cfbcc90597a9b6d2611d1cb03edbb93b6df46d6a30671320b61b126515989f222a0633ac34f07888b48223687619a9fede87991776944b6fa +DIST firefox-106.0.2-kk.xpi 633098 BLAKE2B 2b9926037063ac925f41756372f774adf21dd75e5851d6f157018995face83ecd964a6db266dd0b7eb2dbc209250a33a3f7a312a4effb0ebfebfc60d650d2ceb SHA512 608eceb274a2b66f1a453858d87b93c77ffe02f12438218ace4d56f640b6ab2f70b0b2890f799bdd27c1e815e6c2e2635cafa38a822dd59aa8888b56497b4e75 +DIST firefox-106.0.2-km.xpi 540446 BLAKE2B 3e66ec5f18e2aa0b306ba70691496770bb116186916f9287a99be122ee05ff135cfe61be03084ad0e238876a901f2693e4691fb7461d5ccb33522cb1fcca0142 SHA512 e294ab00f198178307b28ee9a16dd15abcb086de5a2bedcff5ba9ac17697563f0637944fd5546d053c388f996104e7c062b6559db5f5180aacdcc581cec3a175 +DIST firefox-106.0.2-kn.xpi 505955 BLAKE2B f290570cea3aaec9799ab9923554b65e3885030b7f9d5c08fc438033d6719eef52482f7bc26a7e139f170107b950909a07bf799f0b4007343a27ac6ba4ce158a SHA512 b21a5e169f87bc54613b6d79d5e6d79804fd9bd017025fcbc6614b2779401b4914e283392f25ac834c9b58a9b4cd873f80edb90d9ba8dbb97aaa4ce1a673a32f +DIST firefox-106.0.2-ko.xpi 599620 BLAKE2B d88bd108bb2e455e8f82e14dc430d331c464f975c903356c09e86052fd321eeb23aa5cff4825ff6f20e4875c45e62fcdadd1d6b10a800f8423c8dac4e2d6f635 SHA512 1f42c3c5bb672d703df059ca9d125331541fc74f28cfb6feaf261602a7c8772f74ad30160735a97bc4009ee0437aa7141ce95628b1c21dcc2d04e22c13a44ee0 +DIST firefox-106.0.2-lij.xpi 477213 BLAKE2B 22ab942c587db0a6352b89f6eb9d4938489f95e8e94fa164683d6191d90c4df10e2482d3d37afb08d121220c898dacd76e5914820dda7decb2b127fec9543cb9 SHA512 ff796898e80d04a8e02969340b2ff5a7858542607f9c9b6914c4a88fcef33ab3d5181b8612a767739fb13043217e160b009cf158edacc970c27bcc3e2b1a07eb +DIST firefox-106.0.2-lt.xpi 569662 BLAKE2B 67e90b1dad6201665765994674401d10f0ab7939239323b0e36bc98648591b0777795c0822b28d333669ec66f241545ca68cfa2ebdf6c0a8a636ef86cf6c764a SHA512 c8369652f22752d8561ae0499d7b125d218fbad13c4d493760b1db75655535405e3e245851f7b7dfda6f18d80b3d8f3b8714ffae4993fc74db6d466311a48124 +DIST firefox-106.0.2-lv.xpi 472676 BLAKE2B dd2c85af894c822f6804a9205120178b7298d2a1b146be0ce31bdf937cb5b8d63e7c50742164a45cfcc77e63dccbb1880986320fafe4ddb6df3d0067af91760c SHA512 b54eec80871185c0458bd109a7158e90a9dead7eef818f9806bfe01dedf23c8f5348df3d1d58dff0d682d75400c9c7d2dbae54bf43768e803faa190be5924914 +DIST firefox-106.0.2-mk.xpi 496314 BLAKE2B 16fb92b2ce6b418d74aabb2f3729b17939350aa9fb39ff9852159ed866cc5555bf41e4fd733a8d63fd2af0aeaaf7fcfed899f0018214ffc178d4fe2651fc16c3 SHA512 7ba099386d57133eec275ccbf34b8512d790cc8ebdc6951019af051bef27a9f02db27011c150e9abb9784d59d63911742fbc5538d3ede83f6aab23437260552f +DIST firefox-106.0.2-mr.xpi 539602 BLAKE2B a2eb5c2cc366d4009c4e5f13b952b32ffea572645cc6084f5dbdcade410cda271254d5d1b7b81bcf4ff2fe12d43c71fdd39402da76c987da1d006117f2a10f99 SHA512 65f7bf941ebbb07fa15a8430a1fd0d2d370ac89b1cec0e7922b049fe930bf38165b971395fa4f02e449ea8eb721fd69bc37f37a25b8b0b41439afb0bc97d154d +DIST firefox-106.0.2-ms.xpi 456684 BLAKE2B c51d3b4c6dd6e9d1ece1c0718262308b2d1539f4c4a97b233960d9bd7982a7bb7deb8f9c392b7aa148973c07da72276a3eb5c5f92b48d34b1dfd7a5eb8e99d45 SHA512 06f5e78a4fe55e5c46a99012e7c976754be2d091d4da0f7b737c4af5ccf3721a8f95ef94bbf183e4b44ac3894e7811487adb179f0f91d306132dafc51965ebc9 +DIST firefox-106.0.2-my.xpi 526211 BLAKE2B b5bf67ae1bdc4d877aeb85196a4dbfa25b9c7de3fc51c54926c8db74296ae93c4783a421119db17d83b713b34b7986b1c7d0424c8927d3902b9dcf9010c9c0d4 SHA512 5b2a9c12b236f7946730ec6927319d3aa2a5edaf6aee020ff9cec95a2fe7d8f2c76e2a61dccb3b10e6df61f7699ccd3de36bdfa27732b36fee8a79562bbbe9c3 +DIST firefox-106.0.2-nb-NO.xpi 550280 BLAKE2B 8f8105f13704dca31761c7bba533cd2e88f703f56d5f824f4ae274b472b5260e85972ec04eccaa6f21298b51f5e62de2b0c45c373883506c43b9777949ed8fb6 SHA512 1e726a3593e3403b7a13bcba08936eeea6cb8b754f2b1474d68f8d94d3e43e5035b6f2431905379b4460ffae01536f6a2241412dd82595afaa71a202ed645429 +DIST firefox-106.0.2-ne-NP.xpi 493197 BLAKE2B 07d449432062c0e15d87b441b81d8119f749eb0bfc3227c91b37289aef24a64c6415f36a6e6c899cfbeafe9398646849eeee6dec181c9c492a566b06bec9bf1c SHA512 e05fe8ffa57fce96d76448cf40abb1cbfd714bd0a084beb384a43bc722cb0e7749885c7c46b0809cb8dc0295403ffdc7cc96f20c05ba492bb3e72a4f09a2e606 +DIST firefox-106.0.2-nl.xpi 557958 BLAKE2B 1d55bf0772ba3d7caf75ab81c0751bf01ea37518e7b37fdf0df4711d538684c3ce5bc2575982ee7f5f85b157cf90ed0832787e2d1773d82ba8e2afa424a370db SHA512 b7b01cb039fc81632df36538ad76ac9519aef42ec98dd57fafa8385e9410bae90b55c0d16dc3fbb58cf5c5f14f6670c0bef7f8eaa3fa0b3467a11b9984dfd7b9 +DIST firefox-106.0.2-nn-NO.xpi 550858 BLAKE2B 6441e1c8cab35054831a360d4059a17212ae1b0bdc3f49cfd332c151539d209a6242ecd75ddd2b0dd88ff541b6c919f24a1c4520cb47ed7b4be5f7a31ad6d878 SHA512 f2cf5e2c6fefc1b12237e2132e7ae0e1df9361b9f3c48b9f7a8a43a9cd0e6da854c786239db04301ced514a38217e9c48d2a3a593fc97a02b936c58f8b1f7789 +DIST firefox-106.0.2-oc.xpi 574510 BLAKE2B e498024d157bdac3330d4f7c4f06f8732279b933d20df57b0d109a60c3079bfdaf9e259bb2af04684969ce6e2f5ecb9aea14dd88bc6b922f4fbe379fdb7c72cc SHA512 7a2fe697bd841d3327b38952bf97174afd5059db9ea82edc53d79523362c78107b17f5c1a0244b07e309e009e9e2dd260285ae6fea4fa56d65294c416c9d4152 +DIST firefox-106.0.2-pa-IN.xpi 630420 BLAKE2B b1b55a5338f675bfedecd79490672bb6fa709eb39197c6bb8d9b784a68ca0333ab4af8572e4f625b1b2a7483179ee093bfd3ac7c45188b51fb56c0f5c47a9a5f SHA512 b5dbc1ad02e55a5e784350a8d6c61f018df84899259ceed62cbcb42a3f1444acff9b678f441db7142accb1d6ecdc69a250e762be9c1999309f8b9aa33850cd94 +DIST firefox-106.0.2-pl.xpi 580610 BLAKE2B ea205576d827b7fa15739810e112a971d1d0f1d918d9a8320e5dbcea08d569b573ee1b98a2bf2e31010fd49e7e8dc6ebe1e725aa16420c41e25425ae7f6b308b SHA512 128ead088e9046c8beb3df18c64d9823f4e6dd12697e75a5eddab9d53b1c6543a6173b8a4ddde22eb7e6790b85cb43fa22106cf62c4c74b89487f77be7dcdd3b +DIST firefox-106.0.2-pt-BR.xpi 563215 BLAKE2B c1cff58b0c98a4f4e417879b7174035ff54201c6a91c004466f96c983a80bf92abbb233fe321d4323e1ccd8d8b32e7daa1caf8b280ecaa762fe42966e6f24b16 SHA512 272cbfd2ab8f111937b78cc3da8b120d964471712883c3ebd70ed0bb8ac66169c1ee5d7ddec6dd7d7fc4469b93591d2ab0466842b7cc307b5f47f5bd5d9cda41 +DIST firefox-106.0.2-pt-PT.xpi 567726 BLAKE2B e321cc896b75ab2c97deff9a50ddcadc39626fa9b5ee1f95412791894867e1dd167712a0719d0f1967dffdfc048c1bb183801d97786af6e55671f215e4305975 SHA512 465512809663cb60a90ca38d0f1008b651997872497a34e398d6949c636a875d2afc3d18807b2f5a7f408472fb3ec7cc26f1ff59221e013613958e5316113a15 +DIST firefox-106.0.2-rm.xpi 558467 BLAKE2B d7eec13cd31023bb3478f07aaaf3bc8e451572ad95e3812adb56f1a5d6d41b393d463848821ec70b3dcce139d7848ec7f80eef66af458c93f5688448351dfc6e SHA512 520a28a9e7a1bef024ccda1b96567228c645e3c431fafb3634590d5864ce3764a1cc00914d1801ee0fa95bead81f5ac7ce6508dcb0c198495dce08890df47ce7 +DIST firefox-106.0.2-ro.xpi 539411 BLAKE2B 894ab24068bdf6d43f345bdad98dc6aabdc866ddd96b2680ed8ccdce24c6c142a0ac436aa6cdcc78cb7e880f3d225ebc4958862c593a3bb1cf8712acf4f56c51 SHA512 71b27999cd6ebd874b1ecb78e5cd1b23b5d1aaef5eebae21e9ec1afc3668bacb100e5122fc1038acfc5f21b4603ba9fa4b0f703e485ebdec463b65c53324bc78 +DIST firefox-106.0.2-ru.xpi 652356 BLAKE2B 98a7531111d3f2517b137ac488db5091366d4fe79f83d57725d6dc5989241ed6f7d001e5ee3b44d711955c55bde3954b857c4208177a2da6fc5ab3fbd220bb45 SHA512 421202a5bd9ba5ec143915c331251889c26924905b8c99e18f8f921f6550e5468bba5b572dc50ff791972bc336c683c9a0e0f1ff84bd1b6569f1308c9a757da8 +DIST firefox-106.0.2-sco.xpi 509977 BLAKE2B 33dd28d48edd42108450b8ffba972fff15a9885c9a63c2a9649ae3ccad543fb2328a107a9fc76144e85c7d49745c7b71cf6dd77ca763c7cc3bd8c48f79e5ecb9 SHA512 449f4aa4bbce097fef7b162d512b37e029809a9a8b902bb8683ae1df11061139cc81aff50e23aca8383647b8aaa57d2e523ecb59fc7ad9302e80a3a6626ae455 +DIST firefox-106.0.2-si.xpi 577784 BLAKE2B bec54e13745e030055d3887765b99e85c2b013feaf3dd4bb07c6632874667b705bc0378c50a77ed727c39447bf30a8c1fa20b3201ec472e4f204a1ab914c4bf8 SHA512 db1cf0250ce4c9fa8ba5a639b3fc9f49596fec240c76d18e9d6fc0ebac769974f919c5ef2d784acbecef44ae74fc9ee130e07a4a4ff710dc527ffed305236098 +DIST firefox-106.0.2-sk.xpi 588281 BLAKE2B 53ed3c91b772435741831004d01167119935c4512e4aaabceb41189db1ccfb67ed9d308beee2b07dff3c52189d3e959edeb12c7dfd9b1ed66cf25956a39afe06 SHA512 f83e36927209490cf1988119eb54faed68f8fe9502a8a1fef0dfc2e6ae198982593f0c183e97ae432e6b8e138002ef4dfa2497204da6945c138473b768663160 +DIST firefox-106.0.2-sl.xpi 561267 BLAKE2B 18c4aabe398e225e87bc3faba1f4d7f600aecafbc6598af8c1ad4d313fc91ec460b08c63eb0dbb00bb7e25cb227542da0e7c1aa05ebefd971fe3d043502bd5ad SHA512 8907446a55f15b8997e7da9644fe661c99ea770cac947d5fff6a704f348afb81e3708287f16fee6cc9499386bad7902cdde737dd3354c560aa44fe61e0cab0da +DIST firefox-106.0.2-son.xpi 429537 BLAKE2B d7c3d0fac0b5811d0dc6d98fc60ab6d0580b288b489c15871c9091966fe9f847e0ab169889a8cc08d464582bff3b1cd6330eec901b2f7ee5e87ae30b365595b7 SHA512 85d9472b08c750cf5b06c04e7fcb0a24afcdd8cd651fbd38424efb9d8ac36b194b350bd3138dc4d5ed57c99103d56ceaf95f96d910c799aaff122c7bfb191e14 +DIST firefox-106.0.2-sq.xpi 565741 BLAKE2B 65426e07e7a4c79da7d5b33d8b375e5db92f97d0f3c9ec71b6e92ba0a48ae2dcacd6f88933ce12e491756a67739b65c0dca85203fe2205b6a3976812ad24e10b SHA512 94c52ecac07f1855409ce67342c72a05e5cce9a74355f8f4a584113984ed6f5414b1e4447ab4594e3afc25f9052d2243ae62900c188de194ecedbdc5e668aa35 +DIST firefox-106.0.2-sr.xpi 607532 BLAKE2B 9f93aca4b6fac464d29cdd67956e299432f0b189ff464f3265d949ffe25b5acb7d1e0e88ce58403cc7a6dc79e7011823060053cb35721901910fe9413191a579 SHA512 3e09cdca17beb82f9243e8a8b546c45f12ae8ce1a3a325e09564ca22db7ae7047e1a3c189eecbeef96ea940448773df82a285efddc1cb022c7caad1b477e3c10 +DIST firefox-106.0.2-sv-SE.xpi 559810 BLAKE2B e8135b51e18448a8dc02018426d8fce9cc7a83224090cefc0df23344e2fa60c5c9b7df6247766dfd6301543e0512c8a369b0e4eb79c098a3db70272c6637ee12 SHA512 45e3e53d79f4a55044bc3324cec1864b8b3c188bb5cb0ef72ac4372f3e9b4a30e6aed13c2ce1b1dbd0548bb40b53e73c10381a3de68e1b2f11b6a82a33a614d8 +DIST firefox-106.0.2-szl.xpi 523776 BLAKE2B 67748980fb1592969ed5dd3d210d10253bd5f4a95cc06c8775d34d5ffb6335ccc5c7f5f30b521d9ec22ca1c0e8e094b59799755020a6cb575d7d0d75dc088477 SHA512 c8225df95a6d1e4587b8bfa33530c31c6012da98220093f578c4c381bd764cc5100d9aac3546ded76ed4b068e08454d22a4eed93228d04f2767dfcd36c68f60f +DIST firefox-106.0.2-ta.xpi 517837 BLAKE2B edfe2e087b8715c1d27cbdc423cad6ebf39f6792200aa41e599ee31e9b8a0f4991bc0a33dd4f93936edce6af24496ea8645b297b777f0c3ab0cfcc85bbb1dc12 SHA512 c798c6db6648dde77cb5609b7d334c5b9c088ea72007169b4b0c3b03659b30cbe95c236ccb0b184e6719545d59978fcf11cb22952420558f540f0a2e74d5220f +DIST firefox-106.0.2-te.xpi 564272 BLAKE2B f4bbc5ee785ca7647fada65e1e82c5b6a098d2c9f21e88e37086033e6c81e31c67d71aae187d33efcb838b85d2ed1e7fa47a96768ac9e91a84b2b0c0ff68cbd3 SHA512 5ce8a0ca3b90053ab4ffa3345a944728d875e6c01183eb680a9b7f29688dde801d123b7dbc9894a2f1e4cbe431d1094ac592aea3670499654af03620da02e0a9 +DIST firefox-106.0.2-th.xpi 628693 BLAKE2B 0d0e563bf5d22270bb8946b380096fee470e8bb1e8b78a3866d99dc81943dea434ee67b0d72a88610e1974c7fd01787c0614784f69b1a935777bb785d6256885 SHA512 af8fa9e205209caf6f0e217f721e62ab72adfe411ac6e03725b57429ae8c944e3f374743796a3172da460613aae1ea62e0e89ba96f6c2eb90abe817d84e9bd10 +DIST firefox-106.0.2-tl.xpi 528363 BLAKE2B 85224140e836ca2a6989bf74971436704cfe66da0afac551ca66c653df178284a2f93aa70649bbd7140057ac241f9b51854c8d21fbce373342423d2c53d204fd SHA512 600f4ad13a49290db2563a81cc2bec4d98d5ce02a2cc37af5d0158d73bb6f7de7ced2ab85d06fe1c61ef46870ec163b9f44b4f5971dc5ef8d2c1c53829ac3139 +DIST firefox-106.0.2-tr.xpi 573858 BLAKE2B 119dcdb5e968f962bd4b3cbb8a04c494bc19c93e16daa37586e8e61840d9f0c2ef885f52cc4a12a51a03671ce81178f60c1e01833dc82630e80c4b9db3aa6b38 SHA512 77b99ea6ce1205f7620607d9250592f4c906f9f30480ef1ac581b9ee6c1e552ea470d4868d6d918f4ee1f7d585b7e93ccaf880c99a74ad37701ce9da626364e0 +DIST firefox-106.0.2-trs.xpi 493777 BLAKE2B fb0fcf1acbbe3b96cb9c8f89cc95bff7bdea6644b3cb3be4d2e356a0b2b520dfdbc92de141d9f12a9828a54b47f7a67a255e9cc30580fc05cb31af43c69fe908 SHA512 a0c9652894004bdfac7e578f75709dfe6130d270900181002aa2f998d2bc2aa0d6e1a799682c9296cb3b57ed7d0fd4cdf9e0444a4c34f0fb2a78407c9f3126d8 +DIST firefox-106.0.2-uk.xpi 645592 BLAKE2B 2cd9ddf7c705e0e0f83386d24ffb4a41a8fdd80a3452e77b2e5def25cfe01af66c71f57c4fe1e9b552d33ed5b1450802b909cd777b870f80a1bce2a1b24eb546 SHA512 fb396d94f604c23a38e7b840770d195bf070e09fa11938398c81ef6fa33a223f2000405bfc5081cf63ef52797f17c7165bd51c1a3d061e2cb5725c1af978019e +DIST firefox-106.0.2-ur.xpi 566165 BLAKE2B c5a0c732ab2d9f7ed2f8b77486900880d9696f74b285efc82edb056c4818721e7174b818b8ccbc4ba50a3ac51963d40b4d749f97867b11c26813b48ac16c96a6 SHA512 df553c83566cbe60ecddbab2babe65e454e756f1538be7058195ccd34511ed64816dae1c6801844f7721d712524a76ebbe1d27d09fc0a374c2f7961a40ed224a +DIST firefox-106.0.2-uz.xpi 485814 BLAKE2B e36be28b39845dba1b912faf4ba5230bdb18e010c9f7428e160120e3824d7a878ab793dda47232b78f1051b89af8a9736b7735d2e7b16ac9044a7dd13d7df49c SHA512 d8e9a35708aa6331282aa7ed80ca82ba2f13ece41bb93e864f1c676e4d0795ee8419860824dc5c0f3eb696d783cb18b3c0f91e1d61237eb0a6831b6fb4fcbcac +DIST firefox-106.0.2-vi.xpi 595209 BLAKE2B b66d87f33ba10e3d1fec5b1e4df8a5f8edb0c5fa69c6c2b25ea7512fcd2fd284706631f6a7fde07e2dc14d1c307fd8d3c347f43746a873a51892e7a09af086d0 SHA512 99dc706df4f6a3fc06884003acca0a6a28c7b7b7d67e5598bebf008815b664593ea8934699aeb41c269db9a786e4d4d4cf29127a792fd4641787ce52d1c10f9f +DIST firefox-106.0.2-xh.xpi 427001 BLAKE2B 29cc1ac4f1d396e93b6ebb482bb6fe9726556c058f7cce47c0ac2f9c22521cf84e7817686d180db70ce2c3950c8c4b8bc864d1d7e90a7dfc44d252afc1d31ebc SHA512 c28fc89ae0a387e8d0054282f531e4f224195e381aeb04244fe7c6d7728b7e184d148f665a89d7b1cd631777825fdf5044f668667cabc02cfa539f13df4df7b4 +DIST firefox-106.0.2-zh-CN.xpi 595315 BLAKE2B 016fbd8e2a7102581e25a9bd9013f31891519cb1ad1366e2b0200db272366855558b26387b5d7de0c22f52eddfae18429841c0181b65a5a3220d9f7acfff72c4 SHA512 b4790d2d0e34aa928c3545adc781fca3cd74209c4d9daf603cfa63c382226692a8a6aab88cefbf79765badf7a61fc1d489af70efa0e0280b30221b5ddaa8194f +DIST firefox-106.0.2-zh-TW.xpi 596100 BLAKE2B 849e7cf47c1fc040075619cea392dc0d49e68cb98404543ca417b046e663a0d159765a14e23ad888e9097f54ae4cc173cfa97516d8c554697a880898e3155709 SHA512 4cb65815eeda936ccdbd09f55bfff3c441c692dd92535a984828d01a65c135646d6c0b859dc23921a08fc6765be0c1d4107074ce020f2961959ab3ad5d1b4382 +DIST firefox-106.0.2.source.tar.xz 503015088 BLAKE2B 465ba57074f9f150f6d55093b2629c1980606a1b44c42d7e288a7b5980328872a9c8cb86e052559ec858723fa40fff1e7fc65a43f3029aee709e8806fb4a140c SHA512 2aad75c05c3398c19842be46dcde275581344b09f0c65b51a630cef201545996ee00f8020f52a0d7b6416d9ad52cbd5c71b8f1cdf47cd18e4abf1ba21f7cdb93 EBUILD firefox-102.4.0.ebuild 36270 BLAKE2B 6837b774261e3f5dce707881e556112d7c931328fde0b524cab76cbc2fcf5591d4dbc09ba2677be226329ad58db918918d892f0adb8cb2021758fea69ab71d95 SHA512 768dc68293057c733299b063582600a791c6d55893f36ec500582a66cae8c3102a10869b4f68aaec18a80096ad1bf4cd6b5dcf20811aaa79fe983bde85a32530 EBUILD firefox-106.0.1.ebuild 38042 BLAKE2B de8af13de0378ea23e890762f8a50bec1a04df60a8e4f77847ab017729be2d835ce188a05c3e169d7ace4cf5decfc7534024c1fcf05d9007785b4ce58cf0d9e8 SHA512 e54fc64d2a34f20ea473ef5a042bd52796f9c3bb463e44e6af808d3a82f2d7f4e7eeb36447e019e8eedf828cabafadda8c7a5e681c21ed93f6efb4835f270bc5 +EBUILD firefox-106.0.2.ebuild 38042 BLAKE2B de8af13de0378ea23e890762f8a50bec1a04df60a8e4f77847ab017729be2d835ce188a05c3e169d7ace4cf5decfc7534024c1fcf05d9007785b4ce58cf0d9e8 SHA512 e54fc64d2a34f20ea473ef5a042bd52796f9c3bb463e44e6af808d3a82f2d7f4e7eeb36447e019e8eedf828cabafadda8c7a5e681c21ed93f6efb4835f270bc5 MISC metadata.xml 2219 BLAKE2B 064f486eecd2a66ef4c9cccef46803f877039bf16bc40b699a48e28e04e816d0ad434ce65ae2e056e1a4126a67a7dd7eff16040276159c1f5aa8966b1c0d7b6c SHA512 522b09ffc2857553e240b1e7c82c11ccc281dd87c720c6292ec9314b91319e0a55ca2838f17e878f5c1e58e4f22caa1b0c3b90506b65b350beff06f3f397d897 diff --git a/www-client/firefox/firefox-106.0.2.ebuild b/www-client/firefox/firefox-106.0.2.ebuild new file mode 100644 index 000000000000..3a7f6876f2cf --- /dev/null +++ b/www-client/firefox/firefox-106.0.2.ebuild @@ -0,0 +1,1321 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +FIREFOX_PATCHSET="firefox-106-patches-02j.tar.xz" + +LLVM_MAX_SLOT=14 + +PYTHON_COMPAT=( python3_{8..11} ) +PYTHON_REQ_USE="ncurses,sqlite,ssl" + +WANT_AUTOCONF="2.1" + +VIRTUALX_REQUIRED="manual" + +MOZ_ESR= + +MOZ_PV=${PV} +MOZ_PV_SUFFIX= +if [[ ${PV} =~ (_(alpha|beta|rc).*)$ ]] ; then + MOZ_PV_SUFFIX=${BASH_REMATCH[1]} + + # Convert the ebuild version to the upstream Mozilla version + MOZ_PV="${MOZ_PV/_alpha/a}" # Handle alpha for SRC_URI + MOZ_PV="${MOZ_PV/_beta/b}" # Handle beta for SRC_URI + MOZ_PV="${MOZ_PV%%_rc*}" # Handle rc for SRC_URI +fi + +if [[ -n ${MOZ_ESR} ]] ; then + # ESR releases have slightly different version numbers + MOZ_PV="${MOZ_PV}esr" +fi + +MOZ_PN="${PN%-bin}" +MOZ_P="${MOZ_PN}-${MOZ_PV}" +MOZ_PV_DISTFILES="${MOZ_PV}${MOZ_PV_SUFFIX}" +MOZ_P_DISTFILES="${MOZ_PN}-${MOZ_PV_DISTFILES}" + +inherit autotools check-reqs desktop flag-o-matic gnome2-utils linux-info \ + llvm multiprocessing pax-utils python-any-r1 toolchain-funcs \ + virtualx xdg + +MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/releases/${MOZ_PV}" + +if [[ ${PV} == *_rc* ]] ; then + MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/candidates/${MOZ_PV}-candidates/build${PV##*_rc}" +fi + +PATCH_URIS=( + https://dev.gentoo.org/~{juippis,whissi,slashbeast}/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="rapid" +LICENSE="MPL-2.0 GPL-2 LGPL-2.1" + +IUSE="+clang cpu_flags_arm_neon dbus debug eme-free hardened hwaccel" +IUSE+=" jack libproxy lto +openh264 pgo pulseaudio sndio selinux" +IUSE+=" +system-av1 +system-harfbuzz +system-icu +system-jpeg +system-libevent +system-libvpx system-png system-python-libs +system-webp" +IUSE+=" wayland wifi" + +# Firefox-only IUSE +IUSE+=" geckodriver +gmp-autoupdate screencast +X" + +REQUIRED_USE="debug? ( !system-av1 ) + pgo? ( lto ) + wifi? ( dbus )" + +# Firefox-only REQUIRED_USE flags +REQUIRED_USE+=" || ( X wayland )" +REQUIRED_USE+=" screencast? ( wayland )" + +FF_ONLY_DEPEND="!www-client/firefox:0 + !www-client/firefox:esr + screencast? ( media-video/pipewire:= ) + selinux? ( sec-policy/selinux-mozilla )" +BDEPEND="${PYTHON_DEPS} + app-arch/unzip + app-arch/zip + >=dev-util/cbindgen-0.24.3 + net-libs/nodejs + virtual/pkgconfig + >=virtual/rust-1.61.0 + || ( + ( + sys-devel/clang:14 + sys-devel/llvm:14 + clang? ( + sys-devel/lld:14 + pgo? ( =sys-libs/compiler-rt-sanitizers-14*[profile] ) + ) + ) + ( + sys-devel/clang:13 + sys-devel/llvm:13 + clang? ( + sys-devel/lld:13 + pgo? ( =sys-libs/compiler-rt-sanitizers-13*[profile] ) + ) + ) + ) + amd64? ( >=dev-lang/nasm-2.14 ) + x86? ( >=dev-lang/nasm-2.14 ) + pgo? ( + X? ( + x11-base/xorg-server[xvfb] + x11-apps/xhost + ) + wayland? ( + >=gui-libs/wlroots-0.15.1-r1[tinywl] + x11-misc/xkeyboard-config + ) + )" +COMMON_DEPEND="${FF_ONLY_DEPEND} + || ( + >=app-accessibility/at-spi2-core-2.46.0:2 + dev-libs/atk + ) + dev-libs/expat + dev-libs/glib:2 + dev-libs/libffi:= + >=dev-libs/nss-3.83 + >=dev-libs/nspr-4.35 + media-libs/alsa-lib + media-libs/fontconfig + media-libs/freetype + media-libs/mesa + media-video/ffmpeg + sys-libs/zlib + virtual/freedesktop-icon-theme + x11-libs/cairo + x11-libs/gdk-pixbuf + x11-libs/pango + x11-libs/pixman + dbus? ( + dev-libs/dbus-glib + sys-apps/dbus + ) + jack? ( virtual/jack ) + libproxy? ( net-libs/libproxy ) + selinux? ( sec-policy/selinux-mozilla ) + sndio? ( >=media-sound/sndio-1.8.0-r1 ) + screencast? ( media-video/pipewire:= ) + system-av1? ( + >=media-libs/dav1d-1.0.0:= + >=media-libs/libaom-1.0.0:= + ) + system-harfbuzz? ( + >=media-gfx/graphite2-1.3.13 + >=media-libs/harfbuzz-2.8.1:0= + ) + system-icu? ( >=dev-libs/icu-71.1:= ) + system-jpeg? ( >=media-libs/libjpeg-turbo-1.2.1 ) + system-libevent? ( >=dev-libs/libevent-2.0:0=[threads] ) + system-libvpx? ( >=media-libs/libvpx-1.8.2:0=[postproc] ) + system-png? ( >=media-libs/libpng-1.6.35:0=[apng] ) + system-webp? ( >=media-libs/libwebp-1.1.0:0= ) + wayland? ( + >=media-libs/libepoxy-1.5.10-r1 + x11-libs/gtk+:3[wayland] + x11-libs/libdrm + x11-libs/libxkbcommon[wayland] + ) + wifi? ( + kernel_linux? ( + dev-libs/dbus-glib + net-misc/networkmanager + sys-apps/dbus + ) + ) + X? ( + virtual/opengl + x11-libs/cairo[X] + x11-libs/gtk+:3[X] + x11-libs/libX11 + x11-libs/libXcomposite + x11-libs/libXdamage + x11-libs/libXext + x11-libs/libXfixes + x11-libs/libxkbcommon[X] + x11-libs/libXrandr + x11-libs/libXtst + x11-libs/libxcb:= + )" +RDEPEND="${COMMON_DEPEND} + jack? ( virtual/jack ) + openh264? ( media-libs/openh264:*[plugin] ) + pulseaudio? ( + || ( + media-sound/pulseaudio + >=media-sound/apulse-0.1.12-r4 + ) + )" +DEPEND="${COMMON_DEPEND} + pulseaudio? ( + || ( + media-sound/pulseaudio + >=media-sound/apulse-0.1.12-r4[sdk] + ) + ) + X? ( + x11-libs/libICE + x11-libs/libSM + )" + +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}" +} + +virtwl() { + debug-print-function ${FUNCNAME} "$@" + + [[ $# -lt 1 ]] && die "${FUNCNAME} needs at least one argument" + [[ -n $XDG_RUNTIME_DIR ]] || die "${FUNCNAME} needs XDG_RUNTIME_DIR to be set; try xdg_environment_reset" + tinywl -h >/dev/null || die 'tinywl -h failed' + + # TODO: don't run addpredict in utility function. WLR_RENDERER=pixman doesn't work + addpredict /dev/dri + local VIRTWL VIRTWL_PID + coproc VIRTWL { WLR_BACKENDS=headless exec tinywl -s 'echo $WAYLAND_DISPLAY; read _; kill $PPID'; } + local -x WAYLAND_DISPLAY + read WAYLAND_DISPLAY <&${VIRTWL[0]} + + debug-print "${FUNCNAME}: $@" + "$@" + + [[ -n $VIRTWL_PID ]] || die "tinywl exited unexpectedly" + exec {VIRTWL[0]}<&- {VIRTWL[1]}>&- +} + +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="6600M" + 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!" + + 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!" + + 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" + eerror " - Rebuild lld with llvm that was used to build rust (may need to rebuild the whole " + eerror " llvm/clang/lld/rust chain depending on your @world updates)" + die "LLVM version used by Rust (${version_llvm_rust}) does not match with ld.lld version (${version_lld})!" + fi + fi + + python-any-r1_pkg_setup + + # Avoid PGO profiling problems due to enviroment leakage + # These should *always* be cleaned up anyway + unset \ + DBUS_SESSION_BUS_ADDRESS \ + DISPLAY \ + ORBIT_SOCKETDIR \ + SESSION_MANAGER \ + XAUTHORITY \ + XDG_CACHE_HOME \ + XDG_SESSION_COOKIE + + # Build system is using /proc/self/oom_score_adj, bug #604394 + addpredict /proc/self/oom_score_adj + + if use pgo ; then + # Update 105.0: "/proc/self/oom_score_adj" isn't enough anymore with pgo, but not sure + # whether that's due to better OOM handling by Firefox (bmo#1771712), or portage + # (PORTAGE_SCHEDULING_POLICY) update... + addpredict /proc + + # May need a wider addpredict when using wayland+pgo. + addpredict /dev/dri + + # Allow access to GPU during PGO run + local ati_cards mesa_cards nvidia_cards render_cards + shopt -s nullglob + + ati_cards=$(echo -n /dev/ati/card* | sed 's/ /:/g') + if [[ -n "${ati_cards}" ]] ; then + addpredict "${ati_cards}" + fi + + mesa_cards=$(echo -n /dev/dri/card* | sed 's/ /:/g') + if [[ -n "${mesa_cards}" ]] ; then + addpredict "${mesa_cards}" + fi + + nvidia_cards=$(echo -n /dev/nvidia* | sed 's/ /:/g') + if [[ -n "${nvidia_cards}" ]] ; then + addpredict "${nvidia_cards}" + fi + + render_cards=$(echo -n /dev/dri/renderD128* | sed 's/ /:/g') + if [[ -n "${render_cards}" ]] ; then + addpredict "${render_cards}" + fi + + shopt -u nullglob + fi + + if ! mountpoint -q /dev/shm ; then + # If /dev/shm is not available, configure is known to fail with + # a traceback report referencing /usr/lib/pythonN.N/multiprocessing/synchronize.py + ewarn "/dev/shm is not mounted -- expect build failures!" + fi + + # Google API keys (see http://www.chromium.org/developers/how-tos/api-keys) + # Note: These are for Gentoo Linux use ONLY. For your own distribution, please + # get your own set of keys. + if [[ -z "${MOZ_API_KEY_GOOGLE+set}" ]] ; then + MOZ_API_KEY_GOOGLE="AIzaSyDEAOvatFogGaPi0eTgsV_ZlEzx0ObmepsMzfAc" + fi + + if [[ -z "${MOZ_API_KEY_LOCATION+set}" ]] ; then + MOZ_API_KEY_LOCATION="AIzaSyB2h2OuRgGaPicUgy5N-5hsZqiPW6sH3n_rptiQ" + fi + + # Mozilla API keys (see https://location.services.mozilla.com/api) + # Note: These are for Gentoo Linux use ONLY. For your own distribution, please + # get your own set of keys. + if [[ -z "${MOZ_API_KEY_MOZILLA+set}" ]] ; then + MOZ_API_KEY_MOZILLA="edb3d487-3a84-46m0ap1e3-9dfd-92b5efaaa005" + fi + + # Ensure we use C locale when building, bug #746215 + export LC_ALL=C + fi + + CONFIG_CHECK="~SECCOMP" + WARNING_SECCOMP="CONFIG_SECCOMP not set! This system will be unable to play DRM-protected content." + linux-info_pkg_setup +} + +src_unpack() { + local _lp_dir="${WORKDIR}/language_packs" + local _src_file + + if [[ ! -d "${_lp_dir}" ]] ; then + mkdir "${_lp_dir}" || die + fi + + for _src_file in ${A} ; do + if [[ ${_src_file} == *.xpi ]]; then + cp "${DISTDIR}/${_src_file}" "${_lp_dir}" || die "Failed to copy '${_src_file}' to '${_lp_dir}'!" + else + unpack ${_src_file} + fi + done +} + +src_prepare() { + use lto && rm -v "${WORKDIR}"/firefox-patches/*-LTO-Only-enable-LTO-*.patch + ! use ppc64 && rm -v "${WORKDIR}"/firefox-patches/*bmo-1775202-ppc64*.patch + eapply "${WORKDIR}/firefox-patches" + + # Allow user to apply any additional patches without modifing ebuild + eapply_user + + # Make cargo respect MAKEOPTS + export CARGO_BUILD_JOBS="$(makeopts_jobs)" + + # 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 bindgen + + # 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_environment_reset +} + +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 + AS=llvm-as + 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-gpsd \ + --disable-install-strip \ + --disable-parental-controls \ + --disable-strip \ + --disable-updater \ + --enable-negotiateauth \ + --enable-new-pass-manager \ + --enable-official-branding \ + --enable-release \ + --enable-system-ffi \ + --enable-system-pixman \ + --enable-system-policies \ + --host="${CBUILD:-${CHOST}}" \ + --libdir="${EPREFIX}/usr/$(get_libdir)" \ + --prefix="${EPREFIX}/usr" \ + --target="${CHOST}" \ + --without-ccache \ + --without-wasm-sandboxed-libraries \ + --with-intl-api \ + --with-libclang-path="$(llvm-config --libdir)" \ + --with-system-nspr \ + --with-system-nss \ + --with-system-zlib \ + --with-toolchain-prefix="${CHOST}-" \ + --with-unsigned-addon-scopes=app,system \ + --x-includes="${ESYSROOT}/usr/include" \ + --x-libraries="${ESYSROOT}/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 + + # For future keywording: This is currently (97.0) only supported on: + # amd64, arm, arm64 & x86. + # Might want to flip the logic around if Firefox is to support more arches. + if use ppc64; then + mozconfig_add_options_ac '' --disable-sandbox + else + mozconfig_add_options_ac '' --enable-sandbox + 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 + mozconfig_use_with system-libvpx + mozconfig_use_with system-png + mozconfig_use_with system-webp + + mozconfig_use_enable dbus + mozconfig_use_enable libproxy + + 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 + + local myaudiobackends="" + use jack && myaudiobackends+="jack," + use sndio && myaudiobackends+="sndio," + use pulseaudio && myaudiobackends+="pulseaudio," + ! use pulseaudio && myaudiobackends+="alsa," + + mozconfig_add_options_ac '--enable-audio-backends' --enable-audio-backends="${myaudiobackends::-1}" + + mozconfig_use_enable wifi necko-wifi + + if use X && use wayland ; then + mozconfig_add_options_ac '+x11+wayland' --enable-default-toolkit=cairo-gtk3-x11-wayland + elif ! use X && use wayland ; then + mozconfig_add_options_ac '+wayland' --enable-default-toolkit=cairo-gtk3-wayland-only + else + mozconfig_add_options_ac '+x11' --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 + mozconfig_add_options_ac "linker is set to bfd" --enable-linker=bfd + fi + + if use pgo ; then + mozconfig_add_options_ac '+pgo' MOZ_PGO=1 + + if use clang ; then + # Used in build/pgo/profileserver.py + export LLVM_PROFDATA="llvm-profdata" + fi + fi + else + # Avoid auto-magic on linker + if use clang ; then + # This is upstream's default + mozconfig_add_options_ac "forcing ld=lld due to USE=clang" --enable-linker=lld + else + mozconfig_add_options_ac "linker is set to bfd" --enable-linker=bfd + fi + fi + + # LTO flag was handled via configure + filter-flags '-flto*' + + mozconfig_use_enable debug + if use debug ; then + mozconfig_add_options_ac '+debug' --disable-optimize + else + if is-flag '-g*' ; then + if use clang ; then + mozconfig_add_options_ac 'from CFLAGS' --enable-debug-symbols=$(get-flag '-g*') + else + mozconfig_add_options_ac 'from CFLAGS' --enable-debug-symbols + fi + else + mozconfig_add_options_ac 'Gentoo default' --disable-debug-symbols + fi + + if is-flag '-O0' ; then + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O0 + elif is-flag '-O4' ; then + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O4 + elif is-flag '-O3' ; then + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O3 + elif is-flag '-O1' ; then + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O1 + elif is-flag '-Os' ; then + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-Os + else + mozconfig_add_options_ac "Gentoo default" --enable-optimize=-O2 + fi + fi + + # Debug flag was handled via configure + filter-flags '-g*' + + # Optimization flag was handled via configure + filter-flags '-O*' + + # Modifications to better support ARM, bug #553364 + if use cpu_flags_arm_neon ; then + mozconfig_add_options_ac '+cpu_flags_arm_neon' --with-fpu=neon + + if ! tc-is-clang ; then + # thumb options aren't supported when using clang, bug 666966 + mozconfig_add_options_ac '+cpu_flags_arm_neon' \ + --with-thumb=yes \ + --with-thumb-interwork=no + fi + fi + + if [[ ${CHOST} == armv*h* ]] ; then + mozconfig_add_options_ac 'CHOST=armv*h*' --with-float-abi=hard + + if ! use system-libvpx ; then + sed -i \ + -e "s|softfp|hard|" \ + "${S}"/media/libvpx/moz.build \ + || die + fi + fi + + if use clang ; then + # https://bugzilla.mozilla.org/show_bug.cgi?id=1482204 + # https://bugzilla.mozilla.org/show_bug.cgi?id=1483822 + # toolkit/moz.configure Elfhack section: target.cpu in ('arm', 'x86', 'x86_64') + local disable_elf_hack= + if use amd64 ; then + disable_elf_hack=yes + elif use x86 ; then + disable_elf_hack=yes + elif use arm ; then + disable_elf_hack=yes + fi + + if [[ -n ${disable_elf_hack} ]] ; then + mozconfig_add_options_ac 'elf-hack is broken when using Clang' --disable-elf-hack + fi + elif tc-is-gcc ; then + if ver_test $(gcc-fullversion) -ge 10 ; then + einfo "Forcing -fno-tree-loop-vectorize to workaround GCC bug, see bug 758446 ..." + append-cxxflags -fno-tree-loop-vectorize + fi + fi + + # Additional ARCH support + case "${ARCH}" in + arm) + # Reduce the memory requirements for linking + if use clang ; then + # Nothing to do + :; + elif 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 + PIP_NETWORK_INSTALL_RESTRICTED_VIRTUALENVS=mach + + if use system-python-libs; then + export MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE="system" + else + export MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE="none" + fi + + # 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 + # Reset and cleanup environment variables used by GNOME/XDG + gnome2_environment_reset + + addpredict /root + + if ! use X; then + virtx_cmd=virtwl + else + virtx_cmd=virtx + fi + fi + + if ! use X; then + local -x GDK_BACKEND=wayland + else + local -x GDK_BACKEND=x11 + fi + + ${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-r2 \ + >>"${GENTOO_PREFS}" \ + || die "failed to add prefs to force hardware-accelerated rendering to all-gentoo.js" + + if use wayland; then + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set hwaccel wayland prefs" + pref("gfx.x11-egl.force-enabled", false); + EOF + else + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set hwaccel x11 prefs" + pref("gfx.x11-egl.force-enabled", true); + EOF + fi + 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 + + # bug 835078 + if use hwaccel && has_version "x11-drivers/xf86-video-nouveau"; then + ewarn "You have nouveau drivers installed in your system and 'hwaccel' " + ewarn "enabled for Firefox. Nouveau / your GPU might not support the " + ewarn "required EGL, so either disable 'hwaccel' or try the workaround " + ewarn "explained in https://bugs.gentoo.org/835078#c5 if Firefox crashes." + fi + + elog + elog "Unfortunately Firefox-100.0 breaks compatibility with some sites using " + elog "useragent checks. To temporarily fix this, enter about:config and modify " + elog "network.http.useragent.forceVersion preference to \"99\"." + elog "Or install an addon to change your useragent." + elog "See: https://support.mozilla.org/en-US/kb/difficulties-opening-or-using-website-firefox-100" + elog +} |