summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas Deutschmann <whissi@gentoo.org>2020-05-08 12:01:19 +0200
committerThomas Deutschmann <whissi@gentoo.org>2020-05-08 12:01:33 +0200
commiteb08fc1f0fd6b5b1d4c39f3bb18161da775686a0 (patch)
treec37594ce4c93e6a72a9b751b218379b9921b27d7 /www-client
parentmedia-sound/lilypond: removed obsolete 2.18.2-r3 (diff)
downloadgentoo-eb08fc1f0fd6b5b1d4c39f3bb18161da775686a0.tar.gz
gentoo-eb08fc1f0fd6b5b1d4c39f3bb18161da775686a0.tar.bz2
gentoo-eb08fc1f0fd6b5b1d4c39f3bb18161da775686a0.zip
www-client/firefox: bump to v76.0.1
Package-Manager: Portage-2.3.99, Repoman-2.3.22 Signed-off-by: Thomas Deutschmann <whissi@gentoo.org>
Diffstat (limited to 'www-client')
-rw-r--r--www-client/firefox/Manifest92
-rw-r--r--www-client/firefox/firefox-76.0.1.ebuild934
2 files changed, 1026 insertions, 0 deletions
diff --git a/www-client/firefox/Manifest b/www-client/firefox/Manifest
index 2415eee38401..6b6db6fbc8ec 100644
--- a/www-client/firefox/Manifest
+++ b/www-client/firefox/Manifest
@@ -462,4 +462,96 @@ DIST firefox-76.0-vi.xpi 588350 BLAKE2B 83e74c3e8f5a82a4d6a7fdfa6c57a21e74adb122
DIST firefox-76.0-xh.xpi 483097 BLAKE2B 1ed80fda15948789b68564c4003447f5cd766c63d53478c68e6ec23fda85dc27c28458a7fc72a98e5a73e91727f7756c5716994b294695baca49f01a109db66e SHA512 a39019009be2b78cae0d2df7b85a1920e18608da652ed25d12aa21a20515e3128f30afe73f127f502b0a01610165059ac69fc916ca134887b8f073806855dfe1
DIST firefox-76.0-zh-CN.xpi 595484 BLAKE2B 0f211db9071e3f7384527fb8eba5a70d945886078f5cc9db3309c7e6cfd4efc8805aa1fb968b1922f365fed25b5664410133d8d3f98fdd15d1b27cc32c4b4a81 SHA512 2e064b162114845937b8ac636f38edd1c1f3e6805a33d74ac5d65aba52f4a24bcbab530d39e3187e762bcbf95c2d096eb7590e55cc8510086f6da36e5b1f5894
DIST firefox-76.0-zh-TW.xpi 593884 BLAKE2B a07b5f91fffc3756a17be120513e14dfc570d813e311d69930c1bf075ba471da06ffd30185e71454a94bb5c01947ede2900285ac8952444ca88526cb788cfdcb SHA512 2f3ef78ca78c4e302e1d4d4a4dd64a8fa1c4dddf07b98e1ac4671d462b6f11678351cfad1fc8f1577e633331378597f1f22b8e449b816388676f492d24f58429
+DIST firefox-76.0.1-ach.xpi 508331 BLAKE2B 263e778b9cdf1946b119f8422de4b7a26d9fa602211048db4164678561fa0b5c57167e6b79dcfb836e530bcfb7ef1327892049aa50e9c916b031e202d0e4d4ea SHA512 ff4bc4f5fac175bfd71d32c9e2555710f7f70d4bcbb8b2a36ccf12517a80d9864eb1cf7e7d28c0d199e848707a122f3b01cfb316078c29a7896a319e2ce730f1
+DIST firefox-76.0.1-af.xpi 462155 BLAKE2B 75a17156dde9cbfc7e36c296781fcffcd5ce05a97517676da2c0306cde0fd751101a95de4e24b41ff17668e384f62306e662d1e1b31460fdfd6d72cb0a65d508 SHA512 993bb0a04838c6ab4fbadd486dd0ad905d4096043ede8015116e4af4c72176d4d8df6366341acfb82afc0bfa6b2eb5ba483808ae536275fbd05ffd2ed5c14b54
+DIST firefox-76.0.1-an.xpi 520901 BLAKE2B 97ab5f1124e45b9bb31ca07ca04bf6528882aae5026d0f7e1115cd8adf2c4a61a849ff86ee7da80f9dac19b5bef5ca85ae85d84249e0df3d656b388500469e2a SHA512 6bf99800560cf69665d1fdd5d845760a34b448c35313a78817305186f0872e4c0f2b7c12c0f2d65a854b53ce7dda449e738aee7a05ff85aaef56f4a1e1e93d94
+DIST firefox-76.0.1-ar.xpi 594837 BLAKE2B af1484f61edc28a1140df23588d55a171a2241b8eaf99fda5ce0e9e16660d332604ead2e39ae1ec0d6a551f562915e7025e6320eb4f968f5ae5fcd52cf52d110 SHA512 d3c47f6381ddf9326bf0b3627997110df25c27542458047298579c340f22f6952e027fe26c6a13aaaaafd11f55c56d277110de02901a9fbc49586b749030fe5c
+DIST firefox-76.0.1-ast.xpi 508921 BLAKE2B b4648750b577680e0a28358649d6e14fd371e012e5c50c8384995bdcf94e1e59405ff81e4055a23a830cbb5b56cef987c1e92b76552a62ec669b1b933d8bc8d6 SHA512 52d4e7299f046826e9309c58a973de838c3360a47488143ba55ac22e697c238a06cc6cf931d0ce7e3d813ba41940f6d396e17531cd7994da2960087883aa6e34
+DIST firefox-76.0.1-az.xpi 546073 BLAKE2B 2d0a11c8fffa9e21c510bb8a5ab18ee95a5968d2812e9d2882bf11c8c07f1eada5621ed989038e29ed77c08181a829a0a4479766d188a1bb7293d780772e14f5 SHA512 e989c59380879bd11e19886ed45412708fc2c6e8faccace31b1708945c303adc0471c9321af1449e55d0d99f027d3f0054a03d0eb0ea49243895080cc69fa330
+DIST firefox-76.0.1-be.xpi 644323 BLAKE2B 61946ac763dfdfcbb163e8035ecdeb7a94cebd562a0c045d93d478270d6415eafefff44e4db9c584a0ca461a1b9baf2fd0ca1fb3a1f534da731a118bb6b1c5f1 SHA512 da254dd40de69de8e0a0ac3a8f50b8e8ec6e906e4d065f4b852077fc8c89896f24aa5b681fd488023c0d8adf106b956c584c17398832d1ad8679e94b62955225
+DIST firefox-76.0.1-bg.xpi 609155 BLAKE2B 9421b3b41e3627a17648f949154ac500960b899644bd5f818cc87d2ba532148337fee04c07b4c94b5e7ee5edaab26f1d7cbafb329e332e06805bdb02dd3c32cc SHA512 a44bb3015d30cef11fe3534c648024472602602496c3271d918e6cc27a39c63f6e00367f64ff513abcd47af987521ad7d78f7c74659ca398c85e2bcbedffd701
+DIST firefox-76.0.1-bn.xpi 637276 BLAKE2B 1c42fc285f25d27ecd22b58e358a064ac34dd1e1c61bec6bb14bd1f82159fd61097bba43b802cd473b466309e29c968d56a804dc3f770f4b0b0db0483427ec87 SHA512 11d2e324d05e950d26751a1599ed2d3884069f8e0beaa30e9679178b806979ae3a62f30d55ab8debba44b164a1e883f19597607a4f75a01cfa02f0abfe8ff1a2
+DIST firefox-76.0.1-br.xpi 554055 BLAKE2B 45233b7c20e21a6ee50182b03e830c5b519c38930ce8cb57126ca5d0272d75d445c288614fabbc4883350358a0019f8cc4e7330dfee3ded22f321fa43736b823 SHA512 7cad9e4adc6abec9ed177eb34f21c91c138a0d788e71ae35d0268fbaf40b70738b742f5ded4f1bdee1aa6e30f8393b168a8a40c9e1daab87fbfd904fbd5d3601
+DIST firefox-76.0.1-bs.xpi 517518 BLAKE2B 1cdf7bd8a04a23e3a2cc7b1eaaad761adadaac859db06face78c18a4c32ca54ac3f35028a5ac288c36a8dc31e7b0e03840f492377469cd9f701929be3942d7c3 SHA512 3f8f979c756eb65e2232d59d76427a354bf0ac255ecb87916092ebfc5a1c18069ebf2de75bbcb2df3384d7308947445d99e4e1e4fe9c1f667ab65eaafcf4672a
+DIST firefox-76.0.1-ca.xpi 553514 BLAKE2B e317d1a88b22c179241b0d46e87eba00201cd22a3d31c9f4d34b4a025c445fcfbf6f859d95e88e1ae5b4453461a19aba9f591b51dafd5d9273382a95de4ecab3 SHA512 bf100af61811d5d9463483a82530f2a321a8cd09e36a82bf2b2665c233423a1330dc217bbd476c8dd5ea642a6f7ab24c9dd6088fbb3f6775e5ad307fcceeb1e3
+DIST firefox-76.0.1-cak.xpi 581886 BLAKE2B 2111113acbb28a39386557693853dc84f9cb43b91e619bdf794e78edbf7927410666559781dc7f4dc02c1ee5faedaa93e6ffeffc59a917569dc6f8921249ef0a SHA512 d839885d8eef723b6a856883bc70c96b5a7adfabb795186bc3ad0223b6abc1b075077c8967eec01ed53acdcf2c3cd97f05a66ab5765cafb3d7dfc3937d0cd0b3
+DIST firefox-76.0.1-cs.xpi 580467 BLAKE2B bd092923782c2d61d5847a18d1c03eeddbbcc9ea48d836ea4fe126449078fba15c6a156147f8faaa255303849fadbb849fe04625890adb8ec098ae16188d280a SHA512 e63b1dfc77e34ddf560caa444748c33f86c7746fc8ede3c60961144ff78f86d81e5a0c78a7864e6afc82bf47c95c95cb5743f15b31ea16a50be4195b026f3735
+DIST firefox-76.0.1-cy.xpi 559017 BLAKE2B d0bac46d70df7032b89223d26324efb458c6d0bd562e0f3f22360ebd7f20e1a2d058fa8320c313f3e46c3d9b4692a96998d529ec73a93dc8610e3e90c3da698a SHA512 a4263ff58a0340107a4bbed2298ec2074018864876c2c3339450dc7682e62f940039d2c1f7209c49e5e27249e3448e47dd838bd2e57b1cd66c02d8d500278b4a
+DIST firefox-76.0.1-da.xpi 542785 BLAKE2B f1dc69b36a05a15997e1e5b563005bd599b5bac1f20c65a193b26bc957f86909c8bef1226f8601c692a81db98d94dcdd0a4fa2e90fb7b6d99bab879faf37474c SHA512 8becc5a64aa2a156f78e0857d2ea2ef54a234bb60903d4e01cb59715a8daf2176bcbfc4d5733d4991ed1e1a9339ecdcdb14c1f91d647b608112a383f1890b59d
+DIST firefox-76.0.1-de.xpi 574263 BLAKE2B b061ed30f53fda50c190b1627aa684b9ba7a612c841c5a0614425f0eeef7ae6828578b2d8cccb4f9c039800d09004591a5c5075769267ec9063cbd2bf996b3d5 SHA512 7973174a6d1f835fc90401dea39bde233b3c21457c8f420ec0be0db281ae180402c05c963ff27661a06c0bd7b35e1d178678086d8e9beec16c4b83d75c49580f
+DIST firefox-76.0.1-dsb.xpi 585287 BLAKE2B a78bf649cd1664b3e1382bdeff776d1f5e00837725fc55a13f3b679bc51ca1be5520ce69439c6832cc2e5abd6714d885b16d25bc7ed4d97e79455314d4d8ec3d SHA512 d26ac507286e5221012a3096133fb5cb1858cd9dc340b2c86bd38d57d13c6277c47cb46d5c83a4dbdee6fd323852c87fc5a4c065b5297ef60ff78a5e3a1fcc04
+DIST firefox-76.0.1-el.xpi 651727 BLAKE2B 57205055ee8234d7f09e544763417eb0fb1bdf5890c00ac394de850fbe09c1a2c5cec5e3002fe7e375747852f2956095fe84dbb7d45e3c1a621ee8343687854b SHA512 09302c4690fb9455d5a4bbc9e81f7bc38d14345984d2ad5e1ea126c77cd12847cefd7401313b33986cd79e6450d8ea491bf7ed96bd48f8a0cfb50aa893e09993
+DIST firefox-76.0.1-en-CA.xpi 527583 BLAKE2B d2cc71a60f31c6e6e2c456beec22330affa50aa939893af2a5fe401ba37e3901de3549beb532ea8298bd901a0eac80e2afcda65e528b5740bbd24630c3e14635 SHA512 f545dbc12b383770a49d178a9525a2152688576b3311305b4b1db110139bdf387691ba16a4abdb6141afacb23e23be836d962a6a92d7a68560dab87f91893bcc
+DIST firefox-76.0.1-en-GB.xpi 526593 BLAKE2B 44643d1650173cd3b36aa1df2d9b9a98004852f461a7b0747e932417d160823e23d331d1c5816e424f01f6f73253239f84faa178ac54d2801f2c495edb29c275 SHA512 168fd3e53ac89b0da85c54f73538429bb79ae70abd34a6e4bedb5e40c282ae8f4154c0b7f831d5799a944a995d0e89921a516069ae16e674d6f8877d50e4c1ec
+DIST firefox-76.0.1-eo.xpi 554345 BLAKE2B 60cc58897c94de41c3881c1517a630f709a5c8df5332679bf33988a78122d2b5a38b9b25453eb15371b96eb9ba9af7c347e81bf4e53c1c58d48b5e5439e254f4 SHA512 f89541f6ee8b0c65044d926f40225f752a6138eab09787f3350db0fd9bb3c8137a502d35a15040e9d966f21b48fb2de2ba8790e9defb4b0076a321e73173e76b
+DIST firefox-76.0.1-es-AR.xpi 564719 BLAKE2B df4cfb990a87a1c5c666bc7984f0e401b264b89a71031fb772ff05dbd90d833932ce341928c6188566e53d7406b71d6d7966fd8fe3db9bd840b1b8d3ea0d781e SHA512 281f56c73734e45df101934c533abe8ca5136c08d87a965ae176201cd79c438e975bd379d3621a88be86abae2773760fac754393908ff8af8a4682630d1fe970
+DIST firefox-76.0.1-es-CL.xpi 564292 BLAKE2B a530696f359791e8b94726b39dd177de7abf71812bc42f9996f28e65fc8f4751a015f1273148baf0ab48ea6d7c1fcc05dad2d5c239f2cac4029d7de4bde29fb9 SHA512 e0b78b3db0ec90f77eff096c1192f783a08cfaaeec05646364e31aac2deb8ada30cac30975d7422615e94443a50e4c8acd2c9a5fa37f3fecb6c08c25442c94f5
+DIST firefox-76.0.1-es-ES.xpi 542827 BLAKE2B 61021ebdb491f908f0c745c17e1f8604f17d6768c8be25179ea3c246f210b01c4919104174ba395f2ed3df632342ceb12005c079c179bc40db3669e817d440da SHA512 2840d6d61d247e4b38dcf2ff92556701c31f22b31c0a06ba070df83aeffed462bbf7b7651f0e12d631183fdf3a4b69d7adefffc54c1e1e32e33b031d7f57eecc
+DIST firefox-76.0.1-es-MX.xpi 569351 BLAKE2B 5e44c0b04cc84b7db286decb625aeb60e002026f5bd4c92a418d348f90a5dec519ac86ebc3487457ed9cfa43cd5efdc64018019b2742c4e8ac7080109d5f42fa SHA512 e07d20f394b37c0e358d22b154e863e193c031ecbea50b75327548740534f62a827d296b57b633c93183c5253f8d94506886eedf3b3eabb79e34785b41746f32
+DIST firefox-76.0.1-et.xpi 541807 BLAKE2B 7d3ed6a0e16a2c0e5b0f23d6563ae8df644b83daf9d3a1c39cc4b71a83fa7f6bf0e38a4d4f6f3a1106aff5354746b618c3f7e965c97c902740e3354cac90b68c SHA512 57e39a033d8bd1063d8f217647f653822dc8899c94a0e18f8574afe613d4d0acdc7a528a2e7f63cf1d382d112d21aea587465476f680a00a7733e80a54c5af6f
+DIST firefox-76.0.1-eu.xpi 555568 BLAKE2B 77a83f198fd6a69e31ce5102f9abe0dd84f2dabdb714eac00e803b37b957201e5755bf6c7edff43b2573db232b97e21150f6e86bc538083c74ca48f99b389e33 SHA512 98d9bfa071ff01ade84d5b4c8c6ca47e9bb5126e64b13d0f5351697ec927d464152bed2c89f31136fce839ad368ae9b29b630d6baf85d835155148e42fd61c59
+DIST firefox-76.0.1-fa.xpi 603924 BLAKE2B 38aec834bf469d5e40f974c55df9024f0b38a1aa419edb162d0b5d8ca5e2ec712a45c31e296f1bf0184bd4bed21d4638815f859e6d4c10f7429a1a895467d426 SHA512 ae152b8621bef942aadd08832c0a952d142e5bd7501e546c8ad060a5521fbb8fc9c2dce59492cecb55a447b0e6dbfda62ac95c993067a36c566b06453dedabc4
+DIST firefox-76.0.1-ff.xpi 520967 BLAKE2B 414b431ef252584440504d38f8a21c832c4d8a32e41b9b325cd517e67ec72a50fb4b442ea4bb5b72437c177aeb225cc85e1aa2656bf5fd94de21bb89a8fc77a0 SHA512 a780dcd624b06e71ab0763e8f56dba699cf85702148aac26eae2b980eb834a016b55d8c45a7dc5ad12ab9a7687b3c0bf048bd902a75b3ba8d3bf7548db3e9941
+DIST firefox-76.0.1-fi.xpi 550639 BLAKE2B d1efc57e10376a4629532631c572b8d1a93714a95001521dc174d29b35cf9fe4f89af0390ee042efde99aabf456cda3614a9b922d8440df30c5d71ebef573e4d SHA512 a9b8187a0d19b63f0e4345775881ffc89cb4689f8066f19b9f74974805c8ee7a5772b32fa7c6cd21571535d4feb49d68e4075b9d88766933e7e110edb7d0d2f6
+DIST firefox-76.0.1-fr.xpi 574846 BLAKE2B d56eb220d572f9efa1730f5fed0f9851e18fa6d74cf5914fedb48b950667dc5ca3ddf8fdf93787645c4034e630164bab677a628ddae07003c449ef3ef4dd4003 SHA512 ae0ce5a71bcc1a9991b9cf6bd53626ffeaa804c3011a19a9b2f1fd7f33385c5773e5b6af244db90fc8e5865aa0fca138f8c1c04b5d9519941a71aed313e22e51
+DIST firefox-76.0.1-fy-NL.xpi 560186 BLAKE2B 393fdd5fc96cd7ed1605f9a71b8698f561b56458fd1c73e8eadeaa136e8aa845022375ed44720761049a137c5ac9b9259287ffcf9384c0ca7798fc240e6d71a6 SHA512 8c8df3bb021cee7d6aa7a66e53714e7140126d79a6471ddcc96306373a10386b9be614cccd27d3f44218626875eabbe672deb522904230654c81b62c7bb17d4b
+DIST firefox-76.0.1-ga-IE.xpi 530026 BLAKE2B 95462dbe632e576dc76c91a8101655cfda9db453ff42ee5dde2e2cd1bfcffa501e95646695df73f82a9cbac82b34632c459c46c6c069ef8842190aa81fe152a7 SHA512 7d08ab131e326b27618aa0c16f137c593af8bc4662d93de2204d905edb3fc7ee4ccf8ec525d245a4bdf69f71ca87a336a3d46ad794a3269af14c1a9bca727fcc
+DIST firefox-76.0.1-gd.xpi 551232 BLAKE2B d15b3ba8a2edf79e64b95a85bf5fc42f46a2900ab8752ef4e1de680c2860163511b494fdd9b5d6e3ab3579c09245096d05f112052623adf865a4cac45802a6f8 SHA512 d8d9109a26bdb543fa113f7f48218d2cab1d4f0583be0323dc36d8bdff2cb79519312b89c5295bd21419fc6b10e0a22f76f2e87beff78d4f42ee9045cd54cf61
+DIST firefox-76.0.1-gl.xpi 519219 BLAKE2B c92fe846301dba20526efae53cc707396af560a5fd982741763a1e8542569d8ef3b7098068542ffdef1346449363e13ea4b18b32bf29948471029fa4544aec0e SHA512 175e0a12d1cef1ce0234a9ff0e259f04dc44c7a46287e51bf0e012f323b50b3f613f01e9fce7ed34cd15bd97750f038fb337f8b95bf1625594a00dddd980b2a1
+DIST firefox-76.0.1-gn.xpi 578230 BLAKE2B f5c7ca3420d07c41d5fa0707c5e352750958a2edffc3ef6b39f7357e6f9bcd0fd74a92bbdd3ba72661a0abd8493a933454aa7acbda0c31d397f740c00bbae7ae SHA512 6174f6909407382b553915db6525ff5f2591f5fc93dd1e81be61f3d8873a387cbb3a3c2f21efbc5fa7d800e9277d37c21196eb31d2bcec48cf4bcc1669a5aeed
+DIST firefox-76.0.1-gu-IN.xpi 616368 BLAKE2B 1db167073ddee6768414f1577330d8562258ab1ae4f950fa79141a1c67a1c45377582081aeb2a7965fb6075aa8416d4a95742f3b48ad69bb8e6efb1e116e3ddb SHA512 0895e4a18221d43eb88e31497870450f19ee82a722c275a9a7086472524ca4beb867fcbd7551d4b2fc5a297f22f80216ec791e1c6c6559bd294d685ef58f8e69
+DIST firefox-76.0.1-he.xpi 573113 BLAKE2B d7a5725cd8802f89848030205609e92561d78f6f02173bed83e5e02e9cc9dc7b8066b6f5900be92a7647721eeb6a22816abea2ab1d68936fa86591f1c014d0e2 SHA512 89404ce3356bc5da944426960ceaea9685b4ae218b2a9825530d36f42d05e1743fc34589b245ccbbd18d49b6acc56c145143cf4280c6d0c987591b637298ce0b
+DIST firefox-76.0.1-hi-IN.xpi 624557 BLAKE2B 2c66d1ea23aa99d1873f303c70f8862217972f63d5eb422515bbb373341daf5c73762470febe7547356b6f9ddda3c3074d48cb190453ab85973b1fa43d369c1c SHA512 b144b5e5e636bd0222cf621dfbb695e8921e6dc6edee201516fd5d0495263b3536dd14c205504395389a5144d01409c6aa2a1e76a4bd19deae5acb84bdc8651e
+DIST firefox-76.0.1-hr.xpi 556551 BLAKE2B 92fbf28feb317b45e9385f64261d42e903696ea10aa8877e3b7fc86af7b225e44e3e5d4e216f7560168aaa9b908f504099b0ef152bbfe16ccb5aeec866dce77e SHA512 779109057076891b1333761882c359edacc7b99ff34d7952b266745abb0ec1f83c9fe9ee113dffbbb724195855272cef5765a43d3df126e1dd3bdda6490caff7
+DIST firefox-76.0.1-hsb.xpi 579178 BLAKE2B f98c09a123e9632d86de6cbedb2a1bb71c851a7108125acacc0057a53d5f9f3298976a0ae30939323c1a08d9ef9512df9bc1dfcda3121fc19d7975fbb20390af SHA512 c0234cd04a15af28e5f9db6f5ae7f9f22e83389dafca606ea73581f80df9062fa39e2bfd63de611de503d27963161c117c326477016c1cc0648e9ba5035121ae
+DIST firefox-76.0.1-hu.xpi 585332 BLAKE2B 27863855759d431cad5974e6d03813a23c067be22d2562df057ce20efbf1c6daf29184f8726c814e8a214d366c27a482c62e71243a8155cbad3f59ef164f781b SHA512 5727e1d9a9587424088ceab408368353f83918f1b7212c7eb4e4637ed935d13900af30627e41fa852f13445c6737dc0aade57cc5c8c3315bf5928598dd45a565
+DIST firefox-76.0.1-hy-AM.xpi 637480 BLAKE2B c622fc7432cafa6a99a91728449207aae294d46e011ce84dd8cf179fbcaf74985983e3e3c582a191d1d837555710583152c3c8cabecdb08a509aae71ba8aa2fb SHA512 18a8e0a975062970cace3d4b0bd6e522314a03eec73d2166a534e5430c35726040ce19e8e802e35c68ec6a055b965f66c5c2fa540cdab601c959fc8712fd669d
+DIST firefox-76.0.1-ia.xpi 544922 BLAKE2B b6f1affc5901197220ad9bdb1ddbf36a214c20f6d6fc2e213514e7827da4f596c5f5733ab14faa3a5b8d12edcd6545cb7b63709f5fa735d81e910a0228aea9fe SHA512 ada309a8bd61a10c2e5bff49277af3d4bcb7ec06cc87a08a1040335f4f1bf2fab0811c58b09f61f4f6fc52f90182dc0b26a9f0938350f35b9a1ff5816a365014
+DIST firefox-76.0.1-id.xpi 546912 BLAKE2B 73a31c95d5c61100cf4fa545110319a54ef36d9559ae568bd768f80c3a87529fafe6efeb3bdfe4f1369ee6ec493c67ce055bb4a5aaa051655fd931d761823cd8 SHA512 29d6ab5336c6e5b70b81d84849253a76e846b3f9a0a58ca1c342661bbfa02faf466fbb80767fad8d41111b9ffb8bf409650e1b26ceb6cfd6b51845d23792cd4b
+DIST firefox-76.0.1-is.xpi 534423 BLAKE2B 0014516fcb48edcc08d28a3b6befab40333a8201e4c65893bdd9826891ba0f86762e40a620f0f03cc196617156e86be67db08d7fab917c11f0866aa30ae009a7 SHA512 7e9bc57d8db53945cdb412edbce2a3bab6fe618560f1ebe25f7a05a007a96144821a23d7b9825b4ba6a003c9f202cddbb8906351f52e0d05c8a98f7c726feb39
+DIST firefox-76.0.1-it.xpi 444073 BLAKE2B 6c9a917ab95b997133b624c2e70c9ae5865f48ff0479c1b8625c57418ac7e49c5ebe58f0a0d312f3e9e65be45929540551ed0d59dd9e5771a365e0762d2ba0a0 SHA512 a04186b90e27184a8e291b405de8bde7d749be56ba907e9355602722a8b2aa65733aeeca99f17c946552dc81ecc8d317b3a3b976edb561aaf8f643cba7a7f462
+DIST firefox-76.0.1-ja.xpi 605031 BLAKE2B fe90f56acb43736c034525d9927c9534b32517c5a6afd460f804176681ec59c75e2ae24bcf80083781f61af041ce25b14be9225621a74635eb47300cfff6a734 SHA512 fdbc832cbe21a1243885939a7c7efe9e69f8852e37416a82d44842c2110ce1298812eaa7718e1559931d19493d8cfcf3d649d015781d7bc44bf1ddb773e7a25d
+DIST firefox-76.0.1-ka.xpi 607007 BLAKE2B ed908fcb6d47b7969e73ee59058fb47d69e8ea9b044a46506e9a6e17fb31ce517f5d35dcdbb7ffa4e222b221e7b93bed2d0a7b01bedc93036477ad6db473e998 SHA512 ce2bbfe4414a1294de0a6234e0c53e9fcfc34a313ea9b4909382c50673654cebafaec0dae6b9d7499a19d1bf538db38262ed953809b3885fab3649ed7263fbce
+DIST firefox-76.0.1-kab.xpi 566436 BLAKE2B 0d2a091be10763e6235be12371b1e0200f015fe032a774aaf37b879ad9cb8c300eab1e5e447a86a1dcd6b9ca6669f6e605bd7b6955ba9075ecf4bb5c6a3bf4c1 SHA512 122fbe2593ce208e5c13b10ef575183b0b05a124f5ef3ff019e4d2b2e6b9714ac807f7788227714d49e3b48bc71fb2c1c8981a9e57277180fe58c50b64b97b27
+DIST firefox-76.0.1-kk.xpi 637149 BLAKE2B 9f3051003ae97cc634b42c41b1bf22a48f2bb3121e38f30a9a415afad0b7d1305092cc9115cff00211a52c382ef23866f244421264ab5908e35dc256f7ce178d SHA512 70531ea113dfa57207974db7525065181b1a41d051f7844c4e1cea1417fa06bc75297c5fea321fa07830cd90ec19d7a9357d47a2526018fd1a61d7d03b981443
+DIST firefox-76.0.1-km.xpi 584414 BLAKE2B 016e77f67f45d577d2e45d4522df87718d269f78a69ad956d6d763d8fd2e910cd8025fde8c8937eef737591cf9199799387635b829adae6cd70dc351e5cb3538 SHA512 a0cfc6e3c3edc16f2e913ef275deee8781c8b01845df0a8f85579ac37574bb246cbcd9e62b1bdae38a6c243f9f12a95c2255b0f82783eb94f5a53c38aa28fd22
+DIST firefox-76.0.1-kn.xpi 576960 BLAKE2B 3246e4fa6d52c38ba1aa1e3500fcaed727571e32a8c378b9d706016c063e8142d1926a85afa122bbd2211412783fc73853ade6487766baf130938a8304480b8b SHA512 76056443785a3ca5b21a2930140adf2ec466a8e57fdc6e7c3eac7a01461a6e58397c17a654d56ec4c5b7cc00ffd176a4ba954f2a64d2ee5dc60e876cad69cda6
+DIST firefox-76.0.1-ko.xpi 592120 BLAKE2B 87178c3ced13cf00d3d326be5745c39c5c1215695249ddb95455d18e68bbf149f496aca8ee348f16155175b73c59c4a2d660039247e268028cad6569f6ecaf09 SHA512 1b15fddbeff6c3d19df2d19ab80d547c2bb15f3f2e6b1d9afba3c07cbab88be3f6fc5f4ab712268e9e352fd09f748ca54c402bd3a185255cc95a6703d04e1782
+DIST firefox-76.0.1-lij.xpi 525522 BLAKE2B 14850c7252abee9a08bba01eb329666af1742a4fa650894cd50f2d2cda3018a31734afe30dfb4f4cf24cfec15107a7d66748977a886b936cad840eb7f1037d04 SHA512 7d68992ca4c41426990acb0f2dffc89ce2207472cf90b19dc034342f3187fb8845e44b9917d23d34fccba2c2c130d5fc7cdfe961ed79effa57cff0009b0f48ec
+DIST firefox-76.0.1-lt.xpi 581680 BLAKE2B 7c1973e000dd087b6e0a0257986705655cb365c39e9a06e2c2a239fda8f0f883863e50692df04b524c26aaa9017e47dd22d8aae19974b2a7af753504ce27ac5c SHA512 7fb1b392cce73104b1a8db773ff85150ed4326ec5bdf12c7a10333fbf8b09f1dfc3da607f8a05dcd49619e8e44dbb1a66af8240fa4591d3e6f846f2acced1b81
+DIST firefox-76.0.1-lv.xpi 533769 BLAKE2B 3ec1683bd1296ed5b0b23c42cb6355d24a9fa3cd090c83be909abfc2f0fa3c7e1e4a7e511f9a5ba49c80d90aa0ee304d5211d8dd59c0918fe6b060075b44cefb SHA512 a009f286c45f060b24b93967c7ed225d06ee2edc791b57f51a15a9e6042ddc6b964db51d94917b06c08a5adba2f9f90c1ee69a37e277188fa78b23b57adea975
+DIST firefox-76.0.1-mk.xpi 502426 BLAKE2B 6a6ff0f57bcbc63aee481502b6b3b00a80392290de80085ca2e895a2ef9a4ed31a7934782a13aba9da82f277422d5f4c9fef3b18b4fb3aca55fa3b953484e283 SHA512 614288bd35793d70c8f51ccf8da05fff44f988bcf5119c89ff8739ce7fc988025332026e0e82e08f39dda1fa465f3f8b438e4a71b3f7bafc5e6d56e092cbf46a
+DIST firefox-76.0.1-mr.xpi 612096 BLAKE2B 69c12d881c510f90011440a6b87dd0842ecec7567b9028d9e4351d5b0e4d0bcf0406efd0e12acfed31962e94d295b53ade34e5b9c1a315388693e1c2c68a7cc2 SHA512 c3f4ce5767c247064dfe284e68298b5c591788341c24a5bfd9174b70c74d35cc5fe72d299922b521d01afb71a10a746e6330db45d5c18582fc3b18019707a2b9
+DIST firefox-76.0.1-ms.xpi 514192 BLAKE2B ff2c0aaf55a3b408234da3dee9b5d429804dad1563f91d3b27adb16979149f161e792f6a4f6dd6e163724645e3eae0c545a7d764b1ef62c0c4062fe160dadf90 SHA512 edc072f02bef4d449852ff5a42c5fc8baeb9f66d7a1cb38e39d1fa10039e95b8cc3e65d6bd1e380e0a068ae6328c2eff9d69cc84c8048bc9637800ecd79a7339
+DIST firefox-76.0.1-my.xpi 578025 BLAKE2B 4b7f996fa9e5e77a28a11ed6647ae3497e3ebe5d2d0d14231e024ca7d6f6449bd5c9042711095fab7007cef929523ff0c4ed270634dc0993b059f3ee3d751f51 SHA512 7bc29fb9dcae4a46e1b86a6d6cbc272e51e0e68e2e73688c75253788c551ed6e8a6ca5d5f7c7e5cf183c11ecd7ea9b920f363558551a46fc22cae0405e447da5
+DIST firefox-76.0.1-nb-NO.xpi 546236 BLAKE2B 93287dbaaa49454a422ba5e381dfba11148ca1704ae992796e34a6de37378721bd79f22587be9f5ea947ee957dd784e9c804eca932e7bc8543c4adaae3770e2f SHA512 fc6b2fc2ccbacd7056b762f1bc82bc372c4d1fc96a05ce6e83d02de6125fb2d8d786b539bc2c2394f7100679024ee9947be7ecdfa62ce11a91219aacb8408496
+DIST firefox-76.0.1-nl.xpi 548815 BLAKE2B f57d6d2f609c5457fb23ad7f457f32f983aa027093008813d23597731fd2c5c9cb2f7169198feed29a661f0488df4ab99a6dda5113dedca4763f053b22ab4a6c SHA512 fdbcdfd1a21aee32ca09e7394ab23d93341464d89c99fe5e6b87536df1a1c59830cd565b3a392d53c2c58aa162ead5de079032f6823845b7e3c6e775c7437dcc
+DIST firefox-76.0.1-nn-NO.xpi 548024 BLAKE2B 261efbe0e75edb5dfad8117f277425560d7a9880ce4fe810b82a57b5ce58a5ffda20de7c59a62f0cc7978909adbbc3f2bdc83bf563735f37d3014f81a28307c4 SHA512 b3782997729447696017fa47d122a7462af32f42e3434467d2906152dd694f6b47bf0a311392a966151344f93ef2c0a571c8a91657032b417bd8ee4121c50489
+DIST firefox-76.0.1-oc.xpi 566158 BLAKE2B 06d74284070558f2133d660ea2cbda43a8ce9cf4a9475e1d06f621128db293b2281de5b1dc92e0797404b530f6868234611f2b9d501afdcb6d21b32f8aeb8a52 SHA512 7b25c45d2855b28b664002e16a66b3fdcd7f8ec3315a5cab6922fa905c5c2f75ca599dcbdf36f1a75b2773577d16919c69feb0065f7fc4a62fd92d4525a0d563
+DIST firefox-76.0.1-pa-IN.xpi 600367 BLAKE2B 4af23cd779b3e265b86df9cdc5d2066d5b81e5677a46a7fb9dac216cf5265401fc13e85067aa2d693aec83ca7afdae1067636aac5dd00e3d3ce9887eb9a9b3f7 SHA512 4001cfa9d861ec5540e7960b88ef002fd0b2e34fcbfefa99667069b321b4f5577ee68a6a56a428a453ac3c2d384b84866d0c4acabdbb4818cdcb362ceba551a6
+DIST firefox-76.0.1-pl.xpi 563340 BLAKE2B b7bcfa14ee4c4f97e7420497e44b1f171fd8b6b3ac325130174bb6c8512d081f1451f4eb917b6fafb78973958ea4898cdb9aa191150f8bc9551aef02da0a984d SHA512 0554c297480dc00415f4f29943aaf15b0234b2514bb2a0a1c7207ff49945bacc9570c33b4592bf15855025aaaedd98f18e7f0296132e002f9714699532de79a9
+DIST firefox-76.0.1-pt-BR.xpi 549880 BLAKE2B e4d086e78fed5112a269edb1e3fb121886f4ce535dce25fda3a945235194fe693aa85aa10424b5d6747e1cbdb1cb1865df0003e6178ffb8ec16edbc5036a8d8b SHA512 7a6711e039a3041e23cab2e78ca192a503ec21cade6611ab184d062fea60ecc35e67b683164ce8eaa4fabd3ff41e014d8ce84ccc14d2831de26026afc08b52ed
+DIST firefox-76.0.1-pt-PT.xpi 560729 BLAKE2B 774808f4eac7c9fa239e8b7b20997626762be6f2541eea0ebc7c3d6c59398442ab93cbb8de37b6843177b68051210d08cc4b8357d81e5c6ed34e49df2f748b76 SHA512 245e72fa542c5a06edc9032c204799d049f3ff765f7968531975d265cbfdb0336a204af2e9fb63f4a9bbc043dd2c164f94d8da4f5bcd79a5fa48a2bbefa08511
+DIST firefox-76.0.1-rm.xpi 552985 BLAKE2B 4517026ac763ff5abbae83b5f0d8fbf4d31a6c03e5f1e48e2504b52cff3683bf4ef62ff9db5d0c110bbf44c1e07517375d5372b9123050b49c9ccdd748946d62 SHA512 0fcc148de200613d866f20fb2bfc4f1e49873689f514864601043990b3b1cc59dfc1bfa4818c570fce152db733acc43daf42b29b6c5ff2a9d548b55dd2f6164c
+DIST firefox-76.0.1-ro.xpi 567254 BLAKE2B 7dfd7bf77bf6e9613b762fda1cba3d2753dac652f241c43edb98173230babc942f16b89a56e695e5b24fff1166acdb0ab52775dec95d15854202306f1aa617e1 SHA512 32b5101fc3dea2960e165550802d8f470f68152f3df532eebd77460ecb0212c9237b3ab1c5de20ab51e24381f3a9f3c742dd83731d756384130968f8692452b8
+DIST firefox-76.0.1-ru.xpi 646861 BLAKE2B e637d135fb840ff09db896b6095be03ea75d71a74eb25f677a2c60ca03d94c8f824f9707ed90b605b989258d52c3b4b64a5c0d3f3d6c7b212ee3e265e6b8effb SHA512 ad71b803dbf9932961ff48402376695250f4ede51ede2fc7170d2f41b16df877bc710b641615ba8af14511c358ec79fdf974578d40f6060e159c2bd3787a3905
+DIST firefox-76.0.1-si.xpi 553889 BLAKE2B 62844f234760559ae3d8edf47b2cde895a3ab2a6b1236ec3910ebe54a96a9b7f97116904e836d89a3734920e31a14bc7d2ec69fd526a16dfc10be819c8516ae4 SHA512 641fe4727d2d166a3e0c137e9c1f23e97f4ffbf49a8748792fbdeb12ea9165b0ae3a06a01d32f7ee553e3e3884488bd34981784c68036bfe635a32a34a10402b
+DIST firefox-76.0.1-sk.xpi 580393 BLAKE2B f0b2e6fd1c9973660f3cdea93a5fb0d1820c354bc8062cf37a09455ec026f9c1075eb4323d8cd4b8f832199b407db0205721245f4f666f07b4a6c264895f3589 SHA512 9af5bae747e288af4f161ffbc6dd31a6d8aa3f93054a565627292079d1df281a8523c25b802eb9bd3597c4ddd29cf8c3a4898096fc5ca696116c585a8dd0bef6
+DIST firefox-76.0.1-sl.xpi 560091 BLAKE2B 825972397f3add95da33d292da1fd8a0fff118e99e31c09ec07b63a8fdca175b75ec8d579c9b94deada12258b3069f61049fe9868e9ccb6037dccbced0320b18 SHA512 452d2c732bda649a7a3871c2aa0cee4504c8cd2c4df31eef65e9886f9826ad93922140133e28df3a9b1c1a093bee2350766c5a47594879e901a623018ab9d25f
+DIST firefox-76.0.1-son.xpi 478258 BLAKE2B 8ba535613b7da4341441c480dd22485f2daf54406533fcf4c05cf86d63f66ed71e169d72d3681df7fe0f0312733aa577ad6fa880644cdec45d9120911f4626d4 SHA512 d53eef177f8dbedeb7f5589eb2cacdfca5196dd26a3d8a677e9610c187344edee4f9e86cf20df1702fe18bae93af9ec7fa5827784c4133a6f71af28b2d189e70
+DIST firefox-76.0.1-sq.xpi 571948 BLAKE2B 9df89200da5a7c8ca79e837db27059e271a90a75540dff1706a01aff10d86bdc00725997e8634c9e6dca4453858dffa180a57b00cd0f0fad0cca4dd524f21ece SHA512 babb1ac1fbf8d09be18eb0c06938a6d33c840db089d050107c2c05ecb94f477a3e9e128137995fc00ad9ec5758040792211d5265c4a0256c0fda118598e258fc
+DIST firefox-76.0.1-sr.xpi 598613 BLAKE2B bcd8ae3fc5e25d7064d375d9b6ed5f22ce6385e0c54ccf36c3549b234670d9b62d98002d45dcf80616bfe9462e24504cd1e6e19ba00ce71eb5168bd527ee1eac SHA512 c96f10a54891623a97b3d5433836f189d9130972009f7699a211517d124eccfed0fc7f120725650680f715cb5ff423a9571a43fc883d6eab26bb0eb718c961d7
+DIST firefox-76.0.1-sv-SE.xpi 558269 BLAKE2B 90971491e2e85c19b23c57eebd513bb65debf5ef7d0ca469021a6c0fbdfd8818fda37c3ba347d2c8b38ababc2bfaee5062b1f2c8dde9596c3b968ec1245ad664 SHA512 48efaac9ad879999590a61a48def39967ee84f6cd72d90b8d0eadb94fbf2d7a791c028553072f45c1b22a1280b9b917f15280b0de7525362ffab8c81786514cf
+DIST firefox-76.0.1-ta.xpi 583676 BLAKE2B 3d3b00615ae7f38cbb4ab78c873c517a96813c65eadbf897cbb9ba590a1008d1d8d55f0ff2acf9308b2a014a42d7b977668e380284f50d60db1cedc5a4d0a94d SHA512 339acebf2af218bed06bb2396ea6a1105efd552122ab5d48379cc937134b1589dc9c6a5c6565d7e760903189d4d567abc8d723caec2d9de7a8c438bc0a0a1fd3
+DIST firefox-76.0.1-te.xpi 603555 BLAKE2B a3c00c4f573700cfd859b3eb7f9ed6331ed8bac70b25b8472ce64e1f2c511c960b1b65946ea81a84792442f57d768e866434cc17f42dd4a7ec0e3b7575144286 SHA512 f2ac017cdf151e6724660c85f5e87b22258ffdf67c27bf8fe7b58b5cd328fd05e8acc51e68cf08c3014501fe8080f2e1fc79065d29b310a496a303718b9b2c50
+DIST firefox-76.0.1-th.xpi 622454 BLAKE2B 2405cbaa910c250a1e6eb1f5f1741ac268141dec2d3cfd41f2e84d32d11d8c41adf36d0505dd355b82279322db939df84ee00200d8a0c1494217489cbacb23f1 SHA512 2eee6d2cf472e944d55d89bc0cb8ee02c034dc80aa9f3df62365318cfcd85fb893c53b72cac36a659a400fe5fabad53dd3012f67e77c216cfe91b4edc3ddfe32
+DIST firefox-76.0.1-tr.xpi 572168 BLAKE2B 2ac54df15f5400c878ff40aaa2a8c27133eef70591378e1fb5cb26c378dca5921e5bdeba57452bd18004d23a3ce09bd2480ea7ad768022568f6d8ef4efd634f0 SHA512 3c0b661f1f3744939a19b2a9cd65ba9fdf8f76fec3eda5470a2db7836fc863eaeb56e9cfb3b80c8f2dd82d04c4b6e39b85b93a52cdef58128c244a6384ba9eea
+DIST firefox-76.0.1-uk.xpi 635711 BLAKE2B f8653018db04f34ece29df2edfdafd1ea3c89eb45f223dcca377a2b3e0d3e5d4e53797bfbf1cb036d5bc9129b06fe5011b015ef4d16595735538e050b29e59d6 SHA512 254ff4e898a7b750285e4ead98022c309189d47bf6f0c60dabe3c7479088a6a8ff5ed9f789bcaf8c5d7398eecb80396a16488fc7a4bc6d7308f08be02aabe0c7
+DIST firefox-76.0.1-ur.xpi 611193 BLAKE2B efe31f2c003aac37e7e7685fff275b4bcd677bdcf38d07259494c39ff7b93348c374e92d0c7722663a0d801abee7047dea0c57491e412f42c42b0468677c96ca SHA512 162eb815822aa4cead50b13ab2a4068584e224793a7b099447aed47b4f410fd1764d298ef1bf594487d975d9e128aa44ef41ab0a7467471270b7d8d83cd5cebd
+DIST firefox-76.0.1-uz.xpi 529079 BLAKE2B b26b08a6d3e2759aa4fa0a8613c972b437536183f18ea58e0081e5c84772a3b19892b25a3e3d232e1fff6a0b893b24741a9bb1fc2ed67e9a5c2d7466c4aba3fa SHA512 1540e8197cfc807350879b3517b9742e41b4d9124c2044706f6fb0f55fd69f403d15485bf3c1d2a9b97384957a26166f0d97ede4eb43204d5001d3a92b8f9bd8
+DIST firefox-76.0.1-vi.xpi 588340 BLAKE2B 4bc61cfa8c2e0a6bac591c098215a990b7e08c204db1f6d9fc52b36cd1a1bb43162a947e000484555db469aa81bc67c1ec8afb62a4872f6e77e6c6f43f07270a SHA512 56f887f86e5e7a047cdf7060da36f4b3638079b2b55da6a8928be057207b7ea99827c71ca92f4c5a36c25f570d9722ac4073ca1262c3bceef59b286e81e45db0
+DIST firefox-76.0.1-xh.xpi 483087 BLAKE2B abdfcb0893fc8b07d53df7767819c05f5f5409d1169f378ddfa30f5959ac706cad807e814ed18f33a950dc17eb138b1dc3d2ce8e00dc7b5f1d4805bc4eb3967b SHA512 d3ca2d970e68a81b04c104330afa184fcfeac9396d270a7a451b618c7c3d68aefc133ca9ffa4b3a11ccc742db4df1fd7b9a838f3c9e1233e8ed2e796f2a66145
+DIST firefox-76.0.1-zh-CN.xpi 595481 BLAKE2B 593d929e6af40f814cbea9b6799dcfa5347e95efc1654920229c386f1f90da8258b644ac8b1f4865339b80c9dae64ec989aae0d14f50273052428536c16f50ac SHA512 99b85bf8db9ed12b2c2f4d3394b1e384d4f8edbf88dfd77d4993f20d7a9f7c802274e5be3d53f07fe21b725cede717196b719cb004aa5816dbcfabf2e76161f1
+DIST firefox-76.0.1-zh-TW.xpi 593884 BLAKE2B 7077379bac353dae92b962e9dd209d80670b7eff466a3fa98bc171e8e679c96f1f6bd96eb33bc28761ea062dd915aa783bf48a026574a771e1dace93e32125b9 SHA512 dd93fd2960bbd724f3a2dde4a38491a5571c3051adc933088c18db2fe1e53e9b3ba88b40d391d3843ed44b957066447ef06a964610f97dad6f903547f9bb4ede
+DIST firefox-76.0.1.source.tar.xz 323251680 BLAKE2B d8b53e43e6f6a84387129099e50d4cfecb02269407f1fa4babf9e8c75118c244029a68dd772333f34b2fc3e77ad1bde0087b2d91e16fb4b28f9ce7f556389431 SHA512 188d7dc51200662048f808e32eced55979a69059bf88eac8386307f9371adad4ca524819d99a001b6d900147b8f216d5d330430f15f11eae0b01cccf8f39681f
DIST firefox-76.0.source.tar.xz 323886744 BLAKE2B 6efc4bb891300918f1ff9fad7b68dc9fc7e923778e62e44784d5992ba902d92c77d1235aa5f82c8934fb356830bfabf68bda4200b19df1f6160a4426f17777f4 SHA512 1f023861aaed0468f62135d3ef1098f599111df4e8f231e19baaa54e4bad0e3ddf8575895467ffc9f72bd91a2f6ed5b55096fe4932685e4bb58871e004c184db
diff --git a/www-client/firefox/firefox-76.0.1.ebuild b/www-client/firefox/firefox-76.0.1.ebuild
new file mode 100644
index 000000000000..33cbd2cf79a1
--- /dev/null
+++ b/www-client/firefox/firefox-76.0.1.ebuild
@@ -0,0 +1,934 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="6"
+VIRTUALX_REQUIRED="pgo"
+WANT_AUTOCONF="2.1"
+MOZ_ESR=""
+
+PYTHON_COMPAT=( python3_{6,7,8} )
+PYTHON_REQ_USE='ncurses,sqlite,ssl,threads(+)'
+
+# This list can be updated with scripts/get_langs.sh from the mozilla overlay
+MOZ_LANGS=(ach af an ar ast az be bg bn br bs ca cak cs cy da de dsb el en en-CA
+en-GB en-US eo es-AR es-CL es-ES es-MX et eu fa ff fi fr fy-NL ga-IE gd gl gn gu-IN
+he hi-IN hr hsb hu hy-AM ia id is it ja ka kab kk km kn ko lij lt lv mk mr ms my
+nb-NO nl nn-NO oc pa-IN pl pt-BR pt-PT rm ro ru si sk sl son sq sr sv-SE ta te
+th tr uk ur uz vi xh zh-CN zh-TW )
+
+# Convert the ebuild version to the upstream mozilla version, used by mozlinguas
+MOZ_PV="${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
+
+if [[ ${MOZ_ESR} == 1 ]] ; then
+ # ESR releases have slightly different version numbers
+ MOZ_PV="${MOZ_PV}esr"
+fi
+
+# Patch version
+PATCH="${PN}-76.0-patches-02"
+
+MOZ_HTTP_URI="https://archive.mozilla.org/pub/${PN}/releases"
+MOZ_SRC_URI="${MOZ_HTTP_URI}/${MOZ_PV}/source/firefox-${MOZ_PV}.source.tar.xz"
+
+if [[ "${PV}" == *_rc* ]]; then
+ MOZ_HTTP_URI="https://archive.mozilla.org/pub/${PN}/candidates/${MOZ_PV}-candidates/build${PV##*_rc}"
+ MOZ_LANGPACK_PREFIX="linux-i686/xpi/"
+ MOZ_SRC_URI="${MOZ_HTTP_URI}/source/${PN}-${MOZ_PV}.source.tar.xz -> $P.tar.xz"
+fi
+
+LLVM_MAX_SLOT=10
+
+inherit check-reqs eapi7-ver flag-o-matic toolchain-funcs eutils \
+ gnome2-utils llvm mozcoreconf-v6 multiprocessing \
+ pax-utils xdg-utils autotools mozlinguas-v2 virtualx \
+ eapi7-ver
+
+DESCRIPTION="Firefox Web Browser"
+HOMEPAGE="https://www.mozilla.com/firefox"
+
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+
+SLOT="0"
+LICENSE="MPL-2.0 GPL-2 LGPL-2.1"
+IUSE="bindist clang cpu_flags_x86_avx2 debug eme-free geckodriver
+ +gmp-autoupdate hardened hwaccel jack lto cpu_flags_arm_neon pgo
+ pulseaudio +screenshot selinux startup-notification +system-av1
+ +system-harfbuzz +system-icu +system-jpeg +system-libevent +system-libvpx
+ +system-webp test wayland wifi"
+
+REQUIRED_USE="pgo? ( lto )"
+
+RESTRICT="!bindist? ( bindist )
+ !test? ( test )"
+
+PATCH_URIS=( https://dev.gentoo.org/~{whissi,polynomial-c,axs}/mozilla/patchsets/${PATCH}.tar.xz )
+SRC_URI="${SRC_URI}
+ ${MOZ_SRC_URI}
+ ${PATCH_URIS[@]}"
+
+CDEPEND="
+ >=dev-libs/nss-3.51.1
+ >=dev-libs/nspr-4.25
+ dev-libs/atk
+ dev-libs/expat
+ >=x11-libs/cairo-1.10[X]
+ >=x11-libs/gtk+-2.18:2
+ >=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
+ sys-apps/dbus
+ dev-libs/dbus-glib
+ startup-notification? ( >=x11-libs/startup-notification-0.8 )
+ >=x11-libs/pixman-0.19.2
+ >=dev-libs/glib-2.26:2
+ >=sys-libs/zlib-1.2.3
+ >=dev-libs/libffi-3.0.10:=
+ media-video/ffmpeg
+ x11-libs/libX11
+ x11-libs/libXcomposite
+ x11-libs/libXdamage
+ x11-libs/libXext
+ x11-libs/libXfixes
+ x11-libs/libXrender
+ x11-libs/libXt
+ system-av1? (
+ >=media-libs/dav1d-0.3.0:=
+ >=media-libs/libaom-1.0.0:=
+ )
+ system-harfbuzz? ( >=media-libs/harfbuzz-2.6.4:0= >=media-gfx/graphite2-1.3.13 )
+ system-icu? ( >=dev-libs/icu-64.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? (
+ net-misc/networkmanager
+ )
+ )
+ jack? ( virtual/jack )
+ selinux? ( sec-policy/selinux-mozilla )"
+
+RDEPEND="${CDEPEND}
+ jack? ( virtual/jack )
+ pulseaudio? (
+ || (
+ media-sound/pulseaudio
+ >=media-sound/apulse-0.1.12-r4
+ )
+ )
+ selinux? ( sec-policy/selinux-mozilla )"
+
+DEPEND="${CDEPEND}
+ app-arch/zip
+ app-arch/unzip
+ >=dev-util/cbindgen-0.13.0
+ >=net-libs/nodejs-10.19.0
+ >=sys-devel/binutils-2.30
+ sys-apps/findutils
+ || (
+ (
+ sys-devel/clang:10
+ !clang? ( sys-devel/llvm:10 )
+ clang? (
+ =sys-devel/lld-10*
+ sys-devel/llvm:10[gold]
+ pgo? ( =sys-libs/compiler-rt-sanitizers-10*[profile] )
+ )
+ )
+ (
+ sys-devel/clang:9
+ !clang? ( sys-devel/llvm:9 )
+ clang? (
+ =sys-devel/lld-9*
+ sys-devel/llvm:9[gold]
+ pgo? ( =sys-libs/compiler-rt-sanitizers-9*[profile] )
+ )
+ )
+ (
+ sys-devel/clang:8
+ !clang? ( sys-devel/llvm:8 )
+ clang? (
+ =sys-devel/lld-8*
+ sys-devel/llvm:8[gold]
+ pgo? ( =sys-libs/compiler-rt-sanitizers-8*[profile] )
+ )
+ )
+ (
+ sys-devel/clang:7
+ !clang? ( sys-devel/llvm:7 )
+ clang? (
+ =sys-devel/lld-7*
+ sys-devel/llvm:7[gold]
+ pgo? ( =sys-libs/compiler-rt-sanitizers-7*[profile] )
+ )
+ )
+ )
+ pulseaudio? (
+ || (
+ media-sound/pulseaudio
+ >=media-sound/apulse-0.1.12-r4[sdk]
+ )
+ )
+ >=virtual/rust-1.41.0
+ wayland? ( >=x11-libs/gtk+-3.11:3[wayland] )
+ amd64? ( >=dev-lang/yasm-1.1 virtual/opengl )
+ x86? ( >=dev-lang/yasm-1.1 virtual/opengl )
+ !system-av1? (
+ amd64? ( >=dev-lang/nasm-2.13 )
+ x86? ( >=dev-lang/nasm-2.13 )
+ )"
+
+S="${WORKDIR}/firefox-${PV%_*}"
+
+QA_PRESTRIPPED="usr/lib*/${PN}/firefox"
+
+BUILD_OBJ_DIR="${S}/ff"
+
+# allow GMP_PLUGIN_LIST to be set in an eclass or
+# overridden in the enviromnent (advanced hackers only)
+if [[ -z $GMP_PLUGIN_LIST ]] ; then
+ GMP_PLUGIN_LIST=( gmp-gmpopenh264 gmp-widevinecdm )
+fi
+
+fix_path() {
+ local value_to_move=${1}
+ local new_path path_value
+ IFS=:; local -a path_values=( ${PATH} )
+ for path_value in "${path_values[@]}" ; do
+ if [[ ${path_value} == *"${value_to_move}"* ]] ; then
+ new_path="${path_value}${new_path:+:}${new_path}"
+ else
+ new_path+="${new_path:+:}${path_value}"
+ fi
+ done
+
+ echo "${new_path}"
+}
+
+llvm_check_deps() {
+ if ! has_version --host-root "sys-devel/clang:${LLVM_SLOT}" ; then
+ ewarn "sys-devel/clang:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
+ return 1
+ fi
+
+ if use clang ; then
+ if ! has_version --host-root "=sys-devel/lld-${LLVM_SLOT}*" ; then
+ ewarn "=sys-devel/lld-${LLVM_SLOT}* is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
+ return 1
+ fi
+
+ if use pgo ; then
+ if ! has_version --host-root "=sys-libs/compiler-rt-sanitizers-${LLVM_SLOT}*" ; then
+ ewarn "=sys-libs/compiler-rt-sanitizers-${LLVM_SLOT}* is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
+ return 1
+ fi
+ fi
+ fi
+
+ einfo "Will use LLVM slot ${LLVM_SLOT}!" >&2
+}
+
+pkg_pretend() {
+ if use pgo ; then
+ if ! has usersandbox $FEATURES ; then
+ die "You must enable usersandbox as X server can not run as root!"
+ fi
+
+ if ! use clang ; then
+ # Force user decision so they don't find out firefox was build
+ # without pgo after spending some hours
+ eerror "USE=pgo when using GCC is currently known to be broken."
+ eerror "Either switch to USE=clang or temporarily set USE=-pgo."
+ die "USE=pgo without USE=clang is currently known to be broken."
+ fi
+ fi
+
+ # Ensure we have enough disk space to compile
+ if use pgo || use lto || use debug || use test ; then
+ CHECKREQS_DISK_BUILD="8G"
+ else
+ CHECKREQS_DISK_BUILD="4G"
+ fi
+
+ check-reqs_pkg_pretend
+}
+
+pkg_setup() {
+ moz_pkgsetup
+
+ # Ensure we have enough disk space to compile
+ if use pgo || use lto || use debug || use test ; then
+ CHECKREQS_DISK_BUILD="8G"
+ else
+ CHECKREQS_DISK_BUILD="4G"
+ fi
+
+ check-reqs_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 \
+ XDG_CACHE_HOME \
+ XDG_SESSION_COOKIE \
+ XAUTHORITY
+
+ if ! use bindist ; then
+ einfo
+ elog "You are enabling official branding. You may not redistribute this build"
+ elog "to any users on your network or the internet. Doing so puts yourself into"
+ elog "a legal problem with Mozilla Foundation."
+ elog "You can disable it by emerging ${PN} _with_ the bindist USE-flag."
+ fi
+
+ addpredict /proc/self/oom_score_adj
+
+ llvm_pkg_setup
+
+ # Workaround for #627726
+ if has ccache ${FEATURES} ; then
+ if use clang && use pgo ; then
+ die "Using FEATURES=ccache with USE=clang and USE=pgo is currently known to be broken (bug #718632)."
+ fi
+
+ einfo "Fixing PATH for FEATURES=ccache ..."
+ PATH=$(fix_path 'ccache/bin')
+ elif has distcc ${FEATURES} ; then
+ einfo "Fixing PATH for FEATURES=distcc ..."
+ PATH=$(fix_path 'distcc/bin')
+ fi
+}
+
+src_unpack() {
+ default
+
+ # Unpack language packs
+ mozlinguas_src_unpack
+}
+
+src_prepare() {
+ eapply "${WORKDIR}/firefox"
+
+ # 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"
+
+ # Allow user to apply any additional patches without modifing ebuild
+ eapply_user
+
+ einfo "Removing pre-built binaries ..."
+ find "${S}"/third_party -type f \( -name '*.so' -o -name '*.o' \) -print -delete || die
+
+ # Enable gnomebreakpad
+ if use debug ; then
+ sed -i -e "s:GNOME_DISABLE_CRASH_DIALOG=1:GNOME_DISABLE_CRASH_DIALOG=0:g" \
+ "${S}"/build/unix/run-mozilla.sh || die "sed failed!"
+ fi
+
+ # Drop -Wl,--as-needed related manipulation for ia64 as it causes ld sefgaults, bug #582432
+ if use ia64 ; then
+ sed -i \
+ -e '/^OS_LIBS += no_as_needed/d' \
+ -e '/^OS_LIBS += as_needed/d' \
+ "${S}"/widget/gtk/mozgtk/gtk2/moz.build \
+ "${S}"/widget/gtk/mozgtk/gtk3/moz.build \
+ || die "sed failed to drop --as-needed for ia64"
+ fi
+
+ # Fix sandbox violations during make clean, bug 372817
+ sed -e "s:\(/no-such-file\):${T}\1:g" \
+ -i "${S}"/config/rules.mk \
+ -i "${S}"/nsprpub/configure{.in,} \
+ || die
+
+ # Don't exit with error when some libs are missing which we have in
+ # system.
+ sed '/^MOZ_PKG_FATAL_WARNINGS/s@= 1@= 0@' \
+ -i "${S}"/browser/installer/Makefile.in || die
+
+ # Don't error out when there's no files to be removed:
+ sed 's@\(xargs rm\)$@\1 -f@' \
+ -i "${S}"/toolkit/mozapps/installer/packager.mk || die
+
+ # Keep codebase the same even if not using official branding
+ sed '/^MOZ_DEV_EDITION=1/d' \
+ -i "${S}"/browser/branding/aurora/configure.sh || die
+
+ # rustfmt, a tool to format Rust code, is optional and not required to build Firefox.
+ # However, when available, an unsupported version can cause problems, bug #669548
+ sed -i -e "s@check_prog('RUSTFMT', add_rustup_path('rustfmt')@check_prog('RUSTFMT', add_rustup_path('rustfmt_do_not_use')@" \
+ "${S}"/build/moz.configure/rust.configure || die
+
+ # Autotools configure is now called old-configure.in
+ # This works because there is still a configure.in that happens to be for the
+ # shell wrapper configure script
+ eautoreconf old-configure.in
+
+ # Must run autoconf in js/src
+ cd "${S}"/js/src || die
+ eautoconf old-configure.in
+
+ # Clear checksums that present a problem
+ sed -i 's/\("files":{\)[^}]*/\1/' "${S}"/third_party/rust/target-lexicon-0.9.0/.cargo-checksum.json || die
+}
+
+src_configure() {
+ MEXTENSIONS="default"
+ # 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.
+ _google_api_key=AIzaSyDEAOvatFo0eTgsV_ZlEzx0ObmepsMzfAc
+
+ # Add information about TERM to output (build.log) to aid debugging
+ # blessings problems
+ if [[ -n "${TERM}" ]] ; then
+ einfo "TERM is set to: \"${TERM}\""
+ else
+ einfo "TERM is unset."
+ fi
+
+ if use clang && ! tc-is-clang ; then
+ # Force clang
+ einfo "Enforcing the use of clang due to USE=clang ..."
+ CC=${CHOST}-clang
+ CXX=${CHOST}-clang++
+ strip-unsupported-flags
+ elif ! use clang && ! tc-is-gcc ; then
+ # Force gcc
+ einfo "Enforcing the use of gcc due to USE=-clang ..."
+ CC=${CHOST}-gcc
+ CXX=${CHOST}-g++
+ strip-unsupported-flags
+ fi
+
+ ####################################
+ #
+ # mozconfig, CFLAGS and CXXFLAGS setup
+ #
+ ####################################
+
+ mozconfig_init
+ # common config components
+ mozconfig_annotate 'system_libs' \
+ --with-system-zlib \
+ --with-system-bz2
+
+ # Must pass release in order to properly select linker
+ mozconfig_annotate 'Enable by Gentoo' --enable-release
+
+ # libclang.so is not properly detected work around issue
+ mozconfig_annotate '' --with-libclang-path="$(llvm-config --libdir)"
+
+ if use pgo ; then
+ if ! has userpriv $FEATURES ; then
+ eerror "Building firefox with USE=pgo and FEATURES=-userpriv is not supported!"
+ fi
+ fi
+
+ # Don't let user's LTO flags clash with upstream's flags
+ filter-flags -flto*
+
+ if use lto ; then
+ local show_old_compiler_warning=
+
+ if use clang ; then
+ # At this stage CC is adjusted and the following check will
+ # will work
+ if [[ $(clang-major-version) -lt 7 ]] ; then
+ show_old_compiler_warning=1
+ fi
+
+ # Upstream only supports lld when using clang
+ mozconfig_annotate "forcing ld=lld due to USE=clang and USE=lto" --enable-linker=lld
+ else
+ if [[ $(gcc-major-version) -lt 8 ]] ; then
+ show_old_compiler_warning=1
+ fi
+
+ if ! use cpu_flags_x86_avx2 ; then
+ local _gcc_version_with_ipa_cdtor_fix="8.3"
+ local _current_gcc_version="$(gcc-major-version).$(gcc-minor-version)"
+
+ if ver_test "${_current_gcc_version}" -lt "${_gcc_version_with_ipa_cdtor_fix}" ; then
+ # due to a GCC bug, GCC will produce AVX2 instructions
+ # even if the CPU doesn't support AVX2, https://gcc.gnu.org/ml/gcc-patches/2018-12/msg01142.html
+ einfo "Disable IPA cdtor due to bug in GCC and missing AVX2 support -- triggered by USE=lto"
+ append-ldflags -fdisable-ipa-cdtor
+ else
+ einfo "No GCC workaround required, GCC version is already patched!"
+ fi
+ else
+ einfo "No GCC workaround required, system supports AVX2"
+ fi
+
+ # Linking only works when using ld.gold when LTO is enabled
+ mozconfig_annotate "forcing ld=gold due to USE=lto" --enable-linker=gold
+ fi
+
+ if [[ -n "${show_old_compiler_warning}" ]] ; then
+ # Checking compiler's major version uses CC variable. Because we allow
+ # user to control used compiler via USE=clang flag, we cannot use
+ # initial value. So this is the earliest stage where we can do this check
+ # because pkg_pretend is not called in the main phase function sequence
+ # environment saving is not guaranteed so we don't know if we will have
+ # correct compiler until now.
+ ewarn ""
+ ewarn "USE=lto requires up-to-date compiler (>=gcc-8 or >=clang-7)."
+ ewarn "You are on your own -- expect build failures. Don't file bugs using that unsupported configuration!"
+ ewarn ""
+ sleep 5
+ fi
+
+ mozconfig_annotate '+lto' --enable-lto=thin
+
+ if use pgo ; then
+ mozconfig_annotate '+pgo' MOZ_PGO=1
+ fi
+ else
+ # Avoid auto-magic on linker
+ if use clang ; then
+ # This is upstream's default
+ mozconfig_annotate "forcing ld=lld due to USE=clang" --enable-linker=lld
+ elif tc-ld-is-gold ; then
+ mozconfig_annotate "linker is set to gold" --enable-linker=gold
+ else
+ mozconfig_annotate "linker is set to bfd" --enable-linker=bfd
+ fi
+ fi
+
+ # It doesn't compile on alpha without this LDFLAGS
+ use alpha && append-ldflags "-Wl,--no-relax"
+
+ # Add full relro support for hardened
+ use hardened && append-ldflags "-Wl,-z,now"
+
+ # Modifications to better support ARM, bug 553364
+ if use cpu_flags_arm_neon ; then
+ mozconfig_annotate '' --with-fpu=neon
+
+ if ! tc-is-clang ; then
+ # thumb options aren't supported when using clang, bug 666966
+ mozconfig_annotate '' --with-thumb=yes
+ mozconfig_annotate '' --with-thumb-interwork=no
+ fi
+ fi
+
+ if [[ ${CHOST} == armv*h* ]] ; then
+ mozconfig_annotate '' --with-float-abi=hard
+ if ! use system-libvpx ; then
+ sed -i -e "s|softfp|hard|" \
+ "${S}"/media/libvpx/moz.build
+ fi
+ fi
+
+ mozconfig_use_enable !bindist official-branding
+
+ mozconfig_use_enable debug
+ mozconfig_use_enable debug tests
+ if ! use debug ; then
+ mozconfig_annotate 'disabled by Gentoo' --disable-debug-symbols
+ else
+ mozconfig_annotate 'enabled by Gentoo' --enable-debug-symbols
+ fi
+ # These are enabled by default in all mozilla applications
+ mozconfig_annotate '' --with-system-nspr --with-nspr-prefix="${SYSROOT}${EPREFIX}"/usr
+ mozconfig_annotate '' --with-system-nss --with-nss-prefix="${SYSROOT}${EPREFIX}"/usr
+ mozconfig_annotate '' --x-includes="${SYSROOT}${EPREFIX}"/usr/include \
+ --x-libraries="${SYSROOT}${EPREFIX}"/usr/$(get_libdir)
+ mozconfig_annotate '' --prefix="${EPREFIX}"/usr
+ mozconfig_annotate '' --libdir="${EPREFIX}"/usr/$(get_libdir)
+ mozconfig_annotate '' --disable-crashreporter
+ mozconfig_annotate 'Gentoo default' --with-system-png
+ mozconfig_annotate '' --enable-system-ffi
+ mozconfig_annotate '' --disable-gconf
+ mozconfig_annotate '' --with-intl-api
+ mozconfig_annotate '' --enable-system-pixman
+ # Instead of the standard --build= and --host=, mozilla uses --host instead
+ # of --build, and --target intstead of --host.
+ # Note, mozilla also has --build but it does not do what you think it does.
+ # Set both --target and --host as mozilla uses python to guess values otherwise
+ mozconfig_annotate '' --target="${CHOST}"
+ mozconfig_annotate '' --host="${CBUILD:-${CHOST}}"
+ if use system-libevent ; then
+ mozconfig_annotate '' --with-system-libevent="${SYSROOT}${EPREFIX}"/usr
+ fi
+
+ if ! use x86 && [[ ${CHOST} != armv*h* ]] ; then
+ mozconfig_annotate '' --enable-rust-simd
+ fi
+
+ # use the gtk3 toolkit (the only one supported at this point)
+ # TODO: Will this result in automagic dependency on x11-libs/gtk+[wayland]?
+ if use wayland ; then
+ mozconfig_annotate '' --enable-default-toolkit=cairo-gtk3-wayland
+ else
+ mozconfig_annotate '' --enable-default-toolkit=cairo-gtk3
+ fi
+
+ mozconfig_use_enable startup-notification
+ 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-libvpx
+ mozconfig_use_with system-webp
+ mozconfig_use_enable pulseaudio
+ # force the deprecated alsa sound code if pulseaudio is disabled
+ if use kernel_linux && ! use pulseaudio ; then
+ mozconfig_annotate '-pulseaudio' --enable-alsa
+ fi
+
+ # Disable built-in ccache support to avoid sandbox violation, #665420
+ # Use FEATURES=ccache instead!
+ mozconfig_annotate '' --without-ccache
+ sed -i -e 's/ccache_stats = None/return None/' \
+ python/mozbuild/mozbuild/controller/building.py || \
+ die "Failed to disable ccache stats call"
+
+ mozconfig_use_enable wifi necko-wifi
+
+ mozconfig_use_enable geckodriver
+
+ # enable JACK, bug 600002
+ mozconfig_use_enable jack
+
+ # Enable/Disable eme support
+ use eme-free && mozconfig_annotate '+eme-free' --disable-eme
+
+ # Setup api key for location services and safebrowsing, https://bugzilla.mozilla.org/show_bug.cgi?id=1531176#c34
+ echo -n "${_google_api_key}" > "${S}"/google-api-key
+ mozconfig_annotate '' --with-google-location-service-api-keyfile="${S}/google-api-key"
+ mozconfig_annotate '' --with-google-safebrowsing-api-keyfile="${S}/google-api-key"
+
+ mozconfig_annotate '' --enable-extensions="${MEXTENSIONS}"
+
+ # allow elfhack to work in combination with unstripped binaries
+ # when they would normally be larger than 2GiB.
+ append-ldflags "-Wl,--compress-debug-sections=zlib"
+
+ if use clang && ! use arm64; then
+ # https://bugzilla.mozilla.org/show_bug.cgi?id=1482204
+ # https://bugzilla.mozilla.org/show_bug.cgi?id=1483822
+ mozconfig_annotate 'elf-hack is broken when using Clang' --disable-elf-hack
+ fi
+
+ echo "mk_add_options MOZ_OBJDIR=${BUILD_OBJ_DIR}" >> "${S}"/.mozconfig
+ echo "mk_add_options XARGS=/usr/bin/xargs" >> "${S}"/.mozconfig
+
+ # Finalize and report settings
+ mozconfig_final
+
+ mkdir -p "${S}"/third_party/rust/libloading/.deps
+
+ # workaround for funky/broken upstream configure...
+ SHELL="${SHELL:-${EPREFIX}/bin/bash}" MOZ_NOSPAM=1 \
+ ./mach configure || die
+}
+
+src_compile() {
+ local _virtx=
+ if use pgo ; then
+ _virtx=virtx
+
+ # Reset and cleanup environment variables used by GNOME/XDG
+ gnome2_environment_reset
+
+ addpredict /root
+ addpredict /etc/gconf
+ fi
+
+ GDK_BACKEND=x11 \
+ MOZ_MAKE_FLAGS="${MAKEOPTS} -O" \
+ SHELL="${SHELL:-${EPREFIX}/bin/bash}" \
+ MOZ_NOSPAM=1 \
+ ${_virtx} \
+ ./mach build --verbose \
+ || die
+}
+
+src_install() {
+ cd "${BUILD_OBJ_DIR}" || die
+
+ # Pax mark xpcshell for hardened support, only used for startupcache creation.
+ pax-mark m "${BUILD_OBJ_DIR}"/dist/bin/xpcshell
+
+ # Add our default prefs for firefox
+ cp "${FILESDIR}"/gentoo-default-prefs.js-3 \
+ "${BUILD_OBJ_DIR}/dist/bin/browser/defaults/preferences/all-gentoo.js" \
+ || die
+
+ # set dictionary path, to use system hunspell
+ echo "pref(\"spellchecker.dictionary_path\", \"${EPREFIX}/usr/share/myspell\");" \
+ >>"${BUILD_OBJ_DIR}/dist/bin/browser/defaults/preferences/all-gentoo.js" || die
+
+ # force the graphite pref if system-harfbuzz is enabled, since the pref cant disable it
+ if use system-harfbuzz ; then
+ echo "sticky_pref(\"gfx.font_rendering.graphite.enabled\",true);" \
+ >>"${BUILD_OBJ_DIR}/dist/bin/browser/defaults/preferences/all-gentoo.js" || die
+ fi
+
+ # force cairo as the canvas renderer on platforms without skia support
+ if [[ $(tc-endian) == "big" ]] ; then
+ echo "sticky_pref(\"gfx.canvas.azure.backends\",\"cairo\");" \
+ >>"${BUILD_OBJ_DIR}/dist/bin/browser/defaults/preferences/all-gentoo.js" || die
+ echo "sticky_pref(\"gfx.content.azure.backends\",\"cairo\");" \
+ >>"${BUILD_OBJ_DIR}/dist/bin/browser/defaults/preferences/all-gentoo.js" || die
+ fi
+
+ # Augment this with hwaccel prefs
+ if use hwaccel ; then
+ cat "${FILESDIR}"/gentoo-hwaccel-prefs.js-1 >> \
+ "${BUILD_OBJ_DIR}/dist/bin/browser/defaults/preferences/all-gentoo.js" \
+ || die
+ fi
+
+ if ! use screenshot ; then
+ echo "pref(\"extensions.screenshots.disabled\", true);" >> \
+ "${BUILD_OBJ_DIR}/dist/bin/browser/defaults/preferences/all-gentoo.js" \
+ || die
+ fi
+
+ echo "pref(\"extensions.autoDisableScopes\", 3);" >> \
+ "${BUILD_OBJ_DIR}/dist/bin/browser/defaults/preferences/all-gentoo.js" \
+ || die
+
+ local plugin
+ use gmp-autoupdate || use eme-free || for plugin in "${GMP_PLUGIN_LIST[@]}" ; do
+ echo "pref(\"media.${plugin}.autoupdate\", false);" >> \
+ "${BUILD_OBJ_DIR}/dist/bin/browser/defaults/preferences/all-gentoo.js" \
+ || die
+ done
+
+ cd "${S}"
+ MOZ_MAKE_FLAGS="${MAKEOPTS}" SHELL="${SHELL:-${EPREFIX}/bin/bash}" MOZ_NOSPAM=1 \
+ DESTDIR="${D}" ./mach install || die
+
+ if use geckodriver ; then
+ cp "${BUILD_OBJ_DIR}"/dist/bin/geckodriver "${ED%/}"${MOZILLA_FIVE_HOME} || die
+ pax-mark m "${ED%/}"${MOZILLA_FIVE_HOME}/geckodriver
+
+ dosym ${MOZILLA_FIVE_HOME}/geckodriver /usr/bin/geckodriver
+ fi
+
+ # Install language packs
+ MOZEXTENSION_TARGET="distribution/extensions" MOZ_INSTALL_L10N_XPIFILE="1" mozlinguas_src_install
+
+ local size sizes icon_path icon name
+ if use bindist ; then
+ sizes="16 32 48"
+ icon_path="${S}/browser/branding/aurora"
+ # Firefox's new rapid release cycle means no more codenames
+ # Let's just stick with this one...
+ icon="aurora"
+ name="Aurora"
+
+ # Override preferences to set the MOZ_DEV_EDITION defaults, since we
+ # don't define MOZ_DEV_EDITION to avoid profile debaucles.
+ # (source: browser/app/profile/firefox.js)
+ cat >>"${BUILD_OBJ_DIR}/dist/bin/browser/defaults/preferences/all-gentoo.js" <<PROFILE_EOF
+pref("app.feedback.baseURL", "https://input.mozilla.org/%LOCALE%/feedback/firefoxdev/%VERSION%/");
+sticky_pref("lightweightThemes.selectedThemeID", "firefox-devedition@mozilla.org");
+sticky_pref("browser.devedition.theme.enabled", true);
+sticky_pref("devtools.theme", "dark");
+PROFILE_EOF
+
+ else
+ sizes="16 22 24 32 48 64 128 256"
+ icon_path="${S}/browser/branding/official"
+ icon="${PN}"
+ name="Mozilla Firefox"
+ fi
+
+ # Disable built-in auto-update because we update firefox through package manager
+ insinto ${MOZILLA_FIVE_HOME}/distribution/
+ newins "${FILESDIR}"/disable-auto-update.policy.json policies.json
+
+ # Install icons and .desktop for menu entry
+ for size in ${sizes} ; do
+ insinto "/usr/share/icons/hicolor/${size}x${size}/apps"
+ newins "${icon_path}/default${size}.png" "${icon}.png"
+ done
+ # Install a 48x48 icon into /usr/share/pixmaps for legacy DEs
+ newicon "${icon_path}/default48.png" "${icon}.png"
+
+ # Add StartupNotify=true bug 237317
+ local startup_notify="false"
+ if use startup-notification ; then
+ startup_notify="true"
+ fi
+
+ local display_protocols="auto X11" use_wayland="false"
+ if use wayland ; then
+ display_protocols+=" Wayland"
+ use_wayland="true"
+ fi
+
+ local app_name desktop_filename display_protocol exec_command
+ for display_protocol in ${display_protocols} ; do
+ app_name="${name} on ${display_protocol}"
+ desktop_filename="${PN}-${display_protocol,,}.desktop"
+
+ case ${display_protocol} in
+ Wayland)
+ exec_command='firefox-wayland --name firefox-wayland'
+ newbin "${FILESDIR}"/firefox-wayland.sh firefox-wayland
+ ;;
+ X11)
+ if ! use wayland ; then
+ # Exit loop here because there's no choice so
+ # we don't need wrapper/.desktop file for X11.
+ continue
+ fi
+
+ exec_command='firefox-x11 --name firefox-x11'
+ newbin "${FILESDIR}"/firefox-x11.sh firefox-x11
+ ;;
+ *)
+ app_name="${name}"
+ desktop_filename="${PN}.desktop"
+ exec_command='firefox'
+ ;;
+ esac
+
+ newmenu "${FILESDIR}/icon/${PN}-r1.desktop" "${desktop_filename}"
+ sed -i \
+ -e "s:@NAME@:${app_name}:" \
+ -e "s:@EXEC@:${exec_command}:" \
+ -e "s:@ICON@:${icon}:" \
+ -e "s:@STARTUP_NOTIFY@:${startup_notify}:" \
+ "${ED%/}/usr/share/applications/${desktop_filename}" || die
+ done
+
+ rm "${ED%/}"/usr/bin/firefox || die
+ newbin "${FILESDIR}"/firefox.sh firefox
+
+ local wrapper
+ for wrapper in \
+ "${ED%/}"/usr/bin/firefox \
+ "${ED%/}"/usr/bin/firefox-x11 \
+ "${ED%/}"/usr/bin/firefox-wayland \
+ ; do
+ [[ ! -f "${wrapper}" ]] && continue
+
+ sed -i \
+ -e "s:@PREFIX@:${EPREFIX%/}/usr:" \
+ -e "s:@DEFAULT_WAYLAND@:${use_wayland}:" \
+ "${wrapper}" || die
+ done
+
+ # Don't install llvm-symbolizer from sys-devel/llvm package
+ [[ -f "${ED%/}${MOZILLA_FIVE_HOME}/llvm-symbolizer" ]] && \
+ rm "${ED%/}${MOZILLA_FIVE_HOME}/llvm-symbolizer"
+
+ # firefox and firefox-bin are identical
+ rm "${ED%/}"${MOZILLA_FIVE_HOME}/firefox-bin || die
+ dosym firefox ${MOZILLA_FIVE_HOME}/firefox-bin
+
+ # Required in order to use plugins and even run firefox on hardened.
+ pax-mark m "${ED%/}"${MOZILLA_FIVE_HOME}/{firefox,plugin-container}
+}
+
+pkg_preinst() {
+ # if the apulse libs are available in MOZILLA_FIVE_HOME then apulse
+ # doesn't 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_desktop_database_update
+ xdg_icon_cache_update
+
+ if ! use gmp-autoupdate && ! use eme-free ; then
+ elog "USE='-gmp-autoupdate' has disabled the following plugins from updating or"
+ elog "installing into new profiles:"
+ local plugin
+ for plugin in "${GMP_PLUGIN_LIST[@]}"; do elog "\t ${plugin}" ; done
+ elog
+ fi
+
+ if use pulseaudio && has_version ">=media-sound/apulse-0.1.12-r4" ; then
+ elog "Apulse was detected at merge time on this system and so it will always be"
+ elog "used for sound. If you wish to use pulseaudio instead please unmerge"
+ elog "media-sound/apulse."
+ elog
+ fi
+
+ local show_doh_information show_normandy_information
+
+ if [[ -z "${REPLACING_VERSIONS}" ]] ; then
+ # New install; Tell user that DoH is disabled by default
+ show_doh_information=yes
+ show_normandy_information=yes
+ else
+ local replacing_version
+ for replacing_version in ${REPLACING_VERSIONS} ; do
+ if ver_test "${replacing_version}" -lt 70 ; then
+ # Tell user only once about our DoH default
+ show_doh_information=yes
+ fi
+
+ if ver_test "${replacing_version}" -lt 74.0-r2 ; then
+ # Tell user only once about our Normandy default
+ show_normandy_information=yes
+ fi
+ done
+ fi
+
+ if [[ -n "${show_doh_information}" ]] ; then
+ elog
+ elog "Note regarding Trusted Recursive Resolver aka DNS-over-HTTPS (DoH):"
+ elog "Due to privacy concerns (encrypting DNS might be a good thing, sending all"
+ elog "DNS traffic to Cloudflare by default is not a good idea and applications"
+ elog "should respect OS configured settings), \"network.trr.mode\" was set to 5"
+ elog "(\"Off by choice\") by default."
+ elog "You can enable DNS-over-HTTPS in ${PN^}'s preferences."
+ fi
+
+ # bug 713782
+ if [[ -n "${show_normandy_information}" ]] ; then
+ elog
+ elog "Upstream operates a service named Normandy which allows Mozilla to"
+ elog "push changes for default settings or even install new add-ons remotely."
+ elog "While this can be useful to address problems like 'Armagadd-on 2.0' or"
+ elog "revert previous decisions to disable TLS 1.0/1.1, privacy and security"
+ elog "concerns prevail, which is why we have switched off the use of this"
+ elog "service by default."
+ elog
+ elog "To re-enable this service set"
+ elog
+ elog " app.normandy.enabled=true"
+ elog
+ elog "in about:config."
+ fi
+}
+
+pkg_postrm() {
+ xdg_desktop_database_update
+ xdg_icon_cache_update
+}