diff options
author | Thomas Deutschmann <whissi@gentoo.org> | 2021-07-23 01:27:39 +0200 |
---|---|---|
committer | Thomas Deutschmann <whissi@gentoo.org> | 2021-07-23 01:27:39 +0200 |
commit | 074f035c1c83bc31e27296d2a77380c9d8d21ba5 (patch) | |
tree | 37550bd62a2db494f7ceea6fbd8b194313944182 /www-client | |
parent | net-dns/libidn: drop unnecessary items from RDEPEND (diff) | |
download | gentoo-074f035c1c83bc31e27296d2a77380c9d8d21ba5.tar.gz gentoo-074f035c1c83bc31e27296d2a77380c9d8d21ba5.tar.bz2 gentoo-074f035c1c83bc31e27296d2a77380c9d8d21ba5.zip |
www-client/firefox: bump to v90.0.2
Package-Manager: Portage-3.0.21, Repoman-3.0.3
Signed-off-by: Thomas Deutschmann <whissi@gentoo.org>
Diffstat (limited to 'www-client')
-rw-r--r-- | www-client/firefox/Manifest | 97 | ||||
-rw-r--r-- | www-client/firefox/firefox-90.0.2.ebuild | 1182 |
2 files changed, 1279 insertions, 0 deletions
diff --git a/www-client/firefox/Manifest b/www-client/firefox/Manifest index 7664d9a52862..17e4c9362f84 100644 --- a/www-client/firefox/Manifest +++ b/www-client/firefox/Manifest @@ -679,4 +679,101 @@ DIST firefox-90.0.1-xh.xpi 430169 BLAKE2B 0a312479f39d55f26f65dc169cdb781a72a392 DIST firefox-90.0.1-zh-CN.xpi 587656 BLAKE2B 56ece7e539135c2002cd52f222aedaed17f7b2c4adccb2001a9595f572b837b3a273e2a5a0124a5b005e695ce476e32ff39c06b2e760eaa1878855e7aaaac3e9 SHA512 0ce6b36c395aa9182b882f46e80d7958a478326b7db5d2c18b33ea44a419da7ab2700b3222a2523d16ddd46a31152953ebbf2533ecb26bfda4b693a9ed4ea9ac DIST firefox-90.0.1-zh-TW.xpi 588101 BLAKE2B e15b3fef7649e09599aedb4e154737bc6bfa819fd0266d81579ae9b34a733db3f232cfdc7c8cc2955dc9a3b12bacdb840ac14f6e081cccae0c8883fbf68aeb4a SHA512 40f1c9d93e73e570bd423101ea07c8b23953d52a641466d7c6376b6875b28ec59bb1f1c2dfa1c6c20e582fb57e74fe354b845f4ca0573eec91ea244fbb6c1434 DIST firefox-90.0.1.source.tar.xz 378978080 BLAKE2B f512781f5ef51cef5f72234c54622602f8f506c03f68ad2436f28b0e3ac9ba6a8bc35f840437c23a6ca989dbace4290d6ac5632c71cfcefeee2267bf4b64ce8c SHA512 9f87c3f3dad33e42a7a9d2161d7f23ff2e7184b2274f9081511c7982957ae9954784bd844a2348ff4744231415aac195d1f12971392db90be0375b4738acb590 +DIST firefox-90.0.2-ach.xpi 467582 BLAKE2B eb20fc04a512be8d1eba219f7541af93dda781080337d76bce276a5583bab5db1938bff037a238377250b6810232b77534bbcf835362ee385b4b1bb6aad60067 SHA512 2f726bfe18bc7e6aa3cde436e9c142382513a1175269b710449cbf7481dc3d91171d21ca1bc30563901bb35eb31befa3c2aba115ac596951d3d6aeb5b94bd1ed +DIST firefox-90.0.2-af.xpi 430709 BLAKE2B 05cc8dde801efd97dfe56d1d102fa48e1b6e62b3e905648007dc488149628ad3eb297445319f0f1b620f2549d7830c16b81c53e06fdff1d43fcc70e815875256 SHA512 3865c9e96b66def2e640d747cf73ec97127b58e15e0fa01d5374d2ebe35a91d16a8176b68f4025122af56648415b47d03fe6a4a1e007a64da8a9ff4e1eae8ef8 +DIST firefox-90.0.2-an.xpi 515453 BLAKE2B fe5487cceed1fe4f941adf78760cbfa313f58408a5034eb72809e82b3a404e6515222058ae0fe8e7b18807eff8baa72a7ffcfe80798ce4ef9213be7bd52fc2f5 SHA512 1958e46092c05ba266896dffa83af98adad83572a31e769219b88a044ae132f2d2625154a20abbe997147188033f4924ef50e678d435aba9fdf0d8a291c89ed8 +DIST firefox-90.0.2-ar.xpi 580224 BLAKE2B 0ce2771752d9c3e6a2bb4d39b4eb4da5ba9ce4d530b04fe11b7775cc08107a78d3cdee033cd2a564523481cf69954fd07fc6adbcdc56ac0abea192be98fad91e SHA512 eaf2335811cf451dfff085efdd0256a3c72d08c59b1d31dbb08a968d40d5c20d45e590479e10738726bdc597a523c036a2b26bdbf41ee469a6bc3dd3254f0ea2 +DIST firefox-90.0.2-ast.xpi 508002 BLAKE2B 74158545d969e4181c4a80e3a1a2d9d2dd0e4d358c7846b9c426b25a00fac9d11bf10f8dc39e594ad9fc8395fa0e427d06824e3981a7dd7e59db1bbe4b0930c3 SHA512 7a5b98e537ea3a930016884fe13c1bc91ebb6f13267f759aa1c689a80f9e3243eafcbd8de16060bdacd6c59295b6a6fa5ad419cea3328acb20be5fd53f909b5e +DIST firefox-90.0.2-az.xpi 503461 BLAKE2B 15c7e6b13ab47639c611df6c51ebdddc2a365b6f0ff0e93285e17f9de8b85f91d028467c3f80ffab4a1ba0e28d8f16543db994b5b6970c5a22a8d4e36713a6a3 SHA512 18f759e63ad51e9719b3e5f4695f8e592360e612835e9f9ea5cfc616bbe07fd46bf110f881b42663d0e2384f12d34ad3a9207aa62247e582b1cfc62065205210 +DIST firefox-90.0.2-be.xpi 637220 BLAKE2B 1e10160eeef6b14da9431ffbdb6b94b244477d23f9b38ecec6dc8a40a188461624cf5fe9395f93c41cb2701eb2e18367db1ee991debdf3927fb44db33631cb31 SHA512 c9eeece43756e020e39908ce1d99f238c3d581cfa66b9accf8ad23fc0691d461b976ffe7027e29cc21914a07c9b009c19d5a7d17013b70739d5cb13dfe20ae8a +DIST firefox-90.0.2-bg.xpi 590496 BLAKE2B df82040f0991b69549e5983a6d3988bd71bee2aa367bfa2552d571cd1702e555ba0c488aed195f16541eff54a4b714e3d54ef6c99da573d451a69af44967ac85 SHA512 0429124d8eff17ba6cdb5b1f3b8107f1e37e8fba9445ad88532b5780db1e139d527bdf4bde37a1287657828a68357ee47e9d308b540f1130eaea65332ecfb3a2 +DIST firefox-90.0.2-bn.xpi 579586 BLAKE2B d989d0ffb3b396eff5f4cb3b42e503e52395715c371af60f7437e7c05d5153c1641c67ebd68870f019458ea9f9f32c888c7ffa8522d18403823571bbffd7835b SHA512 49d2b6d9bddb60140dabc91d7566318a7a33cc96664459fe75b29d07238a22056db615e6964b9cec9b0390cbd482bdedf4362acf144f752a8d82e7aeee76c360 +DIST firefox-90.0.2-br.xpi 539710 BLAKE2B 0691c6011c853e856577e7d2faf320b3d5cc276c360365f63f97fa03860ae1eafc02a31cda92506bfb3182a1eb2f345fc9f8661cd3446dc4dd11bafc09d587ac SHA512 630169e5a074099a3d965da66253c3707a3fc898a9b5aa3f5f5830c948c589e2f260ab6a50795417d19e63528658daadbeec2ef3117dc3c30d026cf9adb684ca +DIST firefox-90.0.2-bs.xpi 475430 BLAKE2B a6fb2a37cd6517c5816e036eeb794ff0de0c71f75b620b795a463ab33a6e47c8982c060ad128f012972a8c6759a6ec5cc178f31f2d242b86949597fae59e372f SHA512 44208f322553d88e59fea067a1216f8795a0359d330ff26762b420031bf8f31ae87d3fa1579153e5e6dcb53058c048b1df49eda74deace4bec8262ea6fd0d20e +DIST firefox-90.0.2-ca-valencia.xpi 548479 BLAKE2B ccda2b43e7ca3ccc3cb2bcdcc78e668d51b940d571c2c7a7dd117ace3cbba8696304aacf9dedaff9d3655e3dea96d0c694a4fe1788e8c0eb6c7e9d7595786c65 SHA512 64b6e4854cc9e1866a6ee7218d499dfa66a62680d36b2ba5973bcb99cdf09ce9664f078f0f93946575e4daeb872fbdeef28d7bd302113f83668be2376a1d4602 +DIST firefox-90.0.2-ca.xpi 546603 BLAKE2B 4a73a815709f2c9fd30be7bd282cd889d3babf08af0513e022999fc4ee789fa7ebc57a1b5798a465d46bc530830edceb1ff9b1e09889a139c25364436b32e09a SHA512 7b3d1f509dda3e9adaa8e15d12d1bb2a33c16356e7eebf99a0cf73fe2611bce6d84a9b7c328704dcc6caedb60fb9faffd9773e6e099f7379f5020b9c9263aaf2 +DIST firefox-90.0.2-cak.xpi 574164 BLAKE2B 442b69ff8957b047591f21ea22ce9d04a5d2ed88d870b321eecdb527c95dea94806ad76b8d88127548e35fd87f647b15c21e9a5c2f9ad7a7ff4582c94e500d48 SHA512 05a50ad71449ff9828fcbd4cb089d23c27fe885c43bb7f02bde303c0223f0e64036589e52049140fcdc1b92180d4f8fde430f2d984fdfbc3e0a0dec7bcf33bcc +DIST firefox-90.0.2-cs.xpi 577720 BLAKE2B ddc2062e0bd2642236266c47bf763121d2581ab0cb99da04860fb33d688b26c4c887760feb7356c5808ce889497fd62b12e01f00b55131ca45031a9e977bf153 SHA512 7e277710908892964749f446b48a8624c199d5d45f780608ce0ac6a7a5f7cbf57cfd4ae986f79f76a46ef2a0b41828104daf97028b54a2d83f6f134597ec28a6 +DIST firefox-90.0.2-cy.xpi 554650 BLAKE2B a8b3f9879534e4f59763adc1ae6ac310d14223faaa23056cf7248130489f993228083fca854d15ee3392761c33fd37d506402fb657b51dd1a607432e9a1d19cb SHA512 c18522048efc7edbcba01c1bee79e43d5db7b9816ac32d91f4441d3a0cd65155581966372101f14264fed70eaec881d5a099995a5b4beb9c6a3af54c88045212 +DIST firefox-90.0.2-da.xpi 546288 BLAKE2B 580541804a971226172c4a5405c2d97e57b0a8f6eada7d0658cffd79bfd5e4b915cf29c8ca58887f328a2601103b52b328ce5fca67d5e7a261a09dbeea347d76 SHA512 41beb225ae75c34dab6133f98464f10e9b7faa6405a15199272d05039a4c0417f7bcb67c0b4d058b716c010b9afba7508779aab664fa9acfcdeaf8a12b336a6e +DIST firefox-90.0.2-de.xpi 566471 BLAKE2B de4bed3a835be63460e938cfeb73ea00d3db1170a83fcddc7d67c7031028547205f1d9c016d46927bca1040ce9dde1a6dfe091647ea89d13425e559980baab67 SHA512 5dff86f82a0ae5dd86180d1bbb50af329a8d753905464728eb608e67db7cab66030d76617d119807642cbe16362498fef67658f07eda7ad7edc76a59093db3cb +DIST firefox-90.0.2-dsb.xpi 579297 BLAKE2B 24b04ee03cbba2269150674c994c073c5f114cc56e8703a1f993b2572a64ad9c78c49c65bd4b064b785faf2f95c3676a978cd01b54bfb0b5a36fe9b8273c4a09 SHA512 1d2e7a9b4f701d05ce9af4420c3458872cce5e8be2ecf1644bedfac5dae294f13056ca649a112bd2d7d0fdfa5a50574a107cfc51eae3cbc3bccceadca94f78d4 +DIST firefox-90.0.2-el.xpi 652899 BLAKE2B 00d52fd1ac72f2ef57958b02cccc7270dc7f565ba3844dd0be495930eb7a26cd72c0f1c289961aa940fbf5dfe4b070159fe6f511df78ee26e0fc793e245a5227 SHA512 dd9e5a59bf81ba93ffb131fc4dff873e557cd252941c2986d37730752258a2034db44e53672e7e2174c6f5467fd784ea22538e8e2334b441aeae8e99a326ca96 +DIST firefox-90.0.2-en-CA.xpi 521250 BLAKE2B 0db675cf883e92fc41c640f9c599b7fca295ae4f28f686440ea2e2b9a4436445b9eee2c2fe6eb625b1cf96db87642c341084696b35911e52239486fe11d3ce6e SHA512 c1f4a0e29e4e7313b0ae8efea43cd436f199fc249dcd6fd15d6ad7b2be106a90e83f49083f7d1a018be580f783fae5bb07ed5c01012b5adc59526dabba72fd30 +DIST firefox-90.0.2-en-GB.xpi 521806 BLAKE2B 1a04f7c7953f1f32e11484ef2b21559428f37ae00911d5560a504e42fd2bffdbef8f18ca55f924ff19f62679e74f6886b4901bb3027a25f85ddb525c38416315 SHA512 42690b90fcedd3f42ef373c8bd987b0bf2fb19d30071e451c33ffe3f6baa9c089ff870dce41274841a06a6d126ad09364b399f2d44f96b69441dc9dfae2cbf35 +DIST firefox-90.0.2-eo.xpi 548059 BLAKE2B cd513f81964c574fbb8436d28e6af185c74009466ce843f18d7414a730b709b26c8c8588e5e9eaa3ed3c057ffe16ddf56b179f048fa180760155e04151946c90 SHA512 8a02dae10df6d178fc32cc71df44b85bc7f9645dcce699a67a0910f4a91e058e99d05464b62a00fda32d7e1d43c629d2b6401e89288d1532fc08cd4868b5916e +DIST firefox-90.0.2-es-AR.xpi 559628 BLAKE2B 3d253e9bd11b29a3dd5783bad9e8b3e5f64b10baa3f497369c8175d295827159ff61b5a46abd4a0a6792838d18fdfb363316f64600bd4d786035e11fe4066129 SHA512 bbc319566de8dcb9911f76d5edaed504bb24bf5d65af518a5645f4941e8fddeab4e1fcc750d6a2ecb223b41c9746a5192822c99c7a30fd4e913d9177ac34f26f +DIST firefox-90.0.2-es-CL.xpi 558527 BLAKE2B bd89d7e8cfdf892115438b7fc92a18c48b633e9f856c9a4821ea2a7dfb90120e1b6dd233854ea96c2f1cb7dbdadd71aa369a7c879092ab6b0b109ae21864ec25 SHA512 b70799b720dc11a06c641f8bc21726d16e1979a2bbc9bfa8ed3fce019c24298ef0539ea47bf497663971d6de5a8d7e42edd73eecf259e4af966f41dcfd1827ba +DIST firefox-90.0.2-es-ES.xpi 548794 BLAKE2B f0320caafcc35a4e71abab33ae4a35f341d7f869661f7f7e2c8eec9fd68ac1d5be0502c9fae795005365f6d4e8d6024c86bb932ec3baf9b538b9595ee8ca06ec SHA512 5d2840475edb3659e7bf5428ddd92cf4929bb94a76884686a3c3271a6a4053e1bfe623d803488ab058b0b9860d9f4d659d36701eb6b90aaf5ea1723b3d83a0c0 +DIST firefox-90.0.2-es-MX.xpi 562244 BLAKE2B be7fbfe6d4780a871dea7127a786820ced8b139cd5ffd61989cf003ceb5d333910a9b7421a40008bf0290140a927a5ccdb0e389f9078f9b2a031cde00b5789af SHA512 b7fe64cf33d7be4ac13b66891a7b6ae350b5a8177537e321bfe1b8da2a1234980d0bfbc819102dba975d169baa9b26a356c80f41b41751d36e1ddf1defe5911d +DIST firefox-90.0.2-et.xpi 496662 BLAKE2B 31829a9cc3c809b6a0d91a68671f44e197db7f5b9b10426dbf4722f74b577de1db4be84f11f48eaae0d1152ac82af5f9d86922dcce2cf75738d3322485c0de52 SHA512 906f6f819baf2a96dfe0189ed322cb25e046d38dec7037cf5526da71cfbf3d1c0de600baf31c511d08eb18067beb4bfdd35ce5f7de91364847d0a0a7b21c7a3f +DIST firefox-90.0.2-eu.xpi 544791 BLAKE2B e8df641b3d57ec9d044f80c274de17e23e216257e0d78cd0e86450ba5fc39b18839896b3d3976e3be0ebf394b0d966d6ee4af0dafa2e3ca1a9751b3370d775a9 SHA512 920522a5fd26a53d27f15533f40c5972bd330037656b1c1f94828c4d7b87e33a446f49c4f311cc15dba16a931c73255887de25b91036a1057422a25727e6f481 +DIST firefox-90.0.2-fa.xpi 565155 BLAKE2B 1dc2ffd9990b923247d487670dd734c67db0ca5703834fa052f21684597de0bfc9902062d5c7f6fdfb4d68c85684fd93db5e060091af220c3c2ab74f4f9138aa SHA512 a929bfc80b3c217da3eae1773898a646d9c2c06d7e13578d1b3147a7497155953ca2a297156b1012ee7f8630b7764d2953ec25d610f958ee7a19965859666455 +DIST firefox-90.0.2-ff.xpi 488049 BLAKE2B 751ff1cc8b0cdb51af4f0cd42db3d1c96662d9994fbe5fd2e4a1d2a1ab57a9b4b5ae8bd8c3e5d3454de83365c6a1391be3e07ecfd58efcfa4ae7b412c402a826 SHA512 0b6e0b583f97722a57f9d28caa14aff4fe7d342e4f1b188a1b0186e865eaad3b1b5ab0d911a9187c082760e85b9f970c71be6e44d84827a575b102f28a7011f5 +DIST firefox-90.0.2-fi.xpi 545936 BLAKE2B 1d992fda4a9cbe8ff43c786277c55ca005888eac771095d037d595974ad6430994ce7c0f741acf96f175a816e800bc77496e318290914912ceba8a82e3c6ae68 SHA512 2143f3b989153534f61a394c94e9edc74f0070e8d6d389b455999d4cb4cb0597322871c100a1114adaf1073ef29d7cc5ff6c13e8f59de5f4064683dfe1f12fd5 +DIST firefox-90.0.2-fr.xpi 570078 BLAKE2B 75cf2bd14e3e8b67053aea83d492033ef46ddd88ab69a902f17a4e21c36e1fffd72d855d48be825da3928717eb726447435bf345f26b9edb5cbf949f08b19209 SHA512 a03b42c77585f70136aaaa3e102ab53550ec441933814e817f10a5ab846a47f5b1203738c22fdc07fbd7968421aa3be07fd3966f54a3d7a1f564e5733a4f01e9 +DIST firefox-90.0.2-fy-NL.xpi 555597 BLAKE2B 3508589c747154ebd7a9b712b58d38776990b8d9d2fbc6f83209a3e395b844a0bbc7ff0c62afbfefba58d509514fe0614bef7f711b1b44bad0605beffdd7c07d SHA512 5dac5d2c758eedfe7d351ba5185bf2f680d1816ab74256c9821b7846140130908976a979563438f910ddb51294ac8045e86620f9b35fc58e30ef4d9e3bc8cfae +DIST firefox-90.0.2-ga-IE.xpi 473120 BLAKE2B d72e1ccb36942bdf00b337efd0231ae5b338a28e17eb6a5bc51e613df4658c27da61486319ac08d4f9a0373dd2f42e7358afdb29da680bafcb97b9a96f61a7f8 SHA512 9826db654e10053ebad1b78caa2bca440ec8ef2eec30e1d3f70b04679c5a89ae8eb9098531b13aed6957a2c4fc7a885e0ac7afa36d0f98d40fe0d95574c7ee55 +DIST firefox-90.0.2-gd.xpi 550980 BLAKE2B 19032850535ac7c4d5129ae61a901cefbfd14b7c0ecc6acc22ad29422290775c61f0343442f823dff4039f99a40428ce138987e178471190515c91b509eab110 SHA512 86d69a91cfc1c836cf2b5d8b25ad509e32fd5d1d3732379009e50b8d2a9222371e287a3e00c0d9541165d79bed59732b8e144f3b638e43db9838bc29d62d4b20 +DIST firefox-90.0.2-gl.xpi 554486 BLAKE2B 1bc91d2cfe2639d84dd080198d5129414c581ac3c02dce8b14aec1e6c4a169e9aa07d6ebfd8fa98dca4546fe85fd1a35054e561912c4744e07f0768f71c7aab6 SHA512 4f36662c5eab07f649aa21aa85dc57ec82c8ab7b961fcad80fe4f487c40a041b98c2102b4f7b96cb4259e931333db4ef357e4a69779412f4fabe7cc7f66f0b21 +DIST firefox-90.0.2-gn.xpi 571719 BLAKE2B 37d4265185ec26a8ea8e86b57aa0aae529295e1ad54e5229e0e108872fea8b039acb4dfd85153e8a9218db46ea59288558d9c60cedf04554bde32faac85275e9 SHA512 937a9bf0c77e2d5a5f7d48c0aecf6b27bd6377ef05a82e2f674c38bcaa392a3f2d92f7b6eed97551eb26f39758f215bbc102b01314c3326e54c0d70abf91aa7e +DIST firefox-90.0.2-gu-IN.xpi 547542 BLAKE2B c207abe6581170975581f1ec5f074fff4113be5eb19a3f6113c2c6d660d66474c21a46b73ec87e4afdb03c04b9d052c77732b676108b89decbf04f2ed7cf3f71 SHA512 ec9de8cffd0ffc3828d69fadcf8c2a42215aa1d84474b08b3eab42d1466324cf2f5d5a035fd9f17b90230b3778eec7d229ea2d0fbf4aca6d652930249255a2c8 +DIST firefox-90.0.2-he.xpi 569407 BLAKE2B 7e69b976f53760242da74042d85573159082d3edd5e1d3ef1fd185b09c6863f8c275214d9a2fd420ca559f83099b393c979b701305e3c2c02bfb63aa8e0194fc SHA512 1094fd8b6d6435ba094d0ec2ed70a5b1d911059c1bb4850033209604521d21d8ff579e829224c494ed4046da16ab804381138a1d3893ad5b0e14787442136b3d +DIST firefox-90.0.2-hi-IN.xpi 579616 BLAKE2B fbd00e727022b20e0bdfe3adea70558b5e992fcf40805d0ae3407ffc49b41db5579cbff3780bfb05825bcb7d2b5cd7265dc5fd18f6be934806ea461d3c2a2629 SHA512 209bbac0799e13114ce20f3ae853dfed6c4e4c56efe71a78d765b6c1f725a52b0e88b87d6cef6efeccc1391413f9d322f60f0fcf79b197a1ca2256ab7861dd88 +DIST firefox-90.0.2-hr.xpi 549998 BLAKE2B a051f4591139d4e51114b39df0089cf970f6cecd368785c36592b5f3d4d129850510044f6e3b48ad7298ede1b2765ab502de75530616195d7d636599b8c275fa SHA512 8d77ca7fd7dbca5926ed4f8becd356a8bd31b8ecea36fe26b8641ce9d02daac2268e71e19968ff9f3338b379e943f041a4518207491a170bb629ea4045e2a0f5 +DIST firefox-90.0.2-hsb.xpi 575410 BLAKE2B b952d82e59ac118efb537453ebe7a87c15792c52b005da779d7d06f7fd665e8dea05984ab07b9dde17371828fe6f44212aef4dd492a32e7f9d6ad87c68369be9 SHA512 b59caab36be18ffd000a9976e3703e9e8d520c523494f080ef020f49ca239af17ca97dfbfb7dc70d36a32bdb51388c8ba2e8d4c4195d6b15c0f6ac57895df6cd +DIST firefox-90.0.2-hu.xpi 579113 BLAKE2B 206d00a85161b6aa2f2422d825a54fdb8a77c856f5da5a92c707729d078ed7a020d6f0b6e288bc117cdcddeded316811eabea264198633f11a27ec35e7a592d5 SHA512 8cc740c1454279b9bd20d78abf4ce352db596e85e879eeb335b79b00c0160de6b2a704f3c6c44d4231c80d2d40b58d676def68cd77bc2ed916eb617cbb0ad964 +DIST firefox-90.0.2-hy-AM.xpi 604422 BLAKE2B f49a46b07e6bd9aff619d6ecd142d53da4366899bfaa0cc13051b4132cfa8c81c16d0a1cb999b190373e64fda1434df9ce965c91969956dc1d4fd64c35fc5bb0 SHA512 737b37f8a96eeecd920297911cfaed9664c0327f7498cce5d0c0dd942335498cf7b15c203226dd3128b60a08a176556cfc8abdb434a77fbd5a846948faf4044d +DIST firefox-90.0.2-ia.xpi 544431 BLAKE2B ef3eb4e133074467183d3a54f2cc6af6ded4e8edb618868115fa6366d61c2d379a3903c0eadad8ad2a0d0e2d9eb57539d317a04b784a41b45a2cab8d73e64a56 SHA512 e3a72c94be0f03c93f85ea9b7ea1b37542f759d5de9a0522003abff9c12f30ff377221794d351d82c2b23afc07631b7fbdc0c0e629655877714e0ea3f9e49c47 +DIST firefox-90.0.2-id.xpi 540133 BLAKE2B 52d47167ec02bb0917c0b84df77e34694594ed3f7493d1790fe036268f304b1efa1097ebcaf2eaa9347e73d07faf4fd46e97da1d8961c9b1eeb68e13b222a1f5 SHA512 c510bc024f902e795fc851b0709570f5d493cd9bfac12ecb6f552144dd8c96c1ba607e6fd05f765e0f0425792859e86e661579b89b700320c044d18b28171cfc +DIST firefox-90.0.2-is.xpi 483713 BLAKE2B cae0f001ab5767163706140ca2ecf6e15c6db37a147882586d40073d2598fad2e5fcce962d4d51d0af5a925e634ef59117f5f93f70347237470f047d727083f8 SHA512 22da40eb5089e2a267a66c17c9ee8ee400753f0a9cd7337d8eebbb0d1e66f1ac31316ab875a6645107b7cabe884308f2a1d1d0a64ea96449c984ec74963d85b1 +DIST firefox-90.0.2-it.xpi 470917 BLAKE2B 2b8ad1812676dbca90ea2164e4b534a3f246bb883bb3db7dfdf90c324733563903ddbe4345803e77085fd37c5a099d9b787f94e01a413349c744ca67b25f519d SHA512 018de01e7aab5f3f8319ec1f1c74ffc5a77d9b6fb2e410f700785448d3c5cb267b095edb9c9cd69ed08ad529295a859086a7f5d4ba53c39e464716e206098606 +DIST firefox-90.0.2-ja.xpi 605314 BLAKE2B 34739e38a812f92c8579a226b36f2c7622eb758f2942069193715143f0d63e9f0b85e08ef4ecee75d1006a97304a6905b15e0e76c65b55d7e1d3cb29c45cbea8 SHA512 7687014e78fe50b692e97bbb22bb08c8c1e25b54aeb104b766587428aeda8fea935ccb089320e72dc1efaae7656c0de5485fc3905b98127b45f59e38ee58276a +DIST firefox-90.0.2-ka.xpi 606361 BLAKE2B 618a913593b9ef7832fd810ffd769cadb47bb93ef9d9362b86539a3d6da86957aebe412364f32ad4c77974cb97fb801edb3938a29c2326a66796bdc0d3e1fb54 SHA512 2bd7a719dbcd9cf2d7881260d5c0ae0892882983d7d07c7e7348c6c82b2e2f861236afaf5f9ee4f60940f3a2a6d9d3865949c5e2e92b6f26c09c4081f752c412 +DIST firefox-90.0.2-kab.xpi 562888 BLAKE2B 96890638bab2d4acc87390ee56c4c26c93d5514c32ebbc1c833aebab51e793a2e3d336e2076912edbe68843f83c8f02559a3f36feeab56329eea8ee9dd0fa320 SHA512 c8397002c9027ac7786957076c202a6db069ec1eee58fe0623291b5a72821131007ce2eeecde1d522d06af571e4dfa87694977d25fddb0e3c76d84768cbab447 +DIST firefox-90.0.2-kk.xpi 621558 BLAKE2B f57a4466136e3ed9adb06d0b693e7a653d4a06cd25153f42cb35ec6387530b6029d6d6d08b5b9dd0d7a5bf6a17f6e46992b443491ef23fcbe0d05347788351cc SHA512 6ad921f93a0e788aa0f2d59a422643eb48b85f54eab32066e6eac1338d0e73e0a6882f73f562c3011e4f53db8f00f92817a3539086d8c97f4f3a7940290257ea +DIST firefox-90.0.2-km.xpi 546445 BLAKE2B 0b5eeb9fb63549f3f9ff6c875418764e8191317bd8a167c2102face45b88dcb569c2df47fba209c5935e2fa7c8952b9f200de43cdd49caa0418b413b22ab8f93 SHA512 760431880427fe5abb65fb0a351fe80bc1ce84368c90b454594d6b13185254a19e88eaa2b095c38b9338c88230254df0fc0d1929fa24875458a1d7a8076ccd6d +DIST firefox-90.0.2-kn.xpi 510724 BLAKE2B c24388d4c872b798ed62e83c6d15d8f9bb33be6d258e16af43f34d94d05df348df09295a2d9c2b7ea54ec876cd4a84570648f3d0c964ee3c628b246ca145a15d SHA512 4483428d7a968f259b13787e94b845e0a9ffe55be1fe83b5fdbda01a7bbb970c959d7b24acaef729b9814a0e54b32be7967191936671d0224e92bff35570699e +DIST firefox-90.0.2-ko.xpi 590731 BLAKE2B d5178a54243b80c34dd3221fb0f9447cc9933ca03b7231ed13a006682f38a2f9b60734284a015326dda508c1801d50bcaa5fb6d299d13548012ab8c3bc89867f SHA512 7678485b6588e369067467250b5dc4a8009009850d3d63d8e2340d989b7ef383e81ea6af2f305a8b70115bdedcac5fabaf8a201eeb2b254de938bce818462e83 +DIST firefox-90.0.2-lij.xpi 484766 BLAKE2B 382c5ff77eb58e58e5c8e32ed0d7fe135d61974adaac1c990d514a1683c75d45fc68048a22f2d66ba0edc12e3ae119d9f75a217eb37cfee1180654c1288bd7f0 SHA512 3eca5e9266846d6b3c7ac108986da092dee5178e321aa8bf6892d4ffe009c2ab205ff86bd3d16076f8b9214b55578f81d0907bed9043c2c41e64e4316478de29 +DIST firefox-90.0.2-lt.xpi 572555 BLAKE2B 63f4b6095ed7e5cee86a4a25eefabea77a1c3ddc0562d7bfda0bdf08de5ffe90c9020e106d729572177386cff9461bf0427ecbc13368ea3dd8d6bb21388e18b2 SHA512 579ee64b4b3683a433b265b6c4c71d6c1006aa7c81e850b3b7f4d1ec7f3376c2bcfb89db76a5ced145343f11010fba24192f3fde365421b3e855b66755630e9b +DIST firefox-90.0.2-lv.xpi 475696 BLAKE2B 2675056a88af23b89dbec450aa2ed11621f6de09bdc21f0d06bcdf662c1421d517660f30d7648debbd588ce23651f525bf2f5255af6305c27defb40bdb770d4c SHA512 d48159a8e812bd321db05e8a865a8f680feafb0e4767e0d35d74795eda5a889fea5e2d8745bb0d2b438594aa72bd73981c2c2474e0ec089a29e0eafab13f550a +DIST firefox-90.0.2-mk.xpi 472368 BLAKE2B 91a36844e99016d7e2e4aa7d0d99680fa8d83e6a1e9282f6c3eda916e4cbaf826e8d66349eee4d905ab9c15eb6af7ccb7599bc0710e5a11d3dcfc39a0ca0a259 SHA512 408884c11556fca1371cb211a61f63ebda6df8df56ce02df0eedcb82d9e6ce72d77436bd9e2202d1e07e244ef08a62d2c7eb41ace62b813a8d80f6c134143102 +DIST firefox-90.0.2-mr.xpi 547715 BLAKE2B a1164b4b71eb42057bf0361e06cf2338f201c6926d7c6547ab256285a6fe7686d64a5674c909c95a31e920940b50c858b179f1607118cb19323e1c01cc075a28 SHA512 74abb04ef83fae4c570e82697ca2353a9e76772650a87e4e5f7c99f7591a8a84c1e5761a21cc2952a5846bfe873ab50339b958c9411141d2e636d1573e776b28 +DIST firefox-90.0.2-ms.xpi 459315 BLAKE2B 9231c3e855cf744e053e84978c97e071dbea39046434d7e6d1639e985ee5422ce71fa07f3189594873c3ef062fa9b1edc42bb3df1f6d8cf77ae456490f1938e1 SHA512 4dbeda882792988e58d6b6df7f2f7bc8b9ebd9ece288bc83f92561c62366ed8c59043528fbbff14fc4856188b22878a0bdc146ac95aa1a3e840a4f543ffa087d +DIST firefox-90.0.2-my.xpi 531263 BLAKE2B abcc403d73d5fb9ba0f6e8baa8b01a0547dd4e94a809b66bb6a2dd30f2fbd0bd55bd16b6ea6d353140802d415b894e607f4a79a0be4468121c2cf7c9363c9cdd SHA512 11679d0de73764b3efa6578b858394b941d7e45587b8e46adde984b60db349981086855cdb67721b477853e19806efff54c2c2f1cab1ce11f395e6833fbb62e9 +DIST firefox-90.0.2-nb-NO.xpi 540211 BLAKE2B e73bfe5862495669d645543576b64b3d66534e3d9bf3b41dfd871dbfa4146bac3ed46a6f58ae369e237d76f9024e7b462c60c2afe0fe91c0d2555bbe92abbf66 SHA512 8b13a9a28c36fe4438c52d85c3948b5cedc6a68fff0e7968a952fc5183b69104df5b9d74b71ca43cf3018cbab184f019b556b30075bcf67cabd04549cfd22fe7 +DIST firefox-90.0.2-ne-NP.xpi 488264 BLAKE2B 25f40a5eb34b4aa07d3852f0967cdc37c4cb0dc58524bd5c3cc773d4db4c73bb9ba8969f4e8d70d43282586b479cf09e62af1aa823a77c656968ae824f31e847 SHA512 80ff7b32a58e631b88a46588039774c258d02312d0e2fd98589725b882e481e3ea9b48923a0b9b37dad3c777dccc8395608f20aea6d757d7be1b0f9170033659 +DIST firefox-90.0.2-nl.xpi 549132 BLAKE2B 61413733011e4fc81224f223f570027f2ae60b8fdd89acc9ea1bee2940a26c28a4ef18425e12182cec9ca40f7dcc829eb885193a9ea7cb10cf9b10e4c27d62ef SHA512 544abdd3cb7b19076ab96365c63dc521b3658420472d7afd83ea4d199bf9399652bae7a1945dcdc89262902b3060df75984f573cafe69ef2dfdb2d9cd2e32173 +DIST firefox-90.0.2-nn-NO.xpi 543785 BLAKE2B 851daaa399a7e15fb795365c3e81ba09e6ffffae19968c18b686e74f92cb7d8fcc84fce0383e791a59ac001790123c00791a5a763ab3e601bfdb7467f5928c47 SHA512 59ca8671c752e5a0d399166f8a4ce52cf20d158358d65810e85498bb00982a90a5fff86382f155d63f2060447d9e9119773bed41f389a88341d3034f10e4cf7a +DIST firefox-90.0.2-oc.xpi 565026 BLAKE2B 63786a9a4c8a11828ca2e00d5eb718d9ed5171f1f5ec8554002d966884d5d2c7cd14ad89286537bf93b1e79255df5f191b9e9a7ba4fe238d6d083092706a4bfa SHA512 2bccaece0b3a0c0e8e3d9bc978c909fadae0d032a8a2e4df9778580cac0c60efb6228534ed8f1629281330e0532b0ded70118e9456995e6d43d9970cf41d4c68 +DIST firefox-90.0.2-pa-IN.xpi 612507 BLAKE2B 03d21a09f80ff1b4a7e6f5fcdad46036fb8c91f1eb46d04b7e7ea8bd84888a94e05a3b49004d1cd8b4d2b711287beea6f0c4a3dc2f8cebd772d6f5ccaa896e0f SHA512 da912c4ee934f2d44714ea31c139c1c794949466281a377c7fcfc314c6eac78fd85d5e795b11d8c24a131442c125b80fffc4c173b8e7fb08064db75bd3480cdd +DIST firefox-90.0.2-pl.xpi 568488 BLAKE2B c9056f7a8569d435781e3a17983fbd7889ee2e87acbae27bc79d78cb129c08da9b3d623d746cedb12282f8668fad1f5929050bbb5a1cc066358147d5b74ec4fe SHA512 bcbfe1b6975ec1ae940b08be4f45d7f04f4f30a80536e1cf912fddd6cb899d4aceb470e8dea8424bc0cc36435d75a8e865ba91f04ae87b293f6119e9cbd6f7e8 +DIST firefox-90.0.2-pt-BR.xpi 554982 BLAKE2B fcc2d465fd7f5a15ea861e5c1150888a308851b5fe0cb62847a5c6ef83d059ed5c80c1cd5720665525f17d3fad512b7fdbbd82f28a206df2a5224e9e3ff3cc9a SHA512 6d1e85376bfeb12558617f710671c31473707d738d839e78e107e93711b80c975191210dc293f7837795ce8d2e0acfeb9af09796ecf491a701adf932a78b9ab6 +DIST firefox-90.0.2-pt-PT.xpi 558862 BLAKE2B acec5024cc929b4e29e624b00db49d108535e2d270967c1b60298badbfb5f424a133da648c995fb00afc828fb03389af9e2a65d3fd57fd7aad038283109996bd SHA512 2fafd35e5c0106f9a3bfe54f032e826a37e6b7cd98941a8ee0255bf56116b1d65bb31fce8f711f8f7d1431d0b97bbb94f53c5ec3910864fbcf6e8e774f70e0cf +DIST firefox-90.0.2-rm.xpi 549899 BLAKE2B 9df12c0b8c193e33ba5822f909e9a1c91594f15baace3bb146b3e69ea93a526a37ff2ae72f65e4acf094ed08ea81b5f7541853f60dd4c819944b081dbcf89c83 SHA512 04858971ce69fd2d219a3d0ba97a5d72a5af88b6725f66aab79a8806a192cd6c6f4f17d0e5804abb937aac921e40a9494cdf41badc5ce6a96ec1d64ddf3d6470 +DIST firefox-90.0.2-ro.xpi 548131 BLAKE2B e6a19832c5252abdfb07a74374cf8604d0357e025d9093f9005c7ad252d162a99eb9cea38bb10f3a1554095747b8e7a3f950174f60fa219a9561ba9b861672a2 SHA512 9d65785acac5a8767960744a569aaf4bd9aace691376771415e6de9b6a3f392c70c406cd9837d7c6504931306132c0aa884dca83d785ea6fc66afe8cd7b4df49 +DIST firefox-90.0.2-ru.xpi 641994 BLAKE2B 9124781768996090200198864e0b24ca72d10c36e371b9631fc03a3a336a2a2cbd8a227ed12f8d3282c14b06b7a31efaad98f185b65cf29f602d8b958c695395 SHA512 8455deef343028d99810c01b3dcddff85bbcd31307dfd0aa461b0b66b194eea2d915be1abac7902b10bfa18e09bd16880c3b22f3e78a7bc62a7bc580c9e6b89f +DIST firefox-90.0.2-si.xpi 497038 BLAKE2B 1b5bd85f054bdac7d3bad8e64f3a9d8fe2ca2912cf0231ec92213c9ab80f68bcf48109567115a8e6b5ec02ee5bff759a1a3a44496e19045da6871045ee392027 SHA512 6c1712c1f282ce5ff842aa39203f4fee5aa38df79c49f203dab0c3269b2b43c7d1a350da76d435de7b995fed1559784192137bb8b703ab08eea652481142917a +DIST firefox-90.0.2-sk.xpi 578642 BLAKE2B 30fb46e4287edd81e32625926e3b8e510d6f4faa84247e4ce4646078c9e7c407e275a3e35473d530c2c425c351096e867ae1e88422231afb2729287cf52737c5 SHA512 742afc3b57cec29e12f546acbffc50dc34259655b934b7edeb0a431fad9f69a76891f4a3d504bd68325bc11af8eb090931f9c681041f26b4dafd330388b73dc9 +DIST firefox-90.0.2-sl.xpi 548456 BLAKE2B 7c47551255551b2fcab86fc8a0a75d7b3a86f1ddd17ca0dce53945b18290191f221b3230bfd8063573e55f42be9f6204583db1d2c960e0c3cc4db5aa569594d4 SHA512 85391db88fb1b87836a9509abd8b635562280b79ec6a501b7fe0a5da685028e5331d77168307a3cf395dd314cfeb61bc68405ae46ae70e6a6d724d6f46a1c73a +DIST firefox-90.0.2-son.xpi 428012 BLAKE2B 0c1d466b53f148b315e4b4e1a621e4b0dac3f8ed789514a335940f8d1a48d5be9df072e7baa3b6c0ee79446834f2606ae4420cf8121c5423cb6b5a9467eb12ca SHA512 cbd2db587f7b2e94bb888d0649754c2a8f9b423f7ad88577cb629e5b4ea2a7ad203ce755003a3ccb2a6551910617bd4f62c8bef84775873cec7410f39c3bd1e2 +DIST firefox-90.0.2-sq.xpi 568627 BLAKE2B cd6dab95c8ae6f597ac62ca649e8037624a1c91768587d574eb5762bde10ef58e6c23d8ce5da9d5731a009c65d9fc901f602db435b8986c2b9f9bd8ce53d0d0b SHA512 66e7251f67f43340a8f9df2a45748032e8b859057993eb834cafc663146b594e25d54af81dcbdcf402b05a84512198f3f50205c73a45da9f4aab738aa03e08f8 +DIST firefox-90.0.2-sr.xpi 603101 BLAKE2B ef378fac2d8a5ba7df6753620a4bb0b28c9cd53861f4f15001707fd1517942c1e40e8911d10e830808490abcd131f9d7c36f8636d4f647a9af1750be0b192e58 SHA512 e7c5767d77ef0f705aa1d1c567bed89fc2b4da24d669faba9d60beb0bd12d9f8b45ebe0b0027d84e8194fa1000e63bd10a419b649e8e3c47eb045b4d1d220f40 +DIST firefox-90.0.2-sv-SE.xpi 552226 BLAKE2B 5114b1443f8ed57b05ad9bab185ae3fd4831f6c0bc434401721cc11bb5fc11e5e42a09b8da76d8f2a280dadfd5af6bfdd18081b43c3c17915dee34d1e506e102 SHA512 6986de8362530f0db5903d277f70188ff7e7e53e41c44c1f01ceac640b53262dd8bf92c9c967d8e33ce7c31cb39d9089c7d493ea6c28a9907c1ba67795d2607a +DIST firefox-90.0.2-szl.xpi 525937 BLAKE2B a5c7eb4385823339d56ada2771a8cf130c8c29ccf7d60a65f0e88a7e1ede5413b663c6429efb92770ffbeb55f271f6df6b09b13c158332bddbfcd48b01ac2808 SHA512 6e0b0b0d20c19db95699156397d71bf5719c9f92b44864942bcbd5f1b6226f57998d92dcf8817f8030c09227dfed1780ad5671b4edff40e7270c7d3ce2c4e769 +DIST firefox-90.0.2-ta.xpi 526631 BLAKE2B d4b8bbf41992fbbaba840bfb19d62801a8b6d3921fc5c92379ce5baad6d5a45f7b730250cad9e90ee41220b7fc7ab3f360c0aa5b609cad2660965e69065ab6b3 SHA512 d88eb96df7bff317df242a8eec99140eae0eb121e1ed6ffa9242a9b540064666c0db9af36a4fa729e23bfd8fab9abbd32a2c5c3ff85b6ad2723be8da6ccfa956 +DIST firefox-90.0.2-te.xpi 568744 BLAKE2B 401da427b76f0c455aa880ef64721a8bc8d3ad25093cd67b48d4d37a65bef7aa6c02db37c94bbd7190ad036a49255351756f12f7c7bfb3894bdd8566cd4b63a5 SHA512 4388b917725a32522c0c50e72a4ff2e96eb61a4514bc6311adf8b99f386691720c78168007661790698d1aa14bdda9e28e0a24d35995460ad0f3ba642e8a20e8 +DIST firefox-90.0.2-th.xpi 621169 BLAKE2B 20bc114e791056e866ca87fa717270afec022ece33cf3568f445f460c690e5d98aaeb409744298d94b17b2655f6ea39165c0b4d2de7b1b87d94691e832f43b5e SHA512 b775f9b6235dd154a7f26ff194ea6de858c5c8d98698afe9eb2173e3ff388726572583c9f4b3fc4c762e244751c623151baaf0effd8a12056ecde7236e3ce0c7 +DIST firefox-90.0.2-tl.xpi 533288 BLAKE2B 9d2b4fe2251c08621b0fccc7492d8dd9879a80cccf64e7096e97e3125f5dbc06ea82e57fa52ef975c2da28d4226bd8a3cf77860140b3f5eb0055b476326701f7 SHA512 eb47c4a62a2b51131d0da056ac6ade774f59e8610fced36fad3cb64fa661c1eafa8e6fa8e6b53508ebc6a190cb45c68e17485310c215b96af2938a588452e57e +DIST firefox-90.0.2-tr.xpi 564703 BLAKE2B f70afbf4ffb27efa5ed52cd102449a9a853afbe16271b431739e456f81a5603ba29b8faf8de16978c0f9dc41d554c2b4f5cbf7c74e454e8bed1d46639babed7e SHA512 8242f1173f9e3f3c596591bb6d14801d72870123619148087fca33e5ac7d74b52850c5ba772727a2c831009d36d975c0f3826bcc01846042f21531b0f7ddc8e4 +DIST firefox-90.0.2-trs.xpi 506694 BLAKE2B 00fb05e468dfa0e3c1ba6e572189be68118a45e17d9a5b929821b0bf063bbf114935f9ffb2fa12ff13ab3e0050de62f6c893b324d29df8922096bbe1f609042c SHA512 f174dcadfbf38d413040543bff026ff940448fb39337379cbd15c4254b12115329c682618d6d62850c62ae0b9607a83bf5182b0b16ddeeb6109605ea10fd277d +DIST firefox-90.0.2-uk.xpi 635684 BLAKE2B 79f8a22184a62e25d52219fb662d8bab2e6844579b593d56ccf9036156e52111ee28219b1d6d25c8b959bba80104b560ad4679083a9a048284b780cd7e262859 SHA512 9289e74724069d8e3a881d5694a394da908b1c781df37a9bb163249a9730e157f34df91c290a6c2019980934b386da5e7037a3471117b41b08f3bd7c0e53914c +DIST firefox-90.0.2-ur.xpi 577991 BLAKE2B 4f0cabc51071c71a1b0c88de4b699f16940136240a5d8a9f273434c4d56d69eddb4b04fbf1420bbebc85c0f00df031c15e4b21b66f19342b02e9348e0ecf3ec5 SHA512 80cab1941a57798914be843899e7c1164c28df0f293ec70efa00536221c3cb49a72ce327595085747367220bf399f681f1066018c7530b14bb42cc6fd0ce340c +DIST firefox-90.0.2-uz.xpi 483022 BLAKE2B a125d2b044afff77a72e426ac1554465907a306139c1b602502d2ca77c03eb9768bbc3f90c3c2cc445d93d57fda97d164209a235e92bb7b606e4c6c9e5746ca0 SHA512 b799b862fb047ef0c48b351c8a7b42bf372dc6785beceb977ff4aac6933e3958f972706af77a74464a105d10a6ffba8be3cac5d9e1813575e04852af2800845c +DIST firefox-90.0.2-vi.xpi 586903 BLAKE2B f1b143163e443d76a213e7c4aa57a5375adf809f9a8d2c246d036be9d67ab7678e1eaddf27a0c386935327bc44e4e21df1716c0f3dc2ea24a50b1077e31dcbc7 SHA512 3bb4186633e2b353266ac17fbd5277c4befe544e966d3d2d7312743966ee1f5407404f94542f25a3242521616a744108703d115a761a849832c9b0697b0bc406 +DIST firefox-90.0.2-xh.xpi 430182 BLAKE2B d849e34655c8b50abb2ce4d2197cdf8761b27129fe8fedfdaef04221ecd0300ac8a8ae998b07a39d21bf3a3187693e818846c92da0b5e7e3eeda522e536f86e9 SHA512 5bd4f80060e5b75f56b3a02489717f58bc39a33785c08bf3e308131f690437ab072860e3cc9cacc00eaa0f58da9cdf02491d75b31909f1d8f8423c1378d60ac6 +DIST firefox-90.0.2-zh-CN.xpi 588311 BLAKE2B 6656456291738d7b7651e14558a288eec053c1815fec33826e6db4c36058007d9131fb2c2847fda57f8ac75d8b5da9e7c0334db6c9cda0043c8bcb2a84db92c1 SHA512 6ee44936371e07a21903565bdacffb593a4a4fd64413bdc1f6998cb406afa11d934eea20e5ad5117468750d3eca53e80aa6afd9ece1c63ad4eae59a459a3b0c5 +DIST firefox-90.0.2-zh-TW.xpi 588723 BLAKE2B 295e5ebb3f810f1ab8b66f301ee5fcd67d147cc640daabbb12e481baf835a439992fc5e1d1195bcd8b28e91336281b2e94d207d77261ec1297c784fdc3fba5eb SHA512 a6b5747fc3986357f13db401dd93763f370e547e3fae61330108debd981fbc630f6af8003d6146e73cdcc948e4b79fc00614e6a257358155b3cfe0176d2e55de +DIST firefox-90.0.2.source.tar.xz 380670372 BLAKE2B 782e548663d3538d834feeea54c9fa54ff5580472b967bb60be331e591b782fff2a6877f2e8db29511ac4b4b3dff847f30dc8f0a8333ece3d4156d6ac10a723d SHA512 4fda0b1e666fb0b1d846708fad2b48a5b53d48e7fc2a5da1f234b5b839c55265b41f6509e6b506d5e8a7455f816dfa5ab538589bc9e83b7e3846f0f72210513e DIST firefox-90.0.source.tar.xz 378743212 BLAKE2B 5f70cd3a8b0ece81c332de6be85f7fdcace3936e4f67b4f3cf080766c28fb1f90694e157dbd4f6fa8ed8aed5550a899eee8f000c2bea228af4546cfb02757ade SHA512 233ad59e4ab2f08d2253b49235b51b26fa32fb7c285928110573ccbe67c79965d9401a6c58a3af2ad22b8a58ca5d9b3154e3e8c9d29b153acd16152d9b75442c diff --git a/www-client/firefox/firefox-90.0.2.ebuild b/www-client/firefox/firefox-90.0.2.ebuild new file mode 100644 index 000000000000..b2acecd2054c --- /dev/null +++ b/www-client/firefox/firefox-90.0.2.ebuild @@ -0,0 +1,1182 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI="7" + +FIREFOX_PATCHSET="firefox-90-patches-01.tar.xz" + +LLVM_MAX_SLOT=12 + +PYTHON_COMPAT=( python3_{7..9} ) +PYTHON_REQ_USE="ncurses,sqlite,ssl" + +WANT_AUTOCONF="2.1" + +VIRTUALX_REQUIRED="pgo" + +MOZ_ESR= + +MOZ_PV=${PV} +MOZ_PV_SUFFIX= +if [[ ${PV} =~ (_(alpha|beta|rc).*)$ ]] ; then + MOZ_PV_SUFFIX=${BASH_REMATCH[1]} + + # Convert the ebuild version to the upstream Mozilla version + MOZ_PV="${MOZ_PV/_alpha/a}" # Handle alpha for SRC_URI + MOZ_PV="${MOZ_PV/_beta/b}" # Handle beta for SRC_URI + MOZ_PV="${MOZ_PV%%_rc*}" # Handle rc for SRC_URI +fi + +if [[ -n ${MOZ_ESR} ]] ; then + # ESR releases have slightly different version numbers + MOZ_PV="${MOZ_PV}esr" +fi + +MOZ_PN="${PN%-bin}" +MOZ_P="${MOZ_PN}-${MOZ_PV}" +MOZ_PV_DISTFILES="${MOZ_PV}${MOZ_PV_SUFFIX}" +MOZ_P_DISTFILES="${MOZ_PN}-${MOZ_PV_DISTFILES}" + +inherit autotools check-reqs desktop flag-o-matic gnome2-utils linux-info \ + llvm multiprocessing pax-utils python-any-r1 toolchain-funcs \ + virtualx xdg + +MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/releases/${MOZ_PV}" + +if [[ ${PV} == *_rc* ]] ; then + MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/candidates/${MOZ_PV}-candidates/build${PV##*_rc}" +fi + +PATCH_URIS=( + https://dev.gentoo.org/~{axs,polynomial-c,whissi}/mozilla/patchsets/${FIREFOX_PATCHSET} +) + +SRC_URI="${MOZ_SRC_BASE_URI}/source/${MOZ_P}.source.tar.xz -> ${MOZ_P_DISTFILES}.source.tar.xz + ${PATCH_URIS[@]}" + +DESCRIPTION="Firefox Web Browser" +HOMEPAGE="https://www.mozilla.com/firefox" + +KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86" + +SLOT="0/$(ver_cut 1)" +LICENSE="MPL-2.0 GPL-2 LGPL-2.1" +IUSE="+clang cpu_flags_arm_neon dbus debug eme-free geckodriver +gmp-autoupdate + hardened hwaccel jack lto +openh264 pgo pulseaudio screencast sndio selinux + +system-av1 +system-harfbuzz +system-icu +system-jpeg +system-libevent + +system-libvpx +system-webp wayland wifi" + +REQUIRED_USE="debug? ( !system-av1 ) + 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.47.0 + || ( + ( + sys-devel/clang:12 + sys-devel/llvm:12 + clang? ( + =sys-devel/lld-12* + pgo? ( =sys-libs/compiler-rt-sanitizers-12*[profile] ) + ) + ) + ( + sys-devel/clang:11 + sys-devel/llvm:11 + clang? ( + =sys-devel/lld-11* + pgo? ( =sys-libs/compiler-rt-sanitizers-11*[profile] ) + ) + ) + ( + sys-devel/clang:10 + sys-devel/llvm:10 + clang? ( + =sys-devel/lld-10* + pgo? ( =sys-libs/compiler-rt-sanitizers-10*[profile] ) + ) + ) + ) + amd64? ( >=dev-lang/nasm-2.13 ) + x86? ( >=dev-lang/nasm-2.13 )" + +CDEPEND=" + >=dev-libs/nss-3.66 + >=dev-libs/nspr-4.29 + dev-libs/atk + dev-libs/expat + >=x11-libs/cairo-1.10[X] + >=x11-libs/gtk+-3.4.0:3[X] + x11-libs/gdk-pixbuf + >=x11-libs/pango-1.22.0 + >=media-libs/libpng-1.6.35:0=[apng] + >=media-libs/mesa-10.2:* + media-libs/fontconfig + >=media-libs/freetype-2.4.10 + kernel_linux? ( !pulseaudio? ( media-libs/alsa-lib ) ) + virtual/freedesktop-icon-theme + >=x11-libs/pixman-0.19.2 + >=dev-libs/glib-2.26:2 + >=sys-libs/zlib-1.2.3 + >=dev-libs/libffi-3.0.10:= + media-video/ffmpeg + x11-libs/libX11 + x11-libs/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:0/0.3 ) + system-av1? ( + >=media-libs/dav1d-0.8.1:= + >=media-libs/libaom-1.0.0:= + ) + system-harfbuzz? ( + >=media-libs/harfbuzz-2.7.4:0= + >=media-gfx/graphite2-1.3.13 + ) + system-icu? ( >=dev-libs/icu-67.1:= ) + system-jpeg? ( >=media-libs/libjpeg-turbo-1.2.1 ) + system-libevent? ( >=dev-libs/libevent-2.0:0=[threads] ) + system-libvpx? ( >=media-libs/libvpx-1.8.2:0=[postproc] ) + system-webp? ( >=media-libs/libwebp-1.1.0:0= ) + wifi? ( + kernel_linux? ( + sys-apps/dbus + dev-libs/dbus-glib + net-misc/networkmanager + ) + ) + jack? ( virtual/jack ) + selinux? ( sec-policy/selinux-mozilla ) + sndio? ( media-sound/sndio )" + +RDEPEND="${CDEPEND} + jack? ( virtual/jack ) + openh264? ( media-libs/openh264:*[plugin] ) + pulseaudio? ( + || ( + media-sound/pulseaudio + >=media-sound/apulse-0.1.12-r4 + ) + ) + selinux? ( sec-policy/selinux-mozilla )" + +DEPEND="${CDEPEND} + 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=( + ach af an ar ast az be bg bn br bs ca-valencia ca cak cs cy + da de dsb el en-CA en-GB en-US eo es-AR es-CL es-ES es-MX et eu + fa ff fi fr fy-NL ga-IE gd gl gn gu-IN he hi-IN hr hsb hu hy-AM + ia id is it ja ka kab kk km kn ko lij lt lv mk mr ms my + nb-NO ne-NP nl nn-NO oc pa-IN pl pt-BR pt-PT rm ro ru + si sk sl son sq sr sv-SE szl ta te th tl tr trs uk ur uz vi + xh zh-CN zh-TW +) + +mozilla_set_globals() { + # https://bugs.gentoo.org/587334 + local MOZ_TOO_REGIONALIZED_FOR_L10N=( + fy-NL ga-IE gu-IN hi-IN hy-AM nb-NO ne-NP nn-NO pa-IN sv-SE + ) + + local lang xflag + for lang in "${MOZ_LANGS[@]}" ; do + # en and en_US are handled internally + if [[ ${lang} == en ]] || [[ ${lang} == en-US ]] ; then + continue + fi + + # strip region subtag if $lang is in the list + if has ${lang} "${MOZ_TOO_REGIONALIZED_FOR_L10N[@]}" ; then + xflag=${lang%%-*} + else + xflag=${lang} + fi + + SRC_URI+=" l10n_${xflag/[_@]/-}? (" + SRC_URI+=" ${MOZ_SRC_BASE_URI}/linux-x86_64/xpi/${lang}.xpi -> ${MOZ_P_DISTFILES}-${lang}.xpi" + SRC_URI+=" )" + IUSE+=" l10n_${xflag/[_@]/-}" + done +} +mozilla_set_globals + +moz_clear_vendor_checksums() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -ne 1 ]] ; then + die "${FUNCNAME} requires exact one argument" + fi + + einfo "Clearing cargo checksums for ${1} ..." + + sed -i \ + -e 's/\("files":{\)[^}]*/\1/' \ + "${S}"/third_party/rust/${1}/.cargo-checksum.json \ + || die +} + +moz_install_xpi() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -lt 2 ]] ; then + die "${FUNCNAME} requires at least two arguments" + fi + + local DESTDIR=${1} + shift + + insinto "${DESTDIR}" + + local emid xpi_file xpi_tmp_dir + for xpi_file in "${@}" ; do + emid= + xpi_tmp_dir=$(mktemp -d --tmpdir="${T}") + + # Unpack XPI + unzip -qq "${xpi_file}" -d "${xpi_tmp_dir}" || die + + # Determine extension ID + if [[ -f "${xpi_tmp_dir}/install.rdf" ]] ; then + emid=$(sed -n -e '/install-manifest/,$ { /em:id/!d; s/.*[\">]\([^\"<>]*\)[\"<].*/\1/; p; q }' "${xpi_tmp_dir}/install.rdf") + [[ -z "${emid}" ]] && die "failed to determine extension id from install.rdf" + elif [[ -f "${xpi_tmp_dir}/manifest.json" ]] ; then + emid=$(sed -n -e 's/.*"id": "\([^"]*\)".*/\1/p' "${xpi_tmp_dir}/manifest.json") + [[ -z "${emid}" ]] && die "failed to determine extension id from manifest.json" + else + die "failed to determine extension id" + fi + + einfo "Installing ${emid}.xpi into ${ED}${DESTDIR} ..." + newins "${xpi_file}" "${emid}.xpi" + done +} + +mozconfig_add_options_ac() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -lt 2 ]] ; then + die "${FUNCNAME} requires at least two arguments" + fi + + local reason=${1} + shift + + local option + for option in ${@} ; do + echo "ac_add_options ${option} # ${reason}" >>${MOZCONFIG} + done +} + +mozconfig_add_options_mk() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -lt 2 ]] ; then + die "${FUNCNAME} requires at least two arguments" + fi + + local reason=${1} + shift + + local option + for option in ${@} ; do + echo "mk_add_options ${option} # ${reason}" >>${MOZCONFIG} + done +} + +mozconfig_use_enable() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -lt 1 ]] ; then + die "${FUNCNAME} requires at least one arguments" + fi + + local flag=$(use_enable "${@}") + mozconfig_add_options_ac "$(use ${1} && echo +${1} || echo -${1})" "${flag}" +} + +mozconfig_use_with() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -lt 1 ]] ; then + die "${FUNCNAME} requires at least one arguments" + fi + + local flag=$(use_with "${@}") + mozconfig_add_options_ac "$(use ${1} && echo +${1} || echo -${1})" "${flag}" +} + +pkg_pretend() { + if [[ ${MERGE_TYPE} != binary ]] ; then + if use pgo ; then + if ! has usersandbox $FEATURES ; then + die "You must enable usersandbox as X server can not run as root!" + fi + fi + + # Ensure we have enough disk space to compile + if use pgo || use lto || use debug ; then + CHECKREQS_DISK_BUILD="13500M" + else + CHECKREQS_DISK_BUILD="6400M" + fi + + check-reqs_pkg_pretend + fi +} + +pkg_setup() { + if [[ ${MERGE_TYPE} != binary ]] ; then + if use pgo ; then + if ! has userpriv ${FEATURES} ; then + eerror "Building ${PN} with USE=pgo and FEATURES=-userpriv is not supported!" + fi + fi + + # Ensure we have enough disk space to compile + if use pgo || use lto || use debug ; then + CHECKREQS_DISK_BUILD="13500M" + else + CHECKREQS_DISK_BUILD="6400M" + fi + + check-reqs_pkg_setup + + llvm_pkg_setup + + if use clang && use lto ; then + local version_lld=$(ld.lld --version 2>/dev/null | awk '{ print $2 }') + [[ -n ${version_lld} ]] && version_lld=$(ver_cut 1 "${version_lld}") + [[ -z ${version_lld} ]] && die "Failed to read ld.lld version!" + + # temp fix for https://bugs.gentoo.org/768543 + # we can assume that rust 1.{49,50}.0 always uses llvm 11 + local version_rust=$(rustc -Vv 2>/dev/null | grep -F -- 'release:' | awk '{ print $2 }') + [[ -n ${version_rust} ]] && version_rust=$(ver_cut 1-2 "${version_rust}") + [[ -z ${version_rust} ]] && die "Failed to read version from rustc!" + + if ver_test "${version_rust}" -ge "1.49" && ver_test "${version_rust}" -le "1.50" ; then + local version_llvm_rust="11" + else + local version_llvm_rust=$(rustc -Vv 2>/dev/null | grep -F -- 'LLVM version:' | awk '{ print $3 }') + [[ -n ${version_llvm_rust} ]] && version_llvm_rust=$(ver_cut 1 "${version_llvm_rust}") + [[ -z ${version_llvm_rust} ]] && die "Failed to read used LLVM version from rustc!" + fi + + if ver_test "${version_lld}" -ne "${version_llvm_rust}" ; then + eerror "Rust is using LLVM version ${version_llvm_rust} but ld.lld version belongs to LLVM version ${version_lld}." + eerror "You will be unable to link ${CATEGORY}/${PN}. To proceed you have the following options:" + eerror " - Manually switch rust version using 'eselect rust' to match used LLVM version" + eerror " - Switch to dev-lang/rust[system-llvm] which will guarantee matching version" + eerror " - Build ${CATEGORY}/${PN} without USE=lto" + die "LLVM version used by Rust (${version_llvm_rust}) does not match with ld.lld version (${version_lld})!" + fi + fi + + if ! use clang && [[ $(gcc-major-version) -eq 11 ]] \ + && ! has_version -b ">sys-devel/gcc-11.1.0:11" ; then + # bug 792705 + eerror "Using GCC 11 to compile firefox is currently known to be broken (see bug #792705)." + die "Set USE=clang or select <gcc-11 to build ${CATEGORY}/${P}." + fi + + python-any-r1_pkg_setup + + # Avoid PGO profiling problems due to enviroment leakage + # These should *always* be cleaned up anyway + unset \ + DBUS_SESSION_BUS_ADDRESS \ + DISPLAY \ + ORBIT_SOCKETDIR \ + SESSION_MANAGER \ + XAUTHORITY \ + XDG_CACHE_HOME \ + XDG_SESSION_COOKIE + + # Build system is using /proc/self/oom_score_adj, bug #604394 + addpredict /proc/self/oom_score_adj + + if ! mountpoint -q /dev/shm ; then + # If /dev/shm is not available, configure is known to fail with + # a traceback report referencing /usr/lib/pythonN.N/multiprocessing/synchronize.py + ewarn "/dev/shm is not mounted -- expect build failures!" + fi + + # Google API keys (see http://www.chromium.org/developers/how-tos/api-keys) + # Note: These are for Gentoo Linux use ONLY. For your own distribution, please + # get your own set of keys. + if [[ -z "${MOZ_API_KEY_GOOGLE+set}" ]] ; then + MOZ_API_KEY_GOOGLE="AIzaSyDEAOvatFogGaPi0eTgsV_ZlEzx0ObmepsMzfAc" + fi + + if [[ -z "${MOZ_API_KEY_LOCATION+set}" ]] ; then + MOZ_API_KEY_LOCATION="AIzaSyB2h2OuRgGaPicUgy5N-5hsZqiPW6sH3n_rptiQ" + fi + + # Mozilla API keys (see https://location.services.mozilla.com/api) + # Note: These are for Gentoo Linux use ONLY. For your own distribution, please + # get your own set of keys. + if [[ -z "${MOZ_API_KEY_MOZILLA+set}" ]] ; then + MOZ_API_KEY_MOZILLA="edb3d487-3a84-46m0ap1e3-9dfd-92b5efaaa005" + fi + + # Ensure we use C locale when building, bug #746215 + export LC_ALL=C + fi + + CONFIG_CHECK="~SECCOMP" + WARNING_SECCOMP="CONFIG_SECCOMP not set! This system will be unable to play DRM-protected content." + linux-info_pkg_setup +} + +src_unpack() { + local _lp_dir="${WORKDIR}/language_packs" + local _src_file + + if [[ ! -d "${_lp_dir}" ]] ; then + mkdir "${_lp_dir}" || die + fi + + for _src_file in ${A} ; do + if [[ ${_src_file} == *.xpi ]]; then + cp "${DISTDIR}/${_src_file}" "${_lp_dir}" || die "Failed to copy '${_src_file}' to '${_lp_dir}'!" + else + unpack ${_src_file} + fi + done +} + +src_prepare() { + use lto && rm -v "${WORKDIR}"/firefox-patches/*-LTO-Only-enable-LTO-*.patch + eapply "${WORKDIR}/firefox-patches" + + # Allow user to apply any additional patches without modifing ebuild + eapply_user + + # Make LTO respect MAKEOPTS + sed -i \ + -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \ + "${S}"/build/moz.configure/lto-pgo.configure \ + || die "sed failed to set num_cores" + + # Make ICU respect MAKEOPTS + sed -i \ + -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \ + "${S}"/intl/icu_sources_data.py \ + || die "sed failed to set num_cores" + + # sed-in toolchain prefix + sed -i \ + -e "s/objdump/${CHOST}-objdump/" \ + "${S}"/python/mozbuild/mozbuild/configure/check_debug_ranges.py \ + || die "sed failed to set toolchain prefix" + + sed -i \ + -e 's/ccache_stats = None/return None/' \ + "${S}"/python/mozbuild/mozbuild/controller/building.py \ + || die "sed failed to disable ccache stats call" + + einfo "Removing pre-built binaries ..." + find "${S}"/third_party -type f \( -name '*.so' -o -name '*.o' \) -print -delete || die + + # Clearing checksums where we have applied patches + moz_clear_vendor_checksums target-lexicon-0.9.0 + + # Create build dir + BUILD_DIR="${WORKDIR}/${PN}_build" + mkdir -p "${BUILD_DIR}" || die + + # Write API keys to disk + echo -n "${MOZ_API_KEY_GOOGLE//gGaPi/}" > "${S}"/api-google.key || die + echo -n "${MOZ_API_KEY_LOCATION//gGaPi/}" > "${S}"/api-location.key || die + echo -n "${MOZ_API_KEY_MOZILLA//m0ap1/}" > "${S}"/api-mozilla.key || die + + xdg_src_prepare +} + +src_configure() { + # Show flags set at the beginning + einfo "Current BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}" + einfo "Current CFLAGS:\t\t${CFLAGS:-no value set}" + einfo "Current CXXFLAGS:\t\t${CXXFLAGS:-no value set}" + einfo "Current LDFLAGS:\t\t${LDFLAGS:-no value set}" + einfo "Current RUSTFLAGS:\t\t${RUSTFLAGS:-no value set}" + + local have_switched_compiler= + if use clang && ! tc-is-clang ; then + # Force clang + einfo "Enforcing the use of clang due to USE=clang ..." + have_switched_compiler=yes + AR=llvm-ar + CC=${CHOST}-clang + CXX=${CHOST}-clang++ + NM=llvm-nm + RANLIB=llvm-ranlib + elif ! use clang && ! tc-is-gcc ; then + # Force gcc + have_switched_compiler=yes + einfo "Enforcing the use of gcc due to USE=-clang ..." + AR=gcc-ar + CC=${CHOST}-gcc + CXX=${CHOST}-g++ + NM=gcc-nm + RANLIB=gcc-ranlib + fi + + if [[ -n "${have_switched_compiler}" ]] ; then + # Because we switched active compiler we have to ensure + # that no unsupported flags are set + strip-unsupported-flags + fi + + # Ensure we use correct toolchain + export HOST_CC="$(tc-getBUILD_CC)" + export HOST_CXX="$(tc-getBUILD_CXX)" + tc-export CC CXX LD AR NM OBJDUMP RANLIB PKG_CONFIG + + # Pass the correct toolchain paths through cbindgen + if tc-is-cross-compiler ; then + export BINDGEN_CFLAGS="${SYSROOT:+--sysroot=${ESYSROOT}} --target=${CHOST} ${BINDGEN_CFLAGS-}" + fi + + # Set MOZILLA_FIVE_HOME + export MOZILLA_FIVE_HOME="/usr/$(get_libdir)/${PN}" + + # python/mach/mach/mixin/process.py fails to detect SHELL + export SHELL="${EPREFIX}/bin/bash" + + # Set MOZCONFIG + export MOZCONFIG="${S}/.mozconfig" + + # Initialize MOZCONFIG + mozconfig_add_options_ac '' --enable-application=browser + + # Set Gentoo defaults + export MOZILLA_OFFICIAL=1 + + mozconfig_add_options_ac 'Gentoo default' \ + --allow-addon-sideload \ + --disable-cargo-incremental \ + --disable-crashreporter \ + --disable-install-strip \ + --disable-strip \ + --disable-updater \ + --enable-official-branding \ + --enable-release \ + --enable-system-ffi \ + --enable-system-pixman \ + --host="${CBUILD:-${CHOST}}" \ + --libdir="${EPREFIX}/usr/$(get_libdir)" \ + --prefix="${EPREFIX}/usr" \ + --target="${CHOST}" \ + --without-ccache \ + --with-intl-api \ + --with-libclang-path="$(llvm-config --libdir)" \ + --with-system-nspr \ + --with-system-nss \ + --with-system-png \ + --with-system-zlib \ + --with-toolchain-prefix="${CHOST}-" \ + --with-unsigned-addon-scopes=app,system \ + --x-includes="${SYSROOT}${EPREFIX}/usr/include" \ + --x-libraries="${SYSROOT}${EPREFIX}/usr/$(get_libdir)" + + # Set update channel + local update_channel=release + [[ -n ${MOZ_ESR} ]] && update_channel=esr + mozconfig_add_options_ac '' --update-channel=${update_channel} + + if ! use x86 && [[ ${CHOST} != armv*h* ]] ; then + mozconfig_add_options_ac '' --enable-rust-simd + fi + + if [[ -s "${S}/api-google.key" ]] ; then + local key_origin="Gentoo default" + if [[ $(cat "${S}/api-google.key" | md5sum | awk '{ print $1 }') != 709560c02f94b41f9ad2c49207be6c54 ]] ; then + key_origin="User value" + fi + + mozconfig_add_options_ac "${key_origin}" \ + --with-google-safebrowsing-api-keyfile="${S}/api-google.key" + else + einfo "Building without Google API key ..." + fi + + if [[ -s "${S}/api-location.key" ]] ; then + local key_origin="Gentoo default" + if [[ $(cat "${S}/api-location.key" | md5sum | awk '{ print $1 }') != ffb7895e35dedf832eb1c5d420ac7420 ]] ; then + key_origin="User value" + fi + + mozconfig_add_options_ac "${key_origin}" \ + --with-google-location-service-api-keyfile="${S}/api-location.key" + else + einfo "Building without Location API key ..." + fi + + if [[ -s "${S}/api-mozilla.key" ]] ; then + local key_origin="Gentoo default" + if [[ $(cat "${S}/api-mozilla.key" | md5sum | awk '{ print $1 }') != 3927726e9442a8e8fa0e46ccc39caa27 ]] ; then + key_origin="User value" + fi + + mozconfig_add_options_ac "${key_origin}" \ + --with-mozilla-api-keyfile="${S}/api-mozilla.key" + else + einfo "Building without Mozilla API key ..." + fi + + mozconfig_use_with system-av1 + mozconfig_use_with system-harfbuzz + mozconfig_use_with system-harfbuzz system-graphite2 + mozconfig_use_with system-icu + mozconfig_use_with system-jpeg + mozconfig_use_with system-libevent system-libevent "${SYSROOT}${EPREFIX}/usr" + mozconfig_use_with system-libvpx + mozconfig_use_with system-webp + + mozconfig_use_enable dbus + + use eme-free && mozconfig_add_options_ac '+eme-free' --disable-eme + + mozconfig_use_enable geckodriver + + if use hardened ; then + mozconfig_add_options_ac "+hardened" --enable-hardening + append-ldflags "-Wl,-z,relro -Wl,-z,now" + fi + + mozconfig_use_enable jack + + mozconfig_use_enable pulseaudio + # force the deprecated alsa sound code if pulseaudio is disabled + if use kernel_linux && ! use pulseaudio ; then + mozconfig_add_options_ac '-pulseaudio' --enable-alsa + fi + + mozconfig_use_enable sndio + + mozconfig_use_enable wifi necko-wifi + + if use wayland ; then + mozconfig_add_options_ac '+wayland' --enable-default-toolkit=cairo-gtk3-wayland + else + mozconfig_add_options_ac '' --enable-default-toolkit=cairo-gtk3 + fi + + if use lto ; then + if use clang ; then + # Upstream only supports lld when using clang + mozconfig_add_options_ac "forcing ld=lld due to USE=clang and USE=lto" --enable-linker=lld + + mozconfig_add_options_ac '+lto' --enable-lto=cross + else + # ThinLTO is currently broken, see bmo#1644409 + mozconfig_add_options_ac '+lto' --enable-lto=full + fi + + if use pgo ; then + mozconfig_add_options_ac '+pgo' MOZ_PGO=1 + + if use clang ; then + # Used in build/pgo/profileserver.py + export LLVM_PROFDATA="llvm-profdata" + fi + fi + else + # Avoid auto-magic on linker + if use clang ; then + # This is upstream's default + mozconfig_add_options_ac "forcing ld=lld due to USE=clang" --enable-linker=lld + else + mozconfig_add_options_ac "linker is set to bfd" --enable-linker=bfd + fi + fi + + # LTO flag was handled via configure + filter-flags '-flto*' + + mozconfig_use_enable debug + if use debug ; then + mozconfig_add_options_ac '+debug' --disable-optimize + else + if is-flag '-g*' ; then + if use clang ; then + mozconfig_add_options_ac 'from CFLAGS' --enable-debug-symbols=$(get-flag '-g*') + else + mozconfig_add_options_ac 'from CFLAGS' --enable-debug-symbols + fi + else + mozconfig_add_options_ac 'Gentoo default' --disable-debug-symbols + fi + + if is-flag '-O0' ; then + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O0 + elif is-flag '-O4' ; then + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O4 + elif is-flag '-O3' ; then + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O3 + elif is-flag '-O1' ; then + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O1 + elif is-flag '-Os' ; then + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-Os + else + mozconfig_add_options_ac "Gentoo default" --enable-optimize=-O2 + fi + fi + + # Debug flag was handled via configure + filter-flags '-g*' + + # Optimization flag was handled via configure + filter-flags '-O*' + + # Modifications to better support ARM, bug #553364 + if use cpu_flags_arm_neon ; then + mozconfig_add_options_ac '+cpu_flags_arm_neon' --with-fpu=neon + + if ! tc-is-clang ; then + # thumb options aren't supported when using clang, bug 666966 + mozconfig_add_options_ac '+cpu_flags_arm_neon' \ + --with-thumb=yes \ + --with-thumb-interwork=no + fi + fi + + if [[ ${CHOST} == armv*h* ]] ; then + mozconfig_add_options_ac 'CHOST=armv*h*' --with-float-abi=hard + + if ! use system-libvpx ; then + sed -i \ + -e "s|softfp|hard|" \ + "${S}"/media/libvpx/moz.build \ + || die + fi + fi + + if use clang ; then + # https://bugzilla.mozilla.org/show_bug.cgi?id=1482204 + # https://bugzilla.mozilla.org/show_bug.cgi?id=1483822 + # toolkit/moz.configure Elfhack section: target.cpu in ('arm', 'x86', 'x86_64') + local disable_elf_hack= + if use amd64 ; then + disable_elf_hack=yes + elif use x86 ; then + disable_elf_hack=yes + elif use arm ; then + disable_elf_hack=yes + fi + + if [[ -n ${disable_elf_hack} ]] ; then + mozconfig_add_options_ac 'elf-hack is broken when using Clang' --disable-elf-hack + fi + elif tc-is-gcc ; then + if ver_test $(gcc-fullversion) -ge 10 ; then + einfo "Forcing -fno-tree-loop-vectorize to workaround GCC bug, see bug 758446 ..." + append-cxxflags -fno-tree-loop-vectorize + fi + fi + + # Additional ARCH support + case "${ARCH}" in + arm) + # Reduce the memory requirements for linking + if use clang ; then + # Nothing to do + :; + elif tc-ld-is-gold || use lto ; then + append-ldflags -Wl,--no-keep-memory + else + append-ldflags -Wl,--no-keep-memory -Wl,--reduce-memory-overheads + fi + ;; + esac + + if ! use elibc_glibc ; then + mozconfig_add_options_ac '!elibc_glibc' --disable-jemalloc + fi + + # Allow elfhack to work in combination with unstripped binaries + # when they would normally be larger than 2GiB. + append-ldflags "-Wl,--compress-debug-sections=zlib" + + # Make revdep-rebuild.sh happy; Also required for musl + append-ldflags -Wl,-rpath="${MOZILLA_FIVE_HOME}",--enable-new-dtags + + # Pass $MAKEOPTS to build system + export MOZ_MAKE_FLAGS="${MAKEOPTS}" + + # Use system's Python environment + export MACH_USE_SYSTEM_PYTHON=1 + + # Disable notification when build system has finished + export MOZ_NOSPAM=1 + + # Portage sets XARGS environment variable to "xargs -r" by default which + # breaks build system's check_prog() function which doesn't support arguments + mozconfig_add_options_ac 'Gentoo default' "XARGS=${EPREFIX}/usr/bin/xargs" + + # Set build dir + mozconfig_add_options_mk 'Gentoo default' "MOZ_OBJDIR=${BUILD_DIR}" + + # Show flags we will use + einfo "Build BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}" + einfo "Build CFLAGS:\t\t${CFLAGS:-no value set}" + einfo "Build CXXFLAGS:\t\t${CXXFLAGS:-no value set}" + einfo "Build LDFLAGS:\t\t${LDFLAGS:-no value set}" + einfo "Build RUSTFLAGS:\t\t${RUSTFLAGS:-no value set}" + + # Handle EXTRA_CONF and show summary + local ac opt hash reason + + # Apply EXTRA_ECONF entries to $MOZCONFIG + if [[ -n ${EXTRA_ECONF} ]] ; then + IFS=\! read -a ac <<<${EXTRA_ECONF// --/\!} + for opt in "${ac[@]}"; do + mozconfig_add_options_ac "EXTRA_ECONF" --${opt#--} + done + fi + + echo + echo "==========================================================" + echo "Building ${PF} with the following configuration" + grep ^ac_add_options "${MOZCONFIG}" | while read ac opt hash reason; do + [[ -z ${hash} || ${hash} == \# ]] \ + || die "error reading mozconfig: ${ac} ${opt} ${hash} ${reason}" + printf " %-30s %s\n" "${opt}" "${reason:-mozilla.org default}" + done + echo "==========================================================" + echo + + ./mach configure || die +} + +src_compile() { + local virtx_cmd= + + if use pgo ; then + virtx_cmd=virtx + + # Reset and cleanup environment variables used by GNOME/XDG + gnome2_environment_reset + + addpredict /root + fi + + local -x GDK_BACKEND=x11 + + ${virtx_cmd} ./mach build --verbose \ + || die +} + +src_install() { + # xpcshell is getting called during install + pax-mark m \ + "${BUILD_DIR}"/dist/bin/xpcshell \ + "${BUILD_DIR}"/dist/bin/${PN} \ + "${BUILD_DIR}"/dist/bin/plugin-container + + DESTDIR="${D}" ./mach install || die + + # Upstream cannot ship symlink but we can (bmo#658850) + rm "${ED}${MOZILLA_FIVE_HOME}/${PN}-bin" || die + dosym ${PN} ${MOZILLA_FIVE_HOME}/${PN}-bin + + # Don't install llvm-symbolizer from sys-devel/llvm package + if [[ -f "${ED}${MOZILLA_FIVE_HOME}/llvm-symbolizer" ]] ; then + rm -v "${ED}${MOZILLA_FIVE_HOME}/llvm-symbolizer" || die + fi + + # Install policy (currently only used to disable application updates) + insinto "${MOZILLA_FIVE_HOME}/distribution" + newins "${FILESDIR}"/distribution.ini distribution.ini + newins "${FILESDIR}"/disable-auto-update.policy.json policies.json + + # Install system-wide preferences + local PREFS_DIR="${MOZILLA_FIVE_HOME}/browser/defaults/preferences" + insinto "${PREFS_DIR}" + newins "${FILESDIR}"/gentoo-default-prefs.js all-gentoo.js + + local GENTOO_PREFS="${ED}${PREFS_DIR}/all-gentoo.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 menus + local wrapper_wayland="${PN}-wayland.sh" + local wrapper_x11="${PN}-x11.sh" + local desktop_file="${FILESDIR}/icon/${PN}-r2.desktop" + local display_protocols="auto X11" + local icon="${PN}" + local name="Mozilla ${MOZ_PN^}" + local use_wayland="false" + + if use wayland ; then + display_protocols+=" Wayland" + use_wayland="true" + fi + + local app_name desktop_filename display_protocol exec_command + for display_protocol in ${display_protocols} ; do + app_name="${name} on ${display_protocol}" + desktop_filename="${PN}-${display_protocol,,}.desktop" + + case ${display_protocol} in + Wayland) + exec_command="${PN}-wayland --name ${PN}-wayland" + newbin "${FILESDIR}/${wrapper_wayland}" ${PN}-wayland + ;; + X11) + if ! use wayland ; then + # Exit loop here because there's no choice so + # we don't need wrapper/.desktop file for X11. + continue + fi + + exec_command="${PN}-x11 --name ${PN}-x11" + newbin "${FILESDIR}/${wrapper_x11}" ${PN}-x11 + ;; + *) + app_name="${name}" + desktop_filename="${PN}.desktop" + exec_command="${PN}" + ;; + esac + + 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 + done + + # Install generic wrapper script + [[ -f "${ED}/usr/bin/${PN}" ]] && rm "${ED}/usr/bin/${PN}" + newbin "${FILESDIR}/${PN}.sh" ${PN} + + # Update wrapper + local wrapper + for wrapper in \ + "${ED}/usr/bin/${PN}" \ + "${ED}/usr/bin/${PN}-x11" \ + "${ED}/usr/bin/${PN}-wayland" \ + ; do + [[ ! -f "${wrapper}" ]] && continue + + 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}:" \ + "${wrapper}" \ + || die + done +} + +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 show_normandy_information + + if [[ -z "${REPLACING_VERSIONS}" ]] ; then + # New install; Tell user that DoH is disabled by default + show_doh_information=yes + show_normandy_information=yes + else + local replacing_version + for replacing_version in ${REPLACING_VERSIONS} ; do + if ver_test "${replacing_version}" -lt 70 ; then + # Tell user only once about our DoH default + show_doh_information=yes + fi + + if ver_test "${replacing_version}" -lt 74.0-r2 ; then + # Tell user only once about our Normandy default + show_normandy_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 +} |