From cf5d856691cbc347f5816a181e5bf767792afa55 Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Wed, 15 Mar 2023 12:21:13 +0000 Subject: gentoo auto-resync : 15:03:2023 - 12:21:13 --- www-client/firefox/Manifest | 99 +++ www-client/firefox/firefox-102.9.0.ebuild | 1274 +++++++++++++++++++++++++++++ 2 files changed, 1373 insertions(+) create mode 100644 www-client/firefox/firefox-102.9.0.ebuild (limited to 'www-client/firefox') diff --git a/www-client/firefox/Manifest b/www-client/firefox/Manifest index 2806b79388cd..20a19c10301d 100644 --- a/www-client/firefox/Manifest +++ b/www-client/firefox/Manifest @@ -105,6 +105,104 @@ DIST firefox-102.8.0esr-xh.xpi 427933 BLAKE2B 82b1d0b73d180993968be57bd2d0c3835c DIST firefox-102.8.0esr-zh-CN.xpi 613305 BLAKE2B 1de6727ae56d346666db1619cb456b011799bcc1e91cef92ee60e4a7f228c4e87a1fe7dbf9b62555c5d3b2e56604463be482aada1067254225d9c9fad560d4ae SHA512 ea575f9545118b4d017abae1bd9d99af33d562ef073385b525478923f8e093ee62f2b6e28ee0d1e48d75543f4fd16c46e6d867a8794b1f33212100a0e34ceb21 DIST firefox-102.8.0esr-zh-TW.xpi 614571 BLAKE2B d0332f219a6443f3bd99ad33715ea1e83438c764c5ad1634704baff7b641fe7bd4890e253264cf07da9203cac0ef02fed3324b14fbc556d3dcb8ba028888da5c SHA512 0656e9f4565de49b2c8c249615b45e8e91ac1ba4704a1a00eebe3f2f1f653f2e717e4237f0356c22d6b4f16cf4798f3fd558c8af7afed139d46dab16fabcefe8 DIST firefox-102.8.0esr.source.tar.xz 479172816 BLAKE2B 0b4cbf11028abc73a8479fb94670e98f0a293fc12381b1eccbadd64a33db068ab7434357abbe3ce0773382c7c90b8fe4d2258cc55abe8bdc2f551bba1dc2b797 SHA512 93ea87997b66088b94c6e943b6e99e9a71d1908444d096c0f65b6876d2c584e55ff6120266f3851f986b664bd1f12fa31206b03479c2b751e7c3ca097ac14275 +DIST firefox-102.9.0esr-ach.xpi 466442 BLAKE2B 31f9631e4257b0c9b740c11429c1d038d25482e596c4053ee37087995ed308fc57bc77502d9ffc5bcf6986220ebc5dd7aed6a72e8269582d4c1567ac02d149ea SHA512 596b7388115d8dee354a5d80c96abf7f14fd33d1f592f7ed1d0cee620a6d0573a947212b1d694972efaf58d1cfc0265503b406903eb2a74c73fb8333f2f32922 +DIST firefox-102.9.0esr-af.xpi 429117 BLAKE2B 6146a1edfd641770c5b0c9265ed32831cbc83df0dffb055557ce5c4fc1eeb08b5457ebfe4a39ef0f2069fcd548a73ad56c4e6399180fe7b62d845f194f7c7416 SHA512 41c35a08d87d2289916532ecffa598ac8595bea1812b42f51f71c0594c661f6aaa211660fbeafbb57a514bad86983e08da740c58d475dcb2b314af757425daa3 +DIST firefox-102.9.0esr-an.xpi 510484 BLAKE2B fbc9117ebbaae78dab3dfdb3253cb09ee87cebcc1bd09a0ceb2c62f8f98aba35c8d9d5f15ae456d0f974715abfe0cdb5d161affc1801a7d10487d4bb5c9db0ba SHA512 8ff42fe5c664a676cc448655a6bd283e2fbed7dc8a31bff7416da27809d78f9f2216b7384fa37fa517c6f1818e40a33668a72768a3947a1e3af9c840dded1c11 +DIST firefox-102.9.0esr-ar.xpi 578878 BLAKE2B 4fe95bcd90d5181878cfb4d92bf8978ce360a16be5b8743fd9432c31829c2a6c6867b4e9833fca8828dfb1e84418c0ef535025330ae8d926b0dd1d747b0dc463 SHA512 190a2322cdf6889bd86648c441032910eac031670c278b7e95354af6504ef52134aa06be8a46126d6fc4f4699b5fd71b7cf92cba12ccaa5f25963c6ce4bedfce +DIST firefox-102.9.0esr-ast.xpi 498100 BLAKE2B f34a100d4bc7b94960d4707f20184e70d0c87dcbff6aaa3f368a7e132bb24ddd4fdd3bcb463755f9e5e0afd5e306fde4d25d1574450cc3837301b8b07145e50a SHA512 3577372dbebfa4c7480730c5d78fa223baf636216a0577a201ec8eaa265689bd37ff7677fcdccb9207168ecbd6c54979f3ba2a3dece8276ab36560eb063aa802 +DIST firefox-102.9.0esr-az.xpi 500782 BLAKE2B 3b5e632c538e4ef899400ecdf38cd892b6be41c102f32a54666237077176dae8fcdb283b4a0a79713eb4238272732441ae4cb005b5eece4a93271a1085868578 SHA512 439c20942ca5ebbe206533a2a25f904e344cf5fc33156f7c42773b48e7ecdec8518633f857160aad01ee76fdd26aa5aafcabbddd94640d3a5841f6cd041b6e79 +DIST firefox-102.9.0esr-be.xpi 666686 BLAKE2B 41f74ab084afff34907c4ba8206da03d840db0b74d0bbce6a0d9dbf57c3c89c6725a75c42b4df82cfad00ddda98470fbe3394f9e619571a0a65c924e7638a2f8 SHA512 1a3fbf17a11422a05f39782be819e4357044e664462a3f6055de93931b7af8fa2826d16eaab4041c4f4192f2cbb38dc396807787d39fe9a74c318c6cc2fa056b +DIST firefox-102.9.0esr-bg.xpi 591341 BLAKE2B efa86fe1b6aad0223a870a8a47b395e37ed87dbf121ea8573d320abf865e0223fc6846f787de054c4ef21d6473a89bb86e68e6f9e8440253f664971ba9d8eaab SHA512 ddd540e3795645c6ec343d8571cef431b9a7096d2e0d396d01dff9389b71dd34aabd9233b183485815ebdd3634159c7fbcc45540650e88397c04f1a675ab06c4 +DIST firefox-102.9.0esr-bn.xpi 591683 BLAKE2B 0f1577028cc470a379342696009245e0aaa34fb88d61bf38d5c818a8179cd952bb544de57041e3ffe6a1acbb2a69c566756310fe2f9f3a35fc218883f9581b16 SHA512 9985e9a221ffa0389b95751f1adefa39f20f98ea94625ab008f618c0619af99f28b81825a33656ee0df4c9e7e9c64e1722f17272384de7e18f6414b09844347d +DIST firefox-102.9.0esr-br.xpi 555842 BLAKE2B 576e671def38b2852d7f6f5ab28bf174796bf9125f68a3aab32df998817d8a15f23183d648dcc2f5e07e0627beff2779a85155d2dd3e3c734e8d1371d36ecdd1 SHA512 28f8d111630ff88fa8d8f800be3c297a0acef9126f8fa3a494d391a70ec94432edb574492320bd9088e1c89831b81724eb4afac361cb3263af04a846c4ed0825 +DIST firefox-102.9.0esr-bs.xpi 471718 BLAKE2B 8744c303d5b66f27a63e31a60ca062f76c8d73278954117d8d2a015fc3dcb2ae1c57bf4a1c919d93963560b6881ba4f9014ccf9c344b2a49c02f3a93c803907d SHA512 4e8ce75992b4f029b8f62936aa3053f01eafd30fdd6f7b5c55a5cdbd918bae487bb7158adef74b63f3eaf942f7038aa28d397ad93d975624facc2788adf0a970 +DIST firefox-102.9.0esr-ca-valencia.xpi 549201 BLAKE2B b0ee1849b67cca55cbf76f7620de23d674f7d0fc26f47c0fc8f4bb6ea6af8f0df9a13242166729034b497fdcd8a39132ab34f7f3567d56810a410d2fd1efe72a SHA512 35b6272c33767f57dd2b154b4175b7c638a7cabe591573220e2dc3012af146186b30f7f9ebae0737f9ad984918185397674a9c47cd540158d4a14701906185ca +DIST firefox-102.9.0esr-ca.xpi 561934 BLAKE2B 076be61f59edcce66561b4e60eb930692342111d123e704c4b4461d41d463295552f756048fb085883d4953486c53ab8410a1a894497501186f645e3ae997625 SHA512 8c4d5ba48fa63a10e7ac50d9d1b60cc96e6a71e5b1d776ca070fb0ab991fcbe3176c564ddb773b865343ebed4cb59d82ca56d24633e05999d6bcd7c1981a7c45 +DIST firefox-102.9.0esr-cak.xpi 563838 BLAKE2B 01043b584f5a6332f837885f631e966dda91fcda201fda7a1254657877519560bb811d9fbaf9c58b03859032042e69bc153168e4b4134f6b2058ed5c9affd297 SHA512 d6db06d9f6ab3022d0e1890444afc55b9ef3d8a3dee541945c926662f13f87a4b665527ab8222e9b784fccae7cc3a8c4a6db795ce817b526d1841607a6fb2148 +DIST firefox-102.9.0esr-cs.xpi 599797 BLAKE2B 39eaaace1b4463668e32d8401c346067f18420e7867ed9c10b0ff56cf5feafb3d3af76149deed8e1715dbecf4668bcb5964e142ccca354070692945e4b8a6927 SHA512 8c58f5784d6a65ba641db25b9435e58a56a7c0ab6e0e4816f9cf4d997c28790df0ea7f2e05c283331a4a47b5c916659d6ec7932088ad6dc84403835a68e4c9f8 +DIST firefox-102.9.0esr-cy.xpi 579217 BLAKE2B f7b7943ead61f8c665d4dc750c001464d4cc9297e95604215187583b077d0b242f465c71df8484c6bf49ad77517ab9a547235e7e8b64196eef22d99a628f4fca SHA512 3956eb92f5ab8e2305e93031835ece7df9ed187d8a5343ff4c6de6decbe86296c85921c325a22ea29159226c131bbd2772d49d366b3d34ae458f45f909d9a1b4 +DIST firefox-102.9.0esr-da.xpi 570509 BLAKE2B 58812d1dbe00eefb73b6685d8e56e63538eeb06be90f87395d556b62a467cd0315e4dcf53ff4e4e3e190897a9051a186257b971c96f2ae1e6184e6abb8ed2eea SHA512 5c62aa273bc54439c7c9e97817791ba90a6ad46a52a5ed5af831a7a009f82394fc298dda8de5ec77f532efb3c2a2ea79247c268e221f878ec189a02e2c94fca9 +DIST firefox-102.9.0esr-de.xpi 591568 BLAKE2B 40bfb1b98cb6f6ff6aacaf57548d04b06e8d9336f85fba97f1eb3b74e6ae870ceb68373b3eb0750199979c98ee59918510174ddb6121d02fe60e7e132d8f55b3 SHA512 103c8cb3e1117595a40694bb3380b53e62735fb5792aea4791cf48a442b65cc641de7eec6d6bad459080650284b4b2e2d21ce4aabe2f7a6ce1d9b41a40aa44e2 +DIST firefox-102.9.0esr-dsb.xpi 600379 BLAKE2B 7673081688b77bcab05f3eb605e1dce6cc73cfa5e8643b867ba158713eb5bac2405aeed65b48d711a03823b74ff641b34d95366eaa8646c13c8b3cf73afcdee1 SHA512 64ba4cb48d4cb7831cb59f2e430550ba234f51cbda50bfd3e76405fbeb0a6b1537eff30cd545a65510fd520e3b491f6a48a5e5da3e5f4a5e45e88c0786c9421b +DIST firefox-102.9.0esr-el.xpi 681665 BLAKE2B ac24005d4e16b0297fe51f5ad4d7c23e122690da6c8c6fc26563bc15237ab6cc5c74443f1e3dbb6e74d3e408e5630692aca3b19162f2df1bd5fd90716757f941 SHA512 65803852032a21ce478ee1df28d3a038d4a64a0227ce502d00808237db876bb6441bf4e1d9d4817a19669a2d49cda6116f331ec42ea0a324a722dd523bf09a59 +DIST firefox-102.9.0esr-en-CA.xpi 541051 BLAKE2B e8dc2f554b976f1f3490da6f4f993ddbd14a814af52b3eac7216a6817756a09e0b4705a17b9d9a1e830e445ee8d239d56fc98182e7e8f4c455df591f26917c2e SHA512 fd744b9c55b478f436fc07a465e50e616a587ff00107ac513d9198956dfbc5edf1396b89fde44b98c75f88d421842fedd1a53cc6d438458dc4ff788ff3e17db1 +DIST firefox-102.9.0esr-en-GB.xpi 543998 BLAKE2B bc8a271ac0b18d5e70a1df444a859c2ebd2d43f51f7e38a2bb341ba5a7b84d0108c75b8d2d1de46c387583527eefa5d9136286b86cdfe1886d6589613aafde19 SHA512 e9eca66976af1527faa22c76953df8c729b1a66b12471fe0977a650a5d211488fbe4bf78c9ce1a00bfd4004a729ef0ca973abbe789fdedd8ffb36326d82ac462 +DIST firefox-102.9.0esr-eo.xpi 571433 BLAKE2B 14dce52a1ccfcc8c35039aac6569a253733d9a064f265e1050588c54c3a75cd4f01af5de5457fa30984966bda34723d706fd2f111c0e32791694ec3f24aa1118 SHA512 7e3b6d1fa85ef237886d7039795b7306c2f0a8349327e2b59dd82902365322834ce30c420b7e23588d840f4a18c311f730d43bd49c451eece6ced22f4a9b262d +DIST firefox-102.9.0esr-es-AR.xpi 584184 BLAKE2B 8e5f1a962227e0a0089a782b964c5076ca2663c43f6d5f93ffb8cd142d8755058de4c361d440040f39f0a0efd477c3d9eb05b67f7c7e9815ec248d4d61c38182 SHA512 d7a9a47157741684353829fb7272a7043ffa49d88b675b45d0872a4084ce668ee186d0193f71df5ae765646c78f472649c4526d17b1a34d1c294f975b6bc3bee +DIST firefox-102.9.0esr-es-CL.xpi 583187 BLAKE2B b80aa6eafd8ae2160de417b7cc931cd4df2fb7afaecce8ddab3928fe79265e306d4cb6572c4193b9ba18a53cd1016c6395da0eadb6fd77401ab2f56cd9982879 SHA512 d4583e6092e6f0b2651f0d9e8c75750b420994bb68c230ec8917b5f7d61bede6ee8c7dafdaed23bf6ebe506798806aa524001ef3854536058004690cfa188f42 +DIST firefox-102.9.0esr-es-ES.xpi 576079 BLAKE2B 92b21195710719ae9c847ca4402f3b651e4434711b6bd59d7aa8432c1e300556e947adf5c8e3ddf5814620dd62952a2a2be6d7a7166cd546d3d60b2353cf42fc SHA512 6a8c94c311c23bdf1d72bc4e29c323a761babde9bb8355c2a9807c4c93e961bd747fb1c8b4bf09b911c8f1c839486ce0d25ccbd72818aa60524d42c5624231f1 +DIST firefox-102.9.0esr-es-MX.xpi 586658 BLAKE2B f03f053c28c01ae72896b67d92ed71cda10a7110d7ecc56338cb37e3a901f2855119862ba9637af9db28605654d43a0e51e5231f1e170c10b953392f564c4a93 SHA512 ef727fd22ae14d3f6052cd913b417361576e7d687576aa2e46e6f8c3032785ac81089809951cf9dd60697f412b397d97006df48df694a01d2e22d742925ac928 +DIST firefox-102.9.0esr-et.xpi 543293 BLAKE2B df3307c6aaed954be0ed1f5d3b4865460fa0d13fd9e515fc3d536bd51285c9bd5e79ed1280f5f59d1e1349e553b5e1aea7a76cf82cd525f668eccf23db3332e6 SHA512 7d498fedcfaca2615c2542ceb3579891deb4f183bb04eff4fa0e65430a2b06f0899a1cdf64c0172c7664ac5edce271f82581ba315d6bc64ef2dd5f069c2c2b4f +DIST firefox-102.9.0esr-eu.xpi 572528 BLAKE2B ddace199ce7d6e523218859fa310429b87e87ee52f57ed3a8b2620a8b311ed240af75af3380544e086fc2478491a6b2de52ef41474dfb2f9c9e25004a0008aab SHA512 1e8b84d9bb87d251d0e5403776ec80dbea2e7d635fc316e98064416953f6979bfbdc6a32b5db52dce6889907a0f18c8951d5ee9ee103ec2408fa09274aa1453c +DIST firefox-102.9.0esr-fa.xpi 583112 BLAKE2B 22dc85d24aa42fa1d3c7d9756fcbbfeeab8996a19ebc4a847b82373d82669b3ce511ea33863c6b6fdea9f328b177cd267992aa063a40c427555ac7bd5309f7ca SHA512 2661c2137f7f688895900b4eee6cef267d72fd807932b4d1793293f7070063947012ce6d810549e39ca2783b74bbf427d93f397a764c518f155f4d3b24245a5e +DIST firefox-102.9.0esr-ff.xpi 483128 BLAKE2B e66e78734efd3d5eea3233bc45ffc6592520e31c5896744d5bda88aceb7642ecae39893271a4b963b1a7d1d853ccca95272122000b03c064e7d49fa5e253486e SHA512 aea03f85777a8fc4cf0d50d2d098a7c03fbf55f549586164fac26e01010bb9f86405ac45f60e89bc9e7946fde2822594a97df546f540b5ba42d8e5ef0f926321 +DIST firefox-102.9.0esr-fi.xpi 568236 BLAKE2B d4a2f3c33982ead56278ffd2ddeda4b84d8bff9d913a603410d7f24e2cf778494e9d785cdd9dbb7026ecefeca2cbbb7ef1478ab7f0a4beb34551bf63c0683488 SHA512 71ff17c439612ec9ba1265715b0e135c6e87fc2870741f6137cffa7e7656d6c4f4d511f047f452b8273d0afdb473e148a77e3ef555652ebf052b1e29cd2d4bbf +DIST firefox-102.9.0esr-fr.xpi 595536 BLAKE2B 87b345014bd731d1f60aafee5534f2439d6ae599fe7072a00057c807b275a7e2c1de3e00a43fe7787ebfecc658054e174c1c44c62b7e5014ba87dfb66ac9b721 SHA512 ff96bafe88fb6a54e3f5318c7b71559166212019bb37ebfc765536d337456ab1adfee8cc06e03be38b88e6c0e202e90659f99fa68762d3f69b8a29e1cc67c390 +DIST firefox-102.9.0esr-fy-NL.xpi 580238 BLAKE2B a894823bc4a1ba2b9e34a10ab3f86f88a0bb7d023fdf8b2967715687693cd7f4971bee87d0d919058f5fc1d22598a90827c38d74fa20bfd787b5c7872a62eed9 SHA512 fb836e18372e764d81780f6c467062d93978b69fa221410dcc13671e23088b72efc5aefe61ad98544ac9775b2671b3ce6d98dc3b9a7ab8dbfbbab75fd8f30a8b +DIST firefox-102.9.0esr-ga-IE.xpi 480689 BLAKE2B 8221c087d15e7abb4420315df50c06079a86e24158ea77e292603f07de199cca31fb38ed2e298749af8965bd107102a7b53bb5be22ae56936e643b30c1ca0a60 SHA512 b4f545fb5c8e89c1995606d1e2d6ca9247e14f12bca3764e60d0b2cd905124e7ed918c3a116919c22b75512cf65399cd51d26e29e06a6f9fe4485d5c05fdf114 +DIST firefox-102.9.0esr-gd.xpi 557865 BLAKE2B 685d1ac0989f58b5244f972bdd01cb5bb09aebfc20bcd2d5dcc164b88d90cec9c3f912e602a393924f3a52b0c506b06df5b8199d20e6ef6fa6e9001cb4ed28e9 SHA512 057eec3d54e0be02d4ff24606d3a770f3c3bf521b31ccbdac09a6cd3b1cd5489578548d3455bc0ad204b74b19ad9eba91883461bf92effaeb7fa46d7d24228ce +DIST firefox-102.9.0esr-gl.xpi 550721 BLAKE2B c37bed64f5009733150c6ad004502d04b292afc4691a80e8d711cffbf45f2f35c2546088b47624dab36cdf4cbbd1c90a05e74cdb56b3f86708b0ef48fe6223ff SHA512 9d5fef9caaded1428b2d96757171041ba6b1866f8c184b0ae31051e861301b330e9af93b4c4df7a3f1b3ed44c4afa7740540b53b332ef121dc2af8a5e91a17fe +DIST firefox-102.9.0esr-gn.xpi 595697 BLAKE2B 758c8bd77acbf287ec051f924427a8b35a427e34b6e31ef8394cf116a1970f4a087ef9ae7e7e585959f58c2b230d18d0a2ff16b43e6ab941b11206937f4a6862 SHA512 8dde76da91c18e4e818a326d8c7ad58e6e6e9dc260a09b13839cfcd8d036603a12d6ba1d3619d5fc49958a4c66e73f3733b7714c3d95428e97cfd386242d3461 +DIST firefox-102.9.0esr-gu-IN.xpi 541907 BLAKE2B 4991b1664f5f927a9d8d8a9a6744421339648640762496099235e79d81ec91ebcc589e4073a7e15bd0b4168a2775fc82262dd623080b9718db0dcdecc5f00c37 SHA512 69ac5fea9f47bf4ebd6122152c57dc074260ddeb785998e15449a622590452edff3ea41043008f111372505875b31dcb43a6ad7f84992887d69f733376d3edff +DIST firefox-102.9.0esr-he.xpi 591523 BLAKE2B c0fd83844f2283f602c4529115f8956a6b1307ab77d533fb5edf5d431b4e56a905aeb6f96236c2befa4ad9c95fca4c0f476b8fdc833174fd46c288eb696bc583 SHA512 65855f60a202bbcc0bc503a06e726eeea0b71b802e7c62d9c71490dff189c07127f13aa4a1757966a89bfd8da30d0976bd0c2fda26b427a2074077b8a2a5cbe4 +DIST firefox-102.9.0esr-hi-IN.xpi 570419 BLAKE2B 2cd69684e7ca9f8b963858e15fe3a066075a802c4d538a36d171ebede1612937eee0eda31e6d189723cfffca6ce1da96dc88722ebe2e0228e5138fd09b547e99 SHA512 f05db7bc43cdfd356f5dac4c3afae79998472311e772fd01fac26ee592f8d5346414852221ac9c8f9d37a3d9d0d8ec42a54dc85cf0a71651a08aeb0ab44346b8 +DIST firefox-102.9.0esr-hr.xpi 555271 BLAKE2B f939af1500089de64ea3152b15f99e25baecf0537f11e6901d10362d80ceac77078b4d8682f2798ecf04a5993f4d76e0ed7b5a4d5cdda13ec3d667759d4268d4 SHA512 cc4b96c5843ad5ef9c8fa6b8f127fdc41754693b73cb871c76f53e9d08f873aa3441bde06df2c347c278ddfab3e968d560fca26adc3eff2bb8054ea75de838e3 +DIST firefox-102.9.0esr-hsb.xpi 599183 BLAKE2B 592bdae44ff7543efacbc83543c15f3705a02a7e44e59b35a75c7764de4085c5a0230e91131aa7271b8fb455d9016868a1d3ffd42d0bcff45104d9aec0089642 SHA512 76fb12a9e46ce067e41ef55ddb7381b2cd39072cf6e1e36a0afccd06e081679d866a572b1b88e4784a9e6fc4b9ae947e9661bd68adc5e0d5f6a9042c0ef0adfb +DIST firefox-102.9.0esr-hu.xpi 605254 BLAKE2B 8fcdfa36ed2847f9ca7911c112b23b6205198dffcbdb63d750af150ff42b9d5980fa9438ac04c5433cc7a7144610c98f616ab261afe1638414e35ca6138f1953 SHA512 5ab093748c8fe313f30f0f7d24391f5508c4f05a8f25a0ba242e7d995c0890d6528a01e064b927951e1aa788349b0a7b77a5f70f08482512882c47a6edb1ad3b +DIST firefox-102.9.0esr-hy-AM.xpi 607096 BLAKE2B 25b1140899884efb0791064e916e6957d30c4d6d139edc75813aae07b00b2fc7311c96087b7996d77d1175b555116c64eba88100212c5643d7088afb74ca0690 SHA512 4740233e4905e455cab32e7cc65d0245b6129a3200e915c012720725f963f1796017ca825705834d6fd51cb7e343d7eec417eb6d6afff1a71f1edafdc4a7b3a5 +DIST firefox-102.9.0esr-ia.xpi 567874 BLAKE2B 84ac1b80cb3ab901e74b2235921dd83ccdf142874ba9b2c85f2e2a331e11256da5a4a9a54da6a8fe47ccdb1245698685cceb333956bacb292e3276750968698f SHA512 86055a51ef7e1e260866502b1dfaf1fcb2faeead07bd3ce07d38c08dff4b121c105f6d622bfae7da9bde8a8bd3a51635a4a3a7d60aec7c026ad3637861d847d9 +DIST firefox-102.9.0esr-id.xpi 564795 BLAKE2B bb9687ac5c0ee0793cf3dfc4c94fd2b6a41e1111df5464a8fdd8196fa6e61b1d281b77804b023b26ceb0c0b5d55407e9d99cda037a04b9d61975b951e0b2f0d5 SHA512 d0c3632d2bd58f46c00fd4590606b326d3823716f6afe836f2980ebfa2991cb787cab1355730d7abbfc668805161d44b3e179ce3c63836aa17f19d34a0edf012 +DIST firefox-102.9.0esr-is.xpi 575725 BLAKE2B 611726608650030b05bac46485dda700a628ceea2292e356246213b773f42859471855c2a2c0e5447f6fbe54421480072fd002b860f982fe7ba6363b2f45f632 SHA512 e8d8cf6717af604691bca7499ea802cebdd68081df41c684b9f7c7bc22435b63e6a6cab8aab24dd92ea937a494415f28b20c3fc6ebb6ab2d8cb359ebe70911bb +DIST firefox-102.9.0esr-it.xpi 505287 BLAKE2B 35f014551e6a74fa03e902fa3dddc24676c6ad00e01a16da72354334bb4a6df0daaef2ee02fd083e74796b1f3da9ad12b8f2178f41c5139dd3551dda6f468532 SHA512 cc87f90df9c900cdd5efe2ef5db7a3e045f45b5a07dba6c83a5e78b28fe7f50498f947fe3f0c07b61d2d08c44584a77b30ce0fed832c1a4a4bad370292d66123 +DIST firefox-102.9.0esr-ja.xpi 631479 BLAKE2B 590a7d9b6e95b799abcddb41a9aaa0090dcc722d7aef8c5b4a2f3c968c83dda9a971227fae9b8691d7c109273dc824e7d23e388f0ecee7bd184d8d9d3ca658af SHA512 0517d0c1c1b3a76c840cd0eee0832ad23564fe0dbd0f8c630911b628988ace1fa65399a82edf0ba6eed757eec99c12aeec234af72e0777c760aa1323f57a0fbd +DIST firefox-102.9.0esr-ka.xpi 635999 BLAKE2B 5db028e75444c0a4fc118e966318eaf6b3f2aa4ae90ab481f2df2f692e411af77f2feb8add5e45dc399e0fc350e1327bd5373e252353b455e1ea1c34533c8f0e SHA512 40f2df513f754c5439bf1e27b7f4442e4794d769b229bc6891157e0e3503b661e6e1ff256eec8794ac08feb87654beaa7c278fe1dfad48a7ea6ab4a6d2aa3b92 +DIST firefox-102.9.0esr-kab.xpi 583636 BLAKE2B 4532359ee6300ac9a7b96c7f841935e8b7eaef81af5bf0c2e12759eb56c6354c6a246d30924cf5c8e8587181b6d350f2a2293fb8f03b85748e0db9e2ad48686e SHA512 516f3cce8d6fb11c55db8715e1c93eec42c8095bc36584171f63daa1f5e88ee745c1f2d9bb2a964fc1aa87d382520e4123e8301e36bd479d42505e4053cf06e9 +DIST firefox-102.9.0esr-kk.xpi 658893 BLAKE2B 816f91e14be745ed845d3e0f47871e8eb85a9388f6360114753e109439fd55dae8b7517dabb8316de5b1f8fa3ed0925144fa06f49f783570e20e2c2273555e83 SHA512 f42aa9aa1ad79ae3d1ac18f2ae42c18946d4de8eec072a1efa4dac9949a044a0c5a0c9ab09a69fa28b67d56b822d39b051cf758f7b07c754ca3905ac7a0dbe59 +DIST firefox-102.9.0esr-km.xpi 543891 BLAKE2B 791a9125f0f077676714a95fac7f4e454f6d804d3bbb01ca66f77425f309d8805e2ba03617cabd3aec97abc50f35c5635afb05d8f1da0aad9e117fc03aa4e154 SHA512 21f0adefaaab51249de8933251d6453ce247a101619aa6e352bd3ad32af997a98361747e773d1744d635efc4ac01f1b4a4959c5d2965983bc539fc29d97d2415 +DIST firefox-102.9.0esr-kn.xpi 508579 BLAKE2B bc2b38718d3ef292d9b4159c83208dd8db216c82b0d587a392801ce2c7053e1ab5cfecf51c6a51c8e45b3cafb4049a6104f209a9f6e2ebad535acdaa1ee2ab23 SHA512 7fb92098df4da37cccf0fe3d144eb2d0ec5fea8084bc55f624fa4284f97343cc38e2e0466bff0e2cd0bb7c2a399f0aade101f228f46012bf0ef707ad42f69b94 +DIST firefox-102.9.0esr-ko.xpi 617297 BLAKE2B b7be2627701303cd95b26137198fcb361033787a2dc9ae90f38c95c508879f3aa99155d18a752cd7c6e08ec768383829a8c19757ba4ff357d8e4a279ab8bce45 SHA512 f717e54b7c0ba9dfc97e1312f34848859945fd8f72cd3dcb9365a3731baebab17c2dd3232d8543826364eb60f604aa1802e142ba91fe212da6b06c278eb0c45e +DIST firefox-102.9.0esr-lij.xpi 480138 BLAKE2B b61608ec1a53646a5bf62fb321ce3a6cc553ac2c50c5f1325c43d1aad1569aa5122b8cbc28e8e1ac22ff0de709258fbc7e88a610400d883c7bea6f240f3a85be SHA512 c5d8230eef3b73ceeed36a2faf69ea5075ff51a6f0850fd63024b7ee514ec4f57df2b9ffb651e22b9b11b842db6eaf99a9cd8388fcd6266bea0d36130ea43983 +DIST firefox-102.9.0esr-lt.xpi 574780 BLAKE2B 85605373aa7abde3775b7e87c5971f14aba737a6579118463cf398162e58b94335bf8c5c7b49f51af711694983a1986719f9c4d4c7c90357c37cdc3aaf66ed51 SHA512 61e16e481c7ae2b79036d6539e40705d1bcdb4c5d78310232faee94e02c1832182c9277dc3277a8089097bca75b6b1fb9390eac5ceb3e732b7fee6ae8fefc39c +DIST firefox-102.9.0esr-lv.xpi 479291 BLAKE2B c4d1d578bc151bd7d2ce1f05465d79ba71469aa5751ccbac8fda1f791e1414468a083ea2b5cc2b1bb0ebb409eedfce6b72047398ae37b6918073b9c4f8f5f445 SHA512 cd3aeb37469a9c46b086a079e86da92a7248aaa48eb01c2ba9bbbffd3e7e46b7fd93d9bacc1b5e2203283ef8004bb9e66ead3eb87f2ac12110d2e263596c2c36 +DIST firefox-102.9.0esr-mk.xpi 497529 BLAKE2B da8b503efa31bdbf3398fa88bbae9f09c8be10742c556e3f0028926c33f0a7287da39b0fdac86f66edf253705c221d0304fa6257651f3afb982fcab1217fb2a6 SHA512 111f51facd882446509683e6f5e41df49fc2f96e969f77d9cb6770a4b7defe7b0f551d9d4fe60bc3067285b025565a6dc07fd7e06ba5a84dffe0bed7963b11f5 +DIST firefox-102.9.0esr-mr.xpi 543738 BLAKE2B 7c3cb9a4bf593b1c089109c56029839766d95454ecb475f8a40afd273852aca8f47d5ef5195f7d30623720180c0a7a98a4eaa0ac4c18e54384a881b3ad8ad72f SHA512 66058001e955da163c81fa57dcdf87245629f2841381173282a6aee2119b45f3c5c0a8b5c6cd1d9dd501fc8acc6b90031d603b91589034167352c1f1ecfd92a6 +DIST firefox-102.9.0esr-ms.xpi 459029 BLAKE2B 9c27f1d914c839db21b6e138336ccdf1470f8d959f80c9f08fff9de319d3277e39883608135d0e093f9b209ba4b833c6398a4dafdbedd2de206382af6dc45a36 SHA512 8a5ef05371f71f09c47944f6cfa9cfaaacd367e328450766ae340f36b233dc20f4503a5213be3ea8889b6aa6d06053270f186cd4ffe9a5b770c0dd96a42c08d2 +DIST firefox-102.9.0esr-my.xpi 529947 BLAKE2B 4ea54a2740a28d6a47af0a93371c6ae67ea39293fca07f4337fccc3c53a627c7eb9f67ca9bcca78552bdc6cb6a6e3b83eaa8324c1a1689a7eac20f216ba323df SHA512 c897f9510ae14900d81db33f5372e053a12a3a2b24e64310fb271db85f61798f1d9b02031de5fb62a27df11da167b6236e7352dbaa5d437a746db0260cee028d +DIST firefox-102.9.0esr-nb-NO.xpi 565280 BLAKE2B 17f0f8274e6edc254960248f326f6e8330c2867c60aa83c72aa0be803b6f6cab640db5d53e0b9607d459382e150f7acdd6b0d951557aeebbb210acaadc4561c0 SHA512 3e9950525dd40fc81007250a99d2a78a6872b9c3d8c046f55e7a5154f160c7ef7370b10a5cf931ad23183cccdd0920c70f216280e1f75493c000b21f03e45529 +DIST firefox-102.9.0esr-ne-NP.xpi 498083 BLAKE2B 103ab3e2e5430167e075cef8fe659db0e48896f256d9b23366bdd6e65ef656524eae6edb1fcfd22ef40357a002d139ac49579c683f852d9b495dbeb865e21bd0 SHA512 dfd159a5a12a06c4b1feb9694d7ef69e78f88d112cbab2aa6d714eb20937178f82de56a48844fe160d56d9dc0f7ffcb64b42ff9f1512c7ba8429e9e8b9c0bfe2 +DIST firefox-102.9.0esr-nl.xpi 573446 BLAKE2B 1cba3f8158ae618fdc8e8d05b649542c36f291648eb91061b292747efa5e6c141bd6c52816780aba221a368580bfd338c9a748d608a008f5c3dca46bca1504a5 SHA512 22278f15270efd7702967a79057c17fc422fe99d5043f0cb4239c9068655aa7ca0eff513ddbee5e0e352f1ad9a47d704be53d3bae068dc2b62d1b2ba2b7ae274 +DIST firefox-102.9.0esr-nn-NO.xpi 566166 BLAKE2B 0576593d233eaddddfbeb286d30e3a3027ef9e71230a6a512936837d3740e41a4b66037fe97ad9a4d0dafff5089c6bc737f6b0fd3a2757cb2273c98cc891320f SHA512 ddd6d19eb53ad17120a97311e5185fdbfb46df8d462d474081bebe98e87300d8c6c707ad773ac78b27e06c931afe87b0edeee5435604686d869e0667f07cba1b +DIST firefox-102.9.0esr-oc.xpi 591128 BLAKE2B f51509e53ff9450938ed26f2b7d1eb877506fdb52bc8925f62c6c0d8bdf21a1664c7859c69fcb660fa2b2657546f00b5641eb7f07e8d8e20f194a887623217b0 SHA512 ced46f4eb5010340b68f1931206331b042e335189a2835acd68afdcff2844857dc5e8052ec40c149641bf17cd00889d49ff3b37279ea91cb492505f2bf454fbc +DIST firefox-102.9.0esr-pa-IN.xpi 648621 BLAKE2B 5ac5b3bc09cfe08b935c14673547baac6c5cd435673a93227b1874db4b8719b6cb657dbb21496802d85680b56c235babdb775f25733e51176377d9e15c84e027 SHA512 919e20b2a6042e7715ed2cfb4a826448001587b7bb08a25cc999f047e22ec0cb3fc9196e0886de2e141c137dff0cfda5a21643606c5e0100396af1b0883deef4 +DIST firefox-102.9.0esr-pl.xpi 597072 BLAKE2B bae88aa625242805abeb49f81c300ce699fa00bd3b73af505057ecbc7299b9f2d8b7dbc819e1f1a736c85c93ca90a1af8dcadf30db5c64f48e7724e81fecf039 SHA512 17d192600089eeda8a6b74ca7459112eef495909170542883c6e1ef5ac721003450ce9cc584ba009ca9b453f87888c5d01794e19f7087a8bd5707455d5f7a01e +DIST firefox-102.9.0esr-pt-BR.xpi 579009 BLAKE2B f8f36891813372402029ae2fb4a8690dc292b5d0baaad6631045c724eb2ec248cf694f932007a3285fd9118d0d101da5bc447547108d7964441c7afdb825bca8 SHA512 fa605033ad6acfc387be11d2852ac8042b8afffd25947d16888550a0a3993d9e150d861271885e3590195fc9461670f65e89f75577c94baea7f0379e02c6f1e7 +DIST firefox-102.9.0esr-pt-PT.xpi 582847 BLAKE2B c6c13e4d48bd824609c2f01b747d43cd220f108db36ec0e1e280cfa1616025202f77d2ddc1810ab3e7228c8b884867642612df25c0792b5f0c4952863cf86024 SHA512 497c921a19d51fc1a391ce4f694aa77c8abdf4182a7ba4753699275462dbc9aa152e0cc5469735e3a9872adfcc40d4c4aa5425d17fded856db8b4df3b33759a7 +DIST firefox-102.9.0esr-rm.xpi 571911 BLAKE2B fbad05dda5db265aaac7e875fccfcea525b6749fcdd5948af7cfc3f7f2d4a64997b2bdfea65350b7753a364e43804f0e26ac04d3e2690dcec2cab92f8127bd00 SHA512 1e1694fe95fb06da726d1c451a9c587c9bfccf3bbe51b3078e6b17bafe41f37badafd04e1666f5197a0bfab72c6cc57d032a17f54101d48d2833913c90215d22 +DIST firefox-102.9.0esr-ro.xpi 541903 BLAKE2B 21b8a5254a9ac67995e3f14e3048d75b910f3853b5e481c7a3f4862395369dfc92b0f24c782bbaecd8bffe4f4ce037379ac205ae4eb93a755715bd60459528d0 SHA512 461de5e6e0d4384e816adaa0b5683152a277e9164746e2f610c9fc37590f8319669ad9615fda50665a0e8424b84d6f9515bf48138df8cab6a6df1d2fa34c1d4f +DIST firefox-102.9.0esr-ru.xpi 671133 BLAKE2B df4e15f113f58a8f8a2296b79bd6df4f2524f7064147a75594ac07de52ff789a11c2f1db3754bda99da648f3c1e6a94abe17c5781759ac3f5070f722bef9d3aa SHA512 833964ef9e53daf2b29e0bfea3df02fbe227dd2c99a9f1ca9e3bd78446e6be9ebec8e7cdbf39ee14f5349723e121553c8a4625aa0295a70f425c909e036295d9 +DIST firefox-102.9.0esr-sco.xpi 513230 BLAKE2B 5c05040589be4fe05b1a6679645aa7109d66cdabbf25e47a19431ee7fd16a61c06897f6f2dfdcff076af04bcef1ecd139723c1a69eb103b42eac884cd2eb88bb SHA512 0f0143101d14697b697a0c860c43a5f673a4c86b1ee9caff98e917a414e9c0a11fb30528b191d105190763bcdb2d987575af3fa6a0be91e271e70ffec24cb755 +DIST firefox-102.9.0esr-si.xpi 585622 BLAKE2B 503df37ce1eb0c10aa87dd76de3864edb805b5961192c4d980e2628375ae893c20d5f79e82f094fd6ec2354fdb96f125f47c1f713ec1ff4b2432dd909715ae7f SHA512 ae28fea390c095ef2eece090e1b3e0f3cd303ca50842189e47ea8a2f195ba48742f2ec0d15aea79ccb52e1a23d9228b3cde3e41ddc9ba4cd9b9f84aeab8cae11 +DIST firefox-102.9.0esr-sk.xpi 606113 BLAKE2B ad3abcf5861229d55fa82fe8a3a45e98184e4040d36e76f52476160313b428ea78afcbc5f19a8c70e415764df75684d2c4e3c5efe1bf6187dad24042fb1ecafc SHA512 a9eae36a22fd649a2445b7082acd8b7838b058b2d5ad4d3ccb239b8591dc6391127ff1f43e380e2d9486b3e3a3a227082a42949c6121a7f4b6e10725f2f23d17 +DIST firefox-102.9.0esr-sl.xpi 577354 BLAKE2B 01a8a57896132769d9c4509cf16e1a1f41abb77d4b29b5812f2241c6a2f6a876f03e12fbd2b0633fd752a31335c7fd6986bb0e78e6b9e0cb133cd9a795f27a97 SHA512 89a3e5ef9b2e397e409474431ab1d5dd39e51286ca1567e008b1133347e1c5451271ebf3a889a6baeba74b0ec99b243989c64c03faafaae7ac41ab70d6b54a3c +DIST firefox-102.9.0esr-son.xpi 433054 BLAKE2B 5d7a5434324fb0f5c5e3501d05d826f3ea204ebca03cc4d41e4203841900d6661ab5ecd2486db0d65ece16257061838657a2573c35f42fc2073848e5e2f0eaa5 SHA512 4b0a872bef218f2d6a3744b1018cda9f89e608842a88da7bc296c2029b3e17d24d9b4ed9919422c73a611b2b0a17c683cc99fdc905e1dd407dc8e6edc50ec416 +DIST firefox-102.9.0esr-sq.xpi 593407 BLAKE2B 62b74bb1040eda7cd4b6d69247617005af7ffd6702b39e79fd674c66ee7254d849156117baaa595ececbf8597a19392d3a8a85ecaa3e6803e80fea5e7440b21f SHA512 e83b5237a4154781bd5ccfd5677b841be0d98136683513513689c31cdecb21b83c3406dd9fa37808aeec25387d51b5be1648fded35771cfdf1115d2df15250cc +DIST firefox-102.9.0esr-sr.xpi 635143 BLAKE2B 1957d10ecedab671e178b2cc8f1ff972be0841f9c1ce663fea12797e488d72cb2023cc2a99e7b9e743523eaa201cbf29b9c48892231ccd6b3dd1f0b544da1962 SHA512 816ce29aff61baccfc73ce01a95e32e0369e5ec7d20832f0bfe7fc5348d36bcbb1a2d44222c5ef5e2548ff3090f15972e7728d831951d81f0aa0250e6b25af6d +DIST firefox-102.9.0esr-sv-SE.xpi 576055 BLAKE2B 609032ec94fceb8e653e2a358dac307663722661b13c1f7acb818e2be091f28a4504850e1a2cd29e362d4c1b309ecd3b6247cadbb0d466be38dcfec4c6d83109 SHA512 8bb7edaa9b2d49c7e303096b8e221f496aff87ca057fd8c5dc0e6318a65ac3ef543636ed688db42104c047fb56d14f25debf7e289624c57601fff952dc70c1df +DIST firefox-102.9.0esr-szl.xpi 527111 BLAKE2B 4491fcdefb63d3d608896977418c6f8da0281a3447f3c39e04484ef7ea4faf3863f4d1db413de9abc481b1b2d7267aa3ea4ebd744896cd17dc6c8fe8ffbf5913 SHA512 0e94e7da0c561d626c6c08a157a2b9bd8bd668021214141c0e026d97d2308625a7f1cc8becbffce32f51abed0e13e377fcbc47640554ed06c256095f03c3042c +DIST firefox-102.9.0esr-ta.xpi 522076 BLAKE2B f0c28461051f1281971d856326a5520108ad56c67e9f2383c3a35ace06c465007adc219e4d074b5b48908781488b5bff2f6f0aa8e350ddbf05acd4b15a827263 SHA512 0391e697856c1ca8c6aef74cd2dc5d2043c868345142eab252a2e1dfc478f421662bef8b3148837bd0706e8eb4ba7905a1eb6831a7dd5c7aab0127a73af352d4 +DIST firefox-102.9.0esr-te.xpi 568433 BLAKE2B 551f7e1b7606f62c2fb7d212365218e24a5494e8d101102559b40e358b3145fc000d8eaef46effe32a328a4d265961f2d0285e08abc8c350ab094e4c6416d7f6 SHA512 6ebf2246f5d619329617ed61709427cb5b4d4dfbd26fb2af39c7d13e514352b8b3845a676d98fb8087afebe0830bb8541649554e7879173a90762dec2890306d +DIST firefox-102.9.0esr-th.xpi 649493 BLAKE2B 8905c17fc334c4d0c08b53d7dc38b7999ea2cf0d5789b841119a0ca861c12589978c37da6aa033f651ff098500000bd8495cbb1805ff16d042d5074ecaba1cf9 SHA512 aea8b389f57a0b4baf69f58799d5ba6cf9234db9c4aa7d10eca45252de7b6504872985b8c7d19f398315f11b506249a64603a9573638ad96b3e45e4a5ab93ac6 +DIST firefox-102.9.0esr-tl.xpi 532365 BLAKE2B 622ac4dd539653b9f119c79e69f0df3cda20c31bc6b4e51b229edf97007231aac01df086ffeea4140150b3297e4b8115d6bd185fee9a77315a32e560a85ff94e SHA512 f2786cbf25c7fbcad114d48913abf44e9393c7848806fcefbaa3a06f78ee87ba901c847e722526d627d5ed73c28c76b6a10adf970afbd9e7781a43ca9a2a992a +DIST firefox-102.9.0esr-tr.xpi 590500 BLAKE2B adea310e6caa58b647befadbc79d202546e6f4f5f2265fd869db7578a28e686ae2e14279a00a71db6b2fe42c4bce738b24d98c5fc1b409add768880b6205c10f SHA512 806cf4e615b7d33443ee22fcdde546d60426989977be0eb2804c80fc291adf47886162d049c300d816ac8ce74d53e9fc28f0ca6da19c33ab0e4ac69fb2e7b990 +DIST firefox-102.9.0esr-trs.xpi 497375 BLAKE2B 362933df1f6e0bdbca220d2f80cb913399fa09305208efee638d6a6b804c832137b187da5a3cef67ae16ad1ffe981baa396354dbc57464dbaf244592cddb3e5d SHA512 7d616c3a8325987851d5c28f26ffa13c7030c40c9051320ee22f2b0d5aab88e3859ed5ede8aa1d1da98e60db2c8375330338fcb2063579a3e07725e6e837add2 +DIST firefox-102.9.0esr-uk.xpi 664335 BLAKE2B b06e3b61d44a03b52e618346f1bef4047a529dd1acdf53883e91a5e7224465bd528ecf76679d31f42da48e2ad76386de4a18b7723e7941db9404642a064d8aa6 SHA512 7bed085f625b413c34bd8a9ad522fbf28e56590f2b0e71981884594a1626b6d864d2b975fbae6f50f6f5fb7a6d64865cb9010fc7d3b4aaba8f045513f294110a +DIST firefox-102.9.0esr-ur.xpi 569913 BLAKE2B 3c4dfc2f99e02c59358089f76ec4d045f8dbdb61832efaacb4d7a2c50306b1ed5069b59e4b313fbbbb5dd6e9247de6df824154b8991680327793ddaa328383b8 SHA512 a4016cba323ace45e7dfe51e301cd6203889349e7a65bb1ffc7c1845674f2331f1b6f25dc9f47ed2ff19175d962a31d0bfcadc54389cbac764f27dd77e331d33 +DIST firefox-102.9.0esr-uz.xpi 488879 BLAKE2B 1e02f3dfacd98048c7e3f4951344dfde8474ea8401c58a80f5682aeb6b7a3cee7b2a32a26f09f6ec9c9bdfac171773416ce2a09270a67e1d68b64ea3650f27af SHA512 285ec35782ea1a42e093717945e73cd3f9711a70b1dd2ceb19bdf0ded03e90825cb63abe8c42780c1e8ba5c74e6ef911d59b25ddfd5a3a96b64379fc8475fd7a +DIST firefox-102.9.0esr-vi.xpi 611426 BLAKE2B e761e598425c3773498393758a35b8d50bd150fdf3f169ef6a8494a93972b748083afc78e389a5e470ef3e2dfe1ac35e9a5680a6aecee6f5e47d8031bafe5ed1 SHA512 db995016e69b1116a155184ec7f3b1f74248f27d6c366387c2593b814dc8cbe1ccac238afff4d2334308900fa6fed414dfadf56d2ef05422327c6b7a870a14e2 +DIST firefox-102.9.0esr-xh.xpi 427940 BLAKE2B b71b75dcd480e7cd27e854e74d9cc553d49cdcfa9c66a1d13c195e3f9df905616ace2326a395ff4494911122f75a8cfce2415bf0987cc56a3a98979a2c8d12cc SHA512 aeefc8215d10221eb5863211ac48577b5db0ab37e5104fbb33181b9cea957ec6505e51c44b19cc3c786071b2093a5de888d64ba13ef9809d6f63d14fda9a4e1c +DIST firefox-102.9.0esr-zh-CN.xpi 613304 BLAKE2B 71478e7968b78dd6005fe46e78e86f42f67014bb87bd84e4abe6776493eef9e189c40432b93a67bd46c88ea52e678aab893eb19de1a39ac54f079a1f71cf5542 SHA512 f9e617236f9bb90718079fbd6a1a24accc8ab355fe98cc2fdd39a644d836fa5a76ee84f2c831441b9f8b91859c1be1315533410af12f7c51929f1776dccbba27 +DIST firefox-102.9.0esr-zh-TW.xpi 614580 BLAKE2B a38f0a7b62d428721dbbb7ac1ec6df742eafcb63a3854489f579c49c3a78a9cc06a96462876d2a88c46063c3844f5dc5bb722fae8b30d85bace883e7a55ebba8 SHA512 e0ece0d2cbe81ad0d2ca65dd9931fd5ebb6e798b3eac63945f889a44fe7549fc913c9a1e2afb4f92855222132be7cf6e24d760d62872f144835ab0bdb506bb02 +DIST firefox-102.9.0esr.source.tar.xz 484308672 BLAKE2B dffd3928c268562802b9d9788cc83203ca932c85758b822c344e54259d81ef84668231149f3452cec3c2bf32c654db321303bcb9f81f8ccaac477ad2499ce346 SHA512 3923212ce4b7d1f589129025961ff1b380b8aaf1dd074674f3bd63cf14e9a44ff051bda556b7796c25634e153de00ce62243ece15a520f63dd0791a19b2a6685 DIST firefox-102esr-patches-09j.tar.xz 20236 BLAKE2B 35431fbc56c5470dac2839fd218d2a589558cf964eab2373f2db7a01e6e0dfee329b1b63f6a421bfd4c9bf8c3ed9877067cdc462742a1cc59d78d1d10264ebac SHA512 7fb82ff3ef2cbca339ab05ac07f0409088a87dfe37314d31d441bae1beb181cbea799dcd63dd560d0ccde24b665379118e5e99a1c1a2385d859378901593089b DIST firefox-110-patches-01j.tar.xz 17060 BLAKE2B 80ab1437311b33248edeadacfd53522ac388bfdccb89f721ab9dbf9dad7ee82b1cea978e553c42728c9a2a5d4fd6d2f101d42eab78a220e4181aa1068ed73278 SHA512 c8d2610bf7b1e5d1f1a1bd608b3ac8f0239e45cb08b6a2d9c63dcd19f900dedd99942a35539c5952ddaa84746c064ca2930c3c1b68758914ca5a9f1016e86ea0 DIST firefox-110.0.1-ach.xpi 457762 BLAKE2B fda32f74826c349f71e65e0104394379ed44cf2cd08912e3cf8cb09c0b4741ad4bb085cb3682e38c443c523454909b6dbe82f133063efe14e7d720099a95ebc4 SHA512 906002d4303a2e2b4590aaa317dfd8d895a04e2740e08e9004000f75396a202f6b3ebe0e7d380a30dc6aef86c0240ca0b03afc3657a1aea698341fa27ee746e8 @@ -307,6 +405,7 @@ DIST firefox-111.0-zh-CN.xpi 602345 BLAKE2B 22d0d3cf8c580514f7ac3c2b75aaa77b108f DIST firefox-111.0-zh-TW.xpi 604910 BLAKE2B f5a04e08f87f5432994f2765b86616331d51ce8101b7abc8881af97dfdf88f384a0dccdcdd1c1845e221683d0dbda5a95d59c1285a06b0409164e71423db5fd0 SHA512 bf90c89fb6797fcaf83f13811e6a6c285deedeb70c7f48f310fb4cd2e664a3c633bb83ef829987ad80e3956189b67777b4b41c0742cdb1dade9dd3288f95adff DIST firefox-111.0.source.tar.xz 495743080 BLAKE2B 5262557c7e3460c5d4013040b653b5ed357a6ee3fa196a8b862ac4e884a8be64bb06896a6ef468fe702f6ab09fc2af7088de4e4c14cf832d2a3d47a18ac68f0e SHA512 cdb300fdbb2b60068b0fc10a18df587b417e484901d36f52dd174d320d3440a42b02ea000f325c5781fd8853a5171b1a5184562fb535ece90619e4c64d46bb82 EBUILD firefox-102.8.0.ebuild 36784 BLAKE2B 1989a4c9234c49e13d1aeaf2907c9bb89fe73def5de60ab63d33a1e250a1ec1ca1f35faa84bd4684176dac672e41f9cbc952b52adb9994eb0fb3a07195e7cd10 SHA512 a8c74b62467954a3962cc9f6603e4b92473864057c2900d70dcd2198ed887b3ed11ed19cb33130ba5444217e319f4c294b9c197a13eefc4a1b8a7c1ce31ee685 +EBUILD firefox-102.9.0.ebuild 36787 BLAKE2B 34bd13e61a387949f788acf73433721f082b01e080bc31b4d38f83f87d8a6c75eee069861ff26893841b1d3368c99d834fe6cf3001d4bc12c07a233016556490 SHA512 6334067d6c401507ee0fc4830d8a2b6d6bd4bd125902af35bb95d5183df83431790d7c3a07c5e92cded865eb36b37f43bdfdd6f271d15293f2109c154932fa24 EBUILD firefox-110.0.1.ebuild 39952 BLAKE2B 290edae219dda47fca8bb197b2732c682ad7b2128d25f2f8ce627fa3abf38b2049184fbc41ba3ee221875d63a0b1af283b92a06642798da74994f2a03a0385b5 SHA512 dbf0acb8ee4f0471b90f6a14e0639929f30b17b452ebcf553ae503cf82963c4515a85d174d20a6bc0a65fedf336aefd0067677a8f39b8768a20f385d64e9ca36 EBUILD firefox-111.0.ebuild 39933 BLAKE2B 0a38cdb0692b6f7948cbf215a7a084f5b526fe68ae8bf6d3f6952f12bd9da19167b02c374947c2d48535fb2be5d20c01686d44a4a341f78e9e67f81b820aa27c SHA512 2c78065eecc696a309a189f380014fdd70276b499516a18bebe3ecede2c461f7ce22767771f6f6d58625b712521f6f53ab8059ba4071e5c045b739b4b50495af MISC metadata.xml 2219 BLAKE2B 064f486eecd2a66ef4c9cccef46803f877039bf16bc40b699a48e28e04e816d0ad434ce65ae2e056e1a4126a67a7dd7eff16040276159c1f5aa8966b1c0d7b6c SHA512 522b09ffc2857553e240b1e7c82c11ccc281dd87c720c6292ec9314b91319e0a55ca2838f17e878f5c1e58e4f22caa1b0c3b90506b65b350beff06f3f397d897 diff --git a/www-client/firefox/firefox-102.9.0.ebuild b/www-client/firefox/firefox-102.9.0.ebuild new file mode 100644 index 000000000000..5d0513cd71c2 --- /dev/null +++ b/www-client/firefox/firefox-102.9.0.ebuild @@ -0,0 +1,1274 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +FIREFOX_PATCHSET="firefox-102esr-patches-09j.tar.xz" + +LLVM_MAX_SLOT=15 + +PYTHON_COMPAT=( python3_{9..11} ) +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 optfeature 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="esr" +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" + +REQUIRED_USE="debug? ( !system-av1 ) + pgo? ( lto ) + wayland? ( dbus ) + wifi? ( dbus )" + +# Firefox-only REQUIRED_USE flags +REQUIRED_USE+=" screencast? ( wayland )" + +FF_ONLY_DEPEND="!www-client/firefox:0 + !www-client/firefox:rapid + screencast? ( media-video/pipewire:= ) + selinux? ( sec-policy/selinux-mozilla )" +BDEPEND="${PYTHON_DEPS} + || ( + ( + sys-devel/clang:15 + sys-devel/llvm:15 + clang? ( + sys-devel/lld:15 + virtual/rust:0/llvm-15 + pgo? ( =sys-libs/compiler-rt-sanitizers-15*[profile] ) + ) + ) + ( + sys-devel/clang:14 + sys-devel/llvm:14 + clang? ( + sys-devel/lld:14 + virtual/rust:0/llvm-14 + pgo? ( =sys-libs/compiler-rt-sanitizers-14*[profile] ) + ) + ) + ) + !clang? ( virtual/rust ) + app-arch/unzip + app-arch/zip + >=dev-util/cbindgen-0.24.3 + net-libs/nodejs + virtual/pkgconfig + amd64? ( >=dev-lang/nasm-2.14 ) + x86? ( >=dev-lang/nasm-2.14 )" + +COMMON_DEPEND="${FF_ONLY_DEPEND} + >=app-accessibility/at-spi2-core-2.46.0:2 + dev-libs/expat + dev-libs/glib:2 + dev-libs/libffi:= + >=dev-libs/nss-3.79.2 + >=dev-libs/nspr-4.34 + media-libs/alsa-lib + media-libs/fontconfig + media-libs/freetype + media-libs/mesa + media-video/ffmpeg + sys-libs/zlib + virtual/freedesktop-icon-theme + virtual/opengl + x11-libs/cairo[X] + x11-libs/gdk-pixbuf + x11-libs/gtk+:3[X] + x11-libs/libX11 + x11-libs/libXcomposite + x11-libs/libXdamage + x11-libs/libXext + x11-libs/libXfixes + x11-libs/libXrandr + x11-libs/libXtst + x11-libs/libxcb:= + x11-libs/libxkbcommon[X] + x11-libs/pango + x11-libs/pixman + dbus? ( + dev-libs/dbus-glib + sys-apps/dbus + ) + jack? ( virtual/jack ) + libproxy? ( net-libs/libproxy ) + pulseaudio? ( + || ( + media-sound/pulseaudio + >=media-sound/apulse-0.1.12-r4 + ) + ) + sndio? ( >=media-sound/sndio-1.8.0-r1 ) + 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.1.12: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? ( + 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 + ) + )" + +RDEPEND="${COMMON_DEPEND} + jack? ( virtual/jack ) + openh264? ( media-libs/openh264:*[plugin] )" + +DEPEND="${COMMON_DEPEND} + x11-base/xorg-proto + 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 ! has_version -b "virtual/rust:0/llvm-${LLVM_SLOT}" ; then + einfo "virtual/rust:0/llvm-${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}*[profile]" ; then + einfo "=sys-libs/compiler-rt-sanitizers-${LLVM_SLOT}*[profile] 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="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 + # 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() { + if use lto; then + rm -v "${WORKDIR}"/firefox-patches/*-LTO-Only-enable-LTO-*.patch || die + fi + + 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 crate 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; then + # Force clang + einfo "Enforcing the use of clang due to USE=clang ..." + if tc-is-gcc; then + have_switched_compiler=yes + fi + 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)" + export AS="$(tc-getCC) -c" + tc-export CC CXX LD AR AS 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 \ + --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 wayland ; then + mozconfig_add_options_ac '+x11+wayland' --enable-default-toolkit=cairo-gtk3-x11-wayland + 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 + export 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 + 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-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}-esr.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 + + optfeature_header "Optional programs for extra features:" + optfeature "desktop notifications" x11-libs/libnotify + optfeature "fallback mouse cursor theme e.g. on WMs" gnome-base/gsettings-desktop-schemas +} -- cgit v1.2.3