summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoonas Niilola <juippis@gentoo.org>2022-01-11 22:29:44 +0200
committerJoonas Niilola <juippis@gentoo.org>2022-01-11 22:31:58 +0200
commit7a46f2e91e93ea080197fff32d4c53c2c581e584 (patch)
tree3ad45a61364aa109d15b8de3ca016913acd202e5 /www-client/firefox
parentwww-client/firefox-bin: add 96.0 (diff)
downloadgentoo-7a46f2e91e93ea080197fff32d4c53c2c581e584.tar.gz
gentoo-7a46f2e91e93ea080197fff32d4c53c2c581e584.tar.bz2
gentoo-7a46f2e91e93ea080197fff32d4c53c2c581e584.zip
www-client/firefox: add 91.5.0
Closes: https://bugs.gentoo.org/816975 Signed-off-by: Joonas Niilola <juippis@gentoo.org>
Diffstat (limited to 'www-client/firefox')
-rw-r--r--www-client/firefox/Manifest99
-rw-r--r--www-client/firefox/firefox-91.5.0.ebuild1235
2 files changed, 1334 insertions, 0 deletions
diff --git a/www-client/firefox/Manifest b/www-client/firefox/Manifest
index 2ea7428aabf2..885ed353f781 100644
--- a/www-client/firefox/Manifest
+++ b/www-client/firefox/Manifest
@@ -96,7 +96,106 @@ DIST firefox-91.4.0esr-xh.xpi 426318 BLAKE2B caa90a68a11059bab6d54800936f247c692
DIST firefox-91.4.0esr-zh-CN.xpi 571363 BLAKE2B 353648ce0c0b12a1e922e4169e4ed31e0dab3337a2e5fa53879e38aa454933cf4e76191da186053d888f755a1bca176e7e23d856f5b7aa9ca088e12a59791b0d SHA512 db04703780fe73b23025a984511f3e55189de663b563ed1c9dfb95de98e648842a623e5deac341fac9afd568b33f48ae574af8f5a49cbf808158551448deeaa8
DIST firefox-91.4.0esr-zh-TW.xpi 572071 BLAKE2B df9f18fa4cbede2324aaff48c503b58cbe97f07394a2ddc00c7bb2a8e9e8f2ef0608374d726274bcd3890a97bcabbcbd25b56fe14db67c8cbe15948b612d5ba3 SHA512 e279a726a6014b6c473c275c8c3a786714757ca63d6311637f42787f2c5bc2778b36bf46302b932ee1a9cf478ac6a8e29382a389d84c29621d62642365b07360
DIST firefox-91.4.0esr.source.tar.xz 379759164 BLAKE2B 073ad017a7a5569713bfea850d5572c6cc0e7c46dc3c89878a6405b024ee9a46453c8588b78d547f838b9d55a93a509a293f578a3ffac35b952e2bce84e931a7 SHA512 781bf62a0e1215cad7d90de7c822978997bfeaf71bde4e7124a732921d130762c6654417c708a299726039d1603ff5e0796106118ad4b2ddef4e9dac84887765
+DIST firefox-91.5.0esr-ach.xpi 453216 BLAKE2B e7415be969c9169f1f24679d29f327d46adf6a7f09b9ab42ea698fdec41b1aa2c65330f332a2d302a49c5ff5e5ba31a7a68ba783a6e6dc9557fef432ef97bbcb SHA512 e4dab51ad0884b5c173032e745a504762edb87f159da2807f1434f02a5c25e96e3f432ad692c3b6d3cc220b58bf1a8d9b26757621a113b7b380f48d5d4806678
+DIST firefox-91.5.0esr-af.xpi 426914 BLAKE2B 6bbe4abb4f8a42e1b4d74e16431f2d430ae71fc316906c0595fce1174f03ac4a4b43a96ef495194ebb7bdc9c4e913d75abb3630a23444b83dea57493034ad7cf SHA512 3e1c8d00503c6368dad6ddf30ff308c563bc95d6a783e3b63653a7ad502a2c51cc570e86abd6dc9b04bb98edd06cf84b702d5b01362b0affd13471403838504e
+DIST firefox-91.5.0esr-an.xpi 499889 BLAKE2B aba37b9426509a2532a26df5ca1c177855d2c87b739e4331a2db71a82bb976de397134176175b82a4715484aadfbf59a07896f7a5414e523bccecc8967f6cd4d SHA512 34e5879ed20489be240bf096babfc2f11a11e8e22009b66d2429100a29ea99a5b7001b5cd6c582409aae713dde69d7f3632089dc23edf1629d5479c63d446c03
+DIST firefox-91.5.0esr-ar.xpi 559669 BLAKE2B a14b57ebf530a17e279966b4a419506049ac8da05445afb58eb09b6db3ed11dc5afce89ff697ff4b83839e3b9c63d6c4c771f22b8b71173f5809cd59db2572de SHA512 9cc818be5abb864d2832b77540ab977ed5fb8792b8fe129bae52206c55c4945c3dddc71840e85eb680bdc0a7007b03adb22d10718a95f096b024fcace10aca80
+DIST firefox-91.5.0esr-ast.xpi 498569 BLAKE2B 0c6a5d2c110c1c674e6e6a81b6f6b7491a4d3f4efa4ced13242a8556347f20561301ddaa264b6ebf6fbc5153d687bbd78d168cfa8a98d3be71c65a2834af78cd SHA512 488c3dbc45297e8e2c833a1a046289dae410153ee7dbd851c061a01c326dd49901c81f17e10116b1c1fc5f29f1bd0de8ac24f94f98f06d9f3e00993194e22b39
+DIST firefox-91.5.0esr-az.xpi 489428 BLAKE2B 1f5ba04f1aa56bb33cf7d9aeb17c8a2136d74676a346a9ebb9bb31df5e2085fa4b2df60e5a7d3087aceb24ef6cf37c6ab18ae3176935cd7d815f76f67ddbbe9e SHA512 0361ed19d97e793290ecef57cec8d04e7771c45d98a16dfaf370cab27c277ef9a7df859f0dc2e6928fa8b31f02935f4430b9f0974859917a4d83ee491835cb2f
+DIST firefox-91.5.0esr-be.xpi 622600 BLAKE2B 0056f56b31c5e264dd47de8329f93e709435722559712d78705f3863c2a6e77141bd0ecd5f0226285f0cea9e0bea4343b55aff52942bfd263c077a38c47dad8e SHA512 456c6b192ca6695e8823b238efa47d0870841a8c5a5e4d66862efc4adcefebccf19544d3e75451c422e3ce814abcfb42bf434e550a789a606f1619a01427e578
+DIST firefox-91.5.0esr-bg.xpi 567631 BLAKE2B 0ea304e30b4faccd9e7b5f079dbc361ec6116df256bb9d5815ab7ee65cc09da8838575f6cf6efa68c51e1877ef3382a6d144b53634f278bb104f1f6af444f63d SHA512 22ef44834dbb45327bd48e13f53d073ef5b04995ee5e873bb65b8600c2b44a1de29056d95fab8d791d05559f5f5c6e5f25b3556fd88ec7682bbf60b1bebaf7cb
+DIST firefox-91.5.0esr-bn.xpi 556816 BLAKE2B aca1b181ae63a203b48a0f53ca9fef4ec5ac7fc026516ff952c45f0807c58c95092056edb1366bd8419c4a8b05bb8e74c97fefa73287395fef542381ce20fd55 SHA512 2ccf968af5e64d87060f948ee7e351e85d5337223efaf2792e91e361201842c28e19596ccf1918de046656464c34bf6b26daa9e0afeaf6bd813963e484aae758
+DIST firefox-91.5.0esr-br.xpi 526253 BLAKE2B 8b637bcd02b8e2e2a162f0181c33a23aa8985c6fcb1064448ee793b3a0bc6e1cc9a3051d796fe29dd793f79294d0cce3beb1fc4dc5eaed08c2a24d199b710877 SHA512 5bbe279ad4cf82096ed67dd30b3f4db3b5933ffbd99be7bf3266177826720e1d755a7566163f097dcd4294bb2afd76b60a79391c8791acc9b5d31b3e0a8dc723
+DIST firefox-91.5.0esr-bs.xpi 463551 BLAKE2B bfecdea1df7551b60e192133db53e91071f6c7e0be6357bc5211a0c80e7e1227906de98d709ceb14915a0512d2aa957e4d76249f4c6e5acc6b1bf37de8cd29c6 SHA512 0d550900212b7fe04dadc1852bd4bd94c7e237129038fa501f59a57137380f2c5dbce8bbddc0bc20ff22187be0d2fbad9294448c8764d6ce8b796487258b6bb6
+DIST firefox-91.5.0esr-ca-valencia.xpi 529395 BLAKE2B a5e3631884fc49494878bbe7fcd1f7e3805063cfc20c314c3e53ee63f39bf119eb22daf8446a252c8d55916c5efc74f0c7a7101cb93d82086ce6ef705186c5bc SHA512 dcf948775c05441bec6e6e43d744cc3be1d65eb02d10746b358b449e3f480840cefa737bf056446144cf90b85d6998fb0716722439b8487ac42cbc5ec31ea257
+DIST firefox-91.5.0esr-ca.xpi 532473 BLAKE2B d55c160f91f46b7279e2d5027fd288825fd0880e5ff155cf9412d0743a76bcc7cc9b30be0ca6e5635861bf1b3cfad853bdc330197569fc0a224adda2bb7915e1 SHA512 1170ef05aef578bcbcdbc9aecabfaadd604e1b9b2e7f432f8e4d8d74097eeab02e7fbfc26896e73a119e48ba431df36d7f3c080498ae70f025588e25a805170d
+DIST firefox-91.5.0esr-cak.xpi 552602 BLAKE2B 486296ff839e786e6d64499a371d59c6da61603c784e1d15a875ec35ba651ee971c290ee71bb6dffc0727ca94df9b445b983052dbac19f1ae913c486fc3eba47 SHA512 51c824142841d30e25bb66a193d77ba767335d89b5b789ab8208301760073214b535dd74e9bd4a840a0db0cb0ed509d166ac6531f726f657ac9d6cc715ee2326
+DIST firefox-91.5.0esr-cs.xpi 563172 BLAKE2B e4591b036f13585ed6a5599eab5ca00afe99c99773ca61cdf8f5f567c2940dc5e579894c5651e184d91c6e411d28afd8f50b840a2f318d9104c87406af110d00 SHA512 658b83996664e92fb85f78e1e6380a108a324f1e9f6d786884075b51b09fb3cd8276ebb098766ee7a4defd51d7997d000c06033b7f029a85a2837acea8942f72
+DIST firefox-91.5.0esr-cy.xpi 542214 BLAKE2B 41d93142910b9f010adf63913d5e5fe84444369a11d145361ba15de98ea8a8c1c5d7d997aaa94a5523bc5c1ff685d47b22590e5697a0e164871ef064d2d2bd8e SHA512 9eb53835948e62d824e31d48c6d3368d211895d09ae5bf08caf2026fb940ffb4d6ed3ed1ca5b9116dd3d9a255a77a9774db5c4d4a7f35f8d1d8648a2a871e41d
+DIST firefox-91.5.0esr-da.xpi 534155 BLAKE2B f3b24745010ede45ea1b3f55265eead4588487bdc2ccc0ed1758cf2db7e8c574ff61541414723b1f6cdd3216ca6f8111de5a005f5c2d57991ff664c1804c46a4 SHA512 7c703c80d2516ff792627533b53f99abe1eeb46eac603e3c0bf8b0bd183b40002322409e000d19bfe159337403282fc1d5d784bc77044b6e414aafe9502b35df
+DIST firefox-91.5.0esr-de.xpi 553584 BLAKE2B bbe3b25637f64fe73f5abf1e1a228970fbea38d19cb14f21640e7231d1435c58c026763a739c2cda390ee2506cbf904beb47771870b600d4ce675c042a101f9e SHA512 2cad54caf676b554d53f61708ae9c377bbf0e57ab28961c21ab3a49dda11d6946c71ffba0eac91a52815eb296f21b5467c676b1dd7604f3d2b76e06486b89246
+DIST firefox-91.5.0esr-dsb.xpi 566488 BLAKE2B 7815f46b5719ad66c0f45438dfc87552ddbe6b49d6e43f1681de00e1f7e8b10da81830e4eae7f77d1b5ba0cdcedc6370972b031a79234193e1f030f4875f01e7 SHA512 e2ccf6c00e4e9f937bd5e63d5fe378625013e9540457ff9b9995375330ebd5e3bd2d9a54fb72a41eb4698524cffb7a6c243fb78e2140cae07ad1c7d4ca376423
+DIST firefox-91.5.0esr-el.xpi 639146 BLAKE2B b95d5f1091438bdaa7b71f614584b5a108dc1feb904d31003d0e2da7b13173a362ad1c8908a79161d4d157f0fd39ffe5d4f976a1b5188834cd857d3cf5d44c57 SHA512 2097701a83a4bf0505b177c0a17fc1d2385d179a340a0ad684bcfd4e28df45417eb0d581abcb1511018db7b27ba4512cc9b8c89bd0900aad8c0b2bedcb8d3368
+DIST firefox-91.5.0esr-en-CA.xpi 509575 BLAKE2B 18ef5191755e98b7ef46680dcdc2f38cd0fb17f46a3cf9e20a8faf6aab2dcd269fef9e1b4d947434be78fb6555a88548c7d60c452d95e10700cf764b13ea791a SHA512 8c30571c5153b44bfc369708c717adf5e8cb4f991b24e65b810da90c37daea39aa1960fcc4db2068c17b9ef364581e3e344b5fba7502e7c849987ff6961984f6
+DIST firefox-91.5.0esr-en-GB.xpi 510586 BLAKE2B 2260ec4edeee2583880769896de4e1c35f8de26b2d12164b0cd3e11b1128c33cc79762e90cc335b29047fa869b0c52a3e7fc5aa252470bb11cb1986a2764361e SHA512 40549401c45213c0b05af012f639781ea896d70269ca10a46c61d41733ffa03be1eb33dd0435bafaff228bc017a1297edada2137202264788e400ffa5478b606
+DIST firefox-91.5.0esr-eo.xpi 534806 BLAKE2B 45a78c1a7968e18193880360b4603c35976cf36d3e9e8af1ff595b134209043fe83e16842630f3ccfae01b49a45a633997ad9394f43ad070466a2e83c472dd25 SHA512 61ef931eed7570837ed71d3646bea84a64d2c2260215bc08116013697576cf793b352a6f61efe420f9e2e43d14dea06ad1d5b10b3ec07f0c8cc6fad0cccd681b
+DIST firefox-91.5.0esr-es-AR.xpi 546672 BLAKE2B f8b24fa92d6280e1e08b451ad159a154aa9cdc9936f2dfb32975d087f31fcf22145fad6c19457217887903c1f59562869b433828f7548629b3c886d5b75a1ea8 SHA512 1a10743a05a028b0aff088cd8fe26a8af2774e1e0d41e716881a90443503e9ae46ed4207136c17f96a0d966d22768511c1eba66435535ddfedef48538b0830f7
+DIST firefox-91.5.0esr-es-CL.xpi 546370 BLAKE2B af33e08ae17405033b9d57b4079c125101b3be1673b511a558cf657ce5018047f7025daf9410ce5d5d42270c90fae4d3b9cc9e1fde56b52388859092b47da120 SHA512 53eebf548b165551571924eba633ffe56dc8d85cdb348a72366e884593c11880f6c7413586f1f6461888117bef5a3d330a84561ed045b1654fc9e9fd0e031f0f
+DIST firefox-91.5.0esr-es-ES.xpi 537058 BLAKE2B 74dff115847fec0f908d7d5b886a726296e05f8f8f1b64f1a26f828d62a973d9b59bec62736d35f1c823f007d7c8beaed30278382046f42f46431a1cdc2466a1 SHA512 11a956c9e794369835a7fa5ca00ac824d7863a560625bde79bd99bdfaa98e9171dea775bdda0b728ff97debb7496da209512f11af57be829ad1db9e8a30f3848
+DIST firefox-91.5.0esr-es-MX.xpi 549997 BLAKE2B 39048c3f1f2ad87dd38ed6b71bf27a3f7ea660b3ee0fb2ac1d632111ad49ea39af81a06631b4366913336cea2c2b7e677abce119f19f863d28e6cb36af5ecb9d SHA512 f166db871d3180cb596d29a5374ae7546b4c60ddb06498458e985169f496c579dd729e5b522bf877d83154c2fcc1556d4a6b766481e08aba6f4c0ff4ed9a6a3d
+DIST firefox-91.5.0esr-et.xpi 506659 BLAKE2B 39cad634a5f6573d4183cccafbe2b465d0766573ac430f8751fe7e29c1d50028d1860d8faf00feccf94f64f82ca74d52613b25c9365cffd11bfb19013040926a SHA512 801064f76437ef5c263503e79a0494703b81483282b437b482b9484239f8a66ca08337fcd8949b453053235d4c3700cf92415c6f63a272fb9d966cde97a23660
+DIST firefox-91.5.0esr-eu.xpi 536324 BLAKE2B 49e6f84b9b37453bb526b37d52b0b566b0bb1889942899053ba4f78a5d7fa3ded06e076ab8950d03b452c678970b00b698632f4acc4895727e4f0a57f73f7d51 SHA512 e075535f32b48d5aaf6c680b09d2b4a7a8b0ed61b43bdc2ae53990aa1092622cd757d1ba8d0c758f876d7d019807b504c634e0a18e3670427b6802178ec92f8c
+DIST firefox-91.5.0esr-fa.xpi 559373 BLAKE2B d6fdb6e4f111199122e7ef5bf3523037462d8336061c24cc8d7e61b113d2aa839a3d6529b277024701129d2ea8e53720175f04193e2367315f59ca677b6a53ec SHA512 73e534c7a7e58b977a5e6f1ee350b1e28a1ba15c0fcaea06c08afb925585573c672a72995937a519eedb0911f60e347984a07cf42e12e4bacf27519c1d4c692e
+DIST firefox-91.5.0esr-ff.xpi 471858 BLAKE2B e7f906d7f4a29714d5ebde980245784af60ecee9bd9e166fda0c86c212b80fe2e35ba8914924089e92c48fe58cd0c9982a0f3ebb516bef09de0b34a2f81c2685 SHA512 e65112c6255504d6936b8bf606e74dd96a26fb8a0fa9aca0e5847265094421f78e56a03ed063269564f8b93ef3480e51cc1cd4e1ee121640e8cb120e72eccf3e
+DIST firefox-91.5.0esr-fi.xpi 531490 BLAKE2B b2d19436a827de42ed8952a662d2e5294d1c4407d59b66eb167dd53d84a51bcec895dda0a3d080ab4666f3cc19b113f2b1a6fd51eb492bd310efb93aa77d607e SHA512 5c875c05749fd7720dcbfbf21959cf09cbd2e1ec381b1037c722174b37917eec5a176af450393daf855e2b53b3ad94467d99c5191f375c0e1c6010f97bd1a152
+DIST firefox-91.5.0esr-fr.xpi 557619 BLAKE2B 902264b285f6cbb8ca1ceb1e8783ff1cdd68ca398937e52ca1b2311c7c47812d716d30c41b1d55eb3b94b15a66e954ea3bdf7acdc6f3e6b01eb645338541a6fe SHA512 57bdad32b843addddaeed8d16c80d702a9e18c6231c37748bb193add0bb5a0b3969aa3f694e9720ca750cd9569564bbbb589d2d8e2038d963b4108de639aaf01
+DIST firefox-91.5.0esr-fy-NL.xpi 543294 BLAKE2B fb49cb153661ad8d6fa39424edeca9ebd65af4b97af0d51bb2fab70ad2a207636fede478b37f5f5b3a93427a5e9fc8d7d4e584c69aaf8a4e27fc36af1daa2b11 SHA512 91e297f80421d3f9a67e5432e65f86cbfcb91605185cec1523e9128554d7b8cae52b1c496d70571d4dd9511675ee5d62c5bbd42cca80a76c8d2de0d57a1a8a5c
+DIST firefox-91.5.0esr-ga-IE.xpi 459840 BLAKE2B f47a727647c289987102a3f348de8b414682a6d557f3898715a6437da446f8ad8ae2cc7395e9d65ba4b48fa3d7d3329bf5d9ecac9ed74f26c4415b8db9314822 SHA512 85bac99c639d23324fecb96790e5ad910bf706a0d65c3bdf1a3afb96fcbaa5ddc70c68113454f16a61fde4ffed251b53cb734182e2b30a7150695d0416d902e4
+DIST firefox-91.5.0esr-gd.xpi 530849 BLAKE2B 9bfbf41470aa3e15b3d7d82f5fb2a76ab9d752e44923bea9967f9941251edd4cf234f097e3f9e27d6bdabbb2a7712a44cfb3458c766a2ae91bb323d8089fd310 SHA512 f7c27188b6a26f417d40034a12e820f202000467e3017f0a1c3c38a4047ee5a11be7850af2744435099dfe4498ab83c695e5adb47b27759fe82d7a2eb822af2a
+DIST firefox-91.5.0esr-gl.xpi 541293 BLAKE2B 58be06b61e4a5d7e0ddde5c52a9d18395590206f7b5cfa72dd3904037886c51f1767ff68e6f17cdbea216c2ad7dbcf347cf6b067fe36a121ca05ce83e412d66f SHA512 f87cfd75f99b485eda1e46fb76ed09315a7530e16ec573f2cd5e8f665e5e47895dca8911ed875a9b07638e58dc1f3d3b2ead01e27f86ee0d9b64ee9b19df0a68
+DIST firefox-91.5.0esr-gn.xpi 557600 BLAKE2B 4b7cb28ee32b789f9e2dc37be14b428ffa146f3bf6ad393365b75abb33d1f0eb5a6a4c228f62519aa10e332c7d6ff73a3cf4427e2cf6728fa9ef0e50d6ac3903 SHA512 150224a91411d2c90f9881491d050e859bf3bf6c149242b7dccd922329d0879b852149faf3038e56b710444645984a6957fa25f10a73f7ec95398129ece19c72
+DIST firefox-91.5.0esr-gu-IN.xpi 529543 BLAKE2B bcd6285438e6c9b4fdfb5eb0b58eb5611066ccd7e4710f694bcde9c8dbce4983690c9a7d3b98435b94054011dcc28b7e780cf4c756c8a4689aca5a6c0ac9a3c4 SHA512 0859c78e38b0032f751a1b1868c8e3ca5be8391d551f3d98a118c880392eaa9b25041b808285324ce0bf476bc6405b8df5dcdf3691385e3e8d7756e56a69cc53
+DIST firefox-91.5.0esr-he.xpi 557198 BLAKE2B b53e250a4b9ee818bcda9c6e0fa5ebfa5cd835e5759654f89c176eff599520dbe48a5e6ee275c8a1b92ca323dcf49dedbd0b25624beee653758227f8f64c8ce4 SHA512 e9e67848034b23bdd92b8034ecae931a5306b520bf7aa60579aca681b8fdf3a66893997308263f372d0950fe193e1feea6f85fe41d90fe7ad810f94701200aa9
+DIST firefox-91.5.0esr-hi-IN.xpi 560647 BLAKE2B afd1242e62a39fb7e4e216fc3d9adee3069dada937c2251aa17adf033b2b94cdb1b9152f4403f51ef98b0699ce604a9f42db447ce6d49badd7e2b15fe5b1054b SHA512 0ac39af30c946292fafda094a7b1a54226bcc4f7b0d0d2f91647f826003612f2beb9e7e3fba944290678daa38f40d88012b9cbc39291fc755e5d1001da4a50eb
+DIST firefox-91.5.0esr-hr.xpi 530054 BLAKE2B 5d9a4b0295c35af84907fc365877c67e84a4fc57c2af98cb915254db6f78238f5755204b88c4612c34d83270537ab86c023413044c51336095a2f27152d21d5b SHA512 05a323b104d607dba5d4ab8638fef9dd73ff311a407b48524269aeef2aaf6f403df1b1482b9bced13f9bfed0cd071e47806eb01de3b598a96403728bef1838e5
+DIST firefox-91.5.0esr-hsb.xpi 562620 BLAKE2B 85c9f17ab7ecc33d635c80f2366213f4d483b295a4c023a8611a87d983c856d0d7f48e44ae655bcbb01995be87bb9bd704836a1b9e51313a70187b42beff1365 SHA512 b4af1a5ecf8b5948760e0dbdb9cef22fabce68cda6860776e7e37122628ba96b7aab57ce44b540fe019e0fdb62a8354534855cbc58a80cd4165c3afb71eb8aaf
+DIST firefox-91.5.0esr-hu.xpi 566070 BLAKE2B 63788aec80118e275678a281c4fdd7e1f59d567f1bf2bc10f29db9717f939be7b3becb96116256224a9612638d5f920b7b4fceea5cb21e1772d6c1d8a69dfe53 SHA512 e265b61a249ed744ad27344573bec3a6a44a1d2d92bc253799f22ddb9eb2ee8d5abdda7105d152c122281d66298d52f05e06e6ba97f2eee51138b892fdb196b3
+DIST firefox-91.5.0esr-hy-AM.xpi 579761 BLAKE2B 1264c414167f527628ffe4a344d46b18d6e5f48e0a542d90d98648552ccc53b3e0121124d8ec6cec9ea4b1fd5dc7865931547e3ae5234338d02f86700ab674aa SHA512 a4bbb015e83a985758fe34b5b9a70cdadb1d2834508e1f1302613fcb8029a44a19c485b2a025d993b72d16bd9fab02f33faf4e8f2609306e94a82d40053ab6c0
+DIST firefox-91.5.0esr-ia.xpi 532144 BLAKE2B 2f430ddf27a77ccbec84955fbc4991695706513837210319eae8158a0ef51e2f5b9837c482426c915c39a2546b71787b1df02d120aefd8b168d9879b7f69a9ff SHA512 5dbb5a8162d72eefd77fc6b53cf931cce75384efb513fd6d57e582df75b99d13a7034651042d3233e67555bc6c12b4b510aee1cd8fd9035df76d69a8234794e8
+DIST firefox-91.5.0esr-id.xpi 519833 BLAKE2B 79eb464e3895c0be241db1485692a7705e516479fe64338f943872db9e369bb274ada3c8ec449a26c0086eedc1d529bfbfb618b979d03994ec46d20073d930c8 SHA512 f9f20dc921efb40f8847dc777c4d2ed9c3bb06f4e8d369a248866fdd9d1ddf7a130be66f3323470e38873175cf25b13cf7a70965a447ccf71a9d188d8dc9f21b
+DIST firefox-91.5.0esr-is.xpi 470228 BLAKE2B 3e0a542a26c89eb19e39356791f12ad289bc32289ea461152247bacfb56482bb90e1a93d5e2dd50561d2fd88e8f3bf4a1837a804a3cc0179ebe4a809ecb300c3 SHA512 223c59578756ad381992f65aaa69eb0df66c0f1f1efd81c8ccca285d5155df16a6e4099d92e6f13f300a481799716c2c326400f0cd853718ffb75dabf8e9dc55
+DIST firefox-91.5.0esr-it.xpi 459081 BLAKE2B 2bd8f5fb1a65a4ff601dd32f83bf2621676a01021aeb4d19a48c74c9d8a9e6025d0ae4a218413541c7435096c8ca3734b55135c59433a2bf228ab048baaced4d SHA512 faea6fa173524599dbaccf44154d65e0efb276f413c8c7e1d0a9ddccd0dc5f7393c487b021aa9d71bf01923222de9d1e4068590da1eaf7fdb75af2e1fc48dd5f
+DIST firefox-91.5.0esr-ja.xpi 588071 BLAKE2B e7e3c95e4b34aa4a50d0eafe7fd19fba585d8247f35fec770aa7024d1e1409c03224a2daf5779c091efa1b430c219be61c7e3b6993cb6b3bb7d5accd5d066cae SHA512 c56c5d6f3a8cd93c1e8349d2e2ea258ea9ead1ec8b25a2d345ca60b0f91fbb31e1ddd3cbb93ec277bc2c23d37face447bc4bd614e4fd9cb632bd7d40763274e7
+DIST firefox-91.5.0esr-ka.xpi 592249 BLAKE2B 6e51a28303ad85b763977bfb029377ca07e1ea815c2da2909c1731a64b5c6258d24220038036f2d8161dd638cc83cd6434f3909832d70b16194e67aaffe7eeb1 SHA512 b7cd618db443b43d2401afec74bcf503c76585c6668c77a2a788be72a4be04ea6743570e518d213afab58bc27488c48e25d99a6ee4f9a3b70cb0b33f1fe2960e
+DIST firefox-91.5.0esr-kab.xpi 545025 BLAKE2B 391a09090a2983be636cf3253a09725e703976fe9be2ec28b5e857de2374cb296f3d4a57abfdcdfd3783c0e7a49be2dab49dfba0a9074da6986837af5c759b88 SHA512 616f3d5526b46e12ab12dc5368025464c0e0fd1b59bca69ca587e5334a33e250e9317a7d595e303fc284df729022cd3520de17e4c56c380ff5d0f47759ec46a7
+DIST firefox-91.5.0esr-kk.xpi 605554 BLAKE2B 3b464bc705f538165ae90529f3e1921b1c4ff5cb3c4df8c6ae5f943f0d43cf7cc7d3af2cee0c3b2560bccfd02c24fc63ae5df1cad8f2689d37e732a2d65e0930 SHA512 470604dba3522f7cfe9c2e0acd888f2dcedfee8eb04f4298f28b9b6f46288837c243d7d5e97409cbbc22a141d183bcf4b763c0baf82feb8c06cb038bb7e50a06
+DIST firefox-91.5.0esr-km.xpi 533105 BLAKE2B 63048c6894918f4446ba2481b0fd1801d705a9a575af8e1d9f1db0b423053651f5e04f59b9b7663a7762f440c0175699ba594f7728f249d685726447938aa4c2 SHA512 31296dbc51b58964008d419ce31bc37e7c98c6c27bd763d6b15f3ece0db403fd79546d545bdd980330de7809dd073247457db45de74e30e4d31c63ded83a22b9
+DIST firefox-91.5.0esr-kn.xpi 498972 BLAKE2B 8cfb8f1fa243426ee4dadf66f4b817b21a5f5c027904e011336ed1d0fb15f290ff3080b80bdc723e84eb9df848c739666ea315dc426506b85793e85d3cd6baf1 SHA512 aabfa509877f271ad6ffec07b5f8fe8fd3f11cf0020f36426f8e91d793afffc405957df29f3807d878c8b0c4929ff42082f6eac8cdc9b8edbec27ca3ada97a8e
+DIST firefox-91.5.0esr-ko.xpi 579063 BLAKE2B 2ee394c88ccd0a4b7b2d78acbb2db47623aada933f78d792ef307139872b98a9680a8929de1b254da5a266783efd11d81fc96e1d54a29c984043016d7e9030a8 SHA512 6c18eca694def01b3a48fc6d9a20b785790eb9dbb22484716c78dbd29512d27758347e4e04aabab869607f7edbd47309d6c85d298698c506ab409d715263200f
+DIST firefox-91.5.0esr-lij.xpi 470177 BLAKE2B 7db578e59a1df41f52e861b13ac424fef557bfa31926aca25a1d6490d731cdc86997ea826c9bdae9f6122a667986c5080b61e585a77cde5467b514f2a0b5ec2c SHA512 d660a7b34c6efb1676bb1a151165bc684c80aeb97d7b770e2b75685c3951eb08e8af8851e93364d4ef3b6c1506c8215434b69e0bfda4e5804e790d6556de3179
+DIST firefox-91.5.0esr-lt.xpi 560100 BLAKE2B c58832db62ad1e449f7f5d2876a2cba80be9bace6a470c91335d3493a806f7089377280a65753bf8f8ddcac64a4ce7bec13fda60d9f43c460b7bfb694e175b0b SHA512 2ebbe65180663c02ba615321ee2f3b90e073322f00d6484d0993da379c1d0930f2d559718cea148c0315158869890edbdd6e4a4ad723cbd2c3c3f6d9143124c9
+DIST firefox-91.5.0esr-lv.xpi 462450 BLAKE2B c4fa69b4a871f9f0668140a85dab1fe061138375b4eb05f35556c62ff8837e8728ee15259f4605494564b0a70e7860dd214ce41563db471a43a07107fa862d93 SHA512 8dabdfd7737445040dd053a7e41f5d643ca0e7259fa96c729c011d0337eb0f6e103a93fe6219a796e511154432ad6f8741bd7a382127dfe4f33595b76b404bc4
+DIST firefox-91.5.0esr-mk.xpi 465346 BLAKE2B ce9a01cc308575d50f252204ec192f3732410c491cab1ab848b5b36e82806176eea5fd2bf58fc389133bbdd991fd45e241c23d01087c354531172789c5990c5a SHA512 e0cef8e9f8a94c35de9d474fad20c9cea038de9a5c5fe2347bc63994ba5a2726e8b58c87066ec65d62eddd4b407a89d19e2a4da36864da1932f373755d801150
+DIST firefox-91.5.0esr-mr.xpi 532125 BLAKE2B b5e3066c724502b4975819c68186207e8abade9dff3ae65490d6f078c845d4c11b947aa3cbe1eda4552c55414a655c344a50b02e3cf7bfd1e79bedf27146b2db SHA512 83d5a70649f954a7f1e995e249f6f5d955735371ea1aaf5940d954e02ce0d47d8be646858e36e16f8d92e9968f68a6e914c8216ff391f4bbffddd1e003c838e4
+DIST firefox-91.5.0esr-ms.xpi 447347 BLAKE2B d782f28e9365cb6087aec5dd4069d1418af19889e5e8323fb941a81a0763f7086bef4758b4f08e36bca9e577809c2f00790df95fc16a00984c0d917e3fda8f5a SHA512 26b03bad5742d2a15b6e8d9bfeb02e7e53004308e573e5317d0c70ad61b974fd81df55a8256994a9a834dd19c17b4e8efdc6dcfeb92488217448806cbc691252
+DIST firefox-91.5.0esr-my.xpi 516305 BLAKE2B cbf9edb70d9e02e2705609e18df6a69db7224c62d01b37d9e77a20e0536676a1237dc4a1aefa9ed3a3d600628109f5a091dae10465ee5235706c7105567cbf3b SHA512 2d25af9ec3d6e659d28df1b943075d471c59d31121dec17b40d76db9d58ce5599bcc2c99607d197d238ec7d1a23eda790507b6ddb10cf684c0932bf402ffa681
+DIST firefox-91.5.0esr-nb-NO.xpi 529428 BLAKE2B 5968caf68ee9725df7493de10e38cd0bd62257cdd79b4615630a783e3da4d4f7de5af4786806d2c22118fe10a0e10fb7650f5fe47c6d9eeb78726c35f53cbc53 SHA512 aa7f3c0bfc19ee4bb411a8e2e7bf1c7ab99d9b43bfa0da14ebf4785985d8df85356c76e526c8ee44deea30c301e57c926cb67243b7abdb019bf3951150c8d489
+DIST firefox-91.5.0esr-ne-NP.xpi 485223 BLAKE2B de6ef37100f90fc4daad0713541426497619edff7077ae70d430da8d71d90ffa91f823fdc8e82de512b5c1d2c337eb1759b8121a4a10272551cd6d6e1364d049 SHA512 cfbc6e4c8a968cccd125dac232414a3ae24d5a038e5f9d293e355c94031f9a328e08fa4a84fdc538eb17e8d400d25e8d660ca5345be19ca51e10761c446ef6ea
+DIST firefox-91.5.0esr-nl.xpi 537389 BLAKE2B d40512862b2e4618cc3bc10f0689ad3fe5b7db044c2157fbe59747ccd7ccd6c65a616cdf6fada7634f25c9c53bf33f6475991b7f03097c7aa6e0f866da35095e SHA512 02258b95ec3672c48f8fbe4f53ba7301aa093acdc8d891298d10cbe6b98dce3b9eba20d3b14b0288bf3ac91cc132963c0f550b09fea4efbdd5f8c8cf79a32429
+DIST firefox-91.5.0esr-nn-NO.xpi 531679 BLAKE2B 2fef85112864be045f0342c9dc053e2c3d9f36ce53152df4d28e65bdf7a56ed20a6658442dc4f16fa969f0a831a451bbd01d5a4bc65ea399b072aa0720f54541 SHA512 35dfec9933b71537db3a9ec99de414d7b895affdc3387c0a1f8adb23a95fba59a1c81c094a9beab7fdebb8133b166a717249f42f857aefcee0d127f1fe35eb81
+DIST firefox-91.5.0esr-oc.xpi 552943 BLAKE2B 83e9495834e7ab9141fa838685db3630c27dfe97e67f6505f62095086c3c575af98e9363fc3a75413ad03c207dacfa199eee5a5487f6a68a9b311e54b486f286 SHA512 13a66fc0620235df77f5e044fd5c53fa8b67ca1586305aba04be18f8e37b9ac1c94b9114fa8d083fc51c172c74c11dfa7132da524bbf16a8a840d084dece75b7
+DIST firefox-91.5.0esr-pa-IN.xpi 595966 BLAKE2B 458085447f3755a9718a2c0cba6aa033591381916c31b9796a534ead98c2b18afc8befdffcba00174c006ac188429db907fcdb71efa9de003abd762970769e95 SHA512 8c807e3442d84171f598bf2a16d8f2619b744e9c97d06b7a07adc69367d84d785fe8bab25340033b9c13535c646851e008a81488c632012803c5b45497122599
+DIST firefox-91.5.0esr-pl.xpi 555616 BLAKE2B 6c894daa520e36b1e13b70ee58effde3225db45791e1d25c7b9aefb8e0bc0f2b4553a746be55654ae868094ebd2f912ea1b9661d2c626ace98bc644ed1f68213 SHA512 c4c8f6ebb6a15bf0b996424ba0a5087937e5afafe36c86652761aba0220538be95ad439e949890942a3d332496fb65b5cdb0fbefc72b37e98e760cbd3491efc7
+DIST firefox-91.5.0esr-pt-BR.xpi 542619 BLAKE2B 994f09d38273f2d71d7facf4e214de32d1022d835697a2bfddb3cf24c9acd527cc8a7fa08625d1e217f8fa0b182c13e3023dfc5300870705c2da64cc3c39a160 SHA512 5d3da7f18218cd00bf274ac7da2a5f702fd3cb5481f5134e4cdf64bfdb8f8a0a67174c13ccf8f39fbf053fa537637154a0ba9284abe9db7584570f5bf922570f
+DIST firefox-91.5.0esr-pt-PT.xpi 546342 BLAKE2B b02f1a8ab3e71f2ba19d9da1e86d21c06c7f7ee80b6b465c4534b39a90a84ec5c4e4c313a3c01267b587600130d58f7e875fd04a3fc3adf7aadaaad4a3891b3c SHA512 c4052e219cd6080e922337422595e4969a921b8624813d7e7f8144aaeb3d76e575fef2a8d67c69664a2e1f6ef6679ee143d8647997fb6df0da541568f8c60892
+DIST firefox-91.5.0esr-rm.xpi 537359 BLAKE2B 51b1edac81fcc4b26d5960a38812a97ade39b0e0f9a4b6c80f549af1b813ed91b3e1a47d504786ec37bda49d95923d8f2dafa9c18cba39e3025f9ff02cf4ee41 SHA512 4c59fdd8eacb247512c9fe8745c1b2bd3d7c198629253274e15ca72c9532db6c3bff2c2bdcbc9e21678ea1e02fd5e4e33b8f5c007b20dec3d2a8cb080e190ba9
+DIST firefox-91.5.0esr-ro.xpi 529330 BLAKE2B 6c6ab3efb866852b6afef3bbe8629d491313d0b9122c43db93bd35842b57dbf15c24b08401e6e091da4407c9d879b33cf44dadddf20d8123bb2c6f519f6f9785 SHA512 fc1b2d74678e5ae8cc4e2603e53fb40db7544122691fd452b448321074d477acc0a5370afe4a93b4b9247439f13e26179b1389b2f80c9d45ad46098d2f773a7f
+DIST firefox-91.5.0esr-ru.xpi 627114 BLAKE2B b36a89dce9087ed4062f30038cd1add644bd86f633e98732a55a57fb76036a3ce46322a9b60965db70a7cd6de7fcb6b26dc4ad1f5cee8d7d557f5c85df150071 SHA512 9f1f61b14546723f1865e4092f07cfc50f6f3f37f3f475cec36b201bcc3de96421b71fb39ff9e81eee4a7d1a4edd6eb8b16c826c3214b886fa9465ba8a61d18e
+DIST firefox-91.5.0esr-sco.xpi 504853 BLAKE2B e6513524aedb6b22138448dab2701282b62fe44f98425206506c1d181204f36caf96a16841be97677403edcef711ed05e6f4cbece9a2e5c51e92dedf0e34614b SHA512 11345a5c2df32023684fa19e098b3d960a84c266c392266d542615d7c844f8dadd2c480e9f78b2b675691b906510c9e80ceec6e05d6eb7bc8b0f18b21836cd0c
+DIST firefox-91.5.0esr-si.xpi 487953 BLAKE2B 68753d52e66ec7a68eb26e6aa68162bb288fa4122d539e0c9f39e709fc5eaa174be0890ea08fb6a7d8f42741f5770c8d9813bf0947077171ace9dc7a22c271c3 SHA512 a6a2e968e261a6f21fb86203060fbf7f70aa47ca400342c17ddf628314de0b7f5d253249a087a1e37a53435e8acfde03d1f8ee3b39b55584e4cf011125c164e7
+DIST firefox-91.5.0esr-sk.xpi 566475 BLAKE2B b1a2d22e86d72130ab78e88391cf1d27b15c372e5eaeab9716661fb75c942da6c24f9fbcecd2329e89b0d298c56457ffbcc6ded364b8e3801174888f6c24401b SHA512 0d5a1f6b15ed9af468fc0b2d08c4c7b27ecff27bd0ab71580f0ce3b72d0b840ce78e41c78ba602fa2e030a9d4af0002a3bab210e7afc04e3cad10b8ec20d8694
+DIST firefox-91.5.0esr-sl.xpi 538000 BLAKE2B 1c12952c43f48423c397ce78bc7b513db6e682f8c972b5af02eca6a49d9f2d261353581f8c4bf5b7ef6ca2954cd0489b9259b5c3667d7fd67dd459239072779d SHA512 7342c3af1b1e6b9fbbea2c9f5baa6ec7e5bf0bdb6d516132abd18273b74aa8f5d41f166e9a75a66e1617c441ed935f065024c985b6667b63fc399aae9958d5ab
+DIST firefox-91.5.0esr-son.xpi 425996 BLAKE2B 29a3958ab9b2727e9740efbb50b2dcd3cb71b2a4a3f74a1009df8b2ec4f560e041aa27dce50624aa841cdea2754e674682c02dc8b2b268b21a997520195327a7 SHA512 9fecccbef04684c1c8287efc310b4878bc3581e2855fd87f03dfbff084e2b90771604e4eb9d98af6f3ca956ba7f67311bf8ddcd63e11da2e76e62f5dfd0a099f
+DIST firefox-91.5.0esr-sq.xpi 555995 BLAKE2B 1a4f1b2b5eb6dc94cc092ac8a0a4d78b329e0eeae80f9c3a112381f850ddfb7d1945031bcbc52b8e261f2803a2de417883f3c01a1ad781d09583a10b090c32a8 SHA512 aa4335827dd3b0918998a4b90d91de0cf708c135418c5dbb036ea9b3aefba601bf83add13f617b37dde91bb140e18704f16a685f1814944d191c28bbf73f00a8
+DIST firefox-91.5.0esr-sr.xpi 586078 BLAKE2B 335dd200ccb2fe3b4c070f090958fe7dabea6b992e4d12e41e80ed5a90f7a3754c50967b1a37e91e8dff6ec6dc53a021496e84a427842f90eeebbc0acba3d49c SHA512 88e2e405b57e5bf757a838e1268fc882c5db106e634463efd4b66fa8a8a5d2b957501b1415e6cf74ea951a541f93b88eb82b5c69036b1f060c84fba7bce6ab75
+DIST firefox-91.5.0esr-sv-SE.xpi 539955 BLAKE2B e39f89a5026384bb03db5d2fecb624d83cca2ddbcbed7ec70cca4b36ffa1468048333002c1c17757fbb015f29c34b3d4a604280cf7444c02695c96e8184f9c3f SHA512 377e8b237b006aac40523b6a729c50dd93132b34d223f453caef1d90a93bd642d0f0a7766910dbd3cbdd4570ddbc025494bddefbde428e77fe70ee6b75b73c2b
+DIST firefox-91.5.0esr-szl.xpi 509806 BLAKE2B 031f7a36c22ab75939ba072ebe803ee9222dc279b2c56aa2b56f62df1ff8dd0c3f0ed298f2779a7a3cca886dcaa37c821be139c7326fb93428d40808c0b6d646 SHA512 39281223db52a5d64accb5879555d85e3052a4de188106b0d22061a56ddb195ce2cc9484505ce02930e75d986917eb681b2b25c7ea61a725ddf795accf21e6d2
+DIST firefox-91.5.0esr-ta.xpi 513810 BLAKE2B bf25feb662647a6feb62f1f8727a74bb7985881eb9f169a9d3c1af41d230befa88f89316597c0946c6085c73efdb546ff017c7666ebcc48d6a8513c4cd3f573d SHA512 95472ee6375791d36886ab949f3213389897ea4d69f56ee6e791ba33df6945899b8f01e3c165d29da2533551b2ddc5ee38feb41881cdc539ef646deec2823a2f
+DIST firefox-91.5.0esr-te.xpi 549961 BLAKE2B a18a9ce769c56a68098a9c04a55534fb3cce2e7d95d3eaae5d5f0102a46850e6292fd54eff7f0e58a1aaea474fbfc80b9df2c76a8f2fc214e033e3488658c3dd SHA512 9525b68fc44a2a566522cb25a62003156479a2423bd401f4b2256020449f09977f67c13e1e1e417882e5407a145c1068130197a5cb29dcc291fc17d8d4b3e21a
+DIST firefox-91.5.0esr-th.xpi 607069 BLAKE2B b46dca48f4e7eb25a5927978126ff5b358a60402f29ad0aaf31f2be159b67f2fe851ee71be5e0a7316c8c17a4c36d083fc0ef0134e9597338dba215464f28afe SHA512 b35ee20aebb312b9d0f39773a39a9d6aca059a055c0c37aa70c753e9d2f25681be296f03d27716237cceb71de4d47a49665dc643e998febb0fdfea5e1dadeed3
+DIST firefox-91.5.0esr-tl.xpi 516122 BLAKE2B 62205f702591e9e56a7c5c74187b0db59687a49533ef0ee2f84aa54712371c5973954dafb0d32d1d8d670e70d0bc45ea6a2249fea591da5e8d6ec9bd51374eb7 SHA512 67f5a2ce5cb39e6606266bd8a2e6e77a2980a047482a81435291422b95b07a859de323dbdf9e8d66dded0c7a55670befe09072e659370973d0e961306aa32621
+DIST firefox-91.5.0esr-tr.xpi 553676 BLAKE2B 8cbf9cf1099efe70a7ce4c76a49315226dd682fd9cddec537ce07e30902923efe2f7a94d1850dc4808b901f38f3d05b60adfbc594a84f1fb84ec0c8774f36141 SHA512 ebd0e4f4152150079548c6e3141f18b8424b659b1e5f564bf98ee0676e1317357bd593bc1024ada2c2d057d2a7d87127be23a593d853ae275430dc641e8a25ff
+DIST firefox-91.5.0esr-trs.xpi 491077 BLAKE2B 564cc84590d6446563fffad06f02307533321b61dfc9f0ae29c268cf5384253dd3d51a2f8b204ef3304c87e188100f81a3d30311c91854b0c647ba02caade160 SHA512 304ea942bf10bbd81dac3eeffe25f475108fe59bc968bbec02ca950048e14bd0cb368a97a8d458afddcb9b67c25ea496e68a7426d6376f8eb0089d847756c478
+DIST firefox-91.5.0esr-uk.xpi 620503 BLAKE2B baba57a90468bfc3026d6b2f47c896fee2545fb8fec8aa2a5f01b1161353577ddfdcef67b44f6142c6090b8f96c6b66e67469b03f16da90460a4272cb692b46b SHA512 e9d69be7952135f717c8da8c685ea7a522f11ff8b2b488da6151e5194b671484e9164161d901bade7485428dd01493a37bd2b791b9e6ffd840de9fde56c72065
+DIST firefox-91.5.0esr-ur.xpi 557319 BLAKE2B 94f59064a86659f6c1addff9a595efee75173dfb0e9ec6d173b733ec355c3339d28fbe4f37187948b5c98707d0afbf6df1ccba113b7d66a0a936006ba40cb2c9 SHA512 5c9837ded413789303f29ea469b9d795b049cbf7786125db5da6a130ff5db6075bb582e5f2b2e32926e11845e8027357e3861af73849f02b9f8ff86e4921e399
+DIST firefox-91.5.0esr-uz.xpi 466860 BLAKE2B 4b80b4f2a1a87b0d5778ec07e44983d21cf7c84b5ac8f33d442dc0b188f8c67d61043f753c603caad02c9284be7a157a80eb94cd227496a24ada00f5fbed43a6 SHA512 e953ff4966554ae8a0ec598c6e1b00a72983d0622e707039540658256dd4ee217473c55efe2804a70172840bd607a500c5596a332731ded00e1be8bd0815faf9
+DIST firefox-91.5.0esr-vi.xpi 573483 BLAKE2B 7b62675934fc36036e34df3f688ac47f1fe5bb49ed081bf539d1958e46f82f7c5ce19e28c453bb8d43d8cd1f39fd32ed857cabc1b36e5bcb69b7e0e76c0547d6 SHA512 1e3a81a9bedda193ba38cd39fbedad075f55a03ea17c1e2df252c33a846f0c4290d92ab3bb732effff200d25cecb183941ec8d6b2866c01c83e4496a1bf588f1
+DIST firefox-91.5.0esr-xh.xpi 428173 BLAKE2B 19495b818bbb365b85a74e0e869831b4a036062e8a0c15cef4e5598f156b5c9e842e70531256e471ca5f38e50c992ae1ab75272cf0d0960a958d9b83eab83bbe SHA512 248f7d3f8915988f2a5c4c9d934b3bf6e3f7878bba83c74df25f119b671a9b8c08915b8d25ba0cab9f5f68f3c1e7edbebcf84a441a230597158549712a4cdb2d
+DIST firefox-91.5.0esr-zh-CN.xpi 575372 BLAKE2B 4d36fbf718303541f7b7fa33c959f216486b3306d212e11f47d286dfd64e1e289c9c636b9d338a49df445ef12067bd194d9699a4bf312ef9223dcffbf81ef765 SHA512 e77f85970ce112fe5037affb3a3cf47fb6863574738716d405e946ecacd6d4c2156cb763c8a475236c80013925073d9de71d147cc690ead0ddad39908942c39b
+DIST firefox-91.5.0esr-zh-TW.xpi 576219 BLAKE2B f41e203e52e2bc1ca0b8e81229c435ca70bee102b84308b7913e90622656be15106b9b5100939157b4af45ca8afa32645818023b3a7c8153f12fcdc1115ebec7 SHA512 9f9838d4e063ae6255d0e89ab5822e13fbdde081014cda45e22457add5c4759dad11f88b2812e7cbeac5f8e0ae3745f2ac15d08e116be344f9c3b83a20174944
+DIST firefox-91.5.0esr.source.tar.xz 381371300 BLAKE2B 21b25ded0d0541d2a5c0964ffe5e28a3b238b5dac1c0969383f8a41cb6a0fff8522c4ccfbd1cd309a5c52be9377ca9af446949dd3d9923cf36ce0e6603ff520a SHA512 1712415b6b73c6a21edfefc39eaba5fcbbca54032f78627c0005d291501d16ef4daffb8b9a160d1d5361113ceba04eb5ddb21d903e3dd8d58838aa9596f2d781
DIST firefox-91esr-patches-03.tar.xz 17204 BLAKE2B 6ef1aa70708f9e5a5926f712d449bb40c86d449389a5d4c1730ada065d4af252b08cd17eafaee7cc01ea0c50c53b272c38a047760d3cf94ba34375ff77af534c SHA512 2c02a6ba36934f796a7b2d3ded0b68689ce4b21f21396004e829102bcc56e302c89357d18c4f353c62f45865dccde27230cdb016d99c42b3ae12b4e5a6a02e6d
+DIST firefox-91esr-patches-04.tar.xz 17460 BLAKE2B 305d8b0bc8a4115a76e459afd8bc7987bdde2e76d4564faf664a92a4c6a95c975ce599c5ddde9bdafc3c37ca5c8758e0ef815364d0ce4dd5fd452ddae73a77eb SHA512 6073b31bb898fe61d72435b11deacb5e93a1744227e4704bb3012e0cb363792f3a965d72e7769c4aae3a25f0c81247b287ce145c81bbd0a87470a5438fede11e
DIST firefox-95-patches-02.tar.xz 17220 BLAKE2B cf2c3e72c37800506252f31057cb719af7e5b8f8bc8257e1ff0a93164367dd90e7fc51f7290ca4870bad7b0d13c0dd3554fd44000f85989e275233842233138f SHA512 43f8092579ab30c2b2ae43269264713742e54ff6c4207583bcd97efb57936ddb407174e75d524e1a872dde834b1e0d3b985b31b66d858db277b135926d1442b1
DIST firefox-95.0.1-ach.xpi 450519 BLAKE2B 0b6dcb80640bf21a3c17c5ca531370873e15c7bb9252cf416779bcafbd006d3699f92c027766d11dbe0fe1594b3f78d06d6488f159dc54e17f9e8eb78b6be09a SHA512 a82a89ea29857e192e4265a4c48c7dd86eb20d10adc7d7a1e867d5452e049a8634c97b477520639b48e7fc65b092b4a0eb8dcb21f961895152d1edb75033eb12
DIST firefox-95.0.1-af.xpi 421586 BLAKE2B a788cbcddba0f0ed130353766a8c020a22895c64dcf22bb7a160a4235beff98e9ad6297f67737dec00ff29921eb6df61d2ebae02e6b5ad635cb050acb7bdfcd1 SHA512 feaae211061edfeb2b5c010615cac3df6043429b694e65e0aa9f0314d7d115a5a90ef574ce2432f3e04c33d0661639d694943a3660a160059bf6a3b9a65b238e
diff --git a/www-client/firefox/firefox-91.5.0.ebuild b/www-client/firefox/firefox-91.5.0.ebuild
new file mode 100644
index 000000000000..626ac54e86e6
--- /dev/null
+++ b/www-client/firefox/firefox-91.5.0.ebuild
@@ -0,0 +1,1235 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+FIREFOX_PATCHSET="firefox-91esr-patches-04.tar.xz"
+
+LLVM_MAX_SLOT=13
+
+PYTHON_COMPAT=( python3_{7..10} )
+PYTHON_REQ_USE="ncurses,sqlite,ssl"
+
+WANT_AUTOCONF="2.1"
+
+VIRTUALX_REQUIRED="pgo"
+
+MOZ_ESR=yes
+
+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,polynomial-c,whissi}/mozilla/patchsets/${FIREFOX_PATCHSET}
+)
+
+SRC_URI="${MOZ_SRC_BASE_URI}/source/${MOZ_P}.source.tar.xz -> ${MOZ_P_DISTFILES}.source.tar.xz
+ ${PATCH_URIS[@]}"
+
+DESCRIPTION="Firefox Web Browser"
+HOMEPAGE="https://www.mozilla.com/firefox"
+
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+
+SLOT="0/esr$(ver_cut 1)"
+LICENSE="MPL-2.0 GPL-2 LGPL-2.1"
+
+IUSE="+clang cpu_flags_arm_neon dbus debug eme-free hardened hwaccel"
+IUSE+=" jack lto +openh264 pgo pulseaudio sndio selinux"
+IUSE+=" +system-av1 +system-harfbuzz +system-icu +system-jpeg +system-libevent +system-libvpx system-png +system-webp"
+IUSE+=" wayland wifi"
+
+# Firefox-only IUSE
+IUSE+=" geckodriver"
+IUSE+=" +gmp-autoupdate"
+IUSE+=" screencast"
+
+REQUIRED_USE="debug? ( !system-av1 )
+ pgo? ( lto )
+ wifi? ( dbus )"
+
+# Firefox-only REQUIRED_USE flags
+REQUIRED_USE+=" screencast? ( wayland )"
+
+BDEPEND="${PYTHON_DEPS}
+ app-arch/unzip
+ app-arch/zip
+ >=dev-util/cbindgen-0.19.0
+ >=net-libs/nodejs-10.23.1
+ virtual/pkgconfig
+ >=virtual/rust-1.51.0
+ || (
+ (
+ sys-devel/clang:13
+ sys-devel/llvm:13
+ clang? (
+ =sys-devel/lld-13*
+ pgo? ( =sys-libs/compiler-rt-sanitizers-13*[profile] )
+ )
+ )
+ (
+ sys-devel/clang:12
+ sys-devel/llvm:12
+ clang? (
+ =sys-devel/lld-12*
+ pgo? ( =sys-libs/compiler-rt-sanitizers-12*[profile] )
+ )
+ )
+ (
+ sys-devel/clang:11
+ sys-devel/llvm:11
+ clang? (
+ =sys-devel/lld-11*
+ pgo? ( =sys-libs/compiler-rt-sanitizers-11*[profile] )
+ )
+ )
+ )
+ amd64? ( >=dev-lang/nasm-2.13 )
+ x86? ( >=dev-lang/nasm-2.13 )"
+
+CDEPEND="
+ >=dev-libs/nss-3.68
+ >=dev-libs/nspr-4.32
+ dev-libs/atk
+ dev-libs/expat
+ >=x11-libs/cairo-1.10[X]
+ >=x11-libs/gtk+-3.4.0:3[X]
+ x11-libs/gdk-pixbuf
+ >=x11-libs/pango-1.22.0
+ >=media-libs/mesa-10.2:*
+ media-libs/fontconfig
+ >=media-libs/freetype-2.4.10
+ kernel_linux? ( !pulseaudio? ( media-libs/alsa-lib ) )
+ virtual/freedesktop-icon-theme
+ >=x11-libs/pixman-0.19.2
+ >=dev-libs/glib-2.26:2
+ >=sys-libs/zlib-1.2.3
+ >=dev-libs/libffi-3.0.10:=
+ media-video/ffmpeg
+ x11-libs/libX11
+ x11-libs/libxcb
+ x11-libs/libXcomposite
+ x11-libs/libXdamage
+ x11-libs/libXext
+ x11-libs/libXfixes
+ x11-libs/libXrender
+ x11-libs/libXt
+ dbus? (
+ sys-apps/dbus
+ dev-libs/dbus-glib
+ )
+ screencast? ( media-video/pipewire:= )
+ system-av1? (
+ >=media-libs/dav1d-0.8.1:=
+ >=media-libs/libaom-1.0.0:=
+ )
+ system-harfbuzz? (
+ >=media-libs/harfbuzz-2.8.1:0=
+ >=media-gfx/graphite2-1.3.13
+ )
+ system-icu? ( >=dev-libs/icu-69.1:= )
+ system-jpeg? ( >=media-libs/libjpeg-turbo-1.2.1 )
+ system-libevent? ( >=dev-libs/libevent-2.0:0=[threads] )
+ system-libvpx? ( >=media-libs/libvpx-1.8.2:0=[postproc] )
+ system-png? ( >=media-libs/libpng-1.6.35:0=[apng] )
+ system-webp? ( >=media-libs/libwebp-1.1.0:0= )
+ wifi? (
+ kernel_linux? (
+ sys-apps/dbus
+ dev-libs/dbus-glib
+ net-misc/networkmanager
+ )
+ )
+ jack? ( virtual/jack )
+ selinux? ( sec-policy/selinux-mozilla )
+ sndio? ( media-sound/sndio )"
+
+RDEPEND="${CDEPEND}
+ jack? ( virtual/jack )
+ openh264? ( media-libs/openh264:*[plugin] )
+ pulseaudio? (
+ || (
+ media-sound/pulseaudio
+ >=media-sound/apulse-0.1.12-r4
+ )
+ )
+ selinux? ( sec-policy/selinux-mozilla )"
+
+DEPEND="${CDEPEND}
+ x11-libs/libICE
+ x11-libs/libSM
+ pulseaudio? (
+ || (
+ media-sound/pulseaudio
+ >=media-sound/apulse-0.1.12-r4[sdk]
+ )
+ )
+ wayland? ( >=x11-libs/gtk+-3.11:3[wayland] )
+ amd64? ( virtual/opengl )
+ x86? ( virtual/opengl )"
+
+S="${WORKDIR}/${PN}-${PV%_*}"
+
+# Allow MOZ_GMP_PLUGIN_LIST to be set in an eclass or
+# overridden in the enviromnent (advanced hackers only)
+if [[ -z "${MOZ_GMP_PLUGIN_LIST+set}" ]] ; then
+ MOZ_GMP_PLUGIN_LIST=( gmp-gmpopenh264 gmp-widevinecdm )
+fi
+
+llvm_check_deps() {
+ if ! has_version -b "sys-devel/clang:${LLVM_SLOT}" ; then
+ einfo "sys-devel/clang:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
+ return 1
+ fi
+
+ if use clang ; then
+ if ! has_version -b "=sys-devel/lld-${LLVM_SLOT}*" ; then
+ einfo "=sys-devel/lld-${LLVM_SLOT}* is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
+ return 1
+ fi
+
+ if use pgo ; then
+ if ! has_version -b "=sys-libs/compiler-rt-sanitizers-${LLVM_SLOT}*" ; then
+ einfo "=sys-libs/compiler-rt-sanitizers-${LLVM_SLOT}* is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
+ return 1
+ fi
+ fi
+ fi
+
+ einfo "Using LLVM slot ${LLVM_SLOT} to build" >&2
+}
+
+MOZ_LANGS=(
+ af ar ast be bg br ca cak cs cy da de dsb
+ el en-CA en-GB en-US es-AR es-ES et eu
+ fi fr fy-NL ga-IE gd gl he hr hsb hu
+ id is it ja ka kab kk ko lt lv ms nb-NO nl nn-NO
+ pa-IN pl pt-BR pt-PT rm ro ru
+ sk sl sq sr sv-SE th tr uk uz vi zh-CN zh-TW
+)
+
+# Firefox-only LANGS
+MOZ_LANGS+=( ach )
+MOZ_LANGS+=( an )
+MOZ_LANGS+=( az )
+MOZ_LANGS+=( bn )
+MOZ_LANGS+=( bs )
+MOZ_LANGS+=( ca-valencia )
+MOZ_LANGS+=( eo )
+MOZ_LANGS+=( es-CL )
+MOZ_LANGS+=( es-MX )
+MOZ_LANGS+=( fa )
+MOZ_LANGS+=( ff )
+MOZ_LANGS+=( gn )
+MOZ_LANGS+=( gu-IN )
+MOZ_LANGS+=( hi-IN )
+MOZ_LANGS+=( hy-AM )
+MOZ_LANGS+=( ia )
+MOZ_LANGS+=( km )
+MOZ_LANGS+=( kn )
+MOZ_LANGS+=( lij )
+MOZ_LANGS+=( mk )
+MOZ_LANGS+=( mr )
+MOZ_LANGS+=( my )
+MOZ_LANGS+=( ne-NP )
+MOZ_LANGS+=( oc )
+MOZ_LANGS+=( sco )
+MOZ_LANGS+=( si )
+MOZ_LANGS+=( son )
+MOZ_LANGS+=( szl )
+MOZ_LANGS+=( ta )
+MOZ_LANGS+=( te )
+MOZ_LANGS+=( tl )
+MOZ_LANGS+=( trs )
+MOZ_LANGS+=( ur )
+MOZ_LANGS+=( xh )
+
+mozilla_set_globals() {
+ # https://bugs.gentoo.org/587334
+ local MOZ_TOO_REGIONALIZED_FOR_L10N=(
+ fy-NL ga-IE gu-IN hi-IN hy-AM nb-NO ne-NP nn-NO pa-IN sv-SE
+ )
+
+ local lang xflag
+ for lang in "${MOZ_LANGS[@]}" ; do
+ # en and en_US are handled internally
+ if [[ ${lang} == en ]] || [[ ${lang} == en-US ]] ; then
+ continue
+ fi
+
+ # strip region subtag if $lang is in the list
+ if has ${lang} "${MOZ_TOO_REGIONALIZED_FOR_L10N[@]}" ; then
+ xflag=${lang%%-*}
+ else
+ xflag=${lang}
+ fi
+
+ SRC_URI+=" l10n_${xflag/[_@]/-}? ("
+ SRC_URI+=" ${MOZ_SRC_BASE_URI}/linux-x86_64/xpi/${lang}.xpi -> ${MOZ_P_DISTFILES}-${lang}.xpi"
+ SRC_URI+=" )"
+ IUSE+=" l10n_${xflag/[_@]/-}"
+ done
+}
+mozilla_set_globals
+
+moz_clear_vendor_checksums() {
+ debug-print-function ${FUNCNAME} "$@"
+
+ if [[ ${#} -ne 1 ]] ; then
+ die "${FUNCNAME} requires exact one argument"
+ fi
+
+ einfo "Clearing cargo checksums for ${1} ..."
+
+ sed -i \
+ -e 's/\("files":{\)[^}]*/\1/' \
+ "${S}"/third_party/rust/${1}/.cargo-checksum.json \
+ || die
+}
+
+moz_install_xpi() {
+ debug-print-function ${FUNCNAME} "$@"
+
+ if [[ ${#} -lt 2 ]] ; then
+ die "${FUNCNAME} requires at least two arguments"
+ fi
+
+ local DESTDIR=${1}
+ shift
+
+ insinto "${DESTDIR}"
+
+ local emid xpi_file xpi_tmp_dir
+ for xpi_file in "${@}" ; do
+ emid=
+ xpi_tmp_dir=$(mktemp -d --tmpdir="${T}")
+
+ # Unpack XPI
+ unzip -qq "${xpi_file}" -d "${xpi_tmp_dir}" || die
+
+ # Determine extension ID
+ if [[ -f "${xpi_tmp_dir}/install.rdf" ]] ; then
+ emid=$(sed -n -e '/install-manifest/,$ { /em:id/!d; s/.*[\">]\([^\"<>]*\)[\"<].*/\1/; p; q }' "${xpi_tmp_dir}/install.rdf")
+ [[ -z "${emid}" ]] && die "failed to determine extension id from install.rdf"
+ elif [[ -f "${xpi_tmp_dir}/manifest.json" ]] ; then
+ emid=$(sed -n -e 's/.*"id": "\([^"]*\)".*/\1/p' "${xpi_tmp_dir}/manifest.json")
+ [[ -z "${emid}" ]] && die "failed to determine extension id from manifest.json"
+ else
+ die "failed to determine extension id"
+ fi
+
+ einfo "Installing ${emid}.xpi into ${ED}${DESTDIR} ..."
+ newins "${xpi_file}" "${emid}.xpi"
+ done
+}
+
+mozconfig_add_options_ac() {
+ debug-print-function ${FUNCNAME} "$@"
+
+ if [[ ${#} -lt 2 ]] ; then
+ die "${FUNCNAME} requires at least two arguments"
+ fi
+
+ local reason=${1}
+ shift
+
+ local option
+ for option in ${@} ; do
+ echo "ac_add_options ${option} # ${reason}" >>${MOZCONFIG}
+ done
+}
+
+mozconfig_add_options_mk() {
+ debug-print-function ${FUNCNAME} "$@"
+
+ if [[ ${#} -lt 2 ]] ; then
+ die "${FUNCNAME} requires at least two arguments"
+ fi
+
+ local reason=${1}
+ shift
+
+ local option
+ for option in ${@} ; do
+ echo "mk_add_options ${option} # ${reason}" >>${MOZCONFIG}
+ done
+}
+
+mozconfig_use_enable() {
+ debug-print-function ${FUNCNAME} "$@"
+
+ if [[ ${#} -lt 1 ]] ; then
+ die "${FUNCNAME} requires at least one arguments"
+ fi
+
+ local flag=$(use_enable "${@}")
+ mozconfig_add_options_ac "$(use ${1} && echo +${1} || echo -${1})" "${flag}"
+}
+
+mozconfig_use_with() {
+ debug-print-function ${FUNCNAME} "$@"
+
+ if [[ ${#} -lt 1 ]] ; then
+ die "${FUNCNAME} requires at least one arguments"
+ fi
+
+ local flag=$(use_with "${@}")
+ mozconfig_add_options_ac "$(use ${1} && echo +${1} || echo -${1})" "${flag}"
+}
+
+pkg_pretend() {
+ if [[ ${MERGE_TYPE} != binary ]] ; then
+ if use pgo ; then
+ if ! has usersandbox $FEATURES ; then
+ die "You must enable usersandbox as X server can not run as root!"
+ fi
+ fi
+
+ # Ensure we have enough disk space to compile
+ if use pgo || use lto || use debug ; then
+ CHECKREQS_DISK_BUILD="13500M"
+ else
+ CHECKREQS_DISK_BUILD="6400M"
+ fi
+
+ check-reqs_pkg_pretend
+ fi
+}
+
+pkg_setup() {
+ if [[ ${MERGE_TYPE} != binary ]] ; then
+ if use pgo ; then
+ if ! has userpriv ${FEATURES} ; then
+ eerror "Building ${PN} with USE=pgo and FEATURES=-userpriv is not supported!"
+ fi
+ fi
+
+ # Ensure we have enough disk space to compile
+ if use pgo || use lto || use debug ; then
+ CHECKREQS_DISK_BUILD="13500M"
+ else
+ CHECKREQS_DISK_BUILD="6400M"
+ fi
+
+ check-reqs_pkg_setup
+
+ llvm_pkg_setup
+
+ if use clang && use lto ; then
+ local version_lld=$(ld.lld --version 2>/dev/null | awk '{ print $2 }')
+ [[ -n ${version_lld} ]] && version_lld=$(ver_cut 1 "${version_lld}")
+ [[ -z ${version_lld} ]] && die "Failed to read ld.lld version!"
+
+ # temp fix for https://bugs.gentoo.org/768543
+ # we can assume that rust 1.{49,50}.0 always uses llvm 11
+ local version_rust=$(rustc -Vv 2>/dev/null | grep -F -- 'release:' | awk '{ print $2 }')
+ [[ -n ${version_rust} ]] && version_rust=$(ver_cut 1-2 "${version_rust}")
+ [[ -z ${version_rust} ]] && die "Failed to read version from rustc!"
+
+ if ver_test "${version_rust}" -ge "1.49" && ver_test "${version_rust}" -le "1.50" ; then
+ local version_llvm_rust="11"
+ else
+ local version_llvm_rust=$(rustc -Vv 2>/dev/null | grep -F -- 'LLVM version:' | awk '{ print $3 }')
+ [[ -n ${version_llvm_rust} ]] && version_llvm_rust=$(ver_cut 1 "${version_llvm_rust}")
+ [[ -z ${version_llvm_rust} ]] && die "Failed to read used LLVM version from rustc!"
+ fi
+
+ if ver_test "${version_lld}" -ne "${version_llvm_rust}" ; then
+ eerror "Rust is using LLVM version ${version_llvm_rust} but ld.lld version belongs to LLVM version ${version_lld}."
+ eerror "You will be unable to link ${CATEGORY}/${PN}. To proceed you have the following options:"
+ eerror " - Manually switch rust version using 'eselect rust' to match used LLVM version"
+ eerror " - Switch to dev-lang/rust[system-llvm] which will guarantee matching version"
+ eerror " - Build ${CATEGORY}/${PN} without USE=lto"
+ die "LLVM version used by Rust (${version_llvm_rust}) does not match with ld.lld version (${version_lld})!"
+ fi
+ fi
+
+ if ! use clang && [[ $(gcc-major-version) -eq 11 ]] \
+ && ! has_version -b ">sys-devel/gcc-11.1.0:11" ; then
+ # bug 792705
+ eerror "Using GCC 11 to compile firefox is currently known to be broken (see bug #792705)."
+ die "Set USE=clang or select <gcc-11 to build ${CATEGORY}/${P}."
+ fi
+
+ python-any-r1_pkg_setup
+
+ # Avoid PGO profiling problems due to enviroment leakage
+ # These should *always* be cleaned up anyway
+ unset \
+ DBUS_SESSION_BUS_ADDRESS \
+ DISPLAY \
+ ORBIT_SOCKETDIR \
+ SESSION_MANAGER \
+ XAUTHORITY \
+ XDG_CACHE_HOME \
+ XDG_SESSION_COOKIE
+
+ # Build system is using /proc/self/oom_score_adj, bug #604394
+ addpredict /proc/self/oom_score_adj
+
+ if use pgo ; then
+ # 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
+ eapply "${WORKDIR}/firefox-patches"
+
+ # Allow user to apply any additional patches without modifing ebuild
+ eapply_user
+
+ # Make LTO respect MAKEOPTS
+ sed -i \
+ -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \
+ "${S}"/build/moz.configure/lto-pgo.configure \
+ || die "sed failed to set num_cores"
+
+ # Make ICU respect MAKEOPTS
+ sed -i \
+ -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \
+ "${S}"/intl/icu_sources_data.py \
+ || die "sed failed to set num_cores"
+
+ # sed-in toolchain prefix
+ sed -i \
+ -e "s/objdump/${CHOST}-objdump/" \
+ "${S}"/python/mozbuild/mozbuild/configure/check_debug_ranges.py \
+ || die "sed failed to set toolchain prefix"
+
+ sed -i \
+ -e 's/ccache_stats = None/return None/' \
+ "${S}"/python/mozbuild/mozbuild/controller/building.py \
+ || die "sed failed to disable ccache stats call"
+
+ einfo "Removing pre-built binaries ..."
+ find "${S}"/third_party -type f \( -name '*.so' -o -name '*.o' \) -print -delete || die
+
+ # Clearing checksums where we have applied patches
+ moz_clear_vendor_checksums target-lexicon-0.9.0
+
+ # Create build dir
+ BUILD_DIR="${WORKDIR}/${PN}_build"
+ mkdir -p "${BUILD_DIR}" || die
+
+ # Write API keys to disk
+ echo -n "${MOZ_API_KEY_GOOGLE//gGaPi/}" > "${S}"/api-google.key || die
+ echo -n "${MOZ_API_KEY_LOCATION//gGaPi/}" > "${S}"/api-location.key || die
+ echo -n "${MOZ_API_KEY_MOZILLA//m0ap1/}" > "${S}"/api-mozilla.key || die
+
+ xdg_src_prepare
+}
+
+src_configure() {
+ # Show flags set at the beginning
+ einfo "Current BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}"
+ einfo "Current CFLAGS:\t\t${CFLAGS:-no value set}"
+ einfo "Current CXXFLAGS:\t\t${CXXFLAGS:-no value set}"
+ einfo "Current LDFLAGS:\t\t${LDFLAGS:-no value set}"
+ einfo "Current RUSTFLAGS:\t\t${RUSTFLAGS:-no value set}"
+
+ local have_switched_compiler=
+ if use clang && ! tc-is-clang ; then
+ # Force clang
+ einfo "Enforcing the use of clang due to USE=clang ..."
+ have_switched_compiler=yes
+ AR=llvm-ar
+ CC=${CHOST}-clang
+ CXX=${CHOST}-clang++
+ NM=llvm-nm
+ RANLIB=llvm-ranlib
+ elif ! use clang && ! tc-is-gcc ; then
+ # Force gcc
+ have_switched_compiler=yes
+ einfo "Enforcing the use of gcc due to USE=-clang ..."
+ AR=gcc-ar
+ CC=${CHOST}-gcc
+ CXX=${CHOST}-g++
+ NM=gcc-nm
+ RANLIB=gcc-ranlib
+ fi
+
+ if [[ -n "${have_switched_compiler}" ]] ; then
+ # Because we switched active compiler we have to ensure
+ # that no unsupported flags are set
+ strip-unsupported-flags
+ fi
+
+ # Ensure we use correct toolchain
+ export HOST_CC="$(tc-getBUILD_CC)"
+ export HOST_CXX="$(tc-getBUILD_CXX)"
+ tc-export CC CXX LD AR NM OBJDUMP RANLIB PKG_CONFIG
+
+ # Pass the correct toolchain paths through cbindgen
+ if tc-is-cross-compiler ; then
+ export BINDGEN_CFLAGS="${SYSROOT:+--sysroot=${ESYSROOT}} --target=${CHOST} ${BINDGEN_CFLAGS-}"
+ fi
+
+ # Set MOZILLA_FIVE_HOME
+ export MOZILLA_FIVE_HOME="/usr/$(get_libdir)/${PN}"
+
+ # python/mach/mach/mixin/process.py fails to detect SHELL
+ export SHELL="${EPREFIX}/bin/bash"
+
+ # Set state path
+ export MOZBUILD_STATE_PATH="${BUILD_DIR}"
+
+ # Set MOZCONFIG
+ export MOZCONFIG="${S}/.mozconfig"
+
+ # Initialize MOZCONFIG
+ mozconfig_add_options_ac '' --enable-application=browser
+
+ # Set Gentoo defaults
+ export MOZILLA_OFFICIAL=1
+
+ mozconfig_add_options_ac 'Gentoo default' \
+ --allow-addon-sideload \
+ --disable-cargo-incremental \
+ --disable-crashreporter \
+ --disable-install-strip \
+ --disable-strip \
+ --disable-updater \
+ --enable-official-branding \
+ --enable-release \
+ --enable-system-ffi \
+ --enable-system-pixman \
+ --host="${CBUILD:-${CHOST}}" \
+ --libdir="${EPREFIX}/usr/$(get_libdir)" \
+ --prefix="${EPREFIX}/usr" \
+ --target="${CHOST}" \
+ --without-ccache \
+ --with-intl-api \
+ --with-libclang-path="$(llvm-config --libdir)" \
+ --with-system-nspr \
+ --with-system-nss \
+ --with-system-zlib \
+ --with-toolchain-prefix="${CHOST}-" \
+ --with-unsigned-addon-scopes=app,system \
+ --x-includes="${SYSROOT}${EPREFIX}/usr/include" \
+ --x-libraries="${SYSROOT}${EPREFIX}/usr/$(get_libdir)"
+
+ # Set update channel
+ local update_channel=release
+ [[ -n ${MOZ_ESR} ]] && update_channel=esr
+ mozconfig_add_options_ac '' --update-channel=${update_channel}
+
+ if ! use x86 && [[ ${CHOST} != armv*h* ]] ; then
+ mozconfig_add_options_ac '' --enable-rust-simd
+ fi
+
+ if [[ -s "${S}/api-google.key" ]] ; then
+ local key_origin="Gentoo default"
+ if [[ $(cat "${S}/api-google.key" | md5sum | awk '{ print $1 }') != 709560c02f94b41f9ad2c49207be6c54 ]] ; then
+ key_origin="User value"
+ fi
+
+ mozconfig_add_options_ac "${key_origin}" \
+ --with-google-safebrowsing-api-keyfile="${S}/api-google.key"
+ else
+ einfo "Building without Google API key ..."
+ fi
+
+ if [[ -s "${S}/api-location.key" ]] ; then
+ local key_origin="Gentoo default"
+ if [[ $(cat "${S}/api-location.key" | md5sum | awk '{ print $1 }') != ffb7895e35dedf832eb1c5d420ac7420 ]] ; then
+ key_origin="User value"
+ fi
+
+ mozconfig_add_options_ac "${key_origin}" \
+ --with-google-location-service-api-keyfile="${S}/api-location.key"
+ else
+ einfo "Building without Location API key ..."
+ fi
+
+ if [[ -s "${S}/api-mozilla.key" ]] ; then
+ local key_origin="Gentoo default"
+ if [[ $(cat "${S}/api-mozilla.key" | md5sum | awk '{ print $1 }') != 3927726e9442a8e8fa0e46ccc39caa27 ]] ; then
+ key_origin="User value"
+ fi
+
+ mozconfig_add_options_ac "${key_origin}" \
+ --with-mozilla-api-keyfile="${S}/api-mozilla.key"
+ else
+ einfo "Building without Mozilla API key ..."
+ fi
+
+ mozconfig_use_with system-av1
+ mozconfig_use_with system-harfbuzz
+ mozconfig_use_with system-harfbuzz system-graphite2
+ mozconfig_use_with system-icu
+ mozconfig_use_with system-jpeg
+ mozconfig_use_with system-libevent system-libevent "${SYSROOT}${EPREFIX}/usr"
+ mozconfig_use_with system-libvpx
+ mozconfig_use_with system-png
+ mozconfig_use_with system-webp
+
+ mozconfig_use_enable dbus
+
+ use eme-free && mozconfig_add_options_ac '+eme-free' --disable-eme
+
+ mozconfig_use_enable geckodriver
+
+ if use hardened ; then
+ mozconfig_add_options_ac "+hardened" --enable-hardening
+ append-ldflags "-Wl,-z,relro -Wl,-z,now"
+ fi
+
+ mozconfig_use_enable jack
+
+ mozconfig_use_enable pulseaudio
+ # force the deprecated alsa sound code if pulseaudio is disabled
+ if use kernel_linux && ! use pulseaudio ; then
+ mozconfig_add_options_ac '-pulseaudio' --enable-alsa
+ fi
+
+ mozconfig_use_enable sndio
+
+ mozconfig_use_enable wifi necko-wifi
+
+ if use wayland ; then
+ mozconfig_add_options_ac '+wayland' --enable-default-toolkit=cairo-gtk3-wayland
+ else
+ mozconfig_add_options_ac '' --enable-default-toolkit=cairo-gtk3
+ fi
+
+ if use lto ; then
+ if use clang ; then
+ # Upstream only supports lld when using clang
+ mozconfig_add_options_ac "forcing ld=lld due to USE=clang and USE=lto" --enable-linker=lld
+
+ mozconfig_add_options_ac '+lto' --enable-lto=cross
+ else
+ # ld.gold is known to fail:
+ # /usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../x86_64-pc-linux-gnu/bin/ld.gold: internal error in set_xindex, at /var/tmp/portage/sys-devel/binutils-2.37_p1-r1/work/binutils-2.37/gold/object.h:1050
+
+ # 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 tc-ld-is-gold || use lto ; then
+ append-ldflags -Wl,--no-keep-memory
+ else
+ append-ldflags -Wl,--no-keep-memory -Wl,--reduce-memory-overheads
+ fi
+ ;;
+ esac
+
+ if ! use elibc_glibc ; then
+ mozconfig_add_options_ac '!elibc_glibc' --disable-jemalloc
+ fi
+
+ # Allow elfhack to work in combination with unstripped binaries
+ # when they would normally be larger than 2GiB.
+ append-ldflags "-Wl,--compress-debug-sections=zlib"
+
+ # Make revdep-rebuild.sh happy; Also required for musl
+ append-ldflags -Wl,-rpath="${MOZILLA_FIVE_HOME}",--enable-new-dtags
+
+ # Pass $MAKEOPTS to build system
+ export MOZ_MAKE_FLAGS="${MAKEOPTS}"
+
+ # Use system's Python environment
+ export MACH_USE_SYSTEM_PYTHON=1
+ export PIP_NO_CACHE_DIR=off
+
+ # Disable notification when build system has finished
+ export MOZ_NOSPAM=1
+
+ # Portage sets XARGS environment variable to "xargs -r" by default which
+ # breaks build system's check_prog() function which doesn't support arguments
+ mozconfig_add_options_ac 'Gentoo default' "XARGS=${EPREFIX}/usr/bin/xargs"
+
+ # Set build dir
+ mozconfig_add_options_mk 'Gentoo default' "MOZ_OBJDIR=${BUILD_DIR}"
+
+ # Show flags we will use
+ einfo "Build BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}"
+ einfo "Build CFLAGS:\t\t${CFLAGS:-no value set}"
+ einfo "Build CXXFLAGS:\t\t${CXXFLAGS:-no value set}"
+ einfo "Build LDFLAGS:\t\t${LDFLAGS:-no value set}"
+ einfo "Build RUSTFLAGS:\t\t${RUSTFLAGS:-no value set}"
+
+ # Handle EXTRA_CONF and show summary
+ local ac opt hash reason
+
+ # Apply EXTRA_ECONF entries to $MOZCONFIG
+ if [[ -n ${EXTRA_ECONF} ]] ; then
+ IFS=\! read -a ac <<<${EXTRA_ECONF// --/\!}
+ for opt in "${ac[@]}"; do
+ mozconfig_add_options_ac "EXTRA_ECONF" --${opt#--}
+ done
+ fi
+
+ echo
+ echo "=========================================================="
+ echo "Building ${PF} with the following configuration"
+ grep ^ac_add_options "${MOZCONFIG}" | while read ac opt hash reason; do
+ [[ -z ${hash} || ${hash} == \# ]] \
+ || die "error reading mozconfig: ${ac} ${opt} ${hash} ${reason}"
+ printf " %-30s %s\n" "${opt}" "${reason:-mozilla.org default}"
+ done
+ echo "=========================================================="
+ echo
+
+ ./mach configure || die
+}
+
+src_compile() {
+ local virtx_cmd=
+
+ if use pgo ; then
+ virtx_cmd=virtx
+
+ # Reset and cleanup environment variables used by GNOME/XDG
+ gnome2_environment_reset
+
+ addpredict /root
+ fi
+
+ local -x GDK_BACKEND=x11
+
+ ${virtx_cmd} ./mach build --verbose \
+ || die
+}
+
+src_install() {
+ # xpcshell is getting called during install
+ pax-mark m \
+ "${BUILD_DIR}"/dist/bin/xpcshell \
+ "${BUILD_DIR}"/dist/bin/${PN} \
+ "${BUILD_DIR}"/dist/bin/plugin-container
+
+ DESTDIR="${D}" ./mach install || die
+
+ # Upstream cannot ship symlink but we can (bmo#658850)
+ rm "${ED}${MOZILLA_FIVE_HOME}/${PN}-bin" || die
+ dosym ${PN} ${MOZILLA_FIVE_HOME}/${PN}-bin
+
+ # Don't install llvm-symbolizer from sys-devel/llvm package
+ if [[ -f "${ED}${MOZILLA_FIVE_HOME}/llvm-symbolizer" ]] ; then
+ rm -v "${ED}${MOZILLA_FIVE_HOME}/llvm-symbolizer" || die
+ fi
+
+ # Install policy (currently only used to disable application updates)
+ insinto "${MOZILLA_FIVE_HOME}/distribution"
+ newins "${FILESDIR}"/distribution.ini distribution.ini
+ newins "${FILESDIR}"/disable-auto-update.policy.json policies.json
+
+ # Install system-wide preferences
+ local PREFS_DIR="${MOZILLA_FIVE_HOME}/browser/defaults/preferences"
+ insinto "${PREFS_DIR}"
+ newins "${FILESDIR}"/gentoo-default-prefs.js gentoo-prefs.js
+
+ local GENTOO_PREFS="${ED}${PREFS_DIR}/gentoo-prefs.js"
+
+ # Set dictionary path to use system hunspell
+ cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set spellchecker.dictionary_path pref"
+ pref("spellchecker.dictionary_path", "${EPREFIX}/usr/share/myspell");
+ EOF
+
+ # Force hwaccel prefs if USE=hwaccel is enabled
+ if use hwaccel ; then
+ cat "${FILESDIR}"/gentoo-hwaccel-prefs.js \
+ >>"${GENTOO_PREFS}" \
+ || die "failed to add prefs to force hardware-accelerated rendering to all-gentoo.js"
+ fi
+
+ if ! use gmp-autoupdate ; then
+ local plugin
+ for plugin in "${MOZ_GMP_PLUGIN_LIST[@]}" ; do
+ einfo "Disabling auto-update for ${plugin} plugin ..."
+ cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to disable autoupdate for ${plugin} media plugin"
+ pref("media.${plugin}.autoupdate", false);
+ EOF
+ done
+ fi
+
+ # Force the graphite pref if USE=system-harfbuzz is enabled, since the pref cannot disable it
+ if use system-harfbuzz ; then
+ cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set gfx.font_rendering.graphite.enabled pref"
+ sticky_pref("gfx.font_rendering.graphite.enabled", true);
+ EOF
+ fi
+
+ # Install language packs
+ local langpacks=( $(find "${WORKDIR}/language_packs" -type f -name '*.xpi') )
+ if [[ -n "${langpacks}" ]] ; then
+ moz_install_xpi "${MOZILLA_FIVE_HOME}/distribution/extensions" "${langpacks[@]}"
+ fi
+
+ # Install geckodriver
+ if use geckodriver ; then
+ einfo "Installing geckodriver into ${ED}${MOZILLA_FIVE_HOME} ..."
+ pax-mark m "${BUILD_DIR}"/dist/bin/geckodriver
+ exeinto "${MOZILLA_FIVE_HOME}"
+ doexe "${BUILD_DIR}"/dist/bin/geckodriver
+
+ dosym ${MOZILLA_FIVE_HOME}/geckodriver /usr/bin/geckodriver
+ fi
+
+ # Install icons
+ local icon_srcdir="${S}/browser/branding/official"
+ local icon_symbolic_file="${FILESDIR}/icon/firefox-symbolic.svg"
+
+ insinto /usr/share/icons/hicolor/symbolic/apps
+ newins "${icon_symbolic_file}" ${PN}-symbolic.svg
+
+ local icon size
+ for icon in "${icon_srcdir}"/default*.png ; do
+ size=${icon%.png}
+ size=${size##*/default}
+
+ if [[ ${size} -eq 48 ]] ; then
+ newicon "${icon}" ${PN}.png
+ fi
+
+ newicon -s ${size} "${icon}" ${PN}.png
+ done
+
+ # Install menu
+ local app_name="Mozilla ${MOZ_PN^}"
+ local desktop_file="${FILESDIR}/icon/${PN}-r3.desktop"
+ local desktop_filename="${PN}.desktop"
+ local exec_command="${PN}"
+ local icon="${PN}"
+ local use_wayland="false"
+
+ if use wayland ; then
+ use_wayland="true"
+ fi
+
+ cp "${desktop_file}" "${WORKDIR}/${PN}.desktop-template" || die
+
+ sed -i \
+ -e "s:@NAME@:${app_name}:" \
+ -e "s:@EXEC@:${exec_command}:" \
+ -e "s:@ICON@:${icon}:" \
+ "${WORKDIR}/${PN}.desktop-template" \
+ || die
+
+ newmenu "${WORKDIR}/${PN}.desktop-template" "${desktop_filename}"
+
+ rm "${WORKDIR}/${PN}.desktop-template" || die
+
+ # Install wrapper script
+ [[ -f "${ED}/usr/bin/${PN}" ]] && rm "${ED}/usr/bin/${PN}"
+ newbin "${FILESDIR}/${PN}-r1.sh" ${PN}
+
+ # Update wrapper
+ sed -i \
+ -e "s:@PREFIX@:${EPREFIX}/usr:" \
+ -e "s:@MOZ_FIVE_HOME@:${MOZILLA_FIVE_HOME}:" \
+ -e "s:@APULSELIB_DIR@:${apulselib}:" \
+ -e "s:@DEFAULT_WAYLAND@:${use_wayland}:" \
+ "${ED}/usr/bin/${PN}" \
+ || die
+}
+
+pkg_preinst() {
+ xdg_pkg_preinst
+
+ # If the apulse libs are available in MOZILLA_FIVE_HOME then apulse
+ # does not need to be forced into the LD_LIBRARY_PATH
+ if use pulseaudio && has_version ">=media-sound/apulse-0.1.12-r4" ; then
+ einfo "APULSE found; Generating library symlinks for sound support ..."
+ local lib
+ pushd "${ED}${MOZILLA_FIVE_HOME}" &>/dev/null || die
+ for lib in ../apulse/libpulse{.so{,.0},-simple.so{,.0}} ; do
+ # A quickpkg rolled by hand will grab symlinks as part of the package,
+ # so we need to avoid creating them if they already exist.
+ if [[ ! -L ${lib##*/} ]] ; then
+ ln -s "${lib}" ${lib##*/} || die
+ fi
+ done
+ popd &>/dev/null || die
+ fi
+}
+
+pkg_postinst() {
+ xdg_pkg_postinst
+
+ if ! use gmp-autoupdate ; then
+ elog "USE='-gmp-autoupdate' has disabled the following plugins from updating or"
+ elog "installing into new profiles:"
+ local plugin
+ for plugin in "${MOZ_GMP_PLUGIN_LIST[@]}" ; do
+ elog "\t ${plugin}"
+ done
+ elog
+ fi
+
+ if use pulseaudio && has_version ">=media-sound/apulse-0.1.12-r4" ; then
+ elog "Apulse was detected at merge time on this system and so it will always be"
+ elog "used for sound. If you wish to use pulseaudio instead please unmerge"
+ elog "media-sound/apulse."
+ elog
+ fi
+
+ local show_doh_information
+ local show_normandy_information
+ local show_shortcut_information
+
+ if [[ -z "${REPLACING_VERSIONS}" ]] ; then
+ # New install; Tell user that DoH is disabled by default
+ show_doh_information=yes
+ show_normandy_information=yes
+ show_shortcut_information=no
+ else
+ local replacing_version
+ for replacing_version in ${REPLACING_VERSIONS} ; do
+ if ver_test "${replacing_version}" -lt 91.0 ; then
+ # Tell user that we no longer install a shortcut
+ # per supported display protocol
+ show_shortcut_information=yes
+ fi
+ done
+ fi
+
+ if [[ -n "${show_doh_information}" ]] ; then
+ elog
+ elog "Note regarding Trusted Recursive Resolver aka DNS-over-HTTPS (DoH):"
+ elog "Due to privacy concerns (encrypting DNS might be a good thing, sending all"
+ elog "DNS traffic to Cloudflare by default is not a good idea and applications"
+ elog "should respect OS configured settings), \"network.trr.mode\" was set to 5"
+ elog "(\"Off by choice\") by default."
+ elog "You can enable DNS-over-HTTPS in ${PN^}'s preferences."
+ fi
+
+ # bug 713782
+ if [[ -n "${show_normandy_information}" ]] ; then
+ elog
+ elog "Upstream operates a service named Normandy which allows Mozilla to"
+ elog "push changes for default settings or even install new add-ons remotely."
+ elog "While this can be useful to address problems like 'Armagadd-on 2.0' or"
+ elog "revert previous decisions to disable TLS 1.0/1.1, privacy and security"
+ elog "concerns prevail, which is why we have switched off the use of this"
+ elog "service by default."
+ elog
+ elog "To re-enable this service set"
+ elog
+ elog " app.normandy.enabled=true"
+ elog
+ elog "in about:config."
+ fi
+
+ if [[ -n "${show_shortcut_information}" ]] ; then
+ elog
+ elog "Since ${PN}-91.0 we no longer install multiple shortcuts for"
+ elog "each supported display protocol. Instead we will only install"
+ elog "one generic Mozilla ${PN^} shortcut."
+ elog "If you still want to be able to select between running Mozilla ${PN^}"
+ elog "on X11 or Wayland, you have to re-create these shortcuts on your own."
+ fi
+}