summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas Deutschmann <whissi@gentoo.org>2020-05-04 17:20:57 +0200
committerThomas Deutschmann <whissi@gentoo.org>2020-05-04 18:00:49 +0200
commitb54f2650c6eefbcdb5f5a41af1d2fa90fb17f7e0 (patch)
treea8344858d2a168a4a78440ab51aec54b2ebde15b /www-client
parentx11-misc/grsync: 1.2.8 bump (diff)
downloadgentoo-b54f2650c6eefbcdb5f5a41af1d2fa90fb17f7e0.tar.gz
gentoo-b54f2650c6eefbcdb5f5a41af1d2fa90fb17f7e0.tar.bz2
gentoo-b54f2650c6eefbcdb5f5a41af1d2fa90fb17f7e0.zip
www-client/firefox: bump to v76.0
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/Manifest93
-rw-r--r--www-client/firefox/firefox-76.0.ebuild934
2 files changed, 1027 insertions, 0 deletions
diff --git a/www-client/firefox/Manifest b/www-client/firefox/Manifest
index 297551a87ef1..8143dad23680 100644
--- a/www-client/firefox/Manifest
+++ b/www-client/firefox/Manifest
@@ -277,3 +277,96 @@ DIST firefox-75.0-xh.xpi 479184 BLAKE2B 3ab14ee447b78742d1f61085bdb02f02420a4076
DIST firefox-75.0-zh-CN.xpi 589261 BLAKE2B 60678e610c151bc747b03e7d531d36cc5cd757a919a21a78317a24a7692364682902fcba52ef8f5da2e414bdc3ee60561be1b2038b9212372b221f15ac5142fb SHA512 f7cdfbb02df580a142c1bb28b94bfdd624503760d2c74097c920ef9203571aaa39a03bf3d46bd3ac47bb3c0118311e5213f194e1d63040c1abbb335ad42e8ff8
DIST firefox-75.0-zh-TW.xpi 587637 BLAKE2B f59ab05ba9562e0479e34a304aee81b70ab412162a792a80773d37813ed0aa5eacf57299d31724524d3b2e314d668c1b79bd8acea0c5b43d49f094d1788bd901 SHA512 28421db5a33604f4c0fcbf9675e460401b177d6aa96c505a5ca83e7be3ffc456029b5b7b6d3474bb58b50e9a74e5b1b7bc4bef5c2f9c4410a78f8f19c30659a3
DIST firefox-75.0.source.tar.xz 324614064 BLAKE2B dee00e2461b18425f119ef6a6e52e17118d330b7d9277dded631c80299a731171df1dc3247625bb102beadac6edbf0d45e86988e45cf82f7ec89e930df524710 SHA512 29c9e3455251ab5f5a3e8f2d0ad6f8b43f710d15605bf169fd5cd7ade3555da6b2df66ec26af5624c0f4bb46d5e7e3527351f648fee79f5defcb926fa6ae382a
+DIST firefox-76.0-ach.xpi 508335 BLAKE2B dc951b6da4382a2778fc01fd90fa610a71626ddbd89b6c42abd37eeda35d9ef5611b1c0f7277fb10d3f4f80b7a8370a72262c508c3f71dec87a457c087239070 SHA512 9a543b888ac026c5d5a201a595897d6ff4b2ff29107b6eb87be9d0d07830d3c83b6ca45505729497cd23f7d094f9f5c10779bb1f301ef35859a23f18516f828f
+DIST firefox-76.0-af.xpi 462166 BLAKE2B b1ecddbc083f2845f8ae0f8b198b17f19f3fda8f196acb6dd7aa36a4ad92938a4dd63de6073c93fff62b2fa80bf11e6dbeb3437496ddc16428a079194fc1640e SHA512 9b91278c854cbe4c65e5bc6080e7942c0ebbfc984d0a6fbe191aee83311e29f60786649049d108f179db72925d7d6d0e219333face0b622325cea746ff834cdb
+DIST firefox-76.0-an.xpi 520893 BLAKE2B 5c967ae1d907ad721c702f387c4d4d5647502f6b656e14a4b5144813f1aaa78209fd08e27f14b550a0d0f51c459de85e1627e89c5d2ad74834a51f9a75788889 SHA512 4c4e43fc4f3bd04af90a3b0817c5734d5da5db3826174602df56e55169ec497f17b6c57f533f71f85a9d45f9a2561a85255fcea126cf62bae723d43dd99fad69
+DIST firefox-76.0-ar.xpi 594843 BLAKE2B 82ef88fc15c40e359bc957d7fcc3ce0d18623a6d7c5270b5e36becfec0791f7a52aa778abd29b8b47c8ce44fb4ef016f221bb061a6dc13e2ae25340384643ca6 SHA512 9d5d95ece40d254d8886e59345484095b0b96685ebaab2f91fd9612ba68ad52da0bfe1fa64207e103557b9196ab27f4546a0c99b7798f1aca441f43d974d0188
+DIST firefox-76.0-ast.xpi 508908 BLAKE2B 1bb6256380b6c3a6939866b946f7b501e3360e160d5adf451f7ef88ce1836a86df8ebe5e18c57d4270a4736ffda0b92b31c1ef4239ddf443a9767fc7c010c751 SHA512 f2cbeaac61ff9176b49678a0b005dd18d5d1bb913dbfad392a39465b4b1f5ebadc9937bd65cf27d87f952107d0c2206ef20ea777c53c5d6b9a2281720ae44ef5
+DIST firefox-76.0-az.xpi 546087 BLAKE2B 9f5c59a63d57051f3dd77c57429fcb3a2f404c6ad54744d16eea787875ad7d0b28dd6253346ddaa88b7106f02f58375b6925005aec5489408309e4443fd18fb5 SHA512 fcb037d093081827e4dfda8389719d49863ab54ba5629581b33dcfa3fa758f2ea0a2857b9772965f3ceb65af9d76f26c6b7f7cb4ccceb5ac94ddaad6273d7db1
+DIST firefox-76.0-be.xpi 644316 BLAKE2B ef0617e9223c5208fc52afb190e70a70d0dfc13d870ec25a6725a81255dd766ec3cb30b4a2718b0f27d161b87f903a5fe2d8f3ff6012b3506062a2a591e0a000 SHA512 15b302b5a5aa5db14232bc7d2b6af9d8e100748173a2206cb68e89e6199323f307987977388d6bf29d284aa45e2d49cf52cf1562476ba245718fa56cfd0d4bf8
+DIST firefox-76.0-bg.xpi 609149 BLAKE2B 740ea49e0cd52deadd218a0b829391102787989bab6bb16550d0035789d1acbdf32e8fbd206265b4481b4cb2322b2ea3c3eb53df59257bef8b84467336e239dd SHA512 9dea7122befed370fbee58e8f6b12591479e0aa45daad94486b69316cb6fea78e7b5b6d56527892906adcbf0e4f3d3bcf5eb863be40881fd25782e2d433bb7d5
+DIST firefox-76.0-bn.xpi 637290 BLAKE2B b327b9bfedd16c80c4ef20421ff89373096b20b6fb428396993a3b925aa47cd0704a92817f58b0017e801860130df41f4e5432d88b330f8021ec459d9542a502 SHA512 aaa382a7b28924a2b2a06d2918f0392be8666508a5c465f127264e42253d079b0d11ccea50bcc079311a0e85e7bafa00da91cbdb18f3bca9e7e72de33a7e7122
+DIST firefox-76.0-br.xpi 554055 BLAKE2B 13fd3a2d33f64e69a6b4d98e0006f91026c8306d5323c95cda82b67fe84f7cee9c05c5e78a8fca20fd82cbbee85ca578fe8b589f17f2b59194464cfb3be6be73 SHA512 5dbd065ab914f45157b31fd036d6d48c2f41bf273a7b54ac7d8b072d2e475dbd8fff7073840ec52ac9ee320ae698b480dbb9d61627feaf85e7e51bf4d9612f6f
+DIST firefox-76.0-bs.xpi 517515 BLAKE2B 4bf3046e8e00eefbd6d524daf3997d89a2a4280ccb480aa6154d55852619506f1bd610d31f8d4d5945224f44c09d6cdfb96f90b2e49a5a5acf4cc6d8b0639ace SHA512 2a7cec5dc91a1121fe43602207bf4da3a792834396c50c2361fcb37532297d7826c3e72c8418c4f463369e7b2c60c6bd518ebbe25457c74ec6bf7972aa5bfc4f
+DIST firefox-76.0-ca.xpi 553533 BLAKE2B e9fe256e86f9fb158306b577634aeedb125de68e3021db9815e93d415f071415615a2c41812a8a6201d70a17c674880bef2a3632017dd23411b6a5e8a8c52768 SHA512 4d77ec8c58370dc91aadd48d8bb27c5f5376c8aad84f862bdb4603f3218f69ce5e62f7612b8e76744182b40da50a4bb360d82efa528d3ba77e2bf48099bc399c
+DIST firefox-76.0-cak.xpi 581877 BLAKE2B ac6c6faba552beb71d6de14d9320a2f7527df7beaab962babfb2ed4929c8d3fc263cdca962ade344aee6e468f02dc1168b91923d0ff38c26ebc3a4bb70e218a5 SHA512 694cb69a32a3e385a256ce5238dd63386149506d52197ddc61ea8be22594b8db45119dd8f74877cafeddbf62ff4383827f832a4ab0ee2e286a816e52e7726b1a
+DIST firefox-76.0-cs.xpi 580448 BLAKE2B 25a322a199c3bad938827bf80a3ab4df555eff88360ed765dbdfdacb4e1e68be8c0259df982dd530991dad9785a4b212b691d18495b346d1a2027a76afc645c9 SHA512 af0d841ddda4f1f2c226eb7d31f9c02761345e6b3241d26de466b8a3cb4e0c1609919e11485b20f9f440f69d3d4cabdaf098b05f1c2d2ba9ac13dcc58c0a4b4e
+DIST firefox-76.0-cy.xpi 559016 BLAKE2B 3ad9febee8ca9876c577b99e5fd7122ec7d6c3fd65b60e61d8d8b710effeabc52a5349d45d4933fa261a207b1c90164ade702c555b2c4c60289e5e8eb58f4eed SHA512 12e7ae854cd7b451040cb92ee8084a5cf3b4beed739a01a26f3c9d09ea730b947e5a1c7c2fe9bb754d66b56c955d59477570cd76ee08a08c76a5f74aa9022df7
+DIST firefox-76.0-da.xpi 542772 BLAKE2B c13e8470723295ac4dea59670c7d70a8bcb5db93531315272125811814958b16773766c253c24f26ef7a4f3e7163c10ee0b36de74444ccdbd365b1bf848fec0e SHA512 9c33648bf32dcd94532f215d125d3eb9bdbe94373ec8499051b747392206838f0f712f49d3d8bb9719a93036cf0e6f7c7ef3fb034633851d7fac10ef136022fb
+DIST firefox-76.0-de.xpi 574270 BLAKE2B 781674ab820dd9b20bd76877dff58e7502e4cbb38ff5a19c073126c33134ffd2f1f3c95f9f3c100fb3af7f3f5ebade93c5830465ecc6a595c752c13f75f477fd SHA512 6aba1b03088f333b22a45f3f5b98286d66712f2d26c597575b8e09982cc17c2708ef14be9b4401e77870ec169802dd41c58b2f6c6863752173b2438cb61e15ee
+DIST firefox-76.0-dsb.xpi 585286 BLAKE2B 182915aa840ffde2ccc65d279b89744fd33cb1b3ed223b70ef1fc0d54702b512c8ae5c9f5ee6af4ccc1b1b0e08936583d29438095b1b68f25f64ff9bfe2b5113 SHA512 7ff8e08f4fcf5be0cf546b66a9996757697cb6f77f8e0fa9e8e84a946ed2adfda264d6795a4a13a5b61e473a22e61aa37c7f8d764ab18d30234a6414d2a75388
+DIST firefox-76.0-el.xpi 651722 BLAKE2B c150b96a27fd7517bd83729ade55a898cee12e68518296cf6f7b44b8e4dc9d8236ccffc23e15895169e4016e4597e5b37d5f159bbe8c16a009e870bc9a70e4b5 SHA512 a981557ef38eb38c91168f67f46fff3669c50017b89b043aeaff0acbd6540b60acd11cba002149a5d011164a4a1f699e81983f15f0af88d2732f58797949afe3
+DIST firefox-76.0-en-CA.xpi 527588 BLAKE2B c2618dc6b08485c1e58b000a11bb385c855a993fa7050d0c8a6d708a47fa71ca768253c2c0d47a10b92247b293a463bdf283decf64cd3dc63446909980e721d1 SHA512 91638383a8c93837ecc54d95441595247ee5bb27a003e3cff39ed2f262793944514692a047b83267c566fa2067053d8d4fb0866fc8d6d4f058081acc8dd74676
+DIST firefox-76.0-en-GB.xpi 526595 BLAKE2B b6322dc291e3cb12cf97e8c85cdae3a39d4383507eee178e945f8524a3b3a27939fafec0f253165695532e525bc3ae031e8304b06ad84f7c126092dc50c7426d SHA512 65ab7aa3980b472468bde793fa2791bfa6afa2afca9fc95b8e4ca41049aa87959878351b3f13cde3f8e5174694a60d5f6eb934c2f493d374b400d124a852a341
+DIST firefox-76.0-eo.xpi 554333 BLAKE2B 634a4db8037ec4bb14a380def2bd111cf16c10d16dde0da0d3e91113972f62d6d009db985350f4af47454b7f3dcce7e5c240b437f10a8e9cdd20d2237d651efc SHA512 638a97b1988a2090935c5b9d31261f031014f7aefa424333e29c6d2a1d03b8470f11f873c1efc5f34ff1342daac68ef430ab57044aa2827768a653f74f25b938
+DIST firefox-76.0-es-AR.xpi 564730 BLAKE2B 02f322d2d0b9f0014d9c96f73d8402972150e542ce1dc409f12647229a9bbd59dfa6140af25e5f81afb347ff498120756fc18fea8142c118a697ec2f92087e2b SHA512 16c4edd6831059a21898989b10721af3c5d18f5f04ba0dbb09861fe3e41ad233a6cdb0726fe221e09a104ec4e1ceb5a1e0fb25f9d3fe42cee6bdf0ee60db36c1
+DIST firefox-76.0-es-CL.xpi 564296 BLAKE2B e896ee2129acb7ccb860e9316139663d8f732a51e80100bcec9b87a96734d45d4d1a2a888fcb7149c446290c83407e010c7b04fff6a4425fc79869334cdf9179 SHA512 dd7aa74e65b6fea57f6b200ea24a5920b85abc1635c3f8c9fda5ae966bb5f035666f31b310ffbb9bf524d5d92fb3244c48c95827b7a65171bc5efdc15ec4c6f2
+DIST firefox-76.0-es-ES.xpi 542819 BLAKE2B 2194145c9b42fb551d1bfecdda59002f6111fc9f5964552b45cb2aa16d4146ee5b24a63213a3aebcf44232a46e9793b36627385598873e212c4cbf1f45a4db7a SHA512 d28f3d4cd4afbae7e674a0ea20babb9909b7fee1fb97389a44f22b71d4a4f8826212f46087628adda91bbaf199707d8c84edee0b785d8cebc3918439c4ed7b50
+DIST firefox-76.0-es-MX.xpi 569355 BLAKE2B e200874d4937e713304a5dd7c5825060395dd876e09604cd51a999a07407a4e77cd67689992b8f82ac108cd0cd4167c7cded922c816369c2c85638594bf7dc66 SHA512 0a93240066fbbb3eccfeef02c678d76b71c7dbc9a2fed6ef4422057996b6faa0b981c33f5853287bcc583a84386344befcdb15c0b336cd0c73e89e9f5eee3bd6
+DIST firefox-76.0-et.xpi 541798 BLAKE2B 8a1840106b0db985b2bef491fe671e88284385ff11b654ccf49ac5ea5fb21f5eadd4bf41ffa55b714758df0373b07e2f00e97ac75dbcffd19183add7c45c889b SHA512 3eeb552fd315abde0fc35df068b1f2c8a350c3c78229d1a2f3f13e9706098aea232effb202af298d70df1992be79cdf216109a89882f07673094b3f1e1d4b918
+DIST firefox-76.0-eu.xpi 555580 BLAKE2B 19bb9eae3a3e78ba8c269840b73f382c7d1805b01be9f213273ae947eb3202e935e5ec41c57a89b0593d15bb2edff9d57fd0b1cd6d7aa6f27a185add4386cd99 SHA512 0f3f058b19756bc017ebae0a60f78d47287a9e2519dad824a237c8c6081c431aa1cdd4e3eaf827cf9a315a8a70e416478ea1013b584afaa735a81c6426e34d57
+DIST firefox-76.0-fa.xpi 603916 BLAKE2B fc47f85786e6d218dae5fe97d8fb371bf2b10ed763e2dd47978485087ce75dcbdcca0c02f03a23f5564cd96efe039248a29e526058f672b909f609218d2a3181 SHA512 33a3da3e7374df0b0c6455af1bd583f742d7c3aa794a28a317988b0010c52af04d4f8060a37bf4e3b3cde6eac6175d15984e156c177c048a7c1b68e69f34c5da
+DIST firefox-76.0-ff.xpi 520977 BLAKE2B d5c6db4b37c841103aa739958f3f3514ece9276d9a1144f654bc438936b075924d9d30afcc812ee290c78eb8699d05e8cdc6908ce42815acc0bf2c2c9fa0658a SHA512 9e0f3ff60718e88f0d0f172bac7346dc25e9507b8bcb44e224f17c6dd0b9de254652b8f0401dd1ab757e86d092862baf0ed16e5e5f1e3d98a90c4dcdd3a6f84e
+DIST firefox-76.0-fi.xpi 550641 BLAKE2B b238de1859df8467446921a59fddef530570c95b168eb55c5311cf30129ed5cf72204a6b837e3109c355e2a6c2b3615dce8a6f308fd959497ddbefb7bf38bbe3 SHA512 fb88e65f1ee44e713cbfd1d19e858ce8ff9ae60a1ce81d6968739e65e34fd182a96b750a8ea4d02747a7f62c6494eb72e63f0706decdac14b2c9434cac426bdf
+DIST firefox-76.0-fr.xpi 574847 BLAKE2B 9f818608206588a12b49aa01342498d1550304c66bd397b94e0d14c09f7d6920441e8369e0c14f4d84cb8f7d4aa33a8d1d9ee814f4d8a665fd3a5be5996bcb83 SHA512 acc41b10b9c55f8731c91d7054aa502b232598c382ff8cf3e1b449a11e04510181ee505366efa3524fc7991dcad2b0db09deda893d21a9a4ea71d3800e1c7ea7
+DIST firefox-76.0-fy-NL.xpi 560196 BLAKE2B 6a2d145d67b6935a1b10b891e6a430ff683fb0a917344faed7de8c9c47ab13d69b508ec168e6a01f96eb21f527a5446e34270baa24fdfb74b7a303bfcd342050 SHA512 89f37a73895c404409bb327d7782ddc46749361e6abfcaf758ba58b9f8c43360d3b92247539a150b01d96b6c1f09da2976d0cbd645fa4e9c43981dd6a7983de7
+DIST firefox-76.0-ga-IE.xpi 530013 BLAKE2B 6515d87e5a2980a95b02523d32386adb402ee549def52e5d8ac4998eda5db56ecbec3d5f2bac78cfdcd32ce4a844c711afaf369a528a509d901ad609e3b53cef SHA512 865055c0341bdc20b14e0dfa48885fdad95c74f2bcbf906a6abf7be85d733726efe1f689ecd82b65fe0055f562fd91b1eed7ec02252eb8d8622a74b7417eb94e
+DIST firefox-76.0-gd.xpi 551222 BLAKE2B 5fb6419e7c84cf78550ed783c886730de1e0b2c1e4b2627403f482f5049174be5d3066e4a58f4c299f871792eabebfdeab940b3afb70d617be2d49720b3609d7 SHA512 37c86c3503e1eed1f949f2e1cd9ff1d8e1aa9fee9cabc9cbbca8bdb19507815f8bb2f43644115870dbaa5bbbaed6592e2f0650a9adf523ccfa0da8ac8965d0af
+DIST firefox-76.0-gl.xpi 519221 BLAKE2B 50d1ec45d275cc0eac0676c245f33e44d330a702395b4cc8945120eaf5aeb34defa6349ad63975e431c2a9186ccb719421260233322aa3c74f28dc998698de9f SHA512 496ce3104ca482b0fa3cb2aaa9ef6077c05fe2dd850f3da96889ac2de48c64a85a943f752696560a9215b72d20b8cd3f0bf0eb9a397c3f8f70dcbeba9fce721d
+DIST firefox-76.0-gn.xpi 578234 BLAKE2B 087719b71231820b62f90e56a2de8d34dd7a48b77ad30d40d753ae5d8add7745bfde7bea4569dd249f2d5cb8004272ecece3abb3c42475ee2491b1576a4422e9 SHA512 8c466f4c5f67478e87b76bc64546f80130b127c4801c18bc9d897ac438ebc4611b20854dcdfc5391e50f339555bce8b3de11d16a4b9f6eeff2bd4d110dfb30ed
+DIST firefox-76.0-gu-IN.xpi 616364 BLAKE2B d899a9c4451b9b9a233d009ba7a68eaa2d0c8091c8c4a7652b96f6f6aeb250da6e043b415a0db527d01c43c117583b46666693f3563cbffe82e7fccf47ca4ee9 SHA512 c218c3fd06c264d07e0f4edff134c7db068eef2a8c467471e279f8e31ced49388d377c64d7b1e43fb14e4fb8a741000489faee151c766fdbec7b03b6db50da02
+DIST firefox-76.0-he.xpi 573127 BLAKE2B e2aed08aa1014f4295994e44b229862260adfb6a4207fe7a9c372d286e40430d1097c8ef0f0acaa05cb06d7a3e7687e925fcc22a28dd0d6a442d39b3a010b5f9 SHA512 7409957a61fd25da684df0f98d72f89039b517d29589be3ccf1cb708a65c91b49e46c4466192e2558887b44cb758e3f8723c6ba4ea55ad4acf1427e31d98c0b9
+DIST firefox-76.0-hi-IN.xpi 624554 BLAKE2B 70b5461ddc0853359ef219b5069298304c21cbbcbf1842edb72cf764c499237ea1e7359d7605d79f05677ca346c1cf5c11cacd7d8e7ca5ceca57c82dd1d87b36 SHA512 be6f43a7d2ae71fcc79cff955b735ae626035043cbe612ea7115248b171a2d8044cd634a4ef265818c4d8d3c057752ce173fb57122093f9dc9c69fe66abac1f8
+DIST firefox-76.0-hr.xpi 556566 BLAKE2B c96931450cbac0fb1e2eb0d4329b11f324467b45a0e8c5b672beb98bfabe7a28f14426e5b1a42a597932c99b207ea6c0ae12377058607876e1443aeb5e6cbf09 SHA512 f169bc414cb7e12a22288a8bbcab8fc4fd4f3838f793f78440c771ff942e2f504ca3c0aa38cc1e942b15c922b7ce9505a479c9d50b1ba92dc0d36bba3b665b72
+DIST firefox-76.0-hsb.xpi 579179 BLAKE2B 84f902b45949a3fb32db75fe9cf1f3b3adc1fbfe0dc26463a78c23d9f4f0c26d0839ed782c861593926516575fc4c18e95f1232cc5e95e9720d89aa666df1b93 SHA512 73b9e17b28c8cf50cd0ebbfbd70504c42368c63e7abe281a92070a88be2948e2024679e79c1a958f0df61bf4d9919a156952c23296a58e74c3595202939a978c
+DIST firefox-76.0-hu.xpi 585318 BLAKE2B 06426aae810a2710622d27783054eb7fad0a3778a11a7850647b518e84c2d8414ce5ac18f4bcde932d98bd5155499dca0d5091964c984fa8d6c704469073aea8 SHA512 e5043e21f6abaaaa10c9e54d4f7f82f7112ce71fe7af2a971e8dba8337840469ae2ad7e9f6ee507e8e2ad0105fee1db014986479d43a82a06d0dbb88f8963d47
+DIST firefox-76.0-hy-AM.xpi 637480 BLAKE2B ff98191cfcfb3ef7a53c045c2d5b8b3664f6e3047f0856d3cca6f186f0d75674a55063144a94a282c80608a0b512a3f1cd4f86d42517cae931c531ad48b51ce2 SHA512 19a6488db1111fb6f8c81d3e4c7fb11fbbb7c11e3ce1e888a1d810e58a187da340dd2e8b91fc2d8436a4f98d8fab73b29cfec107cd01fc8462e3ebb7c2d7c5d4
+DIST firefox-76.0-ia.xpi 544913 BLAKE2B eed278539a240396b75e230b4523acf2421ad3b1897e1050a4a62f83d12a3d4b0e7026d7f8c241d125bc2a979ac1c2f1a63b86cd536a1ee58fdb0e408c9174e2 SHA512 65d6bf816ea977870b24e3a96a8f06b3f6103e15351cc4b27ad093c5dcae9a4b9781e004fca61353f8417219e7f198ebf5d27de7df818a79071c6ad2e99fdce0
+DIST firefox-76.0-id.xpi 546907 BLAKE2B 2a596844f9b71e88671b6217bd931936193e0be795348b2e2337d2d3a823a844a991a22d5bd056b1505117467098b562ab3e34289eab49d41a18fb7db66d3586 SHA512 9a7f45d5d7165546394674b03aff5289a1c48c637f4c8be610bf35e8e7d3fa6421b894a102c956cee7fbd16c7d4c97e53f38b67f7422f6d0284f6282fa9a9d27
+DIST firefox-76.0-is.xpi 534417 BLAKE2B 63820dd9cc6166501025bfe97f77004ede9fd01619503f4680fbdebf8f25faa5fc5218dda7b6e2f0c010c7cb0499324df88230e4659bb043484de8e2c05e5e77 SHA512 b9523afdce27c45f2489a033fe51c07f29412b7fb9741ba243d66992ef1bf00bd4c1d8bfab8579317d41e5f1809e50c2ef19a969de709a25391f2235681f7793
+DIST firefox-76.0-it.xpi 444054 BLAKE2B 614a44fc70afade26e26855e2b733c396ee10231f1207ce99ea7eaf6eed1f81fce699cc6f39671f378a51a53b9628c678a23b3c0fbe7a17e6783934ed9d4c889 SHA512 fcf0182ab8714ebdaa6a91be621295db7746f76c72cd79bc6c2c665e7d3e3c4d6032e4c11a99f328a54ed833e7507b2ac74eff8601f6e55517552b36e8b0d2ad
+DIST firefox-76.0-ja.xpi 605030 BLAKE2B 35bc390992018f00d6edd1fe213a4a4f80ca29a4371c1fdd94745045b1caa6744f6c53a91cf1aec5c8dcd5bbb23f3ebea56c0d158301b1109c07445fe9ddaa0d SHA512 82c691ce897c651d87de6940891ff442400b3da95d45c3b6ec79827c2a8245fd0aa347cb2ee13a740ce30b0c6a6fb01aebf08d691d51f4936142c416b615c97b
+DIST firefox-76.0-ka.xpi 607015 BLAKE2B c1e96e76362319b230946d4c87dd26c018c9f74bfedb8d508d783ff03d7253147ddf5d3c7b9a1bb76916991dbf12a2c5ebc847d9cdee839a1b1c4ad324230208 SHA512 d888595a1587a9768ef70cf646cf8e75e16eca0713b39d1f2447c44e991f20cd288421de012cd3f879cc1a2cd7aab054c1b02d920822e64b2ab98305872b31bc
+DIST firefox-76.0-kab.xpi 566437 BLAKE2B 62e9588e2c016987214fe6e9ed555c115d523ba73c94cca0ed51bc16f8117abfa83481638a9fcede99979747074e6d134b96afefbcc6dddc266c2b3a47c28861 SHA512 84ca61b7c84008cc4e15cd9e8f1de9fa1bac9e5e3492e6d4abd321837172ee7927c6d88bc3ec196a2f928f315decc837d15106c32b38ee2b87a258057efd0163
+DIST firefox-76.0-kk.xpi 637156 BLAKE2B c316c0ec6c866291413e98ab39705dd8a93691101dff3397e80da541a60c06abcea6c0f83a61ce68a52910eb2d4619422b545e2d8263adb4dc35d26a2345f84f SHA512 ffc557db0d063e8030ffce2a99e20e4529d9caf6ecc378f63f7204af7e9fd4046590617b3e01ac3f151a33a7c52dc77d13b634ff893072a5f847f6550d796eb1
+DIST firefox-76.0-km.xpi 584433 BLAKE2B 95374741a44d7bfc465a55e62509ebf1ba505b49562bf088995ba1bca5f719a0f18c60747f6267ebb848a7d3728026cce4c3827dc0bdccc775ce94f3a2c2a973 SHA512 733e5f32a87b972a77537db5050c767537c96b229297d5f45b65e6cf95a10c6c9c682b61bb561572b4fa30bc3a7005ab866760712ae9b95628943cbec7a188ff
+DIST firefox-76.0-kn.xpi 576964 BLAKE2B 0bb305a9bf96f1aa2db6b6ca8d147bd5425070c01c8cfe290d9af2639f36576481718a8bdb48d812ad1c820fc1bc0f6538ec195a9ab092f05e669a02a62e6241 SHA512 40088eda1f9e7428efb9093c8f9a14bdda7564a941be712ea3e87998ecc12aff5601f5e9def2336aabce2c6a034d86e99bf98681aff5b2bf22a1fc96dfcc93cb
+DIST firefox-76.0-ko.xpi 592119 BLAKE2B 16fe796492925fefc1c50636a1122962381e0f773f289b4e8e634b9b73655dcba7a5810d7f77d57ad5e61f2a1c29b123f94f9a1c307aea7eaa165a609201fb14 SHA512 ba4df60fd89f30fcd1e4e38e97c1de1ba9f5e22dc1cbedfb7a0e15f95d84c3b4f31bc0bd75612e516ad45e59360a186537d1e813422eeaaec6be64114b2d9dbe
+DIST firefox-76.0-lij.xpi 525536 BLAKE2B 47d61b6e94ceceb48720ffb4151a4057324d021035fb77b1ea9b4a181091f01477c417ebcf7ad494f0549cd0b51d90126e750ef008a2c6b4b14b51b7854c5d93 SHA512 64b5dede1c2a72c4a1be2af21dd572da771f5432f2e9b02450f3be5a9bfccf3cff8f3455e0f22773aa19651eb80080b01c024db93ead286443e592509bea60f6
+DIST firefox-76.0-lt.xpi 581671 BLAKE2B fe8f16384dc56b1df79e695f41063c6357817ac7828d281dc104cfd8844abd7137bd721c90c44ae3ec6c2f24511b3cb3e1d1197ba8af31e18b3296c935dd1d24 SHA512 72a6bc5d8908f6ffba7dceeaa3d11b218a490b2d582894432c7b45f21f59c19f81ec9dde96e4d51461dba6eb8230ff621545dcad1eec7283fbf1d6b11437cc11
+DIST firefox-76.0-lv.xpi 533766 BLAKE2B 5ef3cafe0b07a7deb0b64a83be91fea02d539fa7210d96ddb26f580e966bfdc55fc3ea17163c58bfe6892d1a3096abf69a2ecb15a8fb06a8dacaa1d55b5516c2 SHA512 d9b6fdbff546c0162b473ad75e7a8c1a3673f26de592000b2198e4a71a656621901b49f6fcad813dfe0fdb0e7cac914ba4012e0b29854b565eab10659d4a899b
+DIST firefox-76.0-mk.xpi 502443 BLAKE2B d0c06f5b85bc804dfb3a939bee1ccf9803c24a0da7767c9e18192f00d153942d7a630751e7dde6ad3ca4aef01d1012909adfc41fc8864e87203adf166333d9a6 SHA512 5b0ab324062d5195ecfc0550d5b16014ad5d4baad74eb2185034ced3c06ff215f93fea2f7559235fe144a5eab5e3ff1f7772e8918e306c51113e409d1019cb38
+DIST firefox-76.0-mr.xpi 612109 BLAKE2B 4f53fd540d72cf3119214d0d0f5ba195f22bd68a2793e5a86b578750c6caed9d2e14be87d7fb02f5251c4df52c499811479a7a4f43834467478864a89657409c SHA512 f9c19646d5f1299d92dbc0532250eb1c36f2689d3347b5fc24bc4ab473ed4793660c9ee9a4bbb264912938e0e184a14b51c3e3e3c98147e66685e1c2758ae7ee
+DIST firefox-76.0-ms.xpi 514188 BLAKE2B 45d5503e4b063a2a3fa741e532bd6a51ed05a0fbe76e20627076072ee4de642401b7f693d6264aa69c69d5770d07ae14a345ad6ab404ec9fac6d543aa873988f SHA512 47614e7647b39198e2eaf022eeacbf731f24cbd3886dee5f8b8a357facdff6558c14ab4f46224091d9d1a3d5579218d1e14753569ae45bfabd37b10ef9b9ebf1
+DIST firefox-76.0-my.xpi 578039 BLAKE2B c66c3c9ceb15f28eb39695db997bc56155d8672ddca1b89c37b67cf422e98c9c8de9f0b92bf881a53bff80a47ac2e3efc0f261ea1d9062a3297279ade94bf115 SHA512 06b83af0ca68ca7e74a6101ade21b650bdc41020d5b19390f5b37d5c87f2bb5271232e580a0b0aaf5f4bf3857fcc670d4953396bab3916d862d1b2a494b58865
+DIST firefox-76.0-nb-NO.xpi 546236 BLAKE2B f447cbfc93873abcd018abc70a81c5ae25bcb4978cdbb131178dc60c4a0a1f4d1a5c10c0eedc827bbf0f7d5975deef873126364eaf7f942964817319d7f8adfb SHA512 a1f8d4ba951266bf3c3682535a6abb67836faf22b7c93096d22a79a4507df295fef47d44e3af88e1abe4b52f938189adb89aeb614c1bff3a6c18dc87c32ee5dc
+DIST firefox-76.0-nl.xpi 548817 BLAKE2B 3d15e8a0f7384f4368765b9144e2c9aee1c1b4e4c8285cd5fb3bbe41e0c1ed57a80bb7224ae3b906423b86e5f23169d418cab89ed463687599c5a6b7c311ed42 SHA512 f4a51531c876ec163842d3c7c2a6168abfc3efe07680246b26c3d7955a49f14b75f1f6d274cb0a871237793e9be31311475413679ade85555bd878130f1362d2
+DIST firefox-76.0-nn-NO.xpi 548022 BLAKE2B a2f179cc32871cc2ea2a5256f9bccdb90fee87554d4d3cc114424166a31cd72d773af987db102f16876a7c5dfa74ecb112b847055319446a3f3f7ec757df66a9 SHA512 1f246378ec4bf05c7ed8f1c11d50bd261fc30ebad2a04a3e3bca06afd255892945abe00ced9b6d5f9b8c254c7e7ee7c3e11e596ea143594b66d2ac1a0005d195
+DIST firefox-76.0-oc.xpi 566164 BLAKE2B 561e6d007eb565fb6eacec0fe6f820ea7e158762b373d4073db6030201b57ad364aa9bc7c35df32b4e591436cf0c35b85e62990c4576a1474fe2903536843dfb SHA512 9d24a3a7a085db087192508b50b7dc5789f3f8085e650a8b196a8a85fcc86e5dc1d585e282a3afdb0ea921a01a83bc655198b15d6bb2c076c873ea6107fbdc3e
+DIST firefox-76.0-pa-IN.xpi 600380 BLAKE2B 5ba3f82c00371f4a01cbe59b6a10a6803df1b773ec9a1aad5ae369fa1547c68413b043ad9d5ce337dea9a1060f791c617a54f2475de0ce8125bb2c8f2c3f8513 SHA512 26623e6ca6b2c4377ecd2785628d2377424cba3fd2e4c5b87cb4f0ee8833e6db5ecd08000b7127a50b4edce61d17f8647f4a5a2dd6cc33d47d5e60bf078a35f4
+DIST firefox-76.0-patches-01.tar.xz 15908 BLAKE2B 6fb89d7c7bcc1e0ff8d46402d5560373d1a89c36d77a48030b8bbabc59d678137a2e8b846cd75799f3563c08a3fec5652c3fe9d9827c0c81f014da1900969acb SHA512 9f426fdb329113b782cb9b9d21506e8c566e650f413fe4f727791033eec9338349668214c2c0e481bacdd48405d514d21b96e975cc7b9318256b21b4489b3ce9
+DIST firefox-76.0-pl.xpi 563340 BLAKE2B dbde00cad15b0f310ce0b03da9cef79beee700334bb29c3e20224aefa5ad4f483cd15fef983ae34890716898257473a4064e75de6e42985a9231ec541544d150 SHA512 db24e3d913ca5a3a52e14c8406b3ae0a7e76a395ce252e85861aa99a8ee476e64d2a5c1ad0da2f7dff3954c125754ba513e17c9e6b65c0e9cb082405563156bb
+DIST firefox-76.0-pt-BR.xpi 549872 BLAKE2B a75d13c2ec85dc9b6cf9ef78c5b4295bc1ea71b591baf757a64a311f17537bd148508e85aeb6484926ae52cf600590e5ffe90dd0a0877476ba81a979e547a9da SHA512 b884fb23397d9d537e02f4b5e8312ff8db15c1589d5176da9b74f228ab21d474268f174c5b0a6f22c8482daf7a7f1f1678f8bcc7433b1f36eb9c9f26f793d602
+DIST firefox-76.0-pt-PT.xpi 560718 BLAKE2B 13c50042264ba1d8bd77d6e661962446edba3f6a484fd33b45132e7897be2b68fb76806420db204d45a21ff4ab12c93d1ee865d7dbab24517837d2c8bef7edc4 SHA512 a2fa25e0d8d1f9d636b9a8060c122ab6583566cc561e200455abaecf0aad269e3d993b3a7a093bed7448fe0ccb98eac1d8cff85a986a8d81b60f58c2df8a4e48
+DIST firefox-76.0-rm.xpi 552981 BLAKE2B 54027e71ee131686b068f3d357da2d6a0fce1003c13ebd83df07a5575aa3b3ffed88b273ef7883db21b625a24a11239dc39803e05bc514c60a0bb7c54efbf2b9 SHA512 71dc96082ade33ed64031dbe60f2cd0b55b10108740a957fe30a775b540ac45553fdccb6f71ae4a32e466c223388ec459a904cf00683c34a43a42b037a2bbe7c
+DIST firefox-76.0-ro.xpi 567248 BLAKE2B 1047d7cd7044c847c591df3c76177c2e0287b342610b1e6e7351fc9b468755f31991ba02d3d1192ae3744df8c38e330f2e2bb0254ea5f7a8b5f595eab88b51fa SHA512 54d4d5763a3c9e09405bb5a08c8fa6dc488b38510b67166a5e9d8d70ca2664fb32e9c85a01f67b7f61773cdcc98c4919437b8711d6c273a7c36b173198f1a5ab
+DIST firefox-76.0-ru.xpi 646853 BLAKE2B ba9be1e335b72ad2cf89f1e8a3ce9581cd1d7e5cf7143bbdde5901a8cd4ee998911c30359ab16c5dcbd8b8aaefab3a6e5ab65154d6907b0b54c9538a1f5b1407 SHA512 ee7cd8b11d917a1231d03abff790bffb50c9daf161f3febdcbc9166b8661075389054f76b46c22c980a5907f464f230f4ebc8f7f0f62dd87d62dc89edb2239ac
+DIST firefox-76.0-si.xpi 553879 BLAKE2B 879d103587be30b27429803fbf7a757d71abc572e97dc3cd29a511946ac016b859270cc36267317c4873b6f45c362da101c1f02c6a9e9f116c8e0d66f31bfcf0 SHA512 540275e0b0ec754599b26cd70940626889711695dee30835c32c5a1b86b198958b56e91201f736ebd0a0a3b09b33333d70771d0acf9183f57516dd45ca5e57b0
+DIST firefox-76.0-sk.xpi 580395 BLAKE2B dcad9a028cf7a1b81715966679fcbddd2e9c730a3b9a5db553108d5a8c057e4c2d6da227433265dfa21243bdd5072201b6782b2867849bf9f0d56505d985fd63 SHA512 c0fa279a3361103e588ad83806475e1a6ac1c5d7426ed12fcd83e0bc3d104cdd0ec010c2a58f30e87919a0579e56d028612d3fbd934e96fcf58e54e57179739f
+DIST firefox-76.0-sl.xpi 560107 BLAKE2B 68c7f3debcaafe3b36c3c476b29c0150b920662c3871dbf3766d60a2386b5d8c9bdaea6657e9d313b156f4972c4889d7b9e6e671a7f4bd8c7e99ae5201a61273 SHA512 c8e34d869998d42028eee88b730b9f9206e82e6c6775e907116df8211a383ec9c0f06dd8f99bb50ad68e2d4e09e134484778b3ec28798cc56fae108dd16c038e
+DIST firefox-76.0-son.xpi 478245 BLAKE2B 655cffc7a1a2a4277ea84e1b2256c6121199d0b2eee4397ad97ad86f65812f424385034503cec70d0034298627a8f54b04b1065cc20370a56276e1d54e95208b SHA512 d662ace11bd5ec4523fe0513eaeb6f31f2218de13001de485dc8648078e17463e746fe2437a5d556e02d815bcc6e19b9f8cac107ee8b447449b403be8dfe72a5
+DIST firefox-76.0-sq.xpi 571953 BLAKE2B 6f94d2b28bef6e89b7f31ab5065c5e1d01805cf43f577b8f8c87851c88f5cd75230f8505072770701dc3d67391821f91b51cab5e8b6bc21e7f830358eab43df7 SHA512 605b77d6a87de3b28bfa3f1cc04e0f567629d2bfd1101259a76ce2250119e6861b55bc9a85bdc4aabc83e8e68a0405d4cd51b040c3820b8a004f75a64e70b71c
+DIST firefox-76.0-sr.xpi 598638 BLAKE2B 0bb7b50bb48fe3072fc99b76dc42c41124a00691e4b0d658a2900ddfa30279221a33019fad506513bbaa2ea074993d21dbdd47e47f50c3f05fe1a6c046e4d9dd SHA512 197e67d3931a235440f15ef4bd4ecfb6d9f0abb2e86a61310b10903c0a2e81e767eb1c2cd1f11f7fded450810a054ff8ffa9fd1165eed133d56eb67feb32e897
+DIST firefox-76.0-sv-SE.xpi 558264 BLAKE2B c22dcb2005af326b60a967f622c9151513f71be66cbe3c91aa1c5c2ff501fb1e588bf5c84fdae7885a8621d5234718242803e74101c9c203f6dfdb99dfd34219 SHA512 0cc21323468f0a7be5ac0de3aa8da0d1fcc6ded86d153d2131fbd1b605be519a8ec589d44c4b60779430bc149d18559e72e0a03f0ff1985db75033f702a03314
+DIST firefox-76.0-ta.xpi 583677 BLAKE2B d8e39e3862b2f702435a960ff9a97185374eedc1b3dd8641f7cbb35e4f3278c5db7ba6049d8d80d8c2492f331e14300358ebff1c17ecd2ae01da621079ae388b SHA512 d45468b1321478c0f5c402953a7141596fc0cd3ed575ae9191f0e5c156599d60caa0a6dfa948effc75d7f7ef9bef322b446b80c6f1b96a1ec206a2502c449309
+DIST firefox-76.0-te.xpi 603569 BLAKE2B 0d6a2b5086551520875400af9a221b1323931ad32d59609bc4c58e77b4dc52bed35e2eef623e171a491b28b9c326be698ff795fdad4efda44a76d4a909737ade SHA512 aa1904cdbc3e3aaf906c2901fee97b797244e7b723651e40f40df118c75c6eb588ae46772116f780acb3de2a11dd26bfcc7ddc66906f439ef039fa2c883f4515
+DIST firefox-76.0-th.xpi 622450 BLAKE2B 2ca37180126c6a38b8084befaf2742c3bd877c11d8a72a3c1d4a8e7d5070d3f17cabb188d0db0ef3784cdb63d2ca76ae2e086576c07bf294d9ea581572783e85 SHA512 f173bc3adad85a6de570efc913eb47592af5fd9a25d6fc40eaef139848557be091173f8a99f20eeeb7e925b42f2b57f34bf37e72fb6072d3924c89cc788af63e
+DIST firefox-76.0-tr.xpi 572164 BLAKE2B 12c49e6e232afe2731481e28bddfa63910edeecbac57cdceaf285c43b42764a4cf330390a37e9a1b7a4831c08cdf90ade60166dd4cdc62307d20111ae157ba51 SHA512 8f0fc16312c3e67bf3554bbb34615064650170fa7bc38f61465a84463ab68fd3d5116c67851556ec8831da3bd1bbb9ee5808c66eec24fe300f0b51060d300cfc
+DIST firefox-76.0-uk.xpi 635708 BLAKE2B bb1658d23026f3c22baeb9bea61709bba256286c7addde673091e4c83bf3b8ff10fbb5c78507c0ef35dd1037af064eea357a4b33cfd03e477ba9b002cd928875 SHA512 3c64a3757722b7daafd86f7d7f1034fd3608ef4ef3483e4c84bdadd4d04f4766e5716a033a429a6a7ea8dc985d623707599da09d6e61584d0efdca3373ca961f
+DIST firefox-76.0-ur.xpi 611184 BLAKE2B 83a97b80424b20b34d577ef7be291066070762409c866bcdfa8c27b9f20f1bcabd3f05708f298b657d15cedf5b3d499ef9404aaabbd0c7a7ee12811c59a098e5 SHA512 2c52dfb957082db3d34914a8eaa8be671a78a1b7e17a313b06c08da5979783eabb4515b7c4d712e7d4bba5422a7ac5f5563aee3b12a2b31d30c7628ca3f851a1
+DIST firefox-76.0-uz.xpi 529079 BLAKE2B 87cf7cf23b2af4a12ce29f5691939e5be5d5750419b9c4eedd38bcd7f3e0bb93b41bde580a5c4daaad792f44f5556d15611571b7b6fb73b6c88ec5d9097b97ec SHA512 8ae5b46f28934616d5851b7ddafffa289a5decaa4249742a1bacb313d528ab5bb6a013e44c6542b134203dba15a1e3b821c0830ee96d45560b495be63341be01
+DIST firefox-76.0-vi.xpi 588350 BLAKE2B 83e74c3e8f5a82a4d6a7fdfa6c57a21e74adb12255073f4157ce9907e27c1b9d41afb4691cba38708256a1e37ea1d3cf25df0ccd89d863f1962c72f93c1f4e5e SHA512 1fb5e9c78cf93cfbecd3f5b5d440f6bd224b6bc1667b678071bc61add5afe7c7689230ba4f9ed810905a985644a15ac418816bd135f4d6b894d26bf328695150
+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.source.tar.xz 323886744 BLAKE2B 6efc4bb891300918f1ff9fad7b68dc9fc7e923778e62e44784d5992ba902d92c77d1235aa5f82c8934fb356830bfabf68bda4200b19df1f6160a4426f17777f4 SHA512 1f023861aaed0468f62135d3ef1098f599111df4e8f231e19baaa54e4bad0e3ddf8575895467ffc9f72bd91a2f6ed5b55096fe4932685e4bb58871e004c184db
diff --git a/www-client/firefox/firefox-76.0.ebuild b/www-client/firefox/firefox-76.0.ebuild
new file mode 100644
index 000000000000..7eed7cbc52ca
--- /dev/null
+++ b/www-client/firefox/firefox-76.0.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-01"
+
+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
+}