summaryrefslogtreecommitdiff
path: root/www-client/firefox
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2022-10-18 19:56:57 +0100
committerV3n3RiX <venerix@koprulu.sector>2022-10-18 19:56:57 +0100
commitd1262423b614597cd55d30370eb8de6bfa8f0899 (patch)
tree1a5f46b31c19b0bfcc840ab7a6ee06d7aa161c87 /www-client/firefox
parentcb9a501c2ed1312c376917c1cbfc79542d799806 (diff)
gentoo auto-resync : 18:10:2022 - 19:56:57
Diffstat (limited to 'www-client/firefox')
-rw-r--r--www-client/firefox/Manifest100
-rw-r--r--www-client/firefox/firefox-106.0.ebuild1321
2 files changed, 1421 insertions, 0 deletions
diff --git a/www-client/firefox/Manifest b/www-client/firefox/Manifest
index 239a3e73e863..afdeaa89a0a1 100644
--- a/www-client/firefox/Manifest
+++ b/www-client/firefox/Manifest
@@ -205,6 +205,106 @@ DIST firefox-105.0.2-xh.xpi 435744 BLAKE2B 525f5a7ba427a5ae4323cfc71968f24598b1a
DIST firefox-105.0.2-zh-CN.xpi 596364 BLAKE2B 9528ab694ce2070e977440bf4dc542774a1bfdef68612bde73a667799fdfb3c05031f6722ea397cc1cb1eccd2ce7ab4f23bbb6b06b5534f5372a291309f1b626 SHA512 43d867cfe07e90bb86647e2a8d66ca8d07e87dddabd3ce045c13d3512b346e16fb3f1f7c7bc2df37b257009d977fbc4bbaf4e7f3dd3919f529095cff02084c9c
DIST firefox-105.0.2-zh-TW.xpi 597430 BLAKE2B 57b1e25bcecd1b917348bcecfdfc247497c914ca2ee06531531bd34191bf9d588216ce9689926b8c1d4cd770d554ff066a2239d8d170d8fda90bb669d57b1bc7 SHA512 468570b38d2b4f637b22cd0c7f7010d7675e4859bf84d6cf5c00b6e548a91dcc55f49442bf6f9afa2ca4d9f35fdd1319b7feb6aecd56a1c5067726434149aa03
DIST firefox-105.0.2.source.tar.xz 481457328 BLAKE2B 0c789702678956fa51ddf3c2eea4f12a903cf62068759b66bff2d7239bfb40ca6e16bd0ec367f3ed00d2f3df68899e1b945e296577df0503380c9f872012d7c3 SHA512 49f4c0e7ecf2cef6fa7de8362185bd9ce6950304dadbbea0522a5782016587b9d58f32b45f0e0edf7a2cc31ea158ed10c886b287a18d1f2bff3daf50d9f0b926
+DIST firefox-106-patches-01j.tar.xz 21628 BLAKE2B 69e7d925e764de90dbb28b18a6ff9e72be344413bc161195d419e40bd6b1e74a45c0fcacb49c09b20f9032e3281b213e5fa472d7c68dc8124e8833f13a54c6ba SHA512 366413cced550280f29fab16e9d1e5245dcd82a7f90b736b748af27cc2e58def0d454fba25a71429f2db4101a47472191d4382f12e001d3478d58503922bc921
+DIST firefox-106.0-ach.xpi 460137 BLAKE2B e42862b66bb21e4290218537cde2c31cf7df5edee239707ae007f87ebf1dcd44bd1c42bd291362f89cafcb6bd2899ee993c519910a408446a446ed20e7d9db42 SHA512 98d46fb86831095f1dec0dc85dc2f2cd4163903eefc5be0bc5b2d11756da32e7e4a5ffc51b421729d9e67c297209233d7210406f1416e50fbd08d5ecafd426dd
+DIST firefox-106.0-af.xpi 428340 BLAKE2B 576c36bcda9c7edeac3de09f268b0176eeb9dd4c5165160eff0fcede863a0f65f7da5217c69f20bffcc0a1688b221b3b0e54d851a37c780c6d1b833c13a680a3 SHA512 fc5b7c0cc6695734c6f2aa99bda974fb47963622686f6fe1df36f189861142da46faab54f6f22e870786e7a2a7d37dd419551873393db041118a30175db80fda
+DIST firefox-106.0-an.xpi 507373 BLAKE2B 6153c6416a865470b25712bf8e21ebbe990a81cd271fd7c4e65550f35a9dbd4af74cc1cbd7403b3a477fb376c15703e68a684ce8a69d6ec6c84a09acbf03eae9 SHA512 e90f449bca2bfc0b0c8aab905307f9672314b6a55eab75b710aa5dbb12fe21d0a085cde1265625852a2372f016c87a95ed8aa5593c01cc1a222313826a2fa2b6
+DIST firefox-106.0-ar.xpi 573895 BLAKE2B fbd35f94b546ee106d217796d1498d7ca911e8f05ee018832162d0ad534aafe6f57d7fc8ad31e19a5fda0ab34f8befbbf8895a06ee42ccdab34367fd5e0e9778 SHA512 b3a8b57b13775eaf26f82bc6eef22482751c4b2aeadbcd48a22d1c164ac4bb7eb9c791f56cadb96baeb3dff862e98b1fae0a8931e58392d402b8dd435388e9c4
+DIST firefox-106.0-ast.xpi 494679 BLAKE2B 66b36c32c036d4e476dcccc45a1ba837f5592b5cadcb69ae5bf15b841e97b3b19a98f41cbf8da280a6110995850a6a32de877b7208c4ec368db7739cf7d712bd SHA512 2974eaf240594b2c62424ec3788ac8b89d8c55be34cfb3885cc8a52bb6cc756cd5ea3288e9377f2d25f2a5a18935b00f9624fd306e483f8036b6405ed950b32e
+DIST firefox-106.0-az.xpi 497308 BLAKE2B d2b6c7e7183a5f5b659598befbc8076cf2ad2fb594c74a8add8f57ff98d0ca41b5ae7dcb6afc311febec1104bedeb7e68b78336cdd4d681b2a60b2d5e6b7a1d9 SHA512 bbcaf66f4ae182e7d4954ada312e65883fac05c3633070e956d6e019b7f103092fd2e78823bfa9b697fada894b0f914de0ca7909c087051c560eb65d08541951
+DIST firefox-106.0-be.xpi 647941 BLAKE2B 735666e57b1d359c9b0e0df8c928c250962c68ebcec9310a49fdda99bd4ecd37d0c2b5cf25ee93cf7b5c3dc0303287acd4366b1bec08e2c1eb198af2b12c8f8b SHA512 34a484eb5ce58c65a489c90a725f4a88c5b54c31567dcfde40461b1a2e5537ca606add0d85037cf66c39454997fde924a0d1376e9f7ad540de2c84c9dd8a8ef1
+DIST firefox-106.0-bg.xpi 586678 BLAKE2B bbe42003d24110b083da4dac1c480d00c2bbe122632a744bf673a7f3b14f9523dbea033b2b53fe3b4141770f88d25ef2bf299ac2856ec5fa62182e6ed0ff9d16 SHA512 f2bf1b79b795613c64dddce10c9c6a67d5984d874c57e76ad8855e4123c59c8a87c66266404ebea5e4da83a434342651bb373f074a53155d88d6f7c189a052d0
+DIST firefox-106.0-bn.xpi 587357 BLAKE2B 75b4f11bef5846ebaf3841261e49697f4d7428802b9d30225ce09883ee1f4e7f3d6fdf7f71599f70417e0265ca55a669fc5a7df884a7b69c53e34622d6e0849b SHA512 1b8793691c9b53a61a9fdc84573bc0bf71066baaf410831ea9c5fa45313888dc0cb46404667fe68de213a24d6df692bfc935ee142e6742cea5e30bbb9856d9cd
+DIST firefox-106.0-br.xpi 546144 BLAKE2B 8411f8b925c745459c2bf1aefd1d846d2d392e203465ccd257bb30111fe6173c29a67bcf8b67f3f281048e0457647ae2125da62ca63603c43c2ae90ab1248439 SHA512 0426cd1190275973b8287cdc69e8b237e55a149aa621b07887f76ddd063b2ef3427911ee51c949f27466b94ddad51e919402834202582105e9d60c2dd432109f
+DIST firefox-106.0-bs.xpi 468735 BLAKE2B b3ee1258d1b376627fd687ebd136c76847040f1e6bb4d65d9fe740d28613a95ac287ddf367eccdc630337707aea7c000ee572666daae814e1da32f0de903e219 SHA512 1ceafba76a921c63629aa3d16808c0892c81d7dcbfb9e48ed35e74ece436aa20669e765531ce28933d08d4a70a176bfd6ffbd92a06ab01fdf3c2d52e2e781ef8
+DIST firefox-106.0-ca-valencia.xpi 545332 BLAKE2B b2a697d015b2b8ff2fcdbcb81ab716961eb5f65121f7c3eea6b498fbd2f6b1f70966cfe688221377bc755faa0ea8c86a887c854e03fd319849453ac464286c79 SHA512 b05921a8819e9dd68e521bfcda8e7f7e5e8893b5258521572612f5782ac7e90083f354997fa573242cfb99e500a4e587cf7f509afb63d73e68482c130737edb2
+DIST firefox-106.0-ca.xpi 548753 BLAKE2B 3d3a63991db7d0c729dec2e13ab4b8f8f4b3e687765e698eb9a3abffab25e2d7fb8090759aaafe2bff7a20780bf476df3c97b44617a1ac677963c6633bfc6777 SHA512 87d2eaaf211a1eb1432e6e4911848fab78123627b98882506b03a57cb6ccf48f1ec6cb1a4f4113fcca859c8e53b46df5a01e5a6efca78c301cfbf800188f6fe2
+DIST firefox-106.0-cak.xpi 560422 BLAKE2B dbf14bcb621d665a5ce19112ba05935deea1bc6e6f9caadb2d67c5c40ec9b98e53dd87da0c966d8042076992d507b7bf42fbe277b792f410ab4ae56ecba0c5c2 SHA512 e7e1ce2583788cb328607322806e3a0ba1e7c517548e0fcf3ce2193ad762c8c24824d55ef2d725348c93847fadefd7386be705f5ea5347a85c8ed4c153322b52
+DIST firefox-106.0-cs.xpi 580716 BLAKE2B 19fa0b59a60e374415d5499bfbb6a755a9e5e13bf08257362710cc8275139c895f312361f102bb4542a3240553918217bf69fa54e39495973e0fbb4dd1b3a20b SHA512 a56c37f11a6a23dd6bd0f760a73199db12ea31676308d224ca30b49b407e0973fd20ae6fcf821479704fa6df211a7081087f5b74ac050ea3e2a4f87247d9dfa3
+DIST firefox-106.0-cy.xpi 562861 BLAKE2B b8ccbfed3ac90c3bd57ac381fd51fef8147885fe8b995d39743b80767136c2a65d239c91093603f380da92304333875f1da446439b47090500b3c89899350b67 SHA512 555e0bad601ddad13395f38a2f5d7bdba5675fba2e6af5af3720ab9e307ea272ccf05d75d2856d889610656dee75e767996623a801963281d4d9a945dba2f52e
+DIST firefox-106.0-da.xpi 553184 BLAKE2B 884718825fc007e772a56ecadeada1063ed344202db05dbf123ec07e84d5495a1d86afbae51e00f78c44708b587b3e05e085c43cbf453da12ea4c53f09328947 SHA512 f4b222deb212c6b9cf450c1ed8f6a24e496e40924eb37def5bcf311e6e3b48fe0dd8b917c24593d834ce3b033f55e7d61eaeacf8551482dbf8a2b555cb2b1ca0
+DIST firefox-106.0-de.xpi 574539 BLAKE2B e5e9f65405f4e5c2cdc879ea5a31b782cb78d109095d989c93ff18987a6204c120921df0da9d46302c712b00e64333b3d4ba9961bde6e70f6dbc78c3929eeb27 SHA512 db9a8198c1c8c05115dc491cf25c95ba400cad81c59c62e2751ac1f9dbd11e7adb5b1ad645701750926188fb34e3abf53dbeed409d1dca9e00913461aa248463
+DIST firefox-106.0-dsb.xpi 588022 BLAKE2B 44c9759211dac224af8f8909c6c6acce5dbc97b3a559691e4f0fa783bdb62dfddb9bd966bef9138a84e9d5132a0e7ef25b8e25729f37168592bae8f3758ad2ea SHA512 e7a572561085ee9b646b77bc8b004c070c2ee793e40a12add63f40e1cddad6a4651fc07dde832e55884620a3bba1ccb652e200bbfaa81cb08b30294231c72bea
+DIST firefox-106.0-el.xpi 663905 BLAKE2B 1f10d508cc441840380deb5f72a427316cdebdc52d5116e069b38bfa781b3d33ca7e5da6406003ddc882ab61ca69a15ddf467dcf28a3f3f21b048eb8fe6149ae SHA512 eb40ecaf5d7495aecf51af5f6032dea5005ce67f619352a3f9d124232afca4bf65c8080dfcb16730227ef1668e0702e8a815ef85baced986d3b78608fd904f13
+DIST firefox-106.0-en-CA.xpi 528602 BLAKE2B 2678394a722165671b82cd64ffa3a0774dcf5948f4084905c37212624cd49b9730e5703c303cd65923950e2de8488f4caeb80033c4365ecc0664881b428cd823 SHA512 ad38bbb629eddd6c3d1e3413fe2a36973e2bc04c44daee0ca10420849cb24ec3359ad1d0834d865d8a77f9da1d58292f2a30dfc605e579de78716834534133f2
+DIST firefox-106.0-en-GB.xpi 529343 BLAKE2B d41dd4d7903278b09d3378ceb911ea256b7680852a8ffb591b2e52da066597fd37d9551105aded7b424b39e24932efef3db6714867d83ce2cc9b8e81c96e5f75 SHA512 f60062f4f3508e15d8a1c9c6d1ffa687e81bf9936765bf719aecb4a49065d164d131da564e8dcfe32b93efb287f092229d0dd839662af8e299b0f74c42566041
+DIST firefox-106.0-eo.xpi 556640 BLAKE2B 052ead7f1756685aa62d4a59e6b1494c532059a546f73bbff290291666399405b1ad13429c5a203597a08045e93c9bb9306cc822eefc2c5b9cbb5dc5dd1f43ff SHA512 c731a8abe3ee1a6db5b6f6cd1ae868c199d6fc0435026d3fa367c6b778c33bd8e08ddb9e4c67da2c0acc94b7ae97a7d29ce615f7e4540bc70053e9965fedff03
+DIST firefox-106.0-es-AR.xpi 568404 BLAKE2B ccb2d749c8549f7269c80688637c1f2f48f03aae72c1a0f6566a17232a1e1b1e312a215d15382b81aa0a01e0ed920b1ee4e596398ec6e11c6a905996c7f2f028 SHA512 71ff9218c567db3271f5fba013b3cfb2fc6f9648e09e068843bd8547b9bc8e169795b6c83548e1eee31cb58372619f94f825dd0a62f3c287b939fc55d4b00be8
+DIST firefox-106.0-es-CL.xpi 567431 BLAKE2B e99eb6370a437103dcb7eacbf1970b0c29a0f619504b8352a44cfb34518485e89d090d75629c980fddb05d53142c96e91be91c1db70f621f88a94c30b4279167 SHA512 e8c4bde5dbdc280477dc0ad64d06a9ecd9d63be43aab34f161cc0d2d7c7952942958bfe93216d9a91b37ac9d146405d838aeeae1dd8b5f9c338e9eb820d7c9c8
+DIST firefox-106.0-es-ES.xpi 559871 BLAKE2B d4df595be6ba09665c2ff9aab02ca88ab883b8cdd04512a8c98ad4156c46028eec4dc3b92e8df04ccbfb77ade7f3ecbd6cd58071c6abe5726d75168161d9f670 SHA512 08f4a2b0bbda5e37a055dc6d90f481359350814745c70c20e1723cea4e361502f7a9a6bfea5ebbb284e31ce6936bedc1fd7af94379de81abd5676fe3cd7d71fc
+DIST firefox-106.0-es-MX.xpi 571124 BLAKE2B e8c0b71aabb2f0b6a528e53709897cb8be07122928ec5460830e67f22825989b655d9999598e3b99b85be0f8bb72defdcb738c001cb6e0ff4b639dc43804b5d0 SHA512 c15316f7bb0cb129de413416be6e29f9e37e473ecfd4312bdb721da73d2d0d7acfcd1d079091721251e2d8bf0937571aaa3314613bb716648197e2b16ffa1869
+DIST firefox-106.0-et.xpi 539260 BLAKE2B 5174e608f2b439fc93d84e18f3722332cab347428357f962e609a7ca58374d7a9727c5830d165885012a296c30484a00777b955116e1254b1437d13a2fa5ae2d SHA512 09930f9417b0a46347cc64150972e8ce5ae83a8c50cacd5517a88690e69c83e0275ca230c5b34b363d9963b289b74ac6edc0e948f626e92bf0ff4c28c0602752
+DIST firefox-106.0-eu.xpi 554702 BLAKE2B 7fe6af0b324629fa82c641c74eda323ee4a8f85348111028f8e8c16bbdce53f9034207d082f3f1308b1a222e3bb31509e4e13ccdcb87838ee7c80d5c6a695b4f SHA512 06f38af9beae4c3f55089898d554355e932afce6e34890101f96afdffb5fb303c1810b9fe0d881b4d6e70018fdcf87eae740cfc1675ffe660fa7a76d59cce642
+DIST firefox-106.0-fa.xpi 571096 BLAKE2B 8db633fbd586919a71b9b98b5c821f8457bd3488580c8571582155b5e7418bbb34b79375c5c1b3b3420d1944a2737f0134f91bcb2b8e641b41641b51550efd66 SHA512 d12d255d11d4381020d0d331afc2ac67caba1d71a785cc39a7ba3484905d802de28fd7c1b6aa16171914d360a0661b9ca30cd002fbfcb8b0c1ed0de10743b7ec
+DIST firefox-106.0-ff.xpi 480585 BLAKE2B 419871ce05761cb82c277bbacb677eb84f3ab139bec7b48fc7b4fd9d68a2867453bc03188012b39e5dfde8e4490b968a83d441c9e073a798604f9e6a7569a13a SHA512 d181417cabc9120643d1901d081551a3d92c37758979a6cd5d70c90970f14c4e891eb96348a46766ad1f922bff36debf1c428f9372f05fe1b9f9267c34b17ecd
+DIST firefox-106.0-fi.xpi 553329 BLAKE2B 3d6e1f94d405d61a4b48573ab98e7967498d6ca3ebcd6aa72bd72b347c80890a9d4f05d677b5bc2069009fc5b8c05462037946f4ab617ddf38a4e73bba017aac SHA512 016278a95d4205f73fb949f6a70c21dee281277e48ad8e53ec2143571857f78aa98ead6e4c22882eaea66f50aa45d56e806c6b4f390cd7acb8b5382717dd41de
+DIST firefox-106.0-fr.xpi 580181 BLAKE2B e90392c5daa8f381b57921badc922eaaba80c844dc83811a5492f3c35a204236fa6393f9daf88490fbfda2b9ea98f0796f1c38a9cd5dd06ee315cdaa777920a4 SHA512 e4317c872f4f33b1eed1d6b49971017f77f47b197e9eb90cdccf5d5e67b211ebaa3fefe52b1548ffba6f1e08292005e0d9745189fbfcca459b11e486a2b3c324
+DIST firefox-106.0-fy-NL.xpi 563946 BLAKE2B 17d3e643e289f052a8a1931b7a94d7311a78b36d1db6c0f3df0568ab213ba3bc62da6a3d8c0c99cb6fdc54a52c41193348b8d1030491a088e2605bbd6d871ab5 SHA512 d8763d12cc965b2eed4faa3734b482fea02f4cd34b0b48ba33e86fd270b37c38974d2c01157582181d8b2aef24e4106b87490e24757a0156be5c0b11a037aefb
+DIST firefox-106.0-ga-IE.xpi 476063 BLAKE2B f92fd8aa1f54487aa849ae6a744b4d7e38a826e313d300e70ca313b1f5d34c9bb8999bdb1850ca309e2489dd464c1a4f338a5587dbc97619ed2805135908bc1a SHA512 8b1807e53b8aac7fd03ea44f06106d75f6802c0ea45eb5bff1699d4700c8473e9e22e2f72ddf752313c4713213ac6384a9eaece4d852b92f6267a08c2591003a
+DIST firefox-106.0-gd.xpi 554225 BLAKE2B c847cc5a27cf201aa6d4bc0bfacbcc63b6e146acd5fcde246551f06ab55711c8a2b2981e825640e5e7c9ea8ad9ee4244ebd44e4f1ee04343b7a37fd01fb5bc8f SHA512 650e7e388513904ad8f407dfaafc08f526c267b03e59da72d3e2da1c254eb50b9705ebbb32f362701899b5a65898736e85bd73b274ea558ce5481e9315b53229
+DIST firefox-106.0-gl.xpi 548330 BLAKE2B 6f84a1f10af81e17ee44879a599fcb4c34a413eaa11cfed4b5d93703aaa024bb1071b354dfd18d53230a2b050fda55d97bcb3b4e2a83d79be4fc57475ea0f84d SHA512 d126aa68f929d9b09c98ebe58a120f21b22f2fe546b0063ef234d3256917f6ae222af4b04f226a3feacdb806f7f6226aaed744f0a0623c3454964b55f49016f0
+DIST firefox-106.0-gn.xpi 577830 BLAKE2B c753cdd847df39d09cda46bd8a7e362ed1d68a8ae1f0a5ec27736a9bc3ddf8c56fd5843b4490e70abc75090e5bba64e9da23e26314267b1239607355dcadb5cb SHA512 81877da1a6ddfd4d1b11acaea08c0b86e6e3bd4f79a7d1bb20326e08ca36ea36c47d35c365c3044a3a1e83f4d1b59f95942a5a67e29c2020cfb7993b7e6d440c
+DIST firefox-106.0-gu-IN.xpi 537613 BLAKE2B 4c3cbc720628d899478ccffad0ff456d6d2317f1d3f5c762d4ff0060ed6e80dfe729c2099d3e68b774e7cd4aee32650b39070bf296038c80163caa8ebf2d98aa SHA512 9e374ba72ded9626a7a3fd604a3cb021ff22c47dd61fc3fd08fab55304788b4eb52f0f819a620d106785c98d06646b21f41f88e00c81653becdf5b68c861263e
+DIST firefox-106.0-he.xpi 574394 BLAKE2B fe166ba6ae76d6a4bb20d66efbb100ffdde8624498964f74013db0e72332d4d8df20e486080e4720e861f76e8ea797795339f0376c6308709dc09eee056f5861 SHA512 5414142e508649a9c55fe2c406b5d999883bb677a3c5db7a5735716eccd53fa7bb57f653bd98c385c7296d26bea628c008daffdc24f18084b2b49f69530db669
+DIST firefox-106.0-hi-IN.xpi 565730 BLAKE2B 2c366e1dcf7b55add5ea4f0b062ed50b04a5a3b950077b64f501b8a72c1064438c57e81d40043910385114af1d7e2287f5b29ab6ad8a801c58377532c7a7eb7b SHA512 e8c51823bc3a2a70d89156d3e9ad5eb985a590a2d6ac3543d375ee5030938f3e663cf069d7e31b5ef4f92b93e3632d01779951cdb27e87f865fb47a383fabb15
+DIST firefox-106.0-hr.xpi 539363 BLAKE2B 3832947bd1fb4239077a6e8734e6b31019318fa7ab02a3c7cdfe741062e918600fbd9be72528f17ed82e3349ea0d3561a359c4ac4096add50eba4cf19042b3c5 SHA512 514552328e7117a9bcb676760fad9a1332bd669e9e4096eed85defbd817eb8f78abbeeeeeca5c9947cb703dd0da4c679aef7b1f51371ca6583cd9a671661afa7
+DIST firefox-106.0-hsb.xpi 583934 BLAKE2B 2f7ecc70c85f2247fa97c31a9e5a8a5dbbd3251c73edfbcd8a7d434029b0f5da98cdc523245ffc98641c58e3e949201d7b1a6578acc39a4fbbd68c9af576ca30 SHA512 d3ed3144e94efe8559388149a7c8e9f99e6de796f1beeac7650c8ec5076dff4af6adc6bd0e264da93fa1ea0bcaf09ac19158eae94979fda9c928578c67ee406f
+DIST firefox-106.0-hu.xpi 588133 BLAKE2B e1ae7a5b1dc9ebb86861c48d2f1a6429bc07b74124c70bdc4a50c08f2f50612c2db29093c8baad692b4f7e68bdadcea9eaa45c6e604a36cd13e68ad605beec90 SHA512 bc86efe76549d0e807947d2b13e0f170856cfeb7816dc921dd9a0c5a9f21eef475e80b0237bd10442f423446d6e7c109578703ba6cbb1378cee73e4d9347c74e
+DIST firefox-106.0-hy-AM.xpi 592228 BLAKE2B 659172717f635fddbc5a1df745903908b473e0d8d55aaab790c71686169ed8eaad908eef05c22e2f5b9a9df72120874db635557cfaa3ed172bedb5915e816ba3 SHA512 9d8211eb298bdf7d9d3a995e6915068bdfe58bca6ff3a03f4cc8fb97c5f1a7f638e7e682ccd14582cd93266e869dfc40afaf49ca556f604309bbcfb55b32b83b
+DIST firefox-106.0-ia.xpi 552318 BLAKE2B f7e8da92f1d17779a77e2ec78ee3ba01c007ff61f2e037e49828086b74a80f6b17b60ee38cde9f8eba3e876c00d00ae370f1063c0547fb94e589a08d3e7d9733 SHA512 6c0114be0bf7f132021ab00a9397710a6b84bb4a00b00356bceae8272d5dca9fb8290ab1e7375f10d5f9c53a31a78c95b1774fdb56225e20e8047316501ef22f
+DIST firefox-106.0-id.xpi 549215 BLAKE2B dd2f1e0f2ece37322118e4e5d3cb4013e90a3547584ebc467033921362e7de91e4dc77a9d62456eacc76b1e62d6aeae84b49b6aac1fd35e9f74d7ace486fff87 SHA512 850f506f11a78b46f3cc20b9a1ec80a53bb943dbed7702450c459b8fa1f8528ba0915fbd73303d46773154c591962544848575162a2c99bd8e91049acb2583f0
+DIST firefox-106.0-is.xpi 562109 BLAKE2B dc54ee659447116660da93dcb1b35bb463a8aad18ac902b66c48c0d2a54735fd89c3fe15a2dcc52b6c8d7f16cf57a73b95ebe08323bcedc1702da05518a68fe6 SHA512 c03900765cb2cb03a49e895a78481ab2e502b37e85290dbe743d5a755ab456657ab86f042a91da7f13551561ce8ca4957ab2955b46dc45fd26aefa3df3aa3f13
+DIST firefox-106.0-it.xpi 489731 BLAKE2B 79c75e77718c46e78ab56922bc3e8228bbda98c5318a4b71d4e819f00f1da8db96e65eb360bf4ab79215cfb16a4e6211b286b00c97b69b79172e7a4abeaaf7ab SHA512 7a1c03f068d846a81bbc45f880f531a3c6b7f5738f9b65e4d402aae3914459eb035c443ff1f761f7e574235f229527e55f039349f8152f9c52167dfe2f664bd0
+DIST firefox-106.0-ja.xpi 613423 BLAKE2B 6f20d57b0c27cef3577da05cb0763d994fdda1f8a81e3c8c5d23078a7eae55f7eafabebfced72f4754e960893140e63fd08f49d405a93ef1c0bda7fa604806bf SHA512 13606594fcaf0e5a78c484a66f0278e945ec0f8dfb91d80744df0817bc1c4456fa62537f47dc5f76f82412d773d3dca625e31228a036c882ff57296369263d57
+DIST firefox-106.0-ka.xpi 617306 BLAKE2B f3ecdf9a2920da827b9e3924f446af55b9d30269eb898931899a907569365995b0251ba738a8f2d2a2583f99194e529a1bb51b2a03a6dd9617d72c6ec32361d2 SHA512 6d070ac25475cd21abbfacf332b3b5793859aa69d8a19089fc374e7582259905df12754394101e71a7784b0b3bb2dd136f58998d119e93c186719ce3ef7e621f
+DIST firefox-106.0-kab.xpi 572402 BLAKE2B eae98e6b0e2780be00535362ce07057ad12d2180e872796cff51fb139a81ed9b2e60053571eba628379c79d0733aa1aba7d6498cd882e3f7e18dc889bcc59cbb SHA512 b018d072681beb1b7c42db14c5391c24edfd1d26d421c6b78d05de08e24916f8794c03a3499c0916588b34c8a8472229b3811fe5156630083bc7037ffbfc124a
+DIST firefox-106.0-kk.xpi 633098 BLAKE2B b6134da3954e55271c58dd1fa63ce717414c6b23f302259e56e762bd89e3d42e458460a50f7255fa11208b07c3aff6e673a615c522feeb3437c0ceab9c33a4e2 SHA512 62304bd1c7bef2729e271f7369644103133e5dfa90a00cc0204825d7cc8e05b475d419b2b01fb465f2805a3379818d8604dede823d8e63cb81926847b22edf56
+DIST firefox-106.0-km.xpi 540438 BLAKE2B e062dd357dac4dbdc8a6e9ba743c3e4c2332ce4f3f2fa510b10e5eebedbab02e9c3473d0e7fb582cd82dfc5cdd369a71aaaa7ef52a232b01f746ae010c0ea407 SHA512 de32e91b72d8c273c9119cbedf4574447ec6768ccd80a9ca5c5c49efc1b83a2855555ff89678f68dbe6d4f792a56b6eeb5fad3d4c6fae97ced41e2fa98e51c7b
+DIST firefox-106.0-kn.xpi 505952 BLAKE2B 8eb1bd4f2ac389b28e9f6d73ab64457d0f59b296865fe359f92f27ae786d308c2a9792320f9c24a64093feedf67b4d4f3fe27242cad09af1feb3b3418916f254 SHA512 c4b847868da33c74dbd36dae2fc8814508bfb7338aa56c0948a97c066871c8dfce47b472943eae69efa09dca66901270f7229c3600374785e693e2c89f5dd498
+DIST firefox-106.0-ko.xpi 599629 BLAKE2B e506ff20611f048e81ad37c36b6af4704f7ad92140d9e8d2acc8024e56e6767b7833d32bca6d235a38931dd589a170c69b30a1edf82d1da3a3aaaf1dedf3eece SHA512 41bf0b56a1e376a80ded6b3ef7f6171d21412f5b1f50df34e07b1f0bb67458433b6f53a378f701fcdc40d4a91f89a4103b5d3c2f414325b818015fac9a2ee660
+DIST firefox-106.0-lij.xpi 477201 BLAKE2B 8122c249784088da96615304d311f615ee17bc618489a4f36c63ac5dab2a92a15630db792ace749567ba6e3f7f052a53e61b0fb71cc24c69797eed11033cd8f4 SHA512 61a32878a58cb35ab343666d88250d5d26a6d60c3e01589f4f03d6c6ea89ce447d51b23da1fe1052d75e7be36ac596d6bd414c1cdd14a7a8be829b211f14630c
+DIST firefox-106.0-lt.xpi 569662 BLAKE2B c22b2aacc83df787804dc259cbebd28dda1a2600e4c120b168877657e1e396c62b2dc9811fab078c76a062fda8136764380a4f9b17c4b7825b76a758c8c2836a SHA512 f9086b44a0d39d73fa6d0324b5df4bca966d5bb35c7fd5f0fff4e5b3ca3deaa6f5dba37c6ce139dfe93f507135fc646036e113a875b5257ae8e6d7d7189bc7a0
+DIST firefox-106.0-lv.xpi 472671 BLAKE2B 40614bf8baed1cfaed97fa85f9512c65d53be5e6f5c499d94f605494e0c147640394ef084096b2d5dbbc385376888981490adb65ed5542181e185adb7016ab8c SHA512 9cdcb655077f441da597672c7789bdafee73fb763135b32948d52c10a47aea9893d99167606fe8df769af36ca2ad4087915beb54c45aa87dea9e58c38b467aa3
+DIST firefox-106.0-mk.xpi 496305 BLAKE2B b5ba919f68218390949e457f0b636db4b257768b9f846deff048df09914992197df917bb629ea767d3f8f77f21b78d29408206a1490f8c901db822b67f28406e SHA512 8b21df4524975168b5f301bcb568653e5aba3b56156c0e863fe670691a5ed6c0052f56c3b55847dcdc404e266f7d951bc4c7aaebe32e4235779307bdb4b2007a
+DIST firefox-106.0-mr.xpi 539605 BLAKE2B e796b6eb30ec810c2c3a8ad6b1b112ba17f25e668768c3e7827a4244d32c4173795507a259f3448ad2fd15837bc600f58e768efa97a194757bcc9f8fcb02fb86 SHA512 fcae3600c0c6b88e211d7019b3af2b5ae710f17cf9f83df671c5af915124c602def41f1d3a6f0bff054d327e745c4a9aed8e2c7e9ea30316a3d1431ddf867514
+DIST firefox-106.0-ms.xpi 456693 BLAKE2B 25ca2e70172d3eafa13ac8e7c16ab36ba3636484097b0efae96d852f9a982d96cab40071cb1d68a00ca6471f93bc704479e98cef60ffd0bdcb65864fea4d9857 SHA512 64e8bd483dcbbf311c84fddd03e18bc0f5d618f02c69724342ccf57c0c3eb7230773f56119490880a112640707c7b8d45e4864ad5dc139d54a7c9ac1bd74922d
+DIST firefox-106.0-my.xpi 526209 BLAKE2B f3d89bb3e628a5034163f7bbd0788e06ef488c0a928588c573b2229be90c7743ec073fdafe1f441f36ba3f919d54eaafdc2619044080322e8de411f74421210b SHA512 7ef19e4d5e475bee160b8567d88db29f7d2df161139264f8c44cc8d542dd10af0c301e4a7b4b0e4dd8ebe13cbea63252ab2d4b3a4e6bd064cfac6f8a3921348f
+DIST firefox-106.0-nb-NO.xpi 550273 BLAKE2B 7d28bb05d762dcca01e08fc787eef7ec17e0df79eaf7a6451da493feffd00fd56e318e64fe1a77136b9c61af7b4304ce280294b00ebf8e6ac490ec2f405f38f1 SHA512 8334bb52929a1c7b8f07f1df646942b81401553835f15de0ef5dc53acc180de19ffcaa49cdae6b66e8350b728b2b434e222d426eb5491bde07483fca9efe6fc9
+DIST firefox-106.0-ne-NP.xpi 493192 BLAKE2B 4ba9bb6628e0a97b4e696f4c3caf7ef3356030bac4759c001cf79e4dcc316cfb7fb27288ac89c1366b6fc7ae51496e548d715a94e8101f6fdf3c76509c7afe31 SHA512 f538cddd7ab915b053934893eef790de495da7c6661fcc0f7386392098b707a593150598bce241b2195ba3890130e7035a549762e938f2069a02d43b8352d933
+DIST firefox-106.0-nl.xpi 557944 BLAKE2B a69794574160221500d71a62428d360010b73f4b9149c4adb47420da63b4b26898f8dfcc78ce9300fb5600ec2e9e551045a2f0c55717da91aa1e7a813b09dce2 SHA512 b91e28e482ea894271f68bc9b3b2a548a0f155e6f16cc85e70449eefaafbbcc5a49b491959bb7a8b4c01912fb8282a608d4b30e841b982d9b978b7b0393ac92f
+DIST firefox-106.0-nn-NO.xpi 550859 BLAKE2B 784e3c3eac66cb646319f23136e64381ac105c47e41083f4f25ea90e4bb04df1fccce0f0f85ae69060c4cadf7b8fb79301e83a71578525acd631d9e71d90256c SHA512 453bab840d7b68e8239154536bf8667b3ede2664f50bf33bb44d173633bb97fe804c8f2a9b446950bf6f4b6414bd27fd31c32cf77a00e6289d2d5aeeb3d12b2d
+DIST firefox-106.0-oc.xpi 574505 BLAKE2B 6fa067a9e63578474cbd5453055a19602f136d6169c7df5ca51d4d0fd01deb78c407c39e4390c1ed3b6592b684536a923e94ea1213b56837b60ca5383c7dd5e8 SHA512 86326e1c8d7fe5cb0dc5e7d57ff688b1f8ba9616f1b665326790b139663908e275982b5401a3e3d07b33827606f1cf780292f751ed7521e01aec1e6cf8222fa7
+DIST firefox-106.0-pa-IN.xpi 630425 BLAKE2B cd38afe9964cae0546863b469c1df185f032974175c788ae8f87eef28b34e45eda6ce2f1909963d22f39d71825abc3daac1aec2b514b2cb38db2fb24a4e7ccb5 SHA512 9c82d1737e80a087a829e07f8c846e1b3f84e4bbd2eea219495cd42eaaa3565ec89600995808c95cfc6910947cfb642a52da0464fd85ee5c0097afe98f7ab13a
+DIST firefox-106.0-pl.xpi 580614 BLAKE2B b9efd4c7d4840a6aa4b94c2e45b937255fc59a97377cb3d0d3ebbcdd2a3e957c31dab7a419c64d0980cbe8d0bd9deeee7007baff31a5889eb85a3a2171cede31 SHA512 d0098c54f16d3b2dfb8a1ef018e466ba441727131f7e5ade1462d63887a27f393cd460e687fb1053aecf14cee590d548d1bae60fef5ea48c32c60489531533f6
+DIST firefox-106.0-pt-BR.xpi 563211 BLAKE2B 3972416e9aaca3093400af6b702024c17935ea192f34903dc740f72fd04a70cfa04a7cbe27bd4682dac8d647f983a95f5399f1bee5be55cc32cea166154dd719 SHA512 ac049b9d1792df7cf39f07dc35f253620ecbed4e7c95142834f3a073f0b0c848d62ebb44f234fa1fe12e24f4d6254f0321f463d56f5149ffae248f54d050b839
+DIST firefox-106.0-pt-PT.xpi 567716 BLAKE2B b24851a16220a31c35336b3573ff00f7fe0480041f444ccb82c839d039b4e475bee6ea5f2e811a4dd9903182bc8ba7f128a47482be0d34210ffeed7acceb2d7a SHA512 a26fdbf64779f778ea1a9fbf878c73422838d195fa9578f8f2d7a71fd749167dc530c297bdc3e89684fa0c8845d30bfe67852fbb9b267c5542e841de585bd9ca
+DIST firefox-106.0-rm.xpi 558453 BLAKE2B 5c16a24cb820897f902a004a1bf196e8f200d3aad801cbce3b708a8f50711a049fa71b5ee373db1516ec45f3deb285d74535850321bc9a8df95c09f18847b33b SHA512 28c1f4c0cc6c6ac125af7f4c796cfcde47d3057a418a39ea29ab85d8c52b8b59d6f30c6f26012525838cdd26c8093aeb8dace271c87dbc2b4048091018a6b29a
+DIST firefox-106.0-ro.xpi 539419 BLAKE2B cec0846ebe9af78b4ba31a2a2b77ed68e5bf3566933c6c931fc38666a951bbb294da6456857f77af2bba8e202bf6663afe6716993d50ba12fed1c4a69a547a39 SHA512 3a1fda7967b0cf46b6e341f138d50f996ac5537d58b6f01d04328462da44974318f1fa07d768f2bdf57e12c9473cc8163eb1a47c8610488d8ef8bb9e227c4186
+DIST firefox-106.0-ru.xpi 652355 BLAKE2B 3a916c73380d740a431e9e614ec693b3873436325e5d76284c4faf573a3b8f0ef63c88b6572af9db2791cbdf17e64659be91f6c3480f9c446322abe052143858 SHA512 3c5c12baaffd9cafd13899dd7ec9b687ad0e60fc08af51fb3b95bd7e943d96a16bc0de2308a66a96e0ea5d2853eadfa5de7f2cd6b1d099b04addf69c2804d5f8
+DIST firefox-106.0-sco.xpi 509981 BLAKE2B 6e1ffd2a3b245816cac7621f0a8eb130ee4b940e378df10cbec8810fbd692fda642f54dcad08129a775a592d2ee12853d5331bce78587fb197a574a99730131f SHA512 30b2252eca69141c5efca34ac643bed44b149917e1b49a45eca0eb8ec5fa9c4789b084690857fd925e317ea752d41f1ce147e28a7c1d43115394fa6f3f5cb3f1
+DIST firefox-106.0-si.xpi 577792 BLAKE2B 2ee552a78f649ea827417406b7b92ff377a6005e1efa03b1a3a817cf1ad5d573094bbf0aa6dbb2f09d9d77fa3cdde6b68ded12cc93b7e1d1289ece63d3dc7b01 SHA512 422f72ab794337367ff65b1c6290f6270ad95f3a707657d6240a5381d5a2fbab2c3773aa52528fc27414c84f39c06e754faeb8cbbda106446dab7f72a41872cd
+DIST firefox-106.0-sk.xpi 588280 BLAKE2B fe7b422f89ef19ff2850a89049e02e1236bcb99230305b2eb533736b16f2151674d09159bb5aaabc52e19ef03f918047ff917a9696de15c9f913d6e832bad2d1 SHA512 92df39c43227ca9a1b4ccf048a0d52b8e29877c9bccdff490f01bc09d55f1a1af2a786e67e65e18659f2e918abda09e811e5797cadee47bb627a7e20a8f1c517
+DIST firefox-106.0-sl.xpi 561258 BLAKE2B 08cbc6f4287e92b58d7f06b8d08d67cd523d21b5857c7c105d74b8a94f95f0905d54150e0b6acfa95be80b9ae7c766a75104a5f9793514efe31ac2d4a4f5eccc SHA512 7c3136bc0363ca71ec15678b282f136bbfc29684bfb2381383035af091a72fddb5c46f19847f663f79c7d8d7ba8b8a4dc09c0a19339a905dbb066958e981caec
+DIST firefox-106.0-son.xpi 429528 BLAKE2B b78b4633721571ec47ecadcac3323cd6e3845eb8ecf9841a9a989af6e07fecbb5282ae1cc088cb460983c00d319115924c493648fcdcd32ae7b64ad2e5642671 SHA512 84d70a4e358ce9a8fd468f35811a8546ea895eab21a49db652e990f7b99b44c491b52f25ded3e9ce729b73dc3e2232cfb54e33da2bf9b06ed8442027cb808f35
+DIST firefox-106.0-sq.xpi 565747 BLAKE2B 9cc96b92e86c2db5766d582be6b2880373bdbc6c71b24e409824884743e5387b1936e8b2dd3f6b3a71aad98e6cc15a88c0a1160399e3134a97255a10634ecb25 SHA512 fb0dfbdfa1b32bc72646f24c0eeb140ad73029c4c9bccd4401db1ec8180b55d47d90570e68f45ab501d805d1ab43ea727f7a15bd69a10efa325d81c57b94758b
+DIST firefox-106.0-sr.xpi 607532 BLAKE2B 7a9097199421383d54f54898969ef6dc375314aedbc1ea946831102b45f9768ef35cbe2b342b0a4b0b18f0f8d51a5c8e43a67c4986b0012a57d37dab4af579de SHA512 c73bb7405f203158ad38df5089f44477579ea86c9f1f1f14146c4bf66f262071ec8613c941cf00e422c7a229c3d21bfbe26c3bac723db6147d3fae04a42df07d
+DIST firefox-106.0-sv-SE.xpi 559813 BLAKE2B 1f65d2d49d02afce2ceb660077d55e64a2b7ba1df67087681f2e148305b1cf2a458fd7942cb9c6bf3d45a19f05548d620cc0f379e88ce8d14ac421064876a22c SHA512 0f6d664cddd2dcdcf1b2c8a1db02d9b7578d645da7ee6f94176a7e9747dbadad56893edd7ff102851ca62e57fbee9add41ffd08fce87f6cb4c51ec89ef1b80e0
+DIST firefox-106.0-szl.xpi 523778 BLAKE2B 71841301c450b3475ff6e2ca0329127d71716ce71c65be3e9e8e1c63be5466b64d22f8a6f205f967da7d0bbeeb4917e2bc4fd98125f982b2fc3ec47e74736fef SHA512 315a883cce7ab2c46f2014a096c55768905ece3942645471af70b12c121bc0fa71a934faa9bbe2fd7742fa01f4c4aafc0ac4c910a0fcc7c284bdfbcf7c1a39cc
+DIST firefox-106.0-ta.xpi 517847 BLAKE2B 81341361af18521f24ffdf752f22abbb388f389aecb9e520cec29f07bdb497fbab32566db42458fd8b54d6779d1404f243d9dccc112a4c5cef94f0c749eb1797 SHA512 bcdf10dcb97f2ba2d9c434bab9825bcc7a633c38095c8a6b3432b1452bfc0b2f85accc655151ae55d977786d4888025dc90091afe3f45940c2075aaf397bca1f
+DIST firefox-106.0-te.xpi 564264 BLAKE2B 54c0417de09671642a729b0e82b8cf93da58682ca7533fa4b85106bc601c516f87655df143b0d184ffc097a943c4a2b04eb344eb14c6c89157cbb3df88f6f37c SHA512 53bf6286748547381bfd461af78318031c91e43378e17480c9db8df5eac6246ca9ab8fc95f131eb16092abc058e391b54dee836edcadb06979f2a8fb44db0c31
+DIST firefox-106.0-th.xpi 628694 BLAKE2B 5d12b53cb5841a6ca369bbfa3cb4e4c42f8252be1e9a8e540a1a5e463bddd31c04ccc2b099d1b1c1362348e908497fc42603e7fb022e95fe93a75562b308089d SHA512 6849f139105a97df0bb72e4c61edb5c414e36739327bd26b7f486b002b84e3115adab83b70d1c178558e7768dfa87abf37888a01e9f87a4537246b8e53ce121f
+DIST firefox-106.0-tl.xpi 528359 BLAKE2B 6e16646e507974e4f09fcc332a87eb76c3eebafc32245e5621333f33f7436c739505a4694246982d01bce1fc8ff33eabe36ea43a78ac27504209bc27fc436b3d SHA512 13d9957cee4ba8591b14377d2661b5c07f1547d5eaaa3351a91ba35feb526d9bd77c28dffd95e1ed1a46139058da4ab0893d9240c4daddfcac59e056b53f0f05
+DIST firefox-106.0-tr.xpi 573861 BLAKE2B 16682fcb8d634e2ae832e99de7d4253e778b761930906fb9bc7df9a8e7ed223d9dce40e0f1d6f87aee807e6b61733df29df9702db4db3f60d3c4a405f2e6de3c SHA512 2704a0ce0d1ecc972d9791e1cc3d2c6b83fd7ed7c3d0269ffa081ea024103a1fd828c73b20d5b09d52385e8e4359c00d293231ccefc045adf51f66e23c713658
+DIST firefox-106.0-trs.xpi 493781 BLAKE2B 51e5d62cdc4c3d551f719c0a21a8835a17b6b543e41c7b520e3228c4fef2b422a397c869c4d5bb3531605039b93941a1662b678e0f5aeee1b6925d5c98673b41 SHA512 13722d9cb958939b79bca2d2df5590a19a78006978316dde4d3eacaa8b2181d32c502f3d0deeb256e90a445cc72f0739cfba892837e89b59b1738308bcfdeece
+DIST firefox-106.0-uk.xpi 645593 BLAKE2B 53e74fd17231682d4203b2231ab42c53b1bed7fc6409c105e64d3a14c2223c25c7fdd8ed0227a63b951ad22d1d59aacd8ee6609a322cfd9efafd292509f50192 SHA512 ed7c10a68a4d1ca9b7fb9debf6040f6019208b909ae2f3fd4e3866a70825182b92cda4528b9030fd7e5f4b736950f15fa2ee9829a4bede782ac345fbbf265820
+DIST firefox-106.0-ur.xpi 566157 BLAKE2B 17c16300736d22e71905895d41175413780ec5a4aff2c90baf1fe16ddf795d5d56459ecbb609b81285c4fb7aa64a513a78885a2c9e45f3b7688089e4dd086391 SHA512 beb084d46bc4e95dac2ba7062531459e6b72f027bac6f83b56c2e49f98a628de7734c8e2df2a93facd8b82f4a78009fb34d6d8743810598946b88a99efe4c405
+DIST firefox-106.0-uz.xpi 485812 BLAKE2B 4439e372132c3bb1481854a8610b9ba8487960326f27fb54e804fadcecf8a2c1dd38634e1a828009a82a8267766700b4e425bb67d8875e929895292bf707039a SHA512 57f5b770987bcec432c37c8123cfcace950da89897a9880f542f22584b0070ce182c740035eec7db5d199f5c207abd95d82965ba6dbc63d7b3784e9e763e0ed4
+DIST firefox-106.0-vi.xpi 595204 BLAKE2B c1035f6931c0f1561cfefd7f27174c4657e3c8340f0823e5471529099ed5f79495b19be594b810b1a583cad0a2a69dcd841dbb06f034555fa7ccc3ba0bdc5007 SHA512 3065a08f7321490026897f11e49d2fcfbf0703f1f35b0a49b451978bb8d34dcbe0e93cd23f5aef0d4e4adedbe03ac8aed8fbed982a8cbe6b1e46f90695800cff
+DIST firefox-106.0-xh.xpi 426995 BLAKE2B b0ebff77538848270c140547e88a253bf14a6f982d20f51dfd3e4e770a576ea0eb3fd34100dfea32393bfcdd20f47afd5ce9285c14bda7e4c71160e7fbd31fbf SHA512 2575811ffec99f10fd8eaa7401c70e5284caf25cd06c979ee1cec90eac7cd4d55c4ff954a2825cf5078a71a75b05d8c177a800dce976dc52ac90e9dd2df79831
+DIST firefox-106.0-zh-CN.xpi 595323 BLAKE2B 546fabe04b7b691afa2d14516471dea1b6a93a3c58f4e2eb5d5c7470254195fce1c5813a023ffbc621c1848c8b39cfac042c18c1fd74283b76a6da5938f942ef SHA512 a466782afae6d422f491fb363e737638f5128fe1b456e47b7a72db376682757208b5a496b0ebfc416776a973d866d438a0ac84540b030735ea145400c2486c41
+DIST firefox-106.0-zh-TW.xpi 596105 BLAKE2B bc35a4d6a28462acea79ace4139bf9e641fe28b2eeebc0e2c6d90f5ac978570c9956de372e90db069f3b31432e79f9c616fba7431899f304dad33b4b2642a6af SHA512 3d76fe47c5b8ab1ff4b612e49e0cfd7a0a825b72b673697f3262a5cef6e660b291a161d6664da3e351a8e51d8d8d14d859dae2d97b09d0ba7b67d9704e6d9ad4
+DIST firefox-106.0.source.tar.xz 500449804 BLAKE2B fe003b0d4933a73f1435ec640b052ea72f3226c51257c2a6fa3b2d0bb22e45d2a0709c32592a2d443601cd61884ae057226b756ca19fe182f92aad8e0104c7a1 SHA512 30ced2fff818858267eaab23974f6962c5d39433ce8e26507589535fc9348f00cf5e45b90997dfb6e2361b70900547fdb0e70d741127cc6705089ea585ea2296
EBUILD firefox-102.3.0.ebuild 36274 BLAKE2B 38ad5876eecab2edebc273cb5f4f5cbcc453158242a5b04a6befe8857cb9a800d6e235395e11c82ba85a55518be4e8d6c924257b3b6497d564928c65abfd43d2 SHA512 a81aaacbcce4f7258026a20633b402fb9039b7979ce344e608c768e753663cb4b2c9f7e1e51684003729a006b30f2026ed76b2e804f2f5d184911554f1395586
EBUILD firefox-105.0.2.ebuild 38137 BLAKE2B 49284b24dcbdc57d0408f33a84f36cc603c99a92713e9382b9b1639fce75ec5c29d023df7698ac2932a4885e15299c5edd2f7510ede70e7d45fdc740449962f3 SHA512 4b0a674f18d78e075918ee3d087e35f790a6c83e714a618ae9fdf54df4b3072317d078368b36f027c2e168eb7defaa28aaff217753c205039a0d9c01b2888173
+EBUILD firefox-106.0.ebuild 38042 BLAKE2B 1e4003ea71eda1e24cc3f4712bd38749ee7ae52edfde8ec3cd53f462bb6224604a299f62a168618f64af78d61c3fcb44fab931ab53e0b06dea2110c48c8d93c3 SHA512 989310f403880dc892c4ee4b6d381bbd3a0e814895a935c46f1d95a12b998b6ba0690008406d12aec51491d2312f417360c7c16382d8d6ffc8fcb8e8812b2cfd
MISC metadata.xml 2219 BLAKE2B 064f486eecd2a66ef4c9cccef46803f877039bf16bc40b699a48e28e04e816d0ad434ce65ae2e056e1a4126a67a7dd7eff16040276159c1f5aa8966b1c0d7b6c SHA512 522b09ffc2857553e240b1e7c82c11ccc281dd87c720c6292ec9314b91319e0a55ca2838f17e878f5c1e58e4f22caa1b0c3b90506b65b350beff06f3f397d897
diff --git a/www-client/firefox/firefox-106.0.ebuild b/www-client/firefox/firefox-106.0.ebuild
new file mode 100644
index 000000000000..bedbd980b08e
--- /dev/null
+++ b/www-client/firefox/firefox-106.0.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-01j.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
+}