diff options
author | Jory Pratt <anarchy@gentoo.org> | 2021-12-02 10:19:34 -0600 |
---|---|---|
committer | Sam James <sam@gentoo.org> | 2021-12-02 16:41:38 +0000 |
commit | 3ccd2605ad083ee655578dfc8a631fb912da3cde (patch) | |
tree | e01b15892baca5c33c2af0b3477887ea619bc676 | |
parent | dev-lang/rust: use dynamic linking for arm64/amd64 musl builds (diff) | |
download | musl-3ccd2605ad083ee655578dfc8a631fb912da3cde.tar.gz musl-3ccd2605ad083ee655578dfc8a631fb912da3cde.tar.bz2 musl-3ccd2605ad083ee655578dfc8a631fb912da3cde.zip |
www-client/firefox: Fix build for amd64/arm64 musl users
Package-Manager: Portage-3.0.28, Repoman-3.0.3
Signed-off-by: Jory Pratt <anarchy@gentoo.org>
Signed-off-by: Sam James <sam@gentoo.org>
-rw-r--r-- | www-client/firefox/Manifest | 99 | ||||
-rw-r--r-- | www-client/firefox/files/disable-auto-update.policy.json | 5 | ||||
-rw-r--r-- | www-client/firefox/files/distribution.ini | 42 | ||||
-rw-r--r-- | www-client/firefox/files/firefox-r1.sh | 116 | ||||
-rw-r--r-- | www-client/firefox/files/fix-rust-detection.patch | 31 | ||||
-rw-r--r-- | www-client/firefox/files/gentoo-default-prefs.js | 12 | ||||
-rw-r--r-- | www-client/firefox/files/gentoo-hwaccel-prefs.js | 3 | ||||
-rw-r--r-- | www-client/firefox/files/icon/firefox-r3.desktop | 236 | ||||
-rw-r--r-- | www-client/firefox/files/icon/firefox-symbolic.svg | 64 | ||||
-rw-r--r-- | www-client/firefox/firefox-91.3.0.ebuild | 1241 | ||||
-rw-r--r-- | www-client/firefox/metadata.xml | 38 |
11 files changed, 1887 insertions, 0 deletions
diff --git a/www-client/firefox/Manifest b/www-client/firefox/Manifest new file mode 100644 index 00000000..bbe3d783 --- /dev/null +++ b/www-client/firefox/Manifest @@ -0,0 +1,99 @@ +DIST firefox-91.3.0esr-ach.xpi 465504 BLAKE2B bba9ecb26423405f8a89c2f736e761e3726b13b430dc697be9e3ef7daa8de476a588fac47f3ec3c8f217744a33d9b62f7c8de919ed851044b97ea05292720912 SHA512 4f645517df27da2c02d59c752e1893ecb289d9213a6d4d0ab6b199c2562c8e16b14ee3a2cbfc70846cfe8e4a6fd4ccdf7e47e2963823b38a8fd2f70eef4c3421 +DIST firefox-91.3.0esr-af.xpi 433476 BLAKE2B 15e53cc1f41e4bc7b139a098d200a4cb2feae696101f9fef473edd5fb3a1e1789d4566d1d2b45c7fd8313a9aba8462c37adc32bf784142310541db7976a85b32 SHA512 0ccf4a8a6862676e84f001b62e76a07deaf0acf17477a1d880ae77d76925dda5e009f61c317475bad7b44908d1dcd2b4d57eb3618116106eb9f843abe988235c +DIST firefox-91.3.0esr-an.xpi 516389 BLAKE2B 6149b95aa8b23753beaad6da38e808bdf8f2e2003e3b311901613651db53dd09bd99c16a05fce0be9c9927f54ac554bdbd885c0744a672dcb587a0607c1cfca7 SHA512 9539510ac122a856d0949e6ada18d69c59c4f2b57afe3a00bca71def119d34ec7342dcfa78128bb8eaa9bafb1b413404e2667dfc732a97c7f3ab544c97be028f +DIST firefox-91.3.0esr-ar.xpi 575196 BLAKE2B 8061ac755ab45bd6aa29a15e9e1f005b576ab5338c7283af51bcb38d437f468f466ff5e2e979a21af917f42d6a92be731bd76fd1abb5acdea88e4f7675b05d4c SHA512 13736873b2bf2475885fddd0a806a45c6392df24e19198a74ad8222d1bad37cdf1713aec7db1e0b090fd66d2508a770ee04534f79ec8ac823a93fcf78d2020e2 +DIST firefox-91.3.0esr-ast.xpi 503834 BLAKE2B 78a7bfd02c844dc0e3d2611c395a9a337751707e31f3524d599b7ceeb740a818bdcde991320e9ac7634a840afdae6e4f34ba84aafcc8a4294f692231cfc86bcc SHA512 1d3b56ee24692071ba5377c157e42c7de8e8511cb5c4414b0918c2a16a06be42984d9a3d5aeb2ed99403d45eee1878862b550a922572834e7d71b48d13a54643 +DIST firefox-91.3.0esr-az.xpi 501266 BLAKE2B 7d2396b76b79467cc2702201adf1514ae9ce76aa8a7a2057decc1ab764830fbb77d29e2793f223feba9777b5acfbb3b9fad38c8520e9fd7d83ec8334f54f73ce SHA512 23719ddad4c82ae8cfcf6d7664affe46fc2fabdaa9352152ddba537e1a08ef724c4c5e51209eb3684cfe735cd6b4f0df80e5f0c8717152ee4b97957127103baa +DIST firefox-91.3.0esr-be.xpi 631737 BLAKE2B 582375c5fc70712de533cc2475f1da53be5162adbafe0c808509dfcc58c21fd9e885e7538803ac41def37898ee3a41591633db9acafb276148eb7d9e3de9b6d5 SHA512 c7b3cb3792fbd45502e14d6f1d4d501f477204e73743bb61997fb778f047be286e4b112ecf65fe41f5dd00f8f48c0408e0fc7cb6a6579774a29a76dbe5d8ddc8 +DIST firefox-91.3.0esr-bg.xpi 585450 BLAKE2B 5a0d2f0dd9219a067bf91ea6b48d8f6c236483d6b08d626c78bfc6886a9b0044a6506be30fda219dee519aaaececefb00f896d4a76ef3d4b277e9993d3ee6a6e SHA512 c1059741da643937c50a5d2be9016cc5ad5260240ef020b38a5f7029e593e67ad0cc0136fe53353b1278faf55f5de91ab004e517c048f89a86db940242197b1d +DIST firefox-91.3.0esr-bn.xpi 576657 BLAKE2B fd14c81b08a8328634abe5190a978a768550bfa6fd9e899995302c5e870c7ac875ae27a16267e9cab88d51a3703f95aae80061ac572aeaf6f09a8ca32f4d72b5 SHA512 71f2e15c69e3fefdeba61b29a1cbac4a8ee11d2427b898df21da9615ff72566da62e7192662310ccb8345a5afe971aaa4df2f08e5bb0e253112ca6aa02b64611 +DIST firefox-91.3.0esr-br.xpi 535048 BLAKE2B 1e48fbc6d8c1ec1b6e469c910c0ef3c6c4e4bca402c98b7aa249e47be6a94e64c4284b2ba248c475cb8429d751f6e43789fbf667423666dee089c5f05b72b459 SHA512 58dd2fbf4fcd0440448acf1e69569b69beeeb2212f2e585fec85e2da74d9d356af2a3838d98f13ed5bcb6f3aa6d9798a370f9d5ee9d590e76492586654a2d73c +DIST firefox-91.3.0esr-bs.xpi 473386 BLAKE2B 01acc36f92e495d1cc4aed1521e733375215368a93a0a404de0b02644bccde69c99a01c0b6fcd93a248f94dd2ab696237f45821705ecd72246f8ac69f9051aa3 SHA512 739d6b139f848c56680f033c133098e369b01d7a28f4184f3b6bfdfc417db16c99a49136eeee219a5831e6cabd866253932c7996b1c0a0ea2b46229ff0e52125 +DIST firefox-91.3.0esr-ca-valencia.xpi 543528 BLAKE2B 4009e37882e4b7911d0766a848f6c0d5a60261ba3b4fec54a3cee352e512025d382ba547dacd795e2014ed6571ce2f3500a13ce665ae73fe2bdc50239d38876e SHA512 38233e4bf456e22d5108f8f1d6976bc2dc0ded61452ee61d5592c916344fd7705a5bcd9cc8b1d42472fbfef75e3bf7fe820fa0bf40c102e692d592919a3d86db +DIST firefox-91.3.0esr-ca.xpi 542008 BLAKE2B 79412ad6a22f88b81e7b4bdff6fb4f0749d441b1f92b58c29143495c84ae3daa2f9d025dcd61e54792f7e6f15edcc505991110c5c08d98d0aa7f4aa4c5025b59 SHA512 bc730ee37a0ba57f9ed000be64b823fe22a97179aeacca9bc0a2b7e70c782fe49bec17a33dacf26308c0d12d0516788de3c5f07185d667dd56270263ebe95cf0 +DIST firefox-91.3.0esr-cak.xpi 568379 BLAKE2B b042574decb02ec495df059dc17540f026c7111c9318f95c0b7c1e54164ec37e235c766add4e69c79960e02d2793c1e0f296b7e09a0bd603963927a877447372 SHA512 42ef318eb9de709fe8ed8f6d844bebd1a81fa7245d3422e6d98441f02858167a4b83105fc4a95df8325c0ad831abfe4793c7b0b84b870dbaabe85613c00a551b +DIST firefox-91.3.0esr-cs.xpi 572928 BLAKE2B dd95dc8d17ddfd5e019bca2808dd9a1c97ed747405b01384512c048c63738b4a61ac1a44ca141f8a6afa5139274d9eccd29b7391d6493254e7f4ce9b8580ce96 SHA512 83108345a1b0929c2fc147123d86cb84596880549363cfe9c821b209b20d4c5ad034850028b64794c4302364cd163685819a6c2d5753c05014cd23e75b6bd859 +DIST firefox-91.3.0esr-cy.xpi 549207 BLAKE2B 670df1ce98132291e2f8a2a956af0c30f8cab319023191acc13995e31d2a16c8536d54c91781d6a1e4f5f75fab4b399a23f79482f8687352709720882d143ff7 SHA512 c96f65d351331ca01f2ec6398202257280d6c0d1bca554ce677a83500572b5628e6394974b65e1ff11fd65dd2abed2f100091c43392f316e23cf8c2a631f44f6 +DIST firefox-91.3.0esr-da.xpi 540828 BLAKE2B a69ce9ca6e8eb34bcf8e3df380f383eaaaed9f0c4520373ee209f9fd704fb319fb079ba22df2983259885fb7f0831bb2bef91471d0f323d0fae917dc9f330df2 SHA512 c13211f36e19ae03b9b2c80df891720b86fd070c11d257aea87ff6c47abe905caebd2db3e7d8b7d5ee9cd7e7f64cdef12d0cd6e6fd12aff11e34112e7f929f83 +DIST firefox-91.3.0esr-de.xpi 561498 BLAKE2B 1527caf596272a2e532491b3cd1614871a1e312ae05769049c333f33bfe9b66417e22acc796bdaf0cfd21833e49c767254859f86cbfb92fbd5822aa367f8d03b SHA512 f42dd3e8a9365c709ad39e8ca96dfac475c3aa48ef5b554f240b95b9ece27353d7fa640b5321b05a44a7382601367346128a1e00c8f010bdcb4d52f30724b9af +DIST firefox-91.3.0esr-dsb.xpi 574176 BLAKE2B a40133c5575b6ac80a500d7e4d6c8abb0ae3084cd9b926345b043b66c85320c08f15842fc316110f0d5a413a5688106779211df2b1d55e8fc9fab7250d737297 SHA512 091fb20d42b60c3a73e0b8cada6069b4d168de66751d72a5bd878cb19d8b1e222ede057bfbed72c4a16175bdc9d62dcba20ff60220ab63b562e3565b862c553c +DIST firefox-91.3.0esr-el.xpi 647258 BLAKE2B 585223a672140f88e63f39b26669dcf5d738ce03975838425698dc78d16464302c6b3f7eed76476e343cd9d86f89ae2928d2b664c71c1411f1fac750a351b266 SHA512 d76784d0fbe38cd0e438bc9ca86f218afdb8264d3850fba72909c69158624cc5d98018c9588adca3f44a1593191835d4eae8716721a33d114964e55b3efddbf1 +DIST firefox-91.3.0esr-en-CA.xpi 516472 BLAKE2B 2248530d7b3226fe9c9ab2c32769cc9419f1eec81696961469bee9bebefe44e45ea6b1b6f063f657fc0f7062e738d78fdffe3775e08fbdda0a7f44f28fc44c16 SHA512 e720fc864b9f2a6a1e00383fa3e84ad7bc9d6a7cb1104e172bca6acf89c829e5cbf638be3acb47d2eee2d029fe49349b1cf6fcececd8c2b8a51a344b91135b5e +DIST firefox-91.3.0esr-en-GB.xpi 517069 BLAKE2B d7cac13741d46b7c39f5b812406aae16caa3f6a3f2e67b7d52a85fa84f144e04a913cb2cbf9efbaf2fca3809391aae94bad79b00658a210e45d671b5593a923f SHA512 4aa91264a254076404d066779badbe57fa9128f74c410308a3c637a4d684544b14110a8ba402ef5c8849f679e83bb92438cda470107ba1f00fdbc875299498c0 +DIST firefox-91.3.0esr-eo.xpi 542949 BLAKE2B 24f79414c1b4519d288fba4015e3242ed0f758d067c91bb38ee23178637745e03f622fb640f9edce0d9e3c31c59840f7d4d333ce678bdfa51e62caeb6bf438f0 SHA512 3c9119b00b56ed0ce80c5dc96a56aa852715c2512ef779dcaea192efdb348e05e2478f9681681b456038591295be059e86f51517e536aca38a65b8c17efd1523 +DIST firefox-91.3.0esr-es-AR.xpi 554544 BLAKE2B 3e00c260c9d7cb2dd51c7676ae3251ee280bb68068b7b4fedba83194e021d6bd6934c6302d5393b32fe510f6bcdd92790b467b1476a21f27469e8798c02ff9b2 SHA512 4d1b5ed49025cdeb3c9187c54aa8cad3517bf9e2fbad6ea9e279a1603a81e582837abf87990a6e8621a18bfa13f3d70ca2c1903a3b46fdb5060bd4d0529a3067 +DIST firefox-91.3.0esr-es-CL.xpi 553849 BLAKE2B bdb3803e846117dacb8e0eec2e2ee19e409b2186c39d9eff242edb7ad5ddff15249ab8bbbf75876e7f3d18f108e6d0bc2d5573a0cb3e5fc740777fccc7f4bc99 SHA512 7628ae3ffd00a980bb74690180fbda6d0de3c4c664c404e93d3c61796b0351e71a22195d36a41bb9a2de182d192a0fa5c6692914bf3f85c50e30dbc052895ae5 +DIST firefox-91.3.0esr-es-ES.xpi 542847 BLAKE2B 915a85467ed5b7778df38436325c0cf6faf1d4ec208a8327c08d87788b6fd0f2fe12c9d6554c48e891c92ab33ddc0816b1f7527bab3786b46171ceae07bd93c5 SHA512 5f6e62752e9373445352ab1c52dc71f03c4cb97cbc0dcc246063ced993465b518c5cc30e6d66eaa4249f46078df7b86540100213c6d90497840c224d63133ee1 +DIST firefox-91.3.0esr-es-MX.xpi 556754 BLAKE2B fd611f581571eb90c5c8be76a5be36d2a9208bc9af5b50dca2a1f5248e47f0b3b31fed7ff8df83c97bcfeb1a0906dd90f7c8bdfb09ec5bcc3f9161c0a8756d22 SHA512 5e6cb4e59f083d34cfc035967e349a2e25f24a443499dfdb06da3f059df3c22a52eb5fe996eafeb2f374e04f130c18e18848aee9188a76a230f9c74d30f99b14 +DIST firefox-91.3.0esr-et.xpi 494584 BLAKE2B b00cc101d67003d8cfff27194224fef4a05f7dd3d9bb6ec5adb8fbecd846ae13abf86641deac6b7471a4b9251e4a8519a05c4c2b07e0ae1861879e082306feba SHA512 38e2c8bd90000122f7437f1a282e6d62dcd48ae6aa209016f3ddaf42c0cfeeb914cc41a0b3231e8b8bbce23139d5664d971e2c27fb5c7f68d74df62c482e1aeb +DIST firefox-91.3.0esr-eu.xpi 539373 BLAKE2B cd47d852c57f93bf415f047639094c4d5193c81b69c65d743eac9c17510a6e64907fb753cba55f6e75ae4b748b8fdeaa77d9c9262ef91a3dcc218c3061a0a334 SHA512 ef6d06fd530c38d5ea224db08c849c4583d6901a528e918e9bea3162cb4a73fc3839dc45592c1a56efe3808f7d1938d02399859251edb17354db575980a3b360 +DIST firefox-91.3.0esr-fa.xpi 570986 BLAKE2B c98f1b4aacf241d4e479fa2e8826511d5e1b97b92c8b148bb518abbe50c0cfb44d44bad89c2717fdb13ef2e84a6fedbc6dd6216d60ccbc204255852a3702c967 SHA512 6411e81d81f394c89be6f2df9dfcd9185c3c2b00f5bf9f163281e9d5db1e51a79009c5b753c0d739eec94f07fee0b82c91c2974b0f6e7182ae0baadcda1e27f8 +DIST firefox-91.3.0esr-ff.xpi 486054 BLAKE2B 45fa8a6fa3f3c257c122b5d09b982efe57282ead478e5cb74728ef10c1e0339d67f033c23daf3d20fb851f25bf64265720c1b4f6ae67bc787e19f4be212ce5bb SHA512 ae8f4bce9833b73afdbb71116f24ff1895fd3d5f077b165314743bf0156d2eb697f1a26972272499bb70447336c376c6b1a4e8af9f19f347df1d999af12ecb03 +DIST firefox-91.3.0esr-fi.xpi 540701 BLAKE2B c39cce82a73c14a1a5adbd2d1e2a489f9ce383874db569498afd956e61e3d1e9ba84f98928b73b31dd85147642f098dd8633325a5f2f7a1c6c6227f82fbb36dc SHA512 6ddff885638217fe6935bd8e63cf9efef0d675bd50b368e22906b360965684033e98f73f66ed152db3af6439d4626b7aaa1a765ee2a49721163986f7cbc904c3 +DIST firefox-91.3.0esr-fr.xpi 565634 BLAKE2B 81c5125436f1e29373cf2a93927faa2c7f8cb4d04302e358889966ee98c4fb11748e3755ca04b4709686a3444a664cf8d7f38aba70c734fdbcdab7c78940586b SHA512 88d259d80760cac53f9fa6162843d39d46020dc52dc27bd63b72c80b20876a0a255a42686f67e21f526f79300e4258275ab3b7490fd936f386908fe432047972 +DIST firefox-91.3.0esr-fy-NL.xpi 549525 BLAKE2B 45bde4730b56bce4119943ea3a62d8f298a38e0b9abf5f8be76f5a9f81b71dc1fc15fb997cf996926bdccd38b106ef267583e7ee4c7fd3f186fc7dcad003f896 SHA512 d6a6801e25d5ed19f2c14b7d5914a5057d2c8099d01874b703357206a3b41c888a7e190fbdb36f6c2facb8fec7cd44e3cafdd45187712e80d28d7113f570b563 +DIST firefox-91.3.0esr-ga-IE.xpi 471091 BLAKE2B e72490b6d6a66b42acbe60027b78fa49900a8dd5197f94e839e49cc75c94408c5287bbaabf3fc29a2402849e3c4f6500298754e9b11a1dd5cebc8e2b253705e5 SHA512 d515fe37ea675e18f853b762d0723f1e96d2a2ad2fbc8a367b791533a6879625d4f6d1b664a4f8d80432306127c6058a7120d6ff674bbc7e5c52269267d3d27a +DIST firefox-91.3.0esr-gd.xpi 545671 BLAKE2B 99ef84187f3af2b5a1f93ab20b54df7ab9827d352dbe85d6f720cecda0d1e4fb2c0b433e68fce6e7c83f05bc1c3d3b308fde9b1440cb181698386488d2824b30 SHA512 77b88c58e129e76944c74dfd000d1ccf01980ce04829693f94949dda709c4b11cd01d6ab6517521d36f95fd049a8e08c943da4fbdf598d638511b4b640207b66 +DIST firefox-91.3.0esr-gl.xpi 548590 BLAKE2B b41ddc999b13fd51d6333c7e2d19759602420b92099c0180b672ec750ffe1b7741df3c41cba7529333986e498f5b951f24768ba9df83b2d78d5fa220cf4d5c7f SHA512 e0ab44d7fcb4baa364a6f74aae02ed1de97c32c9b738ad7a0bb7ea16925ed7e808485bfc2a8aff98db5ce965420a0af09080f3f0976989c40e591ef94de81019 +DIST firefox-91.3.0esr-gn.xpi 566594 BLAKE2B 4465cdf59dc74823ba58c8c947e63e3ea863b75e04e3bbe19fefcbf6dbccaf390dc5ffc8f55328bc4f0e6daa575377a3d26a7d78bc65254e6853bae7a35a7d60 SHA512 f3d4d2cde4a4120d1c5ef323e5b2d8ce0109c0d2be32cc56bd3068dab10bdd762a1728e9c8014204658a5af21f763c0d6bc96ab11d9d6f1265bce3de3f648f6b +DIST firefox-91.3.0esr-gu-IN.xpi 544926 BLAKE2B 04eba9c891297d1545bdf7f466ab366bfe41f89db178f9315fd161d14569cd836005b2730c8e2fc73a0cac873b3c3d71373fff00d14a26d1fdcf5e12052b27a4 SHA512 d21da8323368b989cc0a5b372e86fd3a7df52d0b29fe5448d0a10d2d43ea7bbc5d6ce137a1974d3f19040416510a7a9b75f264429cb6e56e4a072bac471491f4 +DIST firefox-91.3.0esr-he.xpi 563925 BLAKE2B 47409cab870b7976a51a6f128dc7ce1a323f0c9ed4a8c0dc00632087dd06ced8b7dd2ea22e7393ad2eb12f4b1e9eb61f6cd3c404dd57be3ed2327736cdb94fe1 SHA512 af138a527cf815ba6e9b9dea93a5ec1d6348a3eedbb6dca15fa3b4672bcd122b64785746d5823f661c631773af74f4a12ef8d2c98dbcf7e81988bc74db0df1e0 +DIST firefox-91.3.0esr-hi-IN.xpi 575956 BLAKE2B fc7f15f06b7d16e66b73ea6aae0e87bee13ab280d4a8298b45b270555c70bc661267dd587d1424f50b07d535bb6fa24ff67423c8913bd2a17ce1a459bd3abecd SHA512 04563b192bb50d580dae0d8ebf576328e785f3bf971f54e4abb3ed52f1edcfe7154283396daea15af72cea075426013acb4eeb13eada1c06afc69f7bf16d21ce +DIST firefox-91.3.0esr-hr.xpi 544690 BLAKE2B efebd168624b686678e5cea3122b4eed6993b1b001ae807e677c71fa6b354dc86d69b5dd52bc462a359ca256053c117afb609ce58a7090a9216937f70771cdf1 SHA512 03a10939a2949ae3a4ce0fd637f892bfa163adc172121c45ce85a68e49055b7f84117d8dfabe974f5e114fb31e0d63a50cf6116c23e2cd131c583c01f78beda8 +DIST firefox-91.3.0esr-hsb.xpi 570287 BLAKE2B 801e6dd924e9987bbfbcf61dbfec8fd026ada2e0a8f439165a93b15783a749cbe911cab7746cdf7c62e255918399f988e8febcba383a0b25e4f3fa2e65d0729b SHA512 2717cb31d6bdca52098b14e8cb640f437ca2d8084968283639f8cf08d8d1ae9887891d4276d8619da2d01a03ee5be8d4212b1b0691b53e1e9a08a462ea4e3790 +DIST firefox-91.3.0esr-hu.xpi 574172 BLAKE2B 829fe11f64d78da1972d3405e636bfae83456a797414aa992422cb455e17ef9cfbcc608212b99e312b6509786dcf60b941517721ad5029f60e903fd9b126d1c2 SHA512 5dd972b42c1f58601bdfa2bba3e9ea8d2358624428754994ac61fa7b31dce0e0a76b320fe36324950a31bc5d9770e52acf627d7dcf7771af6b4b820df8c11f95 +DIST firefox-91.3.0esr-hy-AM.xpi 599321 BLAKE2B 02f3a479176e71f9c225bdb4448c9e4da1cf111b854bf0342617a08906429a101bbef29cc24717ebd71549feaff378e22d526318f58a67bad4026e8b6484edb3 SHA512 1e986afb36a0f28d44735700192727645ad8116a77d06cefb79883e7e223c8cff5f8721bf218dbee05e078cd355ac6683a143a7c717456fd96c91411b5401cbd +DIST firefox-91.3.0esr-ia.xpi 539816 BLAKE2B af6e24bdb46fb7ef6fa4806c4a191f90e2431fbbe377c5d1ee0fefb33d71005f1a79b24b201df34d1bef9a233103cb42162643274f7ce77bca149a27c34b2434 SHA512 7478a1c90d05b800dbc8cbdf286c1b55e6377511e7a479fdd64bc02d5d8c4ba256aee30a84626a3ddd3ea81a795eed826f85246a1cbe2272523578bbf913d896 +DIST firefox-91.3.0esr-id.xpi 534169 BLAKE2B 1efcfd47aaac2a053a3bf5bb86b1dded26ebe572dfd1e3a8ad431aeb0191b1adf09cd1908d87696eee7c35404b20cac3c5159b3b61abc346595bc678945f786f SHA512 e9df4affb1fae3fcaae299a8953fbfa0c703123bbd75519d1c20668e64d7cc0e50705379871a1587aa0a8ac274e3fd37118bf36adabee75e0b884e04aa151131 +DIST firefox-91.3.0esr-is.xpi 481673 BLAKE2B 490f43b879857ab81daed8996389910547cde64eb97a60e69d138b19a971a5a85079f299eeaf6d423ccc3dc483d5a888e20404cda2d7f5863b8027a69a88b613 SHA512 70f3245bcc3302c59471c3e781ad07ff076e56ae24affe06280bbe817ae0255a816aef85d958b3ff873e9f52954186460f102d5172271d78609790da6ae15e63 +DIST firefox-91.3.0esr-it.xpi 467592 BLAKE2B 58faaca1155250686f459623d2dc16748575795bc589edd2487df734802dba00755bd9dd191f91dab97461746a04c160730fae6956e8004445243e712a5f48b6 SHA512 7d5b1ef7677d735267d81d9923212ce89e44fa39511a0cc8ce947c59517e5acf43ea498d23fdfe52625390a031a7eb347a2aa625ab46de97d17c6203192d7e51 +DIST firefox-91.3.0esr-ja.xpi 599763 BLAKE2B 51cdfeb9f96f2555c5abe129a1685494fd845a75a2924a602a4f29346cccda2214107bd7cebd1f3e13b39af3c088321c556e00b3b1cc25237397cbc82989f0cd SHA512 dc124952e98ac7aa56dde4621737d5ed10faa520508de67de940ff45488582bddd920017700c8879c6147542e493457cafed536cb7f3feeb1e2e05cab186a7ef +DIST firefox-91.3.0esr-ka.xpi 601252 BLAKE2B 84a8430f902b8bcc919459d26f7bc1f5b669dcf8791b6d966bca09fb35fbfa9be29368e24a64b16c89052386c14ebf3a7441efdd7447b535fbfd0ee8ca8da004 SHA512 06338fb80b444589c4e01630b015b79d0fb1589b19e067d54e03aad81245561aa9659ed9ea1b5fe016fef74a93c315ab199d13c3379386fb73958a429ca2b043 +DIST firefox-91.3.0esr-kab.xpi 558644 BLAKE2B 652537fce44914933ac544ca261315bdf7f6897c7fe56ea985bf5c4abd8df868aec5ed4a2e77f5c61586d3881374909ed43196a3d00f6f3b809a259b582e8112 SHA512 413d0c4937beb8348e034d133e10d13e47d5bc2dc72b901d7a2e8d74364735465b90187cd23d455f78db30f48c94f531851c8e9e8a026ba6e61e3d18c19170bc +DIST firefox-91.3.0esr-kk.xpi 615023 BLAKE2B c261060b04c2f815e57b0334e6a39c8d230fe04f80759e790857505d3cc21956c886de892c9c73136d53b3ff5d7ae02b7892d5a333c021cdf8dae1bd01fd31c2 SHA512 fdd4430f4eb6c1a4bc3ffc0bd91732286b7656637eb1b88b2fe8da99dc450b10971ae46caa08bc864048f801bf715c3a8be9d65f7b99f34b1e68a80cae0657e1 +DIST firefox-91.3.0esr-km.xpi 545289 BLAKE2B dec98240d0a2077b4b8171260cbabf8be624dddc114e37c886211a98b7d15b0af09865f0d1a7641217f62bd0d3addb0ef35d410f3eb136e2da87b6b05655908e SHA512 48ad4e4eca64f38830867475bd6eab317f086530f1baa9e4be8212913876cb57b29b715689d2a6dd2706c0fab73fd82f5ff0d09a788a2c67f351cb89b834eb2f +DIST firefox-91.3.0esr-kn.xpi 508936 BLAKE2B d00c95eff39a028ee5462505133f1dd691115b7879c6d32db0f4cb998b33ffe0cb0dfe095af6bd0b721156acccf8ac68ff72d6cc3915e414c710ee66d1810126 SHA512 17491cf459f0a71e2b14b05ca36472854a9b379605c034f69ea868e751e6ccabad779384c5c3b755ed13f6b672957788334cbac7e8c4bcbeb585085f7638e48b +DIST firefox-91.3.0esr-ko.xpi 585482 BLAKE2B 715cb964601375bd2676a456b01b20c5e0cc7aba9bffb94a455fff9e3a07413c2c7ff47e88706b7f100fe33ff15437a1e0274575b061d00b254208a3a5b7fbe6 SHA512 9921b4b07cb25d799130f9cbe469025dad111dc774399c86dce39e84541030f46ba3f3c25ea7ddde072e4796902856741ebe97acaf85acacc22a18eb9cc2add4 +DIST firefox-91.3.0esr-lij.xpi 482099 BLAKE2B 0526982b5cefcbd5d1d3772504315672f66744d4cc99c4b3afe9d338cad436b06f58a5197754ca87a68832859cb8e4e41947db5c4197efa08b263d1db664c860 SHA512 9c445535c6de513c7911b273f4ef3849ea5e87e58e81b10e07f6c041d255af95578f7f09100fccec92488a47e1039d2ad4f10b05834e61829524c2d64fa2e647 +DIST firefox-91.3.0esr-lt.xpi 567966 BLAKE2B 7df84a326c101085dc0169bb259de3df4cb1855d361dda6ba794556def3821f49a8f77a0bc8339c2c84a077f04c38c38ad24dec1fd6b472a25bc90401587242b SHA512 c1f1c5a29a915815bc16dda84e38b1f325361f1e859df5bc746a49196cbb6b30094f9a57a6a2f5b6eb6ca4568c8d94ca51456af601eb45181e17aa5d0df42951 +DIST firefox-91.3.0esr-lv.xpi 473686 BLAKE2B 44f92e2d9f24b5737237b09c280fd4543dd161ce8ef5832eabeb1e68bc1f3df564cec96e73fb30e4a7febfd9a5556c134f8927b965793b7eccce4d0464e59dfa SHA512 336efcb898c957412bdb4daaedae7988e35a03e32ea489e15e1060bbbce21c26d486c52626313245e03de41d19bcf35063dcf367bb490a40171322e7ebed597b +DIST firefox-91.3.0esr-mk.xpi 473756 BLAKE2B c161f1103edbf0a62d4d8abc3ceb5145382761110157dd8e8c7b894dea1c11cda876df0f3e74fd2ba022e9627991f62c65df6e27d022f6b92d13bd83b662b1af SHA512 ee4c6a00c2af8b53267e560ed57665996d0668a2dec42eb960dcff5d474557738485f31796c014d3d613a624e805adcf29a94c38290c0ec62150db07cafe09fa +DIST firefox-91.3.0esr-mr.xpi 547134 BLAKE2B d61d0ab6787f5c51039df91313950dcae2d3d0bc6364171e4f361f13b62fe483a0c3aad4ac3bdfe23b9dc764affc95f51592140a98b03f8084d318c0e77d6656 SHA512 130998d5d61d892cb60aa375d8164cd562b328145b110ee5b637ff7e642fbc644825fe7e45f5c11bbb198a51d034ae63143c8a968a9747f0dc7bcb4778f81053 +DIST firefox-91.3.0esr-ms.xpi 457537 BLAKE2B 7dc872a84e97b0ca1b93891f6c372146129926906171f9923b2d3fbebfc29b01448ac213af699a86f20bc8249f8871cee3d5135868a27a582c771bc6abaed035 SHA512 1688eca7a9a82c13ff3e8d539097ac5342b3399fc5c057f39cbae2377a3dadc641240ba2814745a47936abf0f4527e5da21d7cf2ea26939029a448318d7f812b +DIST firefox-91.3.0esr-my.xpi 530545 BLAKE2B 7df234a0b9759c44aedb8b04e66a5a9b60b0e611111bf3c078a7f22100592b2b1d04890b500846dddf1f77a2f4931d9059e42c649c92920c1cd57ddfc7162af5 SHA512 5e6e9a4649fd5008024ac45ef8161d6115446aca480a018599b154f0cc806ea737e515769fc28065b6bd48824e4dc88a88468946b9c6bb49ee6a405979ec834e +DIST firefox-91.3.0esr-nb-NO.xpi 536416 BLAKE2B d0001f96738bcd509fd71a093308ee7091e604acc7544d0ca57f7dfd25f21445b338f53e77f334b4186c4f9b545e5a00e0e97adc3c748ad8ad99bd24c0d22954 SHA512 1bccd54f8c0f0481535ad276da2ac52231f2ad425e8fced16b8e17010a30142162f266d089c9fc2a57e4b1c8e056a2babc970d56c4e4f64952f6b4b36e7f066c +DIST firefox-91.3.0esr-ne-NP.xpi 486609 BLAKE2B ffcb6c7af30e0b9c87985956668b2b1679d9befa51eeae7d7eb4b90ff9dec5ee10395f290a9da3dd3e54e171bdc8b1bc2c9afabf8e13d212471094e9e033a558 SHA512 06296bd9d8eab79b19c3bf636a04354fd96d4c2fe1903343c48f290aa9bf43fd8b2d175e37e6ee6a9a6ace1d60b7494a33187a94e70d884541af3a08b26c7567 +DIST firefox-91.3.0esr-nl.xpi 544349 BLAKE2B 95be5d0652cd9af9a263f800f08e0d1da7b7f20b88f18fb6249b397d37e2989de07723bdbeddf6beea79a513cc3a9fe35664e7868d3a42ea08ecc1839f7f8d38 SHA512 3c608305a915693abe99a99d03d0bcd96ec5a580f9545e061f1e9c2438c79506445310f216c65b4d62f0cb507467fd5e9f06e128eccd10270b2a9a172b40b6e4 +DIST firefox-91.3.0esr-nn-NO.xpi 539202 BLAKE2B 4dc36634d372292efc74d82a0b28edb1c35ed52107048c3ce9153950254cdc18c82f5b7e6ca2c463232d3a7b3cb1a2752b710a6f4dfdd8169232bea34ed23f0b SHA512 e4bb708b1eab90c28deca352898956908bd0fddb5c9f5f3718156b53f6498a3d3608b6e614f7f09f11ac2a7d86e4da483ef431cba23c51381799377900d04436 +DIST firefox-91.3.0esr-oc.xpi 560173 BLAKE2B b89c674524e093378442092444491724faaaf388f47ea99ad5e02c15b8aea32256f517c83acbea59a04cd1832eea26fe2db7a0c2861b4643bc65be858835ceaa SHA512 fd30f7884ffc3c5d202ebc033762d8cdc03118eedfec888f2c399d182707ff8600e4189776f9815e5782478859656c1adc2c8b080e914c01928343dd70fb8ab4 +DIST firefox-91.3.0esr-pa-IN.xpi 605327 BLAKE2B b877537f8cb8b381be25358bb18dbc8b89df4d00765af9c26e9fcb4aa4051cc95c5cf281f0a1ddeba8ec8fbc6f646bd7ace0d9cbd1e49c1f694e942dd186aa08 SHA512 6b6d5cda222b073a8e3dbc61b68f4460661f21686d03d81a30b59430ff41b32a3190d14f5b011e5b251edbf881d42d673c4adf32d7f75205772fee2a2f2f68d7 +DIST firefox-91.3.0esr-pl.xpi 564260 BLAKE2B 3a6de18dc86f1232579b72d45d17daf60ce75b014495d0412fe39df6bcc83a420a527a3c9ba7af5c105b2ed1f33ba1de8a8f4fe9e20a07eb0f1fbc776cf887b9 SHA512 6be4b84817d4406b74d339050ab2fc73e7213bacc54e111a01edf9e79839d4513f5b8e5e8d2bab33af9914905a56b56fd5e4be9545f2a51ccaa256a8ba2ad5ff +DIST firefox-91.3.0esr-pt-BR.xpi 550106 BLAKE2B feccbe76d93838c309dea0284c2d3767e4c224a44a9fdfd009f47260b32db25327435e7ee437dc269baf0ab1fbffc594178414679cae152d2d68fd925bd4371e SHA512 660d7d293fec0d434dd5184176e41a4d8096b2d245206741c3a997674e6ad55c0c1ec604683e9419d5627dc3932c624ccd160eeb535a097d419b0d9d23d4d599 +DIST firefox-91.3.0esr-pt-PT.xpi 553474 BLAKE2B 138281c56c435734cdfb59ee50c19958aaba73f53abc32ad565bbae0b2eec42cb697d48f742b979019a7995b39fb07f6b531de9f682e97503c89013967966f93 SHA512 6855854c6a7cd009e7a5f17833cb09a1c85e2a56a333e662252d15ab0eac38b20ac61822bcb23ac389ac6967497211e20bffd22047ea15241bfe98b9d3cce111 +DIST firefox-91.3.0esr-rm.xpi 544478 BLAKE2B 7df044279ac4de819ababa59600420ae2eb8d8d8dd76fb9f76a01e82436d4d592e2010149bd7d89f1ebbe21616577af2dff799f6afac5aa86050281d54465b22 SHA512 bb8dd03ce00c41c6986e6b21d16f1df40ba31b21b6aa42366745c0cc616ca7fc1a9780f11e588796e5a1c4cbdb05984f933caaacbc274182fd3a88000821d66f +DIST firefox-91.3.0esr-ro.xpi 545828 BLAKE2B a24d75cd7336f3b3387322425930fae6443d748f3dc32f4fb45c772f60e3961fad98bfd53418559a3ac32a799bd1480c85660cf99a16d19853fcda0cb85f2811 SHA512 831957527688f21c45ffcbb5993d11a7ace7d60ef3383850c5c03811e876ac4bb768766b3f5d132210656ee19acb3748bb5216ba105bc61682b7a7efed9153e9 +DIST firefox-91.3.0esr-ru.xpi 636051 BLAKE2B 266ac362c40d49f8077fd96ba8f95b9825426dae681ae7975f644c8f06a1f7fc676daca67a972e96313a867f4f2a9d89164dacdeb76dd63e4e75fda469367ee7 SHA512 51c47c04d9ee5890ff3a9656a964f96ee1eadb81dc88e2fd38fccdc9e052ea560c74d95a5778999906a508c8e3bf6fd748d5fece40ccab507c08262c14bacf3e +DIST firefox-91.3.0esr-sco.xpi 513233 BLAKE2B 33fc884e104d8e2044dffbe60f765aaf443555b498b2527cf7ea22d54572117fe94e478151d5201927fc3a24e1c370d6a171c4c05093bafe6c6ba4fa4848389f SHA512 8b6108c41f45eeb1bb357bd1003c96c7e93248b9cbe10e8fac1efd28052128d08952c061fea66d8374ed01b90945a6c7b317eac8ced9fd03781d2850b7d366ee +DIST firefox-91.3.0esr-si.xpi 497218 BLAKE2B 2729a8ff6ee4687c7c7cd9a917c20d01dc49f8ba5ac12c4abed541104c8f505814db86b6f3542be1add8ddf170996e8dfdc1b4fdce7fc011b56767124fbc12c4 SHA512 42ba20d16c92b49f5c165715b67ad9d3d686c08238040def58ecf2874b3b5e3ef26c4c3d2afc248c4ae658922c0b5c0bf75b9f097850cf56d6d7e5b26209d76c +DIST firefox-91.3.0esr-sk.xpi 573547 BLAKE2B f14711ddef612ea1dffbdabea0f545928f2c3cff5cc6a5fa8a325495e619a8bd49f1dc10cb980b95f8d5394eab6052f660a39ed52e59a9f24a920ba80073fe92 SHA512 bd096c518c13914457abd0720eeb5c48202ba9efedde512325ac9004d778034694c0ed6543f893639588aaecff2caa93dfdedc228be744f54a873f9d92fd77b6 +DIST firefox-91.3.0esr-sl.xpi 543046 BLAKE2B f9c44c70835f8fa7c9355c0ba8cc49a79e126569bcfa3d6d794cafe3efe6d804d8bdac9d2efdbd88b38f4b01140aaeb43ab434de985475daf387dc86f0ed3a0e SHA512 6f3561bbe6a2e8a4862fde0e65ba735086b181f30ae61386a391460d844e2b88b73c969d4ad963efca7f2cc96e1fc42d9adaf2de13490dec445f9af538975b72 +DIST firefox-91.3.0esr-son.xpi 433071 BLAKE2B deef2d272dd6df94fbe37cb76f00e4c657c2df7d96e6477972819f92f22750c77ebf9525974106156650cf2dd90914a2009a0c5c3368959e02af050d4537880b SHA512 97dd89f0e188f8227b88982b203ce627a39ed844377337c9959a51aa72a10166811b50cd58e2bd9b7692d39a6000e3d95f6139b017f92e9c6044f74874aba50d +DIST firefox-91.3.0esr-sq.xpi 562512 BLAKE2B f1feb2531d4670cdc6011deec368e906f71dcfcab56bf7662a5802beeef1d5b8b5e7ef82d765a4baf6b37e54a245fd6fbb41bc57e2dea18939cf0d2b1bed1273 SHA512 0bf7b349b13e86d5e08741fd12df0f0894f1da560830c381b16f50925ad3c67ecea448c115cc7338915e77415b706b6b52001af48561a1403b6274612a5a4c36 +DIST firefox-91.3.0esr-sr.xpi 601681 BLAKE2B 0eb9dbe2de8b9e23cb44ac07a2073a2f7de350c0ce26e5ce7d36efabb906e5fe063f5a63ba91cd32a9176788e74c6c5c26aa90280ef6b4f71872f095453c4b18 SHA512 37a9c7171560b39834617c1444b84a6e748aee3b503a6def9c3d53ef659eb0bda32ca560b71c7eb822f18934feb55e208e9c77397dbbc9d330b8dce77caff31d +DIST firefox-91.3.0esr-sv-SE.xpi 547621 BLAKE2B 08bd3b771cf6eeeb153d95e7d23665b1f0edbb16fd5430a4aeba3198609eaf2534e8ad4d93cb5e9da030eabfcb0688268392cefbc62b10df5202e0f5f83ce2f2 SHA512 d93d452135010f1cfc2d18f1f25f15977ad1a9fe08fe5a1efc6ce5a3f3518b5148f47022fbe004aef40ae0269beab20d39a6bfcff4eb33456e7c3ad6b3c07548 +DIST firefox-91.3.0esr-szl.xpi 522616 BLAKE2B a6844fbd36a56840c2ae480ec830ecc8a963805c7c135b05f6099df59d10bfbca4074421d4d41f4cd2a90b942e70ffec6dc0d0eafe9f110d5feffdddc09494c1 SHA512 8aa238e140e1e9c9a64103b61fc3497dfc17c97b13a0878d4dc573deaa70c80681726c9d26a92b0cdafadeaa34242bf3a72b4a7502aefe4ed6886ff23341b4e9 +DIST firefox-91.3.0esr-ta.xpi 525427 BLAKE2B a87bfb00781a1de250b00a5006d5a500a5e84e540bda38609bde9a596cfcb70d798295ca4b28153dbeae93af63dfa0631365991d89a5489ea9f2405f71cc893b SHA512 97070e3d1eeab0ac44cc6bdaf3de361e28be5041b58fc97a2c403cab948842a6a4a0efa4d80b6804d9ba67020f23291cc82ada5e843207d804c2cbcdc2d79cb9 +DIST firefox-91.3.0esr-te.xpi 565913 BLAKE2B b3be6348add4cad303525b90ae55a7681bf05d44ce4cd3b8ec1281143133bf8c29cb215d5ed1a0376689a5a434ee1c2989867d4ece8aff0994e9dceccc8c4af3 SHA512 72f0b5cd8a5b177be66fd6294521c555125be670aefff330c2703cdea7fff738decd7803989c07f307dc84f7ecf25142e4cd847a406edc672ac03b796f178195 +DIST firefox-91.3.0esr-th.xpi 614796 BLAKE2B ab5b057ffd367c917af6afb1b0959df87121bc8fd37dd8eb3dbb34f66508f0004df81d031382a55a2ace4669e36af823d2d6c73a5d0c27f48cec358d73716651 SHA512 95c3986a1baeac27266ff004631f4a4f0ff298f5c06eb364282f4c90856df6d356aa9aa0d04640d80c06ff8e13ddf7169e64641bdae16bdf219eb81bcc3d0b4f +DIST firefox-91.3.0esr-tl.xpi 531783 BLAKE2B 066b2146125f9a5dddc544752b9955661168c5d1616ecede7ffd4ca4553aed22c343230a5d15a3a1de908e82456f6bddddac4b1342ecd3b8a7666adfdcb36ead SHA512 33a89f900e388f2ad1372f32b4e726fbcbeca11e25783ebf3aed5153b557cea05885f36436aae9dc268c0de83a9449446c73b1405cc1fcf56c8dfae3e438ceaa +DIST firefox-91.3.0esr-tr.xpi 560033 BLAKE2B 6b13f234a86d38a5c4dd4eb46e82fac3d37845a909cfee19df634dc52b24333c8a78e6643715474615a6d6e2a2d62915b8fbf86496517b404400e484d82e2847 SHA512 f508ddcee0e1c423ee437bbf20b98d96a7f40d70311df05efab9b467d56c0bb9ec5030cef0a3f206b787b15e3baa0fe649bc9bd8ba03ce9e050278929c572c85 +DIST firefox-91.3.0esr-trs.xpi 503925 BLAKE2B 11b9fe4f1a914038e9ac82247957fbff539c2d19aa7fec681ccdf7ce4c721a96c6d1f445bb007bb17780bb5b0fc69840fb6f7d39bf0e57ed2168321603003477 SHA512 42ccf89c4ab2b02d015b6a5d5b81185409a1b49d837c6d8da743fa1f6d6935564a9a28fbfc185ee56161903ca5f39987b15be54a63461cbf349a0e27a1daabe1 +DIST firefox-91.3.0esr-uk.xpi 630023 BLAKE2B a65d6e9d1a04b357b2848687762dca572729a057ca534d8bc1c7b75f3c9aaa49bb5f5a29c6ff1a77428cfe6d788f7ac78fa2fdb65a339f0fa533da152cc8c6bb SHA512 ee66098a00bc371ecc4883ddb022bca5960e324349bca047abaf11fcc795075e532cb075160899fd25c86357e865a5dc70548a777eb393b82ed15d7d98819692 +DIST firefox-91.3.0esr-ur.xpi 573052 BLAKE2B 8bf7de96591f439196803a89e5eb02e37ec7747ade75b1d1f313f09073b2e7a0a482d3ac6bccaf4863aa74768ad86efa7922f6f35606ea71aa33f9db286a5686 SHA512 01f8a4fff5f425f25ef498a9f99dd65d9ecaaadf205237becba0d52a0e8054b5203104cc3e19a11e68bc19a57f62a4f72fb8aecfc1450fe39dfaef30768495b8 +DIST firefox-91.3.0esr-uz.xpi 481199 BLAKE2B 9313487f4a8a59ef28645dd9fe1bb81a77fd05ebf5402b442ac4c1cd2f533917f9a0a8a20fa442a48a60fdb40e4111993659ba907230af98d98eda8087025201 SHA512 9d71b314ee860809aac0deb903363f8db1151cdb21792c1524593ed0a86a36c9a132d4760cb749e6f99d22e5fa75f243efe85cd7ece395e7779d9197612b80b5 +DIST firefox-91.3.0esr-vi.xpi 581328 BLAKE2B 596dd95b4a8573c4d0dc0434be2ee5eff4ac5caaeee263f95838ee9e7e607ef9a4adeb5d08f9302235f91715a819ca90c04d16cfbdb2d611540aaa55dfb274a1 SHA512 dcb4d1ef7746844c2d25d9362868bd776cffac08aae936091d043a6b09f1f15cf66f2698eacfda957c4b0cf8576ad7a8191249201a604b13442541c984b874f8 +DIST firefox-91.3.0esr-xh.xpi 435358 BLAKE2B 96c7c7f452184145ef154126b6c2fe6216faa90b62267a0946871951547c13d86612066696549b06b99a0776a88911b26432758e9b32cb73715a73d415e82c2b SHA512 6cc4acd79aabf3f062811578bd4ec98a26520fd05af7c878fe3fec699fdc86da760332fac5c0a6d814abfa1fb2919ed869ef8f0dc5b1c5f0b582dfee4f0bbd74 +DIST firefox-91.3.0esr-zh-CN.xpi 583248 BLAKE2B 3caf831df6288ec5c1025f20c1834b6993fb5f50349d9b8715e6e020ebe5e1dcb0bf62592f800e03066cf1564a8bcfe0cddc8e90f72f6d7e3298e1ecc97c71b3 SHA512 95044ccbd6ef200deec8e4d3143a3989277fa309182248d8bf3941c25778841243f525410c391d49aee33a6bfc9d6d625ea45ce96ab7df9e2d70264ce1a3a438 +DIST firefox-91.3.0esr-zh-TW.xpi 583430 BLAKE2B 848ba2ff85a16105153a1810594ec9c76f4376aed110a896cb2de21b8a98574ed6d8ef1b5b290a2c650cac072e4bc7420405263595225170d51682fd5a0b8fd3 SHA512 0d4ab413bda98207f76d4b8ff5f895dbe2e42e67856a93027de18175927e24f7b3d1eb4beb6c1902f2dbd6bdd4e6e3ac164a7a1061de77acd43331b1dbc1d68a +DIST firefox-91.3.0esr.source.tar.xz 381117132 BLAKE2B 316ac4c7e673eb1db88da9e7c1ea7eea6c3f6b6ca4d4066100c165512e52374c84f637aed1fd5037b126ce2cf51945a5a6276a4974f557ed1da7ffe1674135f2 SHA512 7cf6efd165acc134bf576715580c103a2fc10ab928ede4c18f69908c62a04eb0f60affa8ceafd5883b393c31b85cae6821d0ae063c9e78117456d475947deaa9 +DIST firefox-91esr-patches-01.tar.xz 20768 BLAKE2B 22ebd261b445f1920448d9243e3e15ed2e4d393099552bf43f26c9705dd00f8b87b5720e94fc43a31dd96c3a88398e17da80f81953f0bf9658d75e4a85a31fc9 SHA512 5935545535366abf8681286a9bd745f95f83ebf0d69ba5ce600ae513a4391fc16ea7eb4addbe8ad27f97eae3c1fcb05a78e2fc0fbd4cbf7798a83b778b5e1535 diff --git a/www-client/firefox/files/disable-auto-update.policy.json b/www-client/firefox/files/disable-auto-update.policy.json new file mode 100644 index 00000000..f3662202 --- /dev/null +++ b/www-client/firefox/files/disable-auto-update.policy.json @@ -0,0 +1,5 @@ +{ + "policies": { + "DisableAppUpdate": true + } +} diff --git a/www-client/firefox/files/distribution.ini b/www-client/firefox/files/distribution.ini new file mode 100644 index 00000000..680512e3 --- /dev/null +++ b/www-client/firefox/files/distribution.ini @@ -0,0 +1,42 @@ +[Global] +id=gentoo +version=1.0 +about=Mozilla Firefox for Gentoo +about.de=Mozilla Firefox für Gentoo + +[Preferences] +app.distributor="gentoo" +app.distributor.channel="gentoo" +startup.homepage_welcome_url="https://www.gentoo.org/" + +[BookmarksToolbar] +item.1.type=default +item.2.title=Gentoo's Bugzilla +item.2.link=https://bugs.gentoo.org/ +item.3.title=Gentoo Forums +item.3.link=https://forums.gentoo.org/ +item.4.title=Gentoo Packages +item.4.link=https://packages.gentoo.org/ +item.5.title=Planet Gentoo +item.5.link=https://planet.gentoo.org/ +item.6.title=Gentoo Wiki +item.6.link=https://wiki.gentoo.org/ + +[BookmarksMenu] +item.1.title=Gentoo +item.1.type=folder +item.1.folderId=1 + +[BookmarksFolder-1] +item.1.title=Gentoo Linux +item.1.link=https://www.gentoo.org/ +item.2.title=Gentoo's Bugzilla +item.2.link=https://bugs.gentoo.org/ +item.3.title=Gentoo Forums +item.3.link=https://forums.gentoo.org/ +item.4.title=Gentoo Packages +item.4.link=https://packages.gentoo.org/ +item.5.title=Planet Gentoo +item.5.link=https://planet.gentoo.org/ +item.6.title=Gentoo Wiki +item.6.link=https://wiki.gentoo.org/ diff --git a/www-client/firefox/files/firefox-r1.sh b/www-client/firefox/files/firefox-r1.sh new file mode 100644 index 00000000..853a4efa --- /dev/null +++ b/www-client/firefox/files/firefox-r1.sh @@ -0,0 +1,116 @@ +#!/bin/bash + +## +## Usage: +## +## $ firefox +## +## This script is meant to run Mozilla Firefox in Gentoo. + +cmdname=$(basename "$0") + +## +## Variables +## +MOZ_ARCH=$(uname -m) +case ${MOZ_ARCH} in + x86_64|s390x|sparc64) + MOZ_LIB_DIR="@PREFIX@/lib64" + SECONDARY_LIB_DIR="@PREFIX@/lib" + ;; + *) + MOZ_LIB_DIR="@PREFIX@/lib" + SECONDARY_LIB_DIR="@PREFIX@/lib64" + ;; +esac + +MOZ_FIREFOX_FILE="firefox" + +if [[ ! -r ${MOZ_LIB_DIR}/firefox/${MOZ_FIREFOX_FILE} ]]; then + if [[ ! -r ${SECONDARY_LIB_DIR}/firefox/${MOZ_FIREFOX_FILE} ]]; then + echo "Error: ${MOZ_LIB_DIR}/firefox/${MOZ_FIREFOX_FILE} not found" >&2 + if [[ -d ${SECONDARY_LIB_DIR} ]]; then + echo " ${SECONDARY_LIB_DIR}/firefox/${MOZ_FIREFOX_FILE} not found" >&2 + fi + exit 1 + fi + MOZ_LIB_DIR="${SECONDARY_LIB_DIR}" +fi +MOZILLA_FIVE_HOME="${MOZ_LIB_DIR}/firefox" +MOZ_EXTENSIONS_PROFILE_DIR="${HOME}/.mozilla/extensions/{ec8030f7-c20a-464f-9b0e-13a3a9e97384}" +MOZ_PROGRAM="${MOZILLA_FIVE_HOME}/${MOZ_FIREFOX_FILE}" + +## +## Enable Wayland backend? +## +if @DEFAULT_WAYLAND@ && [[ -z ${MOZ_DISABLE_WAYLAND} ]]; then + if [[ -n "${WAYLAND_DISPLAY}" ]]; then + export MOZ_ENABLE_WAYLAND=1 + fi +fi + +## +## Use D-Bus remote exclusively when there's Wayland display. +## +if [[ -n "${WAYLAND_DISPLAY}" ]]; then + export MOZ_DBUS_REMOTE=1 +fi + +## +## Make sure that we set the plugin path +## +MOZ_PLUGIN_DIR="plugins" + +if [[ -n "${MOZ_PLUGIN_PATH}" ]]; then + MOZ_PLUGIN_PATH=${MOZ_PLUGIN_PATH}:${MOZ_LIB_DIR}/mozilla/${MOZ_PLUGIN_DIR} +else + MOZ_PLUGIN_PATH=${MOZ_LIB_DIR}/mozilla/${MOZ_PLUGIN_DIR} +fi + +if [[ -d "${SECONDARY_LIB_DIR}/mozilla/${MOZ_PLUGIN_DIR}" ]]; then + MOZ_PLUGIN_PATH=${MOZ_PLUGIN_PATH}:${SECONDARY_LIB_DIR}/mozilla/${MOZ_PLUGIN_DIR} +fi + +export MOZ_PLUGIN_PATH + +## +## Set MOZ_APP_LAUNCHER for gnome-session +## +export MOZ_APP_LAUNCHER="@PREFIX@/bin/${cmdname}" + +## +## Disable the GNOME crash dialog, Mozilla has its own +## +if [[ "${XDG_CURRENT_DESKTOP}" == "GNOME" ]]; then + GNOME_DISABLE_CRASH_DIALOG=1 + export GNOME_DISABLE_CRASH_DIALOG +fi + +## +## Enable Xinput2 (#617344) +## + +# respect user settings +MOZ_USE_XINPUT2=${MOZ_USE_XINPUT2:-auto} + +if [[ ${MOZ_USE_XINPUT2} == auto && -n ${WAYLAND_DISPLAY} ]]; then + # enabling XINPUT2 should be safe for all wayland users + MOZ_USE_XINPUT2=1 +elif [[ ${MOZ_USE_XINPUT2} == auto && ${XDG_CURRENT_DESKTOP^^} == KDE ]]; then + # XINPUT2 is known to cause problems for KWin users + MOZ_USE_XINPUT2=0 +elif [[ ${MOZ_USE_XINPUT2} == auto && ${XDG_CURRENT_DESKTOP^^} == LXQT ]]; then + # LXQt uses KWin + MOZ_USE_XINPUT2=0 +elif [[ ${MOZ_USE_XINPUT2} == auto ]]; then + # should work on Mate, Xfce, FluxBox, OpenBox and all the others ... + MOZ_USE_XINPUT2=1 +fi + +[[ ${MOZ_USE_XINPUT2} != 0 ]] && export MOZ_USE_XINPUT2=${MOZ_USE_XINPUT2} + +# Don't throw "old profile" dialog box. +export MOZ_ALLOW_DOWNGRADE=1 + +# Run the browser +exec ${MOZ_PROGRAM} "${@}" diff --git a/www-client/firefox/files/fix-rust-detection.patch b/www-client/firefox/files/fix-rust-detection.patch new file mode 100644 index 00000000..d1b525b5 --- /dev/null +++ b/www-client/firefox/files/fix-rust-detection.patch @@ -0,0 +1,31 @@ +diff --git a/build/moz.configure/rust.configure b/build/moz.configure/rust.configure +index b9d24654f8..ca7bf4baeb 100644 +--- a/build/moz.configure/rust.configure ++++ b/build/moz.configure/rust.configure +@@ -262,6 +262,7 @@ def rust_supported_targets(rustc): + return data + + ++@imports('os') + def detect_rustc_target( + host_or_target, compiler_info, arm_target, rust_supported_targets + ): +@@ -274,9 +275,15 @@ def detect_rustc_target( + # munging to get the correct option to rustc. + # We correlate the autoconf-derived targets with the list of targets + # rustc gives us with --print target-list. +- candidates = rust_supported_targets.get( +- (host_or_target.cpu, host_or_target.endianness, host_or_target.os), [] +- ) ++ target_from_env = os.environ.get("RUST_TARGET") ++ if target_from_env is not None: ++ candidates = [] ++ info = split_triplet(target_from_env, allow_wasi=True) ++ candidates.append(namespace(rust_target=target_from_env, target=info)) ++ else: ++ candidates = rust_supported_targets.get( ++ (host_or_target.cpu, host_or_target.endianness, host_or_target.os), [] ++ ) + + def find_candidate(candidates): + if len(candidates) == 1:
\ No newline at end of file diff --git a/www-client/firefox/files/gentoo-default-prefs.js b/www-client/firefox/files/gentoo-default-prefs.js new file mode 100644 index 00000000..0407f5d3 --- /dev/null +++ b/www-client/firefox/files/gentoo-default-prefs.js @@ -0,0 +1,12 @@ +pref("general.smoothScroll", true); +pref("general.autoScroll", false); +pref("browser.urlbar.hideGoButton", true); +pref("accessibility.typeaheadfind", true); +pref("browser.shell.checkDefaultBrowser", false); +pref("browser.EULA.override", true); +pref("general.useragent.locale", "chrome://global/locale/intl.properties"); +pref("intl.locale.requested", ""); +/* Disable DoH by default */ +pref("network.trr.mode", 5); +/* Disable use of Mozilla Normandy service by default */ +pref("app.normandy.enabled", false); diff --git a/www-client/firefox/files/gentoo-hwaccel-prefs.js b/www-client/firefox/files/gentoo-hwaccel-prefs.js new file mode 100644 index 00000000..a00144a7 --- /dev/null +++ b/www-client/firefox/files/gentoo-hwaccel-prefs.js @@ -0,0 +1,3 @@ +/* Force hardware accelerated rendering due to USE=hwaccel */ +pref("layers.acceleration.force-enabled", true); +pref("webgl.force-enabled", true); diff --git a/www-client/firefox/files/icon/firefox-r3.desktop b/www-client/firefox/files/icon/firefox-r3.desktop new file mode 100644 index 00000000..8219e935 --- /dev/null +++ b/www-client/firefox/files/icon/firefox-r3.desktop @@ -0,0 +1,236 @@ +[Desktop Entry] +Version=1.0 +Name=@NAME@ +GenericName=Web Browser +Comment=Browse the Web +Exec=@EXEC@ %u +Icon=@ICON@ +Terminal=false +Type=Application +MimeType=application/pdf;application/vnd.mozilla.xul+xml;application/xhtml+xml;text/html;text/mml;text/xml;x-scheme-handler/http;x-scheme-handler/https; +StartupNotify=true +Categories=Network;WebBrowser; +Keywords=web;browser;internet; +Actions=new-window;new-private-window;profile-manager-window; + +[Desktop Action new-window] +Name=Open a New Window +Name[ach]=Dirica manyen +Name[af]=Nuwe venster +Name[an]=Nueva finestra +Name[ar]=نافذة جديدة +Name[as]=নতুন উইন্ডো +Name[ast]=Ventana nueva +Name[az]=Yeni Pəncərə +Name[be]=Новае акно +Name[bg]=Нов прозорец +Name[bn_BD]=নতুন উইন্ডো (N) +Name[bn_IN]=নতুন উইন্ডো +Name[br]=Prenestr nevez +Name[brx]=गोदान उइन्ड'(N) +Name[bs]=Novi prozor +Name[ca]=Finestra nova +Name[cak]=K'ak'a' tzuwäch +Name[cs]=Nové okno +Name[cy]=Ffenestr Newydd +Name[da]=Nyt vindue +Name[de]=Neues Fenster +Name[dsb]=Nowe wokno +Name[el]=Νέο παράθυρο +Name[en_GB]=New Window +Name[en_US]=New Window +Name[en_ZA]=New Window +Name[eo]=Nova fenestro +Name[es_AR]=Nueva ventana +Name[es_CL]=Nueva ventana +Name[es_ES]=Nueva ventana +Name[es_MX]=Nueva ventana +Name[et]=Uus aken +Name[eu]=Leiho berria +Name[fa]=پنجره جدید +Name[ff]=Henorde Hesere +Name[fi]=Uusi ikkuna +Name[fr]=Nouvelle fenêtre +Name[fy_NL]=Nij finster +Name[ga_IE]=Fuinneog Nua +Name[gd]=Uinneag ùr +Name[gl]=Nova xanela +Name[gn]=Ovetã pyahu +Name[gu_IN]=નવી વિન્ડો +Name[he]=חלון חדש +Name[hi_IN]=नया विंडो +Name[hr]=Novi prozor +Name[hsb]=Nowe wokno +Name[hu]=Új ablak +Name[hy_AM]=Նոր Պատուհան +Name[id]=Jendela Baru +Name[is]=Nýr gluggi +Name[it]=Nuova finestra +Name[ja]=新しいウィンドウ +Name[ja_JP-mac]=新規ウインドウ +Name[ka]=ახალი ფანჯარა +Name[kk]=Жаңа терезе +Name[km]=បង្អួចថ្មី +Name[kn]=ಹೊಸ ಕಿಟಕಿ +Name[ko]=새 창 +Name[kok]=नवें जनेल +Name[ks]=نئئ وِنڈو +Name[lij]=Neuvo barcon +Name[lo]=ຫນ້າຕ່າງໃຫມ່ +Name[lt]=Naujas langas +Name[ltg]=Jauns lūgs +Name[lv]=Jauns logs +Name[mai]=नव विंडो +Name[mk]=Нов прозорец +Name[ml]=പുതിയ ജാലകം +Name[mr]=नवीन पटल +Name[ms]=Tetingkap Baru +Name[my]=ဝင်းဒိုးအသစ် +Name[nb_NO]=Nytt vindu +Name[ne_NP]=नयाँ सञ्झ्याल +Name[nl]=Nieuw venster +Name[nn_NO]=Nytt vindauge +Name[or]=ନୂତନ ୱିଣ୍ଡୋ +Name[pa_IN]=ਨਵੀਂ ਵਿੰਡੋ +Name[pl]=Nowe okno +Name[pt_BR]=Nova janela +Name[pt_PT]=Nova janela +Name[rm]=Nova fanestra +Name[ro]=Fereastră nouă +Name[ru]=Новое окно +Name[sat]=नावा विंडो (N) +Name[si]=නව කවුළුවක් +Name[sk]=Nové okno +Name[sl]=Novo okno +Name[son]=Zanfun taaga +Name[sq]=Dritare e Re +Name[sr]=Нови прозор +Name[sv_SE]=Nytt fönster +Name[ta]=புதிய சாளரம் +Name[te]=కొత్త విండో +Name[th]=หน้าต่างใหม่ +Name[tr]=Yeni pencere +Name[tsz]=Eraatarakua jimpani +Name[uk]=Нове вікно +Name[ur]=نیا دریچہ +Name[uz]=Yangi oyna +Name[vi]=Cửa sổ mới +Name[wo]=Palanteer bu bees +Name[xh]=Ifestile entsha +Name[zh_CN]=新建窗口 +Name[zh_TW]=開新視窗 +Exec=@EXEC@ --new-window %u + +[Desktop Action new-private-window] +Name=Open a New Private Window +Name[ach]=Dirica manyen me mung +Name[af]=Nuwe privaatvenster +Name[an]=Nueva finestra privada +Name[ar]=نافذة خاصة جديدة +Name[as]=নতুন ব্যক্তিগত উইন্ডো +Name[ast]=Ventana privada nueva +Name[az]=Yeni Məxfi Pəncərə +Name[be]=Новае акно адасаблення +Name[bg]=Нов прозорец за поверително сърфиране +Name[bn_BD]=নতুন ব্যক্তিগত উইন্ডো +Name[bn_IN]=নতুন ব্যক্তিগত উইন্ডো +Name[br]=Prenestr merdeiñ prevez nevez +Name[brx]=गोदान प्राइभेट उइन्ड' +Name[bs]=Novi privatni prozor +Name[ca]=Finestra privada nova +Name[cak]=K'ak'a' ichinan tzuwäch +Name[cs]=Nové anonymní okno +Name[cy]=Ffenestr Breifat Newydd +Name[da]=Nyt privat vindue +Name[de]=Neues privates Fenster +Name[dsb]=Nowe priwatne wokno +Name[el]=Νέο παράθυρο ιδιωτικής περιήγησης +Name[en_GB]=New Private Window +Name[en_US]=New Private Window +Name[en_ZA]=New Private Window +Name[eo]=Nova privata fenestro +Name[es_AR]=Nueva ventana privada +Name[es_CL]=Nueva ventana privada +Name[es_ES]=Nueva ventana privada +Name[es_MX]=Nueva ventana privada +Name[et]=Uus privaatne aken +Name[eu]=Leiho pribatu berria +Name[fa]=پنجره ناشناس جدید +Name[ff]=Henorde Suturo Hesere +Name[fi]=Uusi yksityinen ikkuna +Name[fr]=Nouvelle fenêtre de navigation privée +Name[fy_NL]=Nij priveefinster +Name[ga_IE]=Fuinneog Nua Phríobháideach +Name[gd]=Uinneag phrìobhaideach ùr +Name[gl]=Nova xanela privada +Name[gn]=Ovetã ñemi pyahu +Name[gu_IN]=નવી ખાનગી વિન્ડો +Name[he]=חלון פרטי חדש +Name[hi_IN]=नयी निजी विंडो +Name[hr]=Novi privatni prozor +Name[hsb]=Nowe priwatne wokno +Name[hu]=Új privát ablak +Name[hy_AM]=Սկսել Գաղտնի դիտարկում +Name[id]=Jendela Mode Pribadi Baru +Name[is]=Nýr huliðsgluggi +Name[it]=Nuova finestra anonima +Name[ja]=新しいプライベートウィンドウ +Name[ja_JP-mac]=新規プライベートウインドウ +Name[ka]=ახალი პირადი ფანჯარა +Name[kk]=Жаңа жекелік терезе +Name[km]=បង្អួចឯកជនថ្មី +Name[kn]=ಹೊಸ ಖಾಸಗಿ ಕಿಟಕಿ +Name[ko]=새 사생활 보호 모드 +Name[kok]=नवो खाजगी विंडो +Name[ks]=نْو پرایوٹ وینڈو& +Name[lij]=Neuvo barcon privou +Name[lo]=ເປີດຫນ້າຕ່າງສວນຕົວຂື້ນມາໃຫມ່ +Name[lt]=Naujas privataus naršymo langas +Name[ltg]=Jauns privatais lūgs +Name[lv]=Jauns privātais logs +Name[mai]=नया निज विंडो (W) +Name[mk]=Нов приватен прозорец +Name[ml]=പുതിയ സ്വകാര്യ ജാലകം +Name[mr]=नवीन वैयक्तिक पटल +Name[ms]=Tetingkap Persendirian Baharu +Name[my]=New Private Window +Name[nb_NO]=Nytt privat vindu +Name[ne_NP]=नयाँ निजी सञ्झ्याल +Name[nl]=Nieuw privévenster +Name[nn_NO]=Nytt privat vindauge +Name[or]=ନୂତନ ବ୍ୟକ୍ତିଗତ ୱିଣ୍ଡୋ +Name[pa_IN]=ਨਵੀਂ ਪ੍ਰਾਈਵੇਟ ਵਿੰਡੋ +Name[pl]=Nowe okno prywatne +Name[pt_BR]=Nova janela privativa +Name[pt_PT]=Nova janela privada +Name[rm]=Nova fanestra privata +Name[ro]=Fereastră privată nouă +Name[ru]=Новое приватное окно +Name[sat]=नावा निजेराक् विंडो (W ) +Name[si]=නව පුද්ගලික කවුළුව (W) +Name[sk]=Nové okno v režime Súkromné prehliadanie +Name[sl]=Novo zasebno okno +Name[son]=Sutura zanfun taaga +Name[sq]=Dritare e Re Private +Name[sr]=Нови приватан прозор +Name[sv_SE]=Nytt privat fönster +Name[ta]=புதிய தனிப்பட்ட சாளரம் +Name[te]=కొత్త ఆంతరంగిక విండో +Name[th]=หน้าต่างส่วนตัวใหม่ +Name[tr]=Yeni gizli pencere +Name[tsz]=Juchiiti eraatarakua jimpani +Name[uk]=Приватне вікно +Name[ur]=نیا نجی دریچہ +Name[uz]=Yangi maxfiy oyna +Name[vi]=Cửa sổ riêng tư mới +Name[wo]=Panlanteeru biir bu bees +Name[xh]=Ifestile yangasese entsha +Name[zh_CN]=新建隐私浏览窗口 +Name[zh_TW]=新增隱私視窗 +Exec=@EXEC@ --private-window %u + +[Desktop Action profile-manager-window] +Name=Open the Profile Manager +Name[de]=Profilverwaltung öffnen +Name[cs]=Správa profilů +Exec=@EXEC@ --ProfileManager diff --git a/www-client/firefox/files/icon/firefox-symbolic.svg b/www-client/firefox/files/icon/firefox-symbolic.svg new file mode 100644 index 00000000..2078eea4 --- /dev/null +++ b/www-client/firefox/files/icon/firefox-symbolic.svg @@ -0,0 +1,64 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<svg + xmlns:dc="http://purl.org/dc/elements/1.1/" + xmlns:cc="http://creativecommons.org/ns#" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns="http://www.w3.org/2000/svg" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + width="16" + height="16" + viewBox="0 0 16 16" + version="1.1" + id="svg3758" + sodipodi:docname="firefox-symbolic-quantum.svg" + inkscape:version="0.92.2 5c3e80d, 2017-08-06"> + <metadata + id="metadata3764"> + <rdf:RDF> + <cc:Work + rdf:about=""> + <dc:format>image/svg+xml</dc:format> + <dc:type + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> + <dc:title>Gnome Symbolic Icon Theme</dc:title> + </cc:Work> + </rdf:RDF> + </metadata> + <defs + id="defs3762" /> + <sodipodi:namedview + pagecolor="#555753" + bordercolor="#666666" + borderopacity="1" + objecttolerance="10" + gridtolerance="10" + guidetolerance="10" + inkscape:pageopacity="1" + inkscape:pageshadow="2" + inkscape:window-width="1591" + inkscape:window-height="909" + id="namedview3760" + showgrid="false" + showborder="false" + inkscape:snap-global="false" + inkscape:zoom="1" + inkscape:cx="3.8851213" + inkscape:cy="12.517918" + inkscape:window-x="143" + inkscape:window-y="60" + inkscape:window-maximized="0" + inkscape:current-layer="svg3758"> + <inkscape:grid + type="xygrid" + id="grid3768" /> + </sodipodi:namedview> + <title + id="title3754">Gnome Symbolic Icon Theme</title> + <path + d="m 15.054715,6.9884649 v 0 c -0.02034,-0.133652 -0.04071,-0.2122775 -0.04071,-0.2122775 0,0 -0.05225,0.060583 -0.138743,0.1748124 A 4.9808937,4.9808937 0 0 0 14.703694,6.0103229 6.4034781,6.4034781 0 0 0 14.270352,4.895288 4.6469845,4.6469845 0 0 0 13.87447,4.2163686 Q 13.793063,4.0947376 13.708437,3.9805045 C 13.444828,3.5499376 13.142365,3.2867867 12.792269,2.7891599 A 3.6101075,3.6101075 0 0 1 12.333953,1.5474054 5.0151173,5.0151173 0 0 0 12.113814,2.3599798 C 11.754468,1.997397 11.441832,1.7397963 11.253142,1.5640539 10.322171,0.69459485 10.430396,0.24367816 10.430396,0.24367816 v 0 c 0,0 -1.7389294,1.94102274 -0.9855522,3.96297904 a 3.8848199,3.8848199 0 0 0 1.2949452,1.726432 c 0.728868,0.6012222 1.513693,1.0743371 1.927612,2.2832561 A 3.8741829,3.8741829 0 0 0 11.21337,6.6823034 3.5023502,3.5023502 0 0 1 11.490854,8.0697401 3.2946971,3.2946971 0 0 1 7.4621982,11.27934 3.0343219,3.0343219 0 0 1 6.6459244,11.001852 3.3219834,3.3219834 0 0 1 5.667782,10.09771 l -0.00463,-0.0078 0.058274,0.02125 a 3.0061106,3.0061106 0 0 0 0.4162344,0.111409 2.6028293,2.6028293 0 0 0 1.6570605,-0.195631 C 8.3154732,9.7379218 8.6308831,9.5237932 8.8866339,9.6084266 h 0.0046 c 0.24974,0.079514 0.446755,-0.1628244 0.2682391,-0.4162632 A 1.3596868,1.3596868 0 0 0 7.8423564,8.6778985 C 7.3211426,8.7537416 6.8434027,9.1241907 6.1603222,8.7653097 a 1.4470953,1.4470953 0 0 1 -0.128107,-0.075371 c -0.04625,-0.026369 0.146605,0.040234 0.1017455,0.010233 A 3.3899676,3.3899676 0 0 1 5.7047808,8.4439577 c -0.010172,-0.00822 0.103133,0.032367 0.092497,0.024039 A 1.6561356,1.6561356 0 0 1 5.3495968,8.015168 0.80517516,0.80517516 0 0 1 5.3190728,7.2964766 0.63405807,0.63405807 0 0 1 5.5965603,7.0356384 c 0.088333,0.043485 0.1429059,0.076305 0.1429059,0.076305 0,0 -0.040235,-0.073997 -0.061972,-0.1128365 0.00786,-0.0027 0.014794,0 0.022662,-0.00513 0.077233,0.033293 0.248351,0.1202544 0.3385341,0.1734358 A 0.46987818,0.46987818 0 0 1 6.19362,7.3061637 c 0,0 0.030994,-0.015351 0.0079,-0.079998 A 0.41623066,0.41623066 0 0 0 6.0414753,7.0300927 h 0.0074 a 1.3596868,1.3596868 0 0 1 0.1970213,0.1225561 0.96149289,0.96149289 0 0 0 0.078625,-0.416232 0.54479973,0.54479973 0 0 0 -0.031914,-0.2312396 c -0.024511,-0.046254 0.013876,-0.064746 0.056885,-0.016135 A 0.45137905,0.45137905 0 0 0 6.3129456,6.378979 v -0.00372 0 c 0,0 0.024511,-0.031916 0.035615,-0.043486 A 0.66134433,0.66134433 0 0 1 6.4484481,6.2503678 4.6122987,4.6122987 0 0 1 7.1259793,5.9048971 C 7.3174429,5.8211545 7.4760733,5.7573477 7.5084475,5.7388339 a 1.0637007,1.0637007 0 0 0 0.1355052,-0.1040612 0.91015778,0.91015778 0 0 0 0.3052354,-0.5272274 0.73996569,0.73996569 0 0 0 0.0079,-0.082324 v -0.023118 -0.013967 0 -0.00552 0 -0.00611 0 C 7.9293085,4.872475 7.749868,4.7943251 6.8119611,4.7064478 A 0.81997449,0.81997449 0 0 1 6.1413599,4.0776254 v 0.0042 c -0.013416,0.034225 -0.025431,0.068909 -0.037456,0.1040572 0.012025,-0.034685 0.024051,-0.069373 0.037456,-0.1040572 v -0.00742 A 2.3762148,2.3762148 0 0 1 7.0598423,2.9339361 c 0.024051,-0.019416 -0.096192,0.00512 -0.072152,-0.014798 A 2.3845397,2.3845397 0 0 1 7.2328039,2.8155414 C 7.2748921,2.7979724 7.0524371,2.7128704 6.8558842,2.7336774 a 1.0174527,1.0174527 0 0 0 -0.3496338,0.082324 c 0.046253,-0.039773 0.1849968,-0.092498 0.1521605,-0.092498 a 2.2499581,2.2499581 0 0 0 -0.713142,0.2696255 0.14521828,0.14521828 0 0 1 0.01387,-0.064747 1.1099484,1.1099484 0 0 0 -0.4458297,0.3440843 0.58966016,0.58966016 0 0 0 0.00462,-0.080469 1.3300881,1.3300881 0 0 0 -0.2187525,0.2053404 l -0.00417,0.00321 A 2.9066776,2.9066776 0 0 0 3.6684873,3.2618132 l -0.00463,-0.0042 h 0.00554 A 1.3610743,1.3610743 0 0 1 3.3803631,2.9339159 l -0.0074,0.0018 -0.00877,-0.010174 C 3.3285694,2.8728322 3.2920343,2.813172 3.2545731,2.7465739 3.2277502,2.7003291 3.2004619,2.646216 3.1731756,2.5902563 c 0,-0.00372 -0.00416,-0.00513 -0.006,-0.00552 -0.0111,0 -0.01896,0.05133 -0.028212,0.037927 v -0.0028 A 1.9923577,1.9923577 0 0 1 3.0080744,1.8396896 l -0.0074,0.00372 A 0.87130958,0.87130958 0 0 0 2.6704677,2.2753541 c -0.028212,0.063362 -0.046248,0.098047 -0.064746,0.1327329 0,0.0028 0,-0.00461 0,-0.016194 0.00416,-0.031916 0.018037,-0.097585 0.014799,-0.092497 -0.00323,0.00513 -0.00553,0.00882 -0.00877,0.013415 A 0.80147532,0.80147532 0 0 0 2.4956586,2.4848515 1.0891367,1.0891367 0 0 0 2.4262868,2.661518 c -0.00276,0.00973 0,-0.00832 0,-0.029599 0,-0.02127 0.00416,-0.059199 0,-0.051331 L 2.4161148,2.600475 A 4.3935464,4.3935464 0 0 0 2.0461275,4.0040946 1.3976101,1.3976101 0 0 0 2.031791,4.252909 v 0.00742 A 3.0653076,3.0653076 0 0 0 1.6539417,4.7690529 7.2174403,7.2174403 0 0 0 0.85524217,6.725337 4.7871157,4.7871157 0 0 1 1.2830334,5.9756593 6.9371784,6.9371784 0 0 0 0.79974461,8.5192901 6.582457,6.582457 0 0 1 1.0078598,7.7659142 6.3854411,6.3854411 0 0 0 1.585032,10.755373 6.9542899,6.9542899 0 0 0 4.3372422,13.87618 v 0 a 6.0196208,6.0196208 0 0 0 1.6038754,0.768639 c 0.07492,0.02728 0.1507676,0.0541 0.2284646,0.08 -0.024511,-0.0096 -0.04625,-0.02034 -0.070761,-0.03098 A 7.2609132,7.2609132 0 0 0 8.179966,15 c 2.494615,0 3.318287,-0.949928 3.394136,-1.044738 v 0 A 1.2625664,1.2625664 0 0 0 11.8687,13.559386 v 0 q 0.07216,-0.02958 0.145679,-0.06335 l 0.03097,-0.01397 0.05597,-0.02635 a 5.2315572,5.2315572 0 0 0 1.053064,-0.659489 2.5436321,2.5436321 0 0 0 0.98184,-1.433687 v 0 a 0.89628343,0.89628343 0 0 0 0.01343,-0.660421 q 0.03838,-0.0606 0.0791,-0.129501 A 5.8762526,5.8762526 0 0 0 15.1107,7.7140393 v -0.0027 c 0,-0.027291 0,-0.054583 0,-0.081863 A 3.5754215,3.5754215 0 0 0 15.05473,6.9884887 Z" + id="path3756" + inkscape:connector-curvature="0" + style="fill:#bebebe;fill-opacity:1;stroke-width:0.46247858" /> +</svg> diff --git a/www-client/firefox/firefox-91.3.0.ebuild b/www-client/firefox/firefox-91.3.0.ebuild new file mode 100644 index 00000000..430e85ab --- /dev/null +++ b/www-client/firefox/firefox-91.3.0.ebuild @@ -0,0 +1,1241 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI="7" + +FIREFOX_PATCHSET="firefox-91esr-patches-01.tar.xz" + +LLVM_MAX_SLOT=13 + +PYTHON_COMPAT=( python3_{7..10} ) +PYTHON_REQ_USE="ncurses,sqlite,ssl" + +WANT_AUTOCONF="2.1" + +VIRTUALX_REQUIRED="pgo" + +MOZ_ESR=yes + +MOZ_PV=${PV} +MOZ_PV_SUFFIX= +if [[ ${PV} =~ (_(alpha|beta|rc).*)$ ]] ; then + MOZ_PV_SUFFIX=${BASH_REMATCH[1]} + + # Convert the ebuild version to the upstream Mozilla version + MOZ_PV="${MOZ_PV/_alpha/a}" # Handle alpha for SRC_URI + MOZ_PV="${MOZ_PV/_beta/b}" # Handle beta for SRC_URI + MOZ_PV="${MOZ_PV%%_rc*}" # Handle rc for SRC_URI +fi + +if [[ -n ${MOZ_ESR} ]] ; then + # ESR releases have slightly different version numbers + MOZ_PV="${MOZ_PV}esr" +fi + +MOZ_PN="${PN%-bin}" +MOZ_P="${MOZ_PN}-${MOZ_PV}" +MOZ_PV_DISTFILES="${MOZ_PV}${MOZ_PV_SUFFIX}" +MOZ_P_DISTFILES="${MOZ_PN}-${MOZ_PV_DISTFILES}" + +inherit autotools check-reqs desktop flag-o-matic gnome2-utils linux-info \ + llvm multiprocessing pax-utils python-any-r1 toolchain-funcs \ + virtualx xdg + +MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/releases/${MOZ_PV}" + +if [[ ${PV} == *_rc* ]] ; then + MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/candidates/${MOZ_PV}-candidates/build${PV##*_rc}" +fi + +PATCH_URIS=( + https://dev.gentoo.org/~{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" + +SLOT="0/esr$(ver_cut 1)" +LICENSE="MPL-2.0 GPL-2 LGPL-2.1" + +IUSE="+clang cpu_flags_arm_neon dbus debug eme-free hardened hwaccel" +IUSE+=" jack lto +openh264 pgo pulseaudio sndio selinux" +IUSE+=" +system-av1 +system-harfbuzz +system-icu +system-jpeg +system-libevent +system-libvpx +system-webp" +IUSE+=" wayland wifi" + +# Firefox-only IUSE +IUSE+=" geckodriver" +IUSE+=" +gmp-autoupdate" +IUSE+=" screencast" + +REQUIRED_USE="debug? ( !system-av1 ) + wifi? ( dbus )" + +# Firefox-only REQUIRED_USE flags +REQUIRED_USE+=" screencast? ( wayland )" + +BDEPEND="${PYTHON_DEPS} + app-arch/unzip + app-arch/zip + >=dev-util/cbindgen-0.19.0 + >=net-libs/nodejs-10.23.1 + virtual/pkgconfig + >=virtual/rust-1.51.0 + || ( + ( + sys-devel/clang:13 + sys-devel/llvm:13 + clang? ( + =sys-devel/lld-13* + pgo? ( =sys-libs/compiler-rt-sanitizers-13*[profile] ) + ) + ) + ( + sys-devel/clang:12 + sys-devel/llvm:12 + clang? ( + =sys-devel/lld-12* + pgo? ( =sys-libs/compiler-rt-sanitizers-12*[profile] ) + ) + ) + ( + sys-devel/clang:11 + sys-devel/llvm:11 + clang? ( + =sys-devel/lld-11* + pgo? ( =sys-libs/compiler-rt-sanitizers-11*[profile] ) + ) + ) + ( + 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.68 + >=dev-libs/nspr-4.32 + dev-libs/atk + dev-libs/expat + >=x11-libs/cairo-1.10[X] + >=x11-libs/gtk+-3.4.0:3[X] + x11-libs/gdk-pixbuf + >=x11-libs/pango-1.22.0 + >=media-libs/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/libxcb + x11-libs/libXcomposite + x11-libs/libXdamage + x11-libs/libXext + x11-libs/libXfixes + x11-libs/libXrender + x11-libs/libXt + dbus? ( + sys-apps/dbus + dev-libs/dbus-glib + ) + screencast? ( media-video/pipewire:0/0.3 ) + system-av1? ( + >=media-libs/dav1d-0.8.1:= + >=media-libs/libaom-1.0.0:= + ) + system-harfbuzz? ( + >=media-libs/harfbuzz-2.8.1:0= + >=media-gfx/graphite2-1.3.13 + ) + system-icu? ( >=dev-libs/icu-69.1:= ) + system-jpeg? ( >=media-libs/libjpeg-turbo-1.2.1 ) + system-libevent? ( >=dev-libs/libevent-2.0:0=[threads] ) + system-libvpx? ( >=media-libs/libvpx-1.8.2:0=[postproc] ) + system-webp? ( >=media-libs/libwebp-1.1.0:0= ) + wifi? ( + kernel_linux? ( + sys-apps/dbus + dev-libs/dbus-glib + net-misc/networkmanager + ) + ) + jack? ( virtual/jack ) + selinux? ( sec-policy/selinux-mozilla ) + sndio? ( media-sound/sndio )" + +RDEPEND="${CDEPEND} + jack? ( virtual/jack ) + openh264? ( media-libs/openh264:*[plugin] ) + pulseaudio? ( + || ( + media-sound/pulseaudio + >=media-sound/apulse-0.1.12-r4 + ) + ) + selinux? ( sec-policy/selinux-mozilla )" + +DEPEND="${CDEPEND} + x11-libs/libICE + x11-libs/libSM + pulseaudio? ( + || ( + media-sound/pulseaudio + >=media-sound/apulse-0.1.12-r4[sdk] + ) + ) + wayland? ( >=x11-libs/gtk+-3.11:3[wayland] ) + amd64? ( virtual/opengl ) + x86? ( virtual/opengl )" + +S="${WORKDIR}/${PN}-${PV%_*}" + +# Allow MOZ_GMP_PLUGIN_LIST to be set in an eclass or +# overridden in the enviromnent (advanced hackers only) +if [[ -z "${MOZ_GMP_PLUGIN_LIST+set}" ]] ; then + MOZ_GMP_PLUGIN_LIST=( gmp-gmpopenh264 gmp-widevinecdm ) +fi + +llvm_check_deps() { + if ! has_version -b "sys-devel/clang:${LLVM_SLOT}" ; then + einfo "sys-devel/clang:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2 + return 1 + fi + + if use clang ; then + if ! has_version -b "=sys-devel/lld-${LLVM_SLOT}*" ; then + einfo "=sys-devel/lld-${LLVM_SLOT}* is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2 + return 1 + fi + + if use pgo ; then + if ! has_version -b "=sys-libs/compiler-rt-sanitizers-${LLVM_SLOT}*" ; then + einfo "=sys-libs/compiler-rt-sanitizers-${LLVM_SLOT}* is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2 + return 1 + fi + fi + fi + + einfo "Using LLVM slot ${LLVM_SLOT} to build" >&2 +} + +MOZ_LANGS=( + af ar ast be bg br ca cak cs cy da de dsb + el en-CA en-GB en-US es-AR es-ES et eu + fi fr fy-NL ga-IE gd gl he hr hsb hu + id is it ja ka kab kk ko lt lv ms nb-NO nl nn-NO + pa-IN pl pt-BR pt-PT rm ro ru + sk sl sq sr sv-SE th tr uk uz vi zh-CN zh-TW +) + +# Firefox-only LANGS +MOZ_LANGS+=( ach ) +MOZ_LANGS+=( an ) +MOZ_LANGS+=( az ) +MOZ_LANGS+=( bn ) +MOZ_LANGS+=( bs ) +MOZ_LANGS+=( ca-valencia ) +MOZ_LANGS+=( eo ) +MOZ_LANGS+=( es-CL ) +MOZ_LANGS+=( es-MX ) +MOZ_LANGS+=( fa ) +MOZ_LANGS+=( ff ) +MOZ_LANGS+=( gn ) +MOZ_LANGS+=( gu-IN ) +MOZ_LANGS+=( hi-IN ) +MOZ_LANGS+=( hy-AM ) +MOZ_LANGS+=( ia ) +MOZ_LANGS+=( km ) +MOZ_LANGS+=( kn ) +MOZ_LANGS+=( lij ) +MOZ_LANGS+=( mk ) +MOZ_LANGS+=( mr ) +MOZ_LANGS+=( my ) +MOZ_LANGS+=( ne-NP ) +MOZ_LANGS+=( oc ) +MOZ_LANGS+=( sco ) +MOZ_LANGS+=( si ) +MOZ_LANGS+=( son ) +MOZ_LANGS+=( szl ) +MOZ_LANGS+=( ta ) +MOZ_LANGS+=( te ) +MOZ_LANGS+=( tl ) +MOZ_LANGS+=( trs ) +MOZ_LANGS+=( ur ) +MOZ_LANGS+=( xh ) + +mozilla_set_globals() { + # https://bugs.gentoo.org/587334 + local MOZ_TOO_REGIONALIZED_FOR_L10N=( + fy-NL ga-IE gu-IN hi-IN hy-AM nb-NO ne-NP nn-NO pa-IN sv-SE + ) + + local lang xflag + for lang in "${MOZ_LANGS[@]}" ; do + # en and en_US are handled internally + if [[ ${lang} == en ]] || [[ ${lang} == en-US ]] ; then + continue + fi + + # strip region subtag if $lang is in the list + if has ${lang} "${MOZ_TOO_REGIONALIZED_FOR_L10N[@]}" ; then + xflag=${lang%%-*} + else + xflag=${lang} + fi + + SRC_URI+=" l10n_${xflag/[_@]/-}? (" + SRC_URI+=" ${MOZ_SRC_BASE_URI}/linux-x86_64/xpi/${lang}.xpi -> ${MOZ_P_DISTFILES}-${lang}.xpi" + SRC_URI+=" )" + IUSE+=" l10n_${xflag/[_@]/-}" + done +} +mozilla_set_globals + +moz_clear_vendor_checksums() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -ne 1 ]] ; then + die "${FUNCNAME} requires exact one argument" + fi + + einfo "Clearing cargo checksums for ${1} ..." + + sed -i \ + -e 's/\("files":{\)[^}]*/\1/' \ + "${S}"/third_party/rust/${1}/.cargo-checksum.json \ + || die +} + +moz_install_xpi() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -lt 2 ]] ; then + die "${FUNCNAME} requires at least two arguments" + fi + + local DESTDIR=${1} + shift + + insinto "${DESTDIR}" + + local emid xpi_file xpi_tmp_dir + for xpi_file in "${@}" ; do + emid= + xpi_tmp_dir=$(mktemp -d --tmpdir="${T}") + + # Unpack XPI + unzip -qq "${xpi_file}" -d "${xpi_tmp_dir}" || die + + # Determine extension ID + if [[ -f "${xpi_tmp_dir}/install.rdf" ]] ; then + emid=$(sed -n -e '/install-manifest/,$ { /em:id/!d; s/.*[\">]\([^\"<>]*\)[\"<].*/\1/; p; q }' "${xpi_tmp_dir}/install.rdf") + [[ -z "${emid}" ]] && die "failed to determine extension id from install.rdf" + elif [[ -f "${xpi_tmp_dir}/manifest.json" ]] ; then + emid=$(sed -n -e 's/.*"id": "\([^"]*\)".*/\1/p' "${xpi_tmp_dir}/manifest.json") + [[ -z "${emid}" ]] && die "failed to determine extension id from manifest.json" + else + die "failed to determine extension id" + fi + + einfo "Installing ${emid}.xpi into ${ED}${DESTDIR} ..." + newins "${xpi_file}" "${emid}.xpi" + done +} + +mozconfig_add_options_ac() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -lt 2 ]] ; then + die "${FUNCNAME} requires at least two arguments" + fi + + local reason=${1} + shift + + local option + for option in ${@} ; do + echo "ac_add_options ${option} # ${reason}" >>${MOZCONFIG} + done +} + +mozconfig_add_options_mk() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -lt 2 ]] ; then + die "${FUNCNAME} requires at least two arguments" + fi + + local reason=${1} + shift + + local option + for option in ${@} ; do + echo "mk_add_options ${option} # ${reason}" >>${MOZCONFIG} + done +} + +mozconfig_use_enable() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -lt 1 ]] ; then + die "${FUNCNAME} requires at least one arguments" + fi + + local flag=$(use_enable "${@}") + mozconfig_add_options_ac "$(use ${1} && echo +${1} || echo -${1})" "${flag}" +} + +mozconfig_use_with() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -lt 1 ]] ; then + die "${FUNCNAME} requires at least one arguments" + fi + + local flag=$(use_with "${@}") + mozconfig_add_options_ac "$(use ${1} && echo +${1} || echo -${1})" "${flag}" +} + +pkg_pretend() { + if [[ ${MERGE_TYPE} != binary ]] ; then + if use pgo ; then + if ! has usersandbox $FEATURES ; then + die "You must enable usersandbox as X server can not run as root!" + fi + fi + + # Ensure we have enough disk space to compile + if use pgo || use lto || use debug ; then + CHECKREQS_DISK_BUILD="13500M" + else + CHECKREQS_DISK_BUILD="6400M" + fi + + check-reqs_pkg_pretend + fi +} + +pkg_setup() { + if [[ ${MERGE_TYPE} != binary ]] ; then + if use pgo ; then + if ! has userpriv ${FEATURES} ; then + eerror "Building ${PN} with USE=pgo and FEATURES=-userpriv is not supported!" + fi + fi + + # Ensure we have enough disk space to compile + if use pgo || use lto || use debug ; then + CHECKREQS_DISK_BUILD="13500M" + else + CHECKREQS_DISK_BUILD="6400M" + fi + + check-reqs_pkg_setup + + llvm_pkg_setup + + if use clang && use lto ; then + local version_lld=$(ld.lld --version 2>/dev/null | awk '{ print $2 }') + [[ -n ${version_lld} ]] && version_lld=$(ver_cut 1 "${version_lld}") + [[ -z ${version_lld} ]] && die "Failed to read ld.lld version!" + + # temp fix for https://bugs.gentoo.org/768543 + # we can assume that rust 1.{49,50}.0 always uses llvm 11 + local version_rust=$(rustc -Vv 2>/dev/null | grep -F -- 'release:' | awk '{ print $2 }') + [[ -n ${version_rust} ]] && version_rust=$(ver_cut 1-2 "${version_rust}") + [[ -z ${version_rust} ]] && die "Failed to read version from rustc!" + + if ver_test "${version_rust}" -ge "1.49" && ver_test "${version_rust}" -le "1.50" ; then + local version_llvm_rust="11" + else + local version_llvm_rust=$(rustc -Vv 2>/dev/null | grep -F -- 'LLVM version:' | awk '{ print $3 }') + [[ -n ${version_llvm_rust} ]] && version_llvm_rust=$(ver_cut 1 "${version_llvm_rust}") + [[ -z ${version_llvm_rust} ]] && die "Failed to read used LLVM version from rustc!" + fi + + if ver_test "${version_lld}" -ne "${version_llvm_rust}" ; then + eerror "Rust is using LLVM version ${version_llvm_rust} but ld.lld version belongs to LLVM version ${version_lld}." + eerror "You will be unable to link ${CATEGORY}/${PN}. To proceed you have the following options:" + eerror " - Manually switch rust version using 'eselect rust' to match used LLVM version" + eerror " - Switch to dev-lang/rust[system-llvm] which will guarantee matching version" + eerror " - Build ${CATEGORY}/${PN} without USE=lto" + die "LLVM version used by Rust (${version_llvm_rust}) does not match with ld.lld version (${version_lld})!" + fi + fi + + if ! use clang && [[ $(gcc-major-version) -eq 11 ]] \ + && ! has_version -b ">sys-devel/gcc-11.1.0:11" ; then + # bug 792705 + eerror "Using GCC 11 to compile firefox is currently known to be broken (see bug #792705)." + die "Set USE=clang or select <gcc-11 to build ${CATEGORY}/${P}." + fi + + python-any-r1_pkg_setup + + # Avoid PGO profiling problems due to enviroment leakage + # These should *always* be cleaned up anyway + unset \ + DBUS_SESSION_BUS_ADDRESS \ + DISPLAY \ + ORBIT_SOCKETDIR \ + SESSION_MANAGER \ + XAUTHORITY \ + XDG_CACHE_HOME \ + XDG_SESSION_COOKIE + + # Build system is using /proc/self/oom_score_adj, bug #604394 + addpredict /proc/self/oom_score_adj + + if use pgo ; then + # Allow access to GPU during PGO run + local ati_cards mesa_cards nvidia_cards render_cards + shopt -s nullglob + + ati_cards=$(echo -n /dev/ati/card* | sed 's/ /:/g') + if [[ -n "${ati_cards}" ]] ; then + addpredict "${ati_cards}" + fi + + mesa_cards=$(echo -n /dev/dri/card* | sed 's/ /:/g') + if [[ -n "${mesa_cards}" ]] ; then + addpredict "${mesa_cards}" + fi + + nvidia_cards=$(echo -n /dev/nvidia* | sed 's/ /:/g') + if [[ -n "${nvidia_cards}" ]] ; then + addpredict "${nvidia_cards}" + fi + + render_cards=$(echo -n /dev/dri/renderD128* | sed 's/ /:/g') + if [[ -n "${render_cards}" ]] ; then + addpredict "${render_cards}" + fi + + shopt -u nullglob + fi + + if ! mountpoint -q /dev/shm ; then + # If /dev/shm is not available, configure is known to fail with + # a traceback report referencing /usr/lib/pythonN.N/multiprocessing/synchronize.py + ewarn "/dev/shm is not mounted -- expect build failures!" + fi + + # Google API keys (see http://www.chromium.org/developers/how-tos/api-keys) + # Note: These are for Gentoo Linux use ONLY. For your own distribution, please + # get your own set of keys. + if [[ -z "${MOZ_API_KEY_GOOGLE+set}" ]] ; then + MOZ_API_KEY_GOOGLE="AIzaSyDEAOvatFogGaPi0eTgsV_ZlEzx0ObmepsMzfAc" + fi + + if [[ -z "${MOZ_API_KEY_LOCATION+set}" ]] ; then + MOZ_API_KEY_LOCATION="AIzaSyB2h2OuRgGaPicUgy5N-5hsZqiPW6sH3n_rptiQ" + fi + + # Mozilla API keys (see https://location.services.mozilla.com/api) + # Note: These are for Gentoo Linux use ONLY. For your own distribution, please + # get your own set of keys. + if [[ -z "${MOZ_API_KEY_MOZILLA+set}" ]] ; then + MOZ_API_KEY_MOZILLA="edb3d487-3a84-46m0ap1e3-9dfd-92b5efaaa005" + fi + + # Ensure we use C locale when building, bug #746215 + export LC_ALL=C + fi + + CONFIG_CHECK="~SECCOMP" + WARNING_SECCOMP="CONFIG_SECCOMP not set! This system will be unable to play DRM-protected content." + linux-info_pkg_setup +} + +src_unpack() { + local _lp_dir="${WORKDIR}/language_packs" + local _src_file + + if [[ ! -d "${_lp_dir}" ]] ; then + mkdir "${_lp_dir}" || die + fi + + for _src_file in ${A} ; do + if [[ ${_src_file} == *.xpi ]]; then + cp "${DISTDIR}/${_src_file}" "${_lp_dir}" || die "Failed to copy '${_src_file}' to '${_lp_dir}'!" + else + unpack ${_src_file} + fi + done +} + +src_prepare() { + use lto && rm -v "${WORKDIR}"/firefox-patches/*-LTO-Only-enable-LTO-*.patch + eapply "${WORKDIR}/firefox-patches" + + # Allow RUST_TARGET to be used for musl users + eapply "${FILESDIR}/fix-rust-detection.patch" + + # 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 + use elibc_musl && export RUST_TARGET=$(rustc -Vv | grep host | cut -d ' ' -f2) + export HOST_CC="$(tc-getBUILD_CC)" + export HOST_CXX="$(tc-getBUILD_CXX)" + tc-export CC CXX LD AR NM OBJDUMP RANLIB PKG_CONFIG + + # Pass the correct toolchain paths through cbindgen + if tc-is-cross-compiler ; then + export BINDGEN_CFLAGS="${SYSROOT:+--sysroot=${ESYSROOT}} --target=${CHOST} ${BINDGEN_CFLAGS-}" + fi + + # Set MOZILLA_FIVE_HOME + export MOZILLA_FIVE_HOME="/usr/$(get_libdir)/${PN}" + + # python/mach/mach/mixin/process.py fails to detect SHELL + export SHELL="${EPREFIX}/bin/bash" + + # Set state path + export MOZBUILD_STATE_PATH="${BUILD_DIR}" + + # Set MOZCONFIG + export MOZCONFIG="${S}/.mozconfig" + + # Initialize MOZCONFIG + mozconfig_add_options_ac '' --enable-application=browser + + # Set Gentoo defaults + export MOZILLA_OFFICIAL=1 + + mozconfig_add_options_ac 'Gentoo default' \ + --allow-addon-sideload \ + --disable-cargo-incremental \ + --disable-crashreporter \ + --disable-install-strip \ + --disable-strip \ + --disable-updater \ + --enable-official-branding \ + --enable-release \ + --enable-system-ffi \ + --enable-system-pixman \ + --host="${CBUILD:-${CHOST}}" \ + --libdir="${EPREFIX}/usr/$(get_libdir)" \ + --prefix="${EPREFIX}/usr" \ + --target="${CHOST}" \ + --without-ccache \ + --with-intl-api \ + --with-libclang-path="$(llvm-config --libdir)" \ + --with-system-nspr \ + --with-system-nss \ + --with-system-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 gentoo-prefs.js + + local GENTOO_PREFS="${ED}${PREFS_DIR}/gentoo-prefs.js" + + # Set dictionary path to use system hunspell + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set spellchecker.dictionary_path pref" + pref("spellchecker.dictionary_path", "${EPREFIX}/usr/share/myspell"); + EOF + + # Force hwaccel prefs if USE=hwaccel is enabled + if use hwaccel ; then + cat "${FILESDIR}"/gentoo-hwaccel-prefs.js \ + >>"${GENTOO_PREFS}" \ + || die "failed to add prefs to force hardware-accelerated rendering to all-gentoo.js" + fi + + if ! use gmp-autoupdate ; then + local plugin + for plugin in "${MOZ_GMP_PLUGIN_LIST[@]}" ; do + einfo "Disabling auto-update for ${plugin} plugin ..." + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to disable autoupdate for ${plugin} media plugin" + pref("media.${plugin}.autoupdate", false); + EOF + done + fi + + # Force the graphite pref if USE=system-harfbuzz is enabled, since the pref cannot disable it + if use system-harfbuzz ; then + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set gfx.font_rendering.graphite.enabled pref" + sticky_pref("gfx.font_rendering.graphite.enabled", true); + EOF + fi + + # Install language packs + local langpacks=( $(find "${WORKDIR}/language_packs" -type f -name '*.xpi') ) + if [[ -n "${langpacks}" ]] ; then + moz_install_xpi "${MOZILLA_FIVE_HOME}/distribution/extensions" "${langpacks[@]}" + fi + + # Install geckodriver + if use geckodriver ; then + einfo "Installing geckodriver into ${ED}${MOZILLA_FIVE_HOME} ..." + pax-mark m "${BUILD_DIR}"/dist/bin/geckodriver + exeinto "${MOZILLA_FIVE_HOME}" + doexe "${BUILD_DIR}"/dist/bin/geckodriver + + dosym ${MOZILLA_FIVE_HOME}/geckodriver /usr/bin/geckodriver + fi + + # Install icons + local icon_srcdir="${S}/browser/branding/official" + local icon_symbolic_file="${FILESDIR}/icon/firefox-symbolic.svg" + + insinto /usr/share/icons/hicolor/symbolic/apps + newins "${icon_symbolic_file}" ${PN}-symbolic.svg + + local icon size + for icon in "${icon_srcdir}"/default*.png ; do + size=${icon%.png} + size=${size##*/default} + + if [[ ${size} -eq 48 ]] ; then + newicon "${icon}" ${PN}.png + fi + + newicon -s ${size} "${icon}" ${PN}.png + done + + # Install menu + local app_name="Mozilla ${MOZ_PN^}" + local desktop_file="${FILESDIR}/icon/${PN}-r3.desktop" + local desktop_filename="${PN}.desktop" + local exec_command="${PN}" + local icon="${PN}" + local use_wayland="false" + + if use wayland ; then + use_wayland="true" + fi + + cp "${desktop_file}" "${WORKDIR}/${PN}.desktop-template" || die + + sed -i \ + -e "s:@NAME@:${app_name}:" \ + -e "s:@EXEC@:${exec_command}:" \ + -e "s:@ICON@:${icon}:" \ + "${WORKDIR}/${PN}.desktop-template" \ + || die + + newmenu "${WORKDIR}/${PN}.desktop-template" "${desktop_filename}" + + rm "${WORKDIR}/${PN}.desktop-template" || die + + # Install wrapper script + [[ -f "${ED}/usr/bin/${PN}" ]] && rm "${ED}/usr/bin/${PN}" + newbin "${FILESDIR}/${PN}-r1.sh" ${PN} + + # Update wrapper + sed -i \ + -e "s:@PREFIX@:${EPREFIX}/usr:" \ + -e "s:@MOZ_FIVE_HOME@:${MOZILLA_FIVE_HOME}:" \ + -e "s:@APULSELIB_DIR@:${apulselib}:" \ + -e "s:@DEFAULT_WAYLAND@:${use_wayland}:" \ + "${ED}/usr/bin/${PN}" \ + || die +} + +pkg_preinst() { + xdg_pkg_preinst + + # If the apulse libs are available in MOZILLA_FIVE_HOME then apulse + # does not need to be forced into the LD_LIBRARY_PATH + if use pulseaudio && has_version ">=media-sound/apulse-0.1.12-r4" ; then + einfo "APULSE found; Generating library symlinks for sound support ..." + local lib + pushd "${ED}${MOZILLA_FIVE_HOME}" &>/dev/null || die + for lib in ../apulse/libpulse{.so{,.0},-simple.so{,.0}} ; do + # A quickpkg rolled by hand will grab symlinks as part of the package, + # so we need to avoid creating them if they already exist. + if [[ ! -L ${lib##*/} ]] ; then + ln -s "${lib}" ${lib##*/} || die + fi + done + popd &>/dev/null || die + fi +} + +pkg_postinst() { + xdg_pkg_postinst + + if ! use gmp-autoupdate ; then + elog "USE='-gmp-autoupdate' has disabled the following plugins from updating or" + elog "installing into new profiles:" + local plugin + for plugin in "${MOZ_GMP_PLUGIN_LIST[@]}" ; do + elog "\t ${plugin}" + done + elog + fi + + if use pulseaudio && has_version ">=media-sound/apulse-0.1.12-r4" ; then + elog "Apulse was detected at merge time on this system and so it will always be" + elog "used for sound. If you wish to use pulseaudio instead please unmerge" + elog "media-sound/apulse." + elog + fi + + local show_doh_information + local show_normandy_information + local show_shortcut_information + + if [[ -z "${REPLACING_VERSIONS}" ]] ; then + # New install; Tell user that DoH is disabled by default + show_doh_information=yes + show_normandy_information=yes + show_shortcut_information=no + else + local replacing_version + for replacing_version in ${REPLACING_VERSIONS} ; do + if ver_test "${replacing_version}" -lt 91.0 ; then + # Tell user that we no longer install a shortcut + # per supported display protocol + show_shortcut_information=yes + fi + done + fi + + if [[ -n "${show_doh_information}" ]] ; then + elog + elog "Note regarding Trusted Recursive Resolver aka DNS-over-HTTPS (DoH):" + elog "Due to privacy concerns (encrypting DNS might be a good thing, sending all" + elog "DNS traffic to Cloudflare by default is not a good idea and applications" + elog "should respect OS configured settings), \"network.trr.mode\" was set to 5" + elog "(\"Off by choice\") by default." + elog "You can enable DNS-over-HTTPS in ${PN^}'s preferences." + fi + + # bug 713782 + if [[ -n "${show_normandy_information}" ]] ; then + elog + elog "Upstream operates a service named Normandy which allows Mozilla to" + elog "push changes for default settings or even install new add-ons remotely." + elog "While this can be useful to address problems like 'Armagadd-on 2.0' or" + elog "revert previous decisions to disable TLS 1.0/1.1, privacy and security" + elog "concerns prevail, which is why we have switched off the use of this" + elog "service by default." + elog + elog "To re-enable this service set" + elog + elog " app.normandy.enabled=true" + elog + elog "in about:config." + fi + + if [[ -n "${show_shortcut_information}" ]] ; then + elog + elog "Since ${PN}-91.0 we no longer install multiple shortcuts for" + elog "each supported display protocol. Instead we will only install" + elog "one generic Mozilla ${PN^} shortcut." + elog "If you still want to be able to select between running Mozilla ${PN^}" + elog "on X11 or Wayland, you have to re-create these shortcuts on your own." + fi +} diff --git a/www-client/firefox/metadata.xml b/www-client/firefox/metadata.xml new file mode 100644 index 00000000..32fae387 --- /dev/null +++ b/www-client/firefox/metadata.xml @@ -0,0 +1,38 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> +<maintainer type="project"> + <email>mozilla@gentoo.org</email> + <name>Gentoo Mozilla Team</name> +</maintainer> +<use> + <flag name="clang">Use Clang compiler instead of GCC</flag> + <flag name="eme-free">Disable EME (DRM plugin) cabability at build time</flag> + <flag name="geckodriver">Enable WebDriver support</flag> + <flag name="gmp-autoupdate">Allow Gecko Media Plugins (binary blobs) to be automatically + downloaded and kept up-to-date in user profiles</flag> + <flag name="hwaccel">Force-enable hardware-accelerated rendering (Mozilla bug 594876)</flag> + <flag name="lto">Enable Link Time Optimization (LTO). Requires Gold linker when using GCC + or LDD linker when using Clang</flag> + <flag name="openh264">Use <pkg>media-libs/openh264</pkg> for H.264 support + instead of downloading binary blob from Mozilla at runtime</flag> + <flag name="pgo">Add support for profile-guided optimization using gcc-4.5, + for faster binaries. This option will double the compile time.</flag> + <flag name="screencast">Enable support for remote desktop and screen cast using <pkg>media-video/pipewire</pkg></flag> + <flag name="sndio">Enable support for the <pkg>media-sound/sndio</pkg> backend</flag> + <flag name="system-av1">Use the system-wide <pkg>media-libs/dav1d</pkg> + and <pkg>media-libs/libaom</pkg> library instead of bundled.</flag> + <flag name="system-harfbuzz">Use the system-wide <pkg>media-libs/harfbuzz</pkg> + and <pkg>media-gfx/graphite2</pkg> instead of bundled.</flag> + <flag name="system-icu">Use the system-wide <pkg>dev-libs/icu</pkg> + instead of bundled.</flag> + <flag name="system-jpeg">Use the system-wide <pkg>media-libs/libjpeg-turbo</pkg> + instead of bundled.</flag> + <flag name="system-libevent">Use the system-wide <pkg>dev-libs/libevent</pkg> + instead of bundled.</flag> + <flag name="system-libvpx">Use the system-wide <pkg>media-libs/libvpx</pkg> + instead of bundled.</flag> + <flag name="system-webp">Use the system-wide <pkg>media-libs/libwebp</pkg> + instead of bundled.</flag> +</use> +</pkgmetadata> |