DIST firefox-70.0-xh.xpi 473972 BLAKE2B 8b61ce70be768d11c6912a021e2a762591dec175e9ac875d5afc015d9977132d8cbb2ce124932f9bccc1efcf77b1cea285cabffb6450d34d3be6cc8851f43dc3 SHA512 50a53d7a60b62e8cd3cce2d2335ff5693f8df988c05caf11b7d0fc7808b3a6b2376dc0b75f4e9d0baec58e671dac589af47b859062781aa5938160963c4f8ef9
DIST firefox-70.0-zh-CN.xpi 568455 BLAKE2B 0df5ef2fb3e251ef0dcfe5b891bfb78c31dd69a8a4ce6d6686fe91fd907bad641aee47465dfca19daa7c510b5e8e3da3d8c0180c26e35be5ffbb38d40e367b25 SHA512 c6f1b09c99b05ed322dd3173972d02ef72170c7d4ef8b461cf38855def089db6bcd71ffecd2d43873be136f4574adb71048ea4375b32e8dc0363d54c8234d67c
DIST firefox-70.0-zh-TW.xpi 568317 BLAKE2B 452e449e0bf2e1fb8c1f3ef850f5a71f5e6d90b261403f9603ed514c11446e98aacf2295923c0a64e7294f978571b20060870ecb39be01e35a45ede2207c57a4 SHA512 ed08151cca67e0d719994ed446b0b95efa3eadf59f66be0eb5790c3a53d817f2bd8af799612bb0a12fa090071fd10ca8191f62b721ceb6e0d9bcdfea23bd3266
+DIST firefox-70.0.1-ach.xpi 488084 BLAKE2B a15392b489d048fbf4bb57ffb02fa6b174375b48ab5ee1c294c2a5740e5258c8ae3f3b9756fd47f32486d95ea0857980846ffa3d6c712f8f26d6aecdf3e58c07 SHA512 55927bb739878af63a5c2a8e7db7b703b37e994b77a109426e111b6c723c3448b8a39e61ff4d581d1dd1c774576e8f75203e4cb0070aaca7fa81f8b387a58cf1
+DIST firefox-70.0.1-af.xpi 456518 BLAKE2B 7b73e58b988e2e7c4cadf58929c4133243cbada54a00705271d2d564b80b766f3399c3a096704842eb7346dfed3e7ee6074d55c6d1564d41d2ffb7ee5f2b08dc SHA512 b70ce6e6cb6a0a541e938129c6409f6ed00e402dab7c106c8974da5ac91a58b8f9d7cb87ee169e1da21b67bc12b8f30d91ba4fe31db17006040b2f251d503698
+DIST firefox-70.0.1-an.xpi 499778 BLAKE2B 5162d37cd0fe0968a16b2e1f401f5d5bd32be66204fce9cdbef19af2f789bdfc3ae4bed06963973a0dc51077a6e39b3766a3623375df5343b3efeaf57ffaaab8 SHA512 ab64e9abce2c31b9c0757102a3b7d23af3aac8357c35cd876ddd8a6c857c022f455ae1a15547c20f0b4f9756de80718a1e68205017665fe1c62572799eee5e73
+DIST firefox-70.0.1-ar.xpi 564977 BLAKE2B b9ff220f2842ad5a96e0881359de2a9a3763492d8e7cd4e3fde57c6911c7bb39f68a68ebde7956a05d65224262cd7e6f7b3cc3a657b2fba1744102b5ee4429a6 SHA512 e675c86a88d22015694dfa0935e3aea45b4ad623556c40bcc3df385c09fcc929ec8b9c7782d7036b30cd4b65134c84e7db7501e837779d897358c2c62d76f909
+DIST firefox-70.0.1-ast.xpi 496476 BLAKE2B fc37837e5b994ed9205ffe71daaae4eb77fd18bfad3bfefce1226b6d400ad07a4e9ea27a73e15a5f26d0b8a91cb5b8a56dabc4387425992f4f814417a2d48352 SHA512 c0ff5762cd8e9edd6098c7d32e72773d5fab8f06da2d1a840339126444f7ff52c83f15bee27ae9db9cf05571df8aa8f9bc2539039914820b9c0ae6278e96f1fa
+DIST firefox-70.0.1-az.xpi 528696 BLAKE2B 91cc7128ec346a2b4a43a89e7f309d558c2650782382d2b35360e83fa6e96742897f85c523cc409077bb83690795003fa593280e2aa0df008ce69b0bc1822242 SHA512 24e2477c011cc66a354cf5fa42e78482c00e3da6aa695770dfb7efb35e5466c0fc97523593400f2aa3cfd18a6a90efdb1d470e39f469f0e71ea82568166b18e4
+DIST firefox-70.0.1-be.xpi 621205 BLAKE2B ec53d23b0a76e345e2cf23c53670631afe6093909a13c602627466eb38c4ac822fb3c93e325369611ff6f8d0e0468ec8bacca693e55b3879fab761e1c2b79327 SHA512 1a66b164d98354bbeb849a840e6f2d04b3677c66e1ea8f6cb4ca62fbad0d56ab53940fd7f765e818c81b3fb20d4284420b2f9cbf9edd514a5c15bfde80fa2ee8
+DIST firefox-70.0.1-bg.xpi 579386 BLAKE2B a3cbc9c8f358496ad97748ec26d171a8f25f16bf608b065a887ee70d1315ac6a4cc597615ace63fe55fef865ea109ec9a0b18035fbecd8c4ffa997ae9722c15b SHA512 c36cdf0b9bdfa79ae1c3b92b54f2370bc0528e15da1fcc15ac039896d9aad4c1b592543fb2de4f8b07f431815a92a537cdc8684920e878ff6bd58ee196346488
+DIST firefox-70.0.1-bn.xpi 598539 BLAKE2B 150b79ac0b8fb4c5373fc95664b15a0b57453ac7d55fa7961245c83436b43469d1a63b96a5c33a535e1d0e760b178c76034ed472d40c0a2689abdb8c7b458bfe SHA512 f174467f47e13745f5ea20bccbc9fbb3ec46eb0d4aa03be99b004027e83653c8d39cc9e940662783a73b21d8684f7fc37603a83d8e8f14669e1c74908271a73b
+DIST firefox-70.0.1-br.xpi 528403 BLAKE2B fc8d83097e88fc201d9668f3ee29df91a6299db6e01e43475af097e5dba66d0fbddbace6c0e06dd4bb2073e225dc9344660738b5484d8790401ec49b59af5b6c SHA512 7b2c8be7f8c31eeac26c3f6a2e0a385e099cbe20b1dbca35156a626ee0c1128eec5459525e058b078a54703966f5a0f219bc2daa0a83e4532b246c710a8143b9
+DIST firefox-70.0.1-bs.xpi 499832 BLAKE2B 6abc1556443a66b1dd7efa569cd8f03a850f8be2a12bbc8d38627dc37c29515cc480f4d5a55f12dea9430bd18417e55b7c95bb84ddf24a6e2a25104e620c687b SHA512 3892df3ef827558e481827ff0b11d97bff215c1f331bac273f874acc3f52b795914d4f4b10a51ee74c65c264802d93d8e0908d0edef3131d25c4ddd7e5610c30
+DIST firefox-70.0.1-ca.xpi 531441 BLAKE2B d4931876c1258a6296447fc50246692189c9407b0de58b1d7217d590d6ba443897f4ec3717c3de21484e06b56d15b279d5f9327305850992a2ceeaca10b4269a SHA512 b3439fd349b3f9e447e683e9ba5cd6f0182df24abfbaad05ab63a90f2f27574736a6d2e85eb4cb38b37844d1a928ab1b6a202f2c2ce1513bb97a157bd3ce2ce4
+DIST firefox-70.0.1-cak.xpi 562475 BLAKE2B 72927b1f7c4debb892d4b927b717c3c643fd661492fa5d0b4be9cb66b2e7b51e6cbe105fa1fdcdb53487853222e2b5c5499d241ae86ee4e05e4cf0a1da508877 SHA512 c944c4f8bfc54756934f7520586f4ae5b5ccae27463df70f4076c5ebb9b9f91f865562964ad19c1f0d1d5e7035efc9d2af392e323fb97da6818a4669ec64e6cf
+DIST firefox-70.0.1-cs.xpi 550055 BLAKE2B c41908e61aa485fb3546d55f70bd2de48ee2b398870cfae25d44ced50ed95b26b79a0e95a984a573ba07235ba5f6eded4ee1f426325cbb5197a131b4e044eac5 SHA512 8d115d64e2384636e3b7eedec4e25c55bf96d82f9a9a068ea582be107a76bbf8a3998cdc82432f156b7c27164983f0ab775be5ed250c4adec510266f463003e5
+DIST firefox-70.0.1-cy.xpi 537646 BLAKE2B fc288e9e86cc25aeb038956f8e42c22252fbe2d3f496c0762c6b25e94dbd5928bf44890cef5eb90776272dc876f37ab5756c98049815e77751f6fa8a26f144ed SHA512 ba384aab7196e11ac7f000ab8a5d0481c0733512022b7203ce0d38281a45385f5657871c1071cb0697a83bf90e7ea6bf6e9c6bec7d7202f448f471ac67d27338
+DIST firefox-70.0.1-da.xpi 517237 BLAKE2B 7a33e046dbd6d79d7749c7c8b8c141d5390218ec9bdd172d03571ee1a95239ec22c175a52cc232ae41a89e989a207a282edd7509c7b171c9f8251fa082726671 SHA512 43f6b1f4faacec3d2109e4cbc7fb531e0bb54687dc11f74f8ad10879b21bb7469b744626a7643e8db761f423b7c32aaa0a08c719f8dc4a50ce57f71d1edad0c0
+DIST firefox-70.0.1-de.xpi 550114 BLAKE2B 77431bf5355290586249817e836f8431460b5d15ee6f339876953d941e59b15ea5e9671b4eba8d59b2f5b1fa26749a4932a2674a3569b5bf62cee0a71fe87eb0 SHA512 b13579329561f1f5670974b1df232ffefa02b5515580c98e2d63f7a61189c4ad63d15d714e85312e60ed68df596ca506d133c440bd5ba0976af3db0ee3e1a1b6
+DIST firefox-70.0.1-dsb.xpi 562515 BLAKE2B e5aa39f1ae7b4138803194a7d97342a246a634afd68a74d1c2709af98d6abf013a606912dc3ebe6695849dfb8e9475bba24b6c23d81fab5989feba95f4cde37c SHA512 685ce9c1fa4aed1ebbb048cfb3bf0935f9d5826d27aeb5af39fc68837375a91dc92db1eb2c2872f2629626ecb81fc6bf28d18a4fad5114bf059dc6b63947055d
+DIST firefox-70.0.1-el.xpi 623028 BLAKE2B e6fbf860d08765eed443cdc8f569e9e62b0dfc38e6e20c43e80445fa74f472a58891f6826530201dc341e00abc5d0015a3f74f41da7763ef7de355c210ec9896 SHA512 9d10932505d7fc035e22039b39d12a148cd9804853d5b856ba368b6f85caaddcbf60fb67085a643341bf1cb7b8436c9b6582948eb184bf668d8aba5ed3ae44db
+DIST firefox-70.0.1-en-CA.xpi 506556 BLAKE2B 94a6d5008de4bf0ce978c3210b8a8bec3bbf37204babde0e32b307c2948fb4aff4aad150e9732ba28b479b0ad23219c4ad5e35c1574cac11de13ee0f2ee22bc5 SHA512 f7ece48ae71c42d4adf894ad5d9db09ae52b9c5465c4724c85840b933f6ac7d4761438a8301a08f755d4643d322d55fe3f4d26cce9135061610c4bbfb31eff10
+DIST firefox-70.0.1-en-GB.xpi 507215 BLAKE2B 287cd7cba8a8b1dbe0032ae2789ccf016d8462671f20999f8df101e566eb8225c4b17db1ab412d07342cb06826973f78342c72728f78f67600bd3e6bed2f9ba2 SHA512 fe2606aa57a5e554d218872188f8684e183c35bf08e4c3181115022e0ef2611f1e3658e220c4b74771d6b3e9dd01422221bde0c0565e5308c6b19f40de350218
+DIST firefox-70.0.1-eo.xpi 525675 BLAKE2B 22098a299a55582987efb4401c8bc63ebd442b4c285a6a769e6df53ee7474add508cd37d14cb42bf3e033165a8ba27172ae15db596aaef12f4ccc4708deda5b0 SHA512 034deedc70d86e2c6f91289231df0046a457c7a58b8a66475f5c84fc30accd106efe8f5f13898f4fb78b5aeac9ea79e3ec09f38913d191d7454710c9472b74b6
+DIST firefox-70.0.1-es-AR.xpi 543929 BLAKE2B e91045abff8e0525295b63c96c10ca0f4554ebfe93e223551375ea84c04d71e43c164a72af7adf57bb79cd1d85f50d1ccbf370768ef2442c0c8a7dced263a190 SHA512 66c6cf3ce79b4eae528163ecc9b230e5740ef0ddc136406624ee9064cafc7e058ce9dc6d400970d20a93c061e23febe2dc086ceb36284efc073742081632ecee
+DIST firefox-70.0.1-es-CL.xpi 542004 BLAKE2B 9c6ef69a74fdffd975ded89755d9f630d48459cf598aedd99881dda89cacc9643cfa087777b3e1eb75eb6cfce6b89fe5fad34a6c54aafc400b29aca71881cc08 SHA512 fe5a28b965767c14649e255dcfea4a77af7cbb349eef80edce581ae97f4884917c61dc1063c582795ec65f2a659d148ce806d22a3c0d0694c7eb4c17c57c26d5
+DIST firefox-70.0.1-es-ES.xpi 519408 BLAKE2B 149244472fc0583a97e853002371f4a790da824daa7306a336dbd35884c1bb0c2f3782d01d755da2e639da944f847e6112d1202a1de5ecbb35688cc5e344d56f SHA512 a7f0b5fbd4a7a6fb135bfe19bbcc5160b51299cf07645a6d2d7095ca5a8dbb1d60481c3e896dfac3974766f2c76c63514174e1f8ef9fd6a560776643931679c2
+DIST firefox-70.0.1-es-MX.xpi 546437 BLAKE2B 907b9876b67906fa47e8562a05f14cf8c3f862d364b0c88c3faae84baeee0c2490a546089c9fde157e6c83af6b526fd9f1a1a68f65c15227e3d202030d5c8a99 SHA512 d9a2b13ee8d590b026577923e5a5564b1583694185ebfecc13cc3b1ae6cc577c92bdcdda1f0ff9365f06fbfcdb1c7b9657b99b114a705c43f4f11f4104b86b92
+DIST firefox-70.0.1-et.xpi 527068 BLAKE2B 8dfe2f0d7288955ff64ab5a32627991618097511af4621264958ad776287e3e48217fed0522a729fa4c4c58b7ed122f1084f75e5694965e465d583444d81c84f SHA512 1dc1f94a1c39f87a392b9bb2ac224a3b55d0bfb5286d2960e162af01dd149e610b0b7931f03f788d1f7e84010d43e813d8c10701afeceeb83cfaea8b9f5f575d
+DIST firefox-70.0.1-eu.xpi 527210 BLAKE2B af1f2a6fe077ef1740e8df58d1a583fc59b5cc435e84080673a1d2d1aac8f022ae682c4a2c090ab3ff1434f024848d7322805136b1ee4d974097861e285b6bda SHA512 b96edcc146787763326e48f96c381501b6d2c55158c4c6341968ac629658c4f87a33f6966e119ed2b9f4b3a089a3a2092547d3c346285196f799dc9729343818
+DIST firefox-70.0.1-fa.xpi 578565 BLAKE2B ea4a8f8471bd32e89c956e7fb2815126277ee90f8e284c912549ee097603b3c2928c487fd4fc62f9a5075db4b1dc75fa1aad5897e4dc8358aa1e6c8a44796bb5 SHA512 2689858628c1805d92cad41c1738f00bcaa1fb3cd083a0916de5a268207215bc437d1e5cbc63a2972d800e992906e49f7499320b82ee9014f17b2989e728aa1d
+DIST firefox-70.0.1-ff.xpi 498983 BLAKE2B 1afde0e3a144be17204a1e49f5ca468f5e44675b36a278b20a8262ca26b1056bd506cda8ee2f8b04b42bb7f9540b9543dd8c6a9cc2869a63b21a9b144cc80b41 SHA512 ab92690a00721ff0458790adc5b8e20bd954286f217b6d01f54e3c5898916755c4e82d3a6ab61ff598f34db1569d02847a6c17083d6c257c454e1ff2eab1c335
+DIST firefox-70.0.1-fi.xpi 524452 BLAKE2B b0c684454f0a3f56f5efe3a72427e1d9b81a35f2df38bdffcd4361c529d93111e65f724fc473213be0a27e897516e9fa7610462da28c88e4af85d13e07f7ac7f SHA512 6c1c77683fd6ad6a2bd9507d44d77c33c634ab4077939d22009ea46aea274a659dd87d622fd830dac6261e4ed878fea0054074b72c1191b1f611369763d314e7
+DIST firefox-70.0.1-fr.xpi 555923 BLAKE2B ec167dae863c2b4483c4d7b46fbaf4499d5171d35733530927f13f1b906006a25f8de6ed070204fb5441d2be4107ffcb11bbe8ab8b7cfe447e5fead81aaf5434 SHA512 5cb71c214beb8af614b89a22c18325537c74ab9038d5f0118aa85c5fda1675b3ed63ee3cc6ab0b60453c8cca806e46bbac9fc329d048ea4dc873ba514c0fa220
+DIST firefox-70.0.1-fy-NL.xpi 539379 BLAKE2B 60e7adf27d672438a2bf8428e5d96f120d31ebaa36420e12ab326c444b27111b9e061d5d17ba96379dfb708dd2f7612fb5b028ca0e35393fcbd1f4ef7f32a0e1 SHA512 ea57269b995c7cbefb2f5522937f8e484d383c273d176c7a44c1e272518e518ce59c94c12d978adf1a40bdc8064304fae77808f540ccf10e0c393985b4469300
+DIST firefox-70.0.1-ga-IE.xpi 503291 BLAKE2B b97e2911ce6a2c54e9aec3a652ef1ed16d2832976503f0af81e18a9c2096f05eceb3d3531d288407aecc52b0375488f63a28dac6e16fa482b4f8e18a2a925d93 SHA512 a52c7d954726bb7af0fe29c4c47cbd84b0463b3f3643ea546387ba2416f75bce5fc78531a099d16b4fead96b7cffd26ddfcd9ea54d0bc7d122023be050570fe8
+DIST firefox-70.0.1-gd.xpi 527258 BLAKE2B fa184d3f090e67b2c28af8d6eb1b9e8bf3c415f2df0d9acad828e4c7bff587e4afaca105cd2e05307937f79220c63127c826fc36f31802404e14da37e35f7455 SHA512 b43b0c33342d96f25943b1f928969e59fc171539ac95bf0d6254715535fa275f6547cf909905a1694cad7d28b6e792be55789357c05573a72b655e57acc58278
+DIST firefox-70.0.1-gl.xpi 500249 BLAKE2B be5d1a8609183ca79bbe507e2a5b6a3ae7acfb71623f12c282f1ac1e2405cb5a04f3c4f0df41bc76728fb2535473c6472485981b6399c577872e7108d65a837b SHA512 cabd10908d4b8d3e45f34d14ce7e81d4aa307ce8ab0b979e4d4b9eb12bdbf998d947ecca7b0db908860a022200d3bb77278f6320cb14a380e006d4d711da1e50
+DIST firefox-70.0.1-gn.xpi 555110 BLAKE2B 44805e3140007024c706dcaed9f8afbf41cf535a491e4fa6281a2f15808863e094a59b54e7bd2b7829f4c4d391ca5bd6d5e6cab74311283096a48d6929dc53a2 SHA512 0560d0a6575284f49c8a4920894785d2079035eada79e8e8fa8b0bceaf838783d0228135a293569a025a838b4797155981fd6ef3765db8ce64d7a4c8500f767d
+DIST firefox-70.0.1-gu-IN.xpi 594285 BLAKE2B 011fec5a0f6fb3e0ef4800f18e96e772290edfaa9b23bb6aea5d7deeb533b839d1e36dc4bb75d4cb5fb1338853d2da882a0d9509bd925a7c15989e03fbb7a559 SHA512 1673290422da0633b2d94f9cc9208072f1458ecde86b98de83b1f2e61acfa2532080b70ce0457861fc55a775980188e39ab302acec7d5100eb4e7b9d83a07bcb
+DIST firefox-70.0.1-he.xpi 546790 BLAKE2B 825ebaf166832852b32785e94c7f79f48461e8bdcfd7c155a4c876ba66da2d3650aeade8a7e8b09116ce54f50ccc281c85a9154622acf5e1a234d00fad5f77e5 SHA512 886b3871c874bba09167a6957e7de9571b99d0cead09ce95a950853aa66ac464586186a1c482fa62ee682c38cb294fa4dfdc5279ea32ab64773f9b0940960bbb
+DIST firefox-70.0.1-hi-IN.xpi 585493 BLAKE2B be8fadddb1fd119837d6596890050c24b59926c1aa3defadb1785a6add19a7d0340d44018f3473f4b204dd062e032e0229c719888b0982226e6a65c7d8f02567 SHA512 c44f305c59920ccb06665d5f5b6fa84771c16d3f62aa60e85843084fc7fe196450017e03b7193e4bb405ab38e1fe96421310ef0a755e4d5569c1ed00d78ba10d
+DIST firefox-70.0.1-hr.xpi 531768 BLAKE2B acd8a38598fa78c6f31197c0975ebecb2b1a0d9637a79d14534e7bfce03bf41780542b7aea8916cee3a9eba5b7d5424315ec812af5795e19f0e5417c0b88dcac SHA512 ecfe45a95d9e8f7f7cb4ed3d247717c98fedba9b2cda42c572f6f2be21ef8ed2d6204f75786acd8762a84e6c4dd2b5671d81a44e08294c32cbf8884302fa1890
+DIST firefox-70.0.1-hsb.xpi 558617 BLAKE2B 466ce0b91419b4d82900f6cabb214881405b11443c2802764f49e3831792c5759d392fd96d2ffe48843ecff50265df4a811d26ac90b6e40ff2297140abec9ecf SHA512 55c05509e58c153ce37f8efca6892ed20d5732b37d7629cfc765f6ac2423d4e1001b8bff107da28e1ae3841e35c91f848986ed0721de936a94681aa93926f918
+DIST firefox-70.0.1-hu.xpi 558687 BLAKE2B c9631e2ddbfad69201f370f50236a03a4f57e8b0f7fedcc64141a7080b0c8eec2bbca7275b9a34d5a1a4ea5aeb280fa3baaba94e35b1f89fa362ad1a733ebd9f SHA512 d18d555263562b52b563145b1fd39d731718722ab93192228292cd907ee8ded027e53a66f6a5540b3e9b433028215a5d75151faa1bb4e2388b3c24491181feae
+DIST firefox-70.0.1-hy-AM.xpi 563081 BLAKE2B 1c680a48a13c26d7550fa33e0addb9824e89c905edb21c119ff1b1031e038710429278996e6ee0f1519ad1396f8d1bcb9e7a3723697e7391c579828f508e136e SHA512 eb9ac8e481ff67ab6d5d546163399d45b23a1f6812db68d9e5fa2d141f29f55e11611303d048c54a6bc606696c200ed1e4f4e84ff737e5bc6d27fe787208de94
+DIST firefox-70.0.1-ia.xpi 527646 BLAKE2B 7be3499568e020bf4604d31cba7bb537a8d373f3f84828e330b34b22e9b5a6627fb4e37213e79cc5702988f63d381ddca02e37e766d4ca7a8cf6424cf0adc850 SHA512 a355ac1417ea0b69ab91b06d47416b16fc4e3ade98554edf05233d224b78e14266d140c4a6c88158908058122928d7bef5cae4bf721372b545437e0686cfb961
+DIST firefox-70.0.1-id.xpi 516818 BLAKE2B bfb21dbf62e38cea9151dec0696ff34a8a13b8ddac75c75e1c9e300481893a1180a287424b8e44b91297d39cd52beff0571a45c4b975380a31dd2b77a1433258 SHA512 5d52cfb984435311807873a3d11d744565bf2192c504c88d4226e897eb7186f94efdd96dd4d9e8654dc5f1d1e0bffa19238144e85b83aa658204e06651d19c52
+DIST firefox-70.0.1-is.xpi 516976 BLAKE2B f0aa248e47174d825ce317ea726431140853481262e1369036d25ed5a1cbf60e09896a3e5457451181f5bb481d68e10e8da5ab1e19fe50154e001a46e3767623 SHA512 d90d3462526683c3a6b839638ef27debc298a2d657484b9e7a63771da1eb4bcffd3536c13faf084608f25e9e2de5abb91ac29248cf532f832339573b77a3d859
+DIST firefox-70.0.1-it.xpi 418408 BLAKE2B 4e81ad1402d189c0535497f574446913a3063bea6846ce0338608838da41f9c40d39392d857a6cc5d01845db122ebf7698b87fc9e3f8f8209369c63bdd4975bf SHA512 7d1c498d498c0e5ed6d651668cdb819e12a1c63d80ce1849a3f9f1fd23c5f073d96bbe39683755549d7a52e6dd084c681768691d7c9ef4f8c1d95e91cd0ea0b3
+DIST firefox-70.0.1-ja.xpi 573371 BLAKE2B e089b361e0f562b03dc53242184df90eac6cc168e9c3806309f4e87291aa49d22ea7eed406c6e87589040314f12194f1e999f8568e0ef7849a4660672ee6240b SHA512 63fb6936680bcbd29b09c35f33e83895cfa7929a4ae2e1037198ffc32d55a4c7a09094fbba5f5e190fbeb2ea49b08734d918f4218de34c740b5c0b68edc0b3bf
+DIST firefox-70.0.1-ka.xpi 579799 BLAKE2B d1940609012b56d0fc69c644507c5c9595b145d2ddea8719270a2f79fc5330514def8577dd88ac648dcdd3751c4c2787f617ef902a3c111d746ab93a5b7fccad SHA512 5d3213c4d1b6db01527ce6ccda589415f7dcff57a9f3074689019a584ea04dace23f7818edd62dd83dc975a784a0b1c9259273c3a626e3b0f42f00e87c1542a7
+DIST firefox-70.0.1-kab.xpi 538936 BLAKE2B a9b17aed042a571f361ba4fb987a608e68aeace2761289b776ede46f9d8322fc1af9e9c8889775274075021694c0273103c520bc2ee4d05a99090cc9b2043160 SHA512 fe165d57fcb68bc3655067e08011c5343bd66167b3a82eb955994f43d423ef5e0681b7cff75fce081ab87b34bb95a1eca0f52ca91dec65505af9ff23353723e6
+DIST firefox-70.0.1-kk.xpi 602365 BLAKE2B b0d573ab3f60817fa62764b019b96c01a5e1ba293674deecfcfeb1e6a5f90e836d98746a5d2f7515db0245bde7e8dfb1a52048e0347b9018068cd9a9df25c94b SHA512 59416bbde3e293b8f602d30f5078e20b86a197ba1fed9e7275e877d577cf5ab8411d9f9ce18e72f5a7b12362eb09f565031e15b667f20aa3cbbd71b1918dfa42
+DIST firefox-70.0.1-km.xpi 572671 BLAKE2B 3fad0b64e0c9e848d9cc300a4276d5239bc3cfd236094c867736ea6a53c1cf1ce9d1aa10a25fa384ad385dcdebf825d19d9e6ba5b1747305e2488c82c81b3ade SHA512 7d5f451ce18a667c3d395877514077fff14d52155bbd695b8b1c71e340d8c402dc639a634dabdced2467ce94969979fd84ff811e293fc0f7cc6fddf2791d12be
+DIST firefox-70.0.1-kn.xpi 564122 BLAKE2B a840fceaf4f7c5c809b8357377529cc7360d7224e209d3e519828193eab8842e7e0513dabd48103984ab2e8f2228d7da7648c76dd83fe1ba2282a589d5597b99 SHA512 d1ea2dcbd18996026ab021434bab023cccbc31911edf2565b441bfbc3f3f5e963f77e27f3b0f94183e30ccf601210ddd93eef04cb3c4f9979b3392666198d92f
+DIST firefox-70.0.1-ko.xpi 568650 BLAKE2B 5724703874c1c51ca4717e966e50d4d4866479c3a635077265fa69fffb3530e80777b5645d9665720a052ed7a47e4fda2e5bb6927f25a4e3fec19871034cd5a9 SHA512 0342026818b0bf1a3440cfb4f70842eb04f9bf14afb0c423bf7bcd74a3284d338be56998b399cc284a52b3bc87cf0d4b1747654b7153f8a4950fba73b0b3543a
+DIST firefox-70.0.1-lij.xpi 503272 BLAKE2B 1aff11991e6f21a6fbdd3210eb76ae975ece5b62f0f876954001f93f5e4158a99cb12753bdf43db582b171e7e1ac9cf631b53020559dc00086d577356c190fda SHA512 d0f6310fef136a6603c18cdc0d0937a7041109e55503146a1007b867216704bb6b8e2449bd39d00ce2b2280ca20918d1eae6abd522f45776c27eec88692e94d8
+DIST firefox-70.0.1-lt.xpi 560099 BLAKE2B d0c76e304ef77e7d9d8aa9290622ca0515f89e0e052ffe22630024028a87651ab9b74e36a18ec57d1c5edacb7596ef34220c38122b3ffe95e5eec598337ccf69 SHA512 1721b200536a94a0b4545e8813defd57eff37d105efaf47670a12dcb973ef499dd1e9b6f1f9ae7e4977d13367c65d54e5c10db8b18fd8b6d99b190e73bb1344e
+DIST firefox-70.0.1-lv.xpi 516718 BLAKE2B 24de9dc808fc58d03e78b2a59fdf71cad392c417b1dd7e6d6156972364f295003d550af512a56dffa9f9bc935c70beefee06a13564bc334674255d142aae7149 SHA512 186dc7a6622add62c175f6c2a4b63561dae8762ef32cde7c212760977e85d76cdeb6b9831c8e91559f6e64b70ec2615ff93553d5a6c03181eb1461b97c70c6aa
+DIST firefox-70.0.1-mk.xpi 497758 BLAKE2B bcdece5ab83a2694cea538ab0bda7685f406774e83b44e0cc0bd1b1a9c48a9df2a5d86c23991954d4facb3d3e31b114a2ca7412a9ada79d1b665e51cdd1d50e6 SHA512 513c89dfd1f59cbb511a28856a7cadd6170574274269f12b03f45dbef73461d812474fe5c879d43040655ecddc2e442b23632d72a6e0e07bd8a7edcf952839af
+DIST firefox-70.0.1-mr.xpi 578775 BLAKE2B 1ed7a79bc1214f7bb473d1a81f9b43016a0f7991eba799182a144f7875ea92debf2a0ab021179f5c407bf964613a67ce65fd3b260dca617f3a19bc21ea968a5d SHA512 40765007084516c697cb8cf7a59a47e6e3aedaf521dc586c7a7b8e4f34d988ba669856a701010b459b501cbde426385004cfd0c1908fbcadcbd7ce19a6b34326
+DIST firefox-70.0.1-ms.xpi 496393 BLAKE2B bf6dba5c572299ee1f62985c245734fc8870c76a1f6ec7e703cf3935c34dbfec3c763d9978abd9609ebde61fcf12bffd479cdc4ef3478b59ce6441d024c2749a SHA512 078e42b56d4e102a04ffa72a1cb059bfd41c58ef8d080815f29c6fc94a966a38eb31a7e1af715495bba0ebbe04f89f9bed1ca230a9f6d6721343c2ab908d3120
+DIST firefox-70.0.1-my.xpi 567988 BLAKE2B 05b9b9aee94bd5c408573bd8967a73b57c3b7cac2c53d6e21efd1d954494604d226aa7cad382a7c3d0b9fa487acfe9d59ac19fe8afc01e562e448e7ef07bb11c SHA512 5bd76e98d2b4d82cff3d128d64c3816aa5ce792e684523a2888abf2b8ec148526351c61f684f65449686ab8e10eeb62aefde4b2aad637824f745fa6803c089f0
+DIST firefox-70.0.1-nb-NO.xpi 526794 BLAKE2B b5729f5da3027c938f124e1d246c460b5e04f62b71306712403021e4948783d34c9bfbe15e714094cbb13d652fc385856b74e0f089a13fe3999ff67411feb747 SHA512 5fa6ffae454bfc8b469305c940fdbd9a653fe3fe9e4de8ca8d15dfe7846aee3484ea2034d207ff5405b21f950395ff74631eca13e97bfb2bfb9c1a99c64d7828
+DIST firefox-70.0.1-nl.xpi 522983 BLAKE2B 0f53dc19919f973b3e6d024ccaff3118efe00ccb68c87c16267174b63111b90aee2575b373c1802e8db98064bddce0ed233bc5748ecd2f6b2dfbcc527ed1a4d7 SHA512 b6221a2fb7e62606c71c67144e6709125cf1269e2fd6e4f5774ef5e0ddb481cd3f543c56eb695a685b066a33ca6dfdbf59fc5bca88059fd4bc2e7d2e21a2575c
+DIST firefox-70.0.1-nn-NO.xpi 526183 BLAKE2B 1a2589782384953bf4dd4680bccffefe6ddce8907f2cec17aa30047b5b47b80086491713955f1588b25b60003ae7c08e90838cfee7a608c0a7339eb8fa8e6e71 SHA512 3f75187edb31a9079aef0d91763c1f00f465d88554b42f080b3b44b20246b5ae1531d8633867097643cd091f4d932d8d29d8e5725fad4d1dff66a90b653e4578
+DIST firefox-70.0.1-oc.xpi 514936 BLAKE2B 2f6b311a247fedc77742f37bc6d7b5fa130667a9f49581fb4bd41ebae23b3b03c70dc268e74c5841362fa49cdf65063eb42e9f162d10558b9f6b783f0cb4ce72 SHA512 576b3361eabda0a3f0d292fd46c961c4588ae2a0a1bde19fa2eeb6887f9000c137703d354fd7b78f66397b9698239fc85fab2ca1a7342d560faa29a3f9550eaf
+DIST firefox-70.0.1-pa-IN.xpi 580160 BLAKE2B b8752f734667c02e483d70f4f059f673d884c2f6d70a2f1dff4f9ef14cee3a8564e1888cae83c2c76aeb6efc421bbf4e9f9fd1390b333ae7aa534cc910cc6bbe SHA512 1d7e5c25d3d616083c689f16507f60c00c9a872ac31fda8e60131316ed9d54cd49c1eb747334c15dd8c17994d260e9e61f50b935190e887dd8e2bc35004cf448
+DIST firefox-70.0.1-pl.xpi 534133 BLAKE2B 2a44de2472883bec3b7e62581a7411d5f8c4db9c42664bc04943cc169c7b9dab570b3811cf0196e73c72dedf7a67e303b09daa45e4547625dac28c2a1002f868 SHA512 7c41e0d940d2c79d08496e0d771e4a5950cb61ceb5915cbd545f4da8f313e84b435a351271f0a9efef358ab38ad6207bfcda1308038048c03e81675c27c5ad63
+DIST firefox-70.0.1-pt-BR.xpi 524391 BLAKE2B 79ca45a13df758848263a2186a8e2f9c33d9e0e97cc652ad8f3bcf1f397591844f01ca806846aeac4cb66cea1fe41504e0936e516e1651c7ab895310e8f21cf0 SHA512 f1bec41f22f2c64dda6bfa634794a058d13698718eb8377c8045277cb4a71633f6867b04dd0b8ed42dc2018e53759a54206d7bfbf0d9f44ddaaae931f35b4774
+DIST firefox-70.0.1-pt-PT.xpi 526150 BLAKE2B 4f15f1bf5fa8e0752414c1e5bb7f3ec2b3a45658097883701168083d318274fe20875ed7d16b8b29fd1ccd28f9ebc87397267b02a6d61e4624d1d68d754e3e99 SHA512 2d71aad32634acd1e32ceaace62ebec23c0a5d58a7bd23a5ff9ce0a0c32e97e360cbb4a8815bf9df512f9746d4144cce9eaa77560278ec429bd7ecb3a7ade3ea
+DIST firefox-70.0.1-rm.xpi 526477 BLAKE2B 09e039eac736f1da2ab9f7eb2fc38b7280784cabc911e8bc8b67b27c6d68358b371779c628ec54be96f6adddfba249af7db19a788f35a9d63ece72ff1dcf9962 SHA512 b05740471f6862e01edc72bca2aeedd433ed4d8a447e4b4baf6657e5728f5f4397ab7d402fdf34d1c5ea5de893c0c03b4d666a384d28f8d61c01547a0b6cf2e8
+DIST firefox-70.0.1-ro.xpi 535616 BLAKE2B eb9361df5ccb85d336dc1fa3978c60b716e2c5cd43e942e789b6b623422604a4e997a3e05a80f4757d59aabfd250c14810c9992207ad5cf8145670bd33819d48 SHA512 6367f1d1acf6a91ea43a2c929011a7bef1db4b468c98d088e24ca19094b846a5a8e765240216a59a4963820145d18d6657d4d93a040890d7eed0521a19e80d75
+DIST firefox-70.0.1-ru.xpi 621181 BLAKE2B 4fc30cb00c25bc7521270045849d29db386a0107119d06d001cba649eaccf0bf155cea7a7243fff2a8ae45288f65c954e4f9cc2ae1f85eb4d8dbc847cbccfe1f SHA512 7c94a788465753ef3474e1e4f6f86ca6cd853174ef76dd2cbbad656681bbc758bebbcad83937d32d1bd7c2c0c8b4cfb07f959165b2e5b2614b6b1355ead9d27c
+DIST firefox-70.0.1-si.xpi 541234 BLAKE2B eeff527f7e5504f845ca424124378f0c15804c93ee38611a4df58d9d56601cae5bf29dec13791ee47d19a917d07cac7e0ae1a0f6947ad96668390783bf70438b SHA512 adb08a2820d62e4581228a75cd0d17e8e12bdde90d931ab816ca124b4a8acd508bdc5ea97f17759dc5496007a76a07a2d797d4e21ca113dbce57817c5aa55e26
+DIST firefox-70.0.1-sk.xpi 555574 BLAKE2B aecdba2eac90c15c45924ca49ffd389dbbbe8cddca005c704a7bde6c8c453fdd1d2fa64d7c4174435f6410093eb105adfdd3c07fbefed56cc1141e90f5e55dd4 SHA512 694afc7508988c3185d69e95b30cabf9a8d91e34b783e6be74e972ee5182e1191249e80a4e95e7724b62047245b8e585a42f5d3dc1d00cc8b05d7a760575b942
+DIST firefox-70.0.1-sl.xpi 535538 BLAKE2B 13885dd007940fbbf463ee587ae0c2c94cd4659bf5170615e7cb06a2975479b640a3b3fa8535448b39434686d064b23d6bb74a94e036c58fa5b137601197016f SHA512 9f3462c0fe213a48bc2a2350223648c63b6b421a013e9d722b8b4d6f864f75a669a7d6ae4db1d6642dd9f2cf37e6ac13718b65acc8419bfac998a1d91d1c5ab5
+DIST firefox-70.0.1-son.xpi 467351 BLAKE2B 247bb04dc9a5b7e97a966041a9ec661cd040b36979cae1a20632b2b55a896453e717a9056b3512e0f0a35ce75b5033c77913aff63a21ce756df68e0ad2d3cab3 SHA512 f81007e509c579fcc38805a2f5f8cc5f5fb70eedecd66848180f6dd544ced668b44dcf3f09242ebdc72a8e57b374b67698e84c6df62a9314e132bfd14c29fcea
+DIST firefox-70.0.1-sq.xpi 553127 BLAKE2B 924931cb2465fc4afc0ad0bea27fc6d7f351a303078120e8624e4a66ca54e723dc930e92ac8cbc40f124ec1f30f723d3fc21d8b74772f3207b4b09f828f9bddb SHA512 b909938e91ccbc9cf09ad5317f322dbafab770a76ff4565ceead9e82e05eb5318995e483c30d69d0861b070c42e9dddc6a5692e0ee9b07353b43eb7fa6af8fc0
+DIST firefox-70.0.1-sr.xpi 557868 BLAKE2B 9c4348395a52c6c6938f14572565efb06a8a3c3a564d08d06b8d3c1cb21ff08c54ed34d0c0ee943b7b2555a0754805c8e49ad521227f979abf743480540d1963 SHA512 4c9db0b5b2244f904f84bccf0d70d4795da944677224ffba71ce10421645b32a4e1f98cc0e2c74a0189b9f6a96c7136fd40399289b3d8b195e2f1312b83545af
+DIST firefox-70.0.1-sv-SE.xpi 537942 BLAKE2B 1791d04fb710045b921c4f96ba8849e7c592b818f5a61780c7d52796ebfc171e1efe7fb2769895da1ffe327dd4b1f3a23e2466e3b0108c49ed648c0227389112 SHA512 9b752c4fe4d40833a8cbdeb83d1629f8e510aaee90f28da43cddb38b3742e0b91e11ea8af99fd09a35326fb523360348c85707465d078d085023f2a8d83ea846
+DIST firefox-70.0.1-ta.xpi 567489 BLAKE2B 7b289b8ed1165fd172664c936f00f124a0b0f275bf84f2d84ab0487faa8c58e48c1f1984bb466bf4e63964a3674fbc455f9fa88e565bd7d46eafd8e0f6208995 SHA512 1d98cae23aaeca5bcdfd5d2c9a2d68eb6bfca0adb0a83b7abf2ca457efd88adc27d07df84bb33d39c3395940abaaf357f05ed5f03a5c4f52367632eee342d9ea
+DIST firefox-70.0.1-te.xpi 583374 BLAKE2B 6f17eecb3a8b04679cf82cb093ec2546b1d8b974ca2bcb47f138fd2bdee544d983a3cfa53c60f6616a7f2ec85b8507a798a6412c35f504a8557e4a5989c08021 SHA512 536bcab19f52aaf033d7a8699b62753ecd4a5d13cfe47c2bffedc94098013ec2678b64054a5d207cb0c8808c118363ce565a8d03c5f222140bda741208acfa0a
+DIST firefox-70.0.1-th.xpi 580327 BLAKE2B d819e9af5a96311c85bb7465da69349c8eb7e3e35353298c4e0b77e8493cb2f3cdb32beaeb0f60496a92d372e5e9a3a84710a5fd02851f0126d5cc059652fe78 SHA512 dc39ee44db4fe27fc524885c2f2b4e2fdfa1bdd2dd94a4a0e0a4a933a68aa2e70cb3d30957a2a64183c8f970a1214caa170c6d68e04ff705d4f63e9d3b03a32f
+DIST firefox-70.0.1-tr.xpi 548410 BLAKE2B d89adf4df8dc650df1b9d5b9142181817dd6ec99e2aa58b7ebd677a8a83387a285c631fd68fcb99be40bbaa47ac5550e9595262f30e19bf055da5b0910b92789 SHA512 b34e8a11948fb55744c2b72477cd4a4d9064e43143c91c6d2fab765a56b3c417790e77d312fed5794d1ac568087c45275a00dc08851bcd287e06a65403b03dfa
+DIST firefox-70.0.1-uk.xpi 606866 BLAKE2B eb3182232b3ee467f78cb5d4a69d8d2679db584a62b237a0027d3a48d6d934f1ac117b5ba78caf4ecd17565f55d99768d7513bce3a8327d17ff791bdc00e952c SHA512 09abfe836f9c9b68cecbb8992f444daeee0b0b1e60c309de637a2b974963550d805c4d4ff060ec4f6c37e934bd9ae33e291101422b0bf9c046886b1b26fa3fe6
+DIST firefox-70.0.1-ur.xpi 558438 BLAKE2B 1122a8e789fb1e1d850f2e5e26011d8d987ca7a6baa8a00eaaf7e1e98548f8c554c1fb5745d21a96cff679188f65f08aa05d9fcc37cfdd2216b84d94db007cc5 SHA512 d0ce5380348cbe2d4ed4365e880aafb471885c2d4bfd31ee49ce438bbabbad7442d03b3bea3f40ed1778d9cdcff4ffcf09360909f68ded6735ce8ca042cfff23
+DIST firefox-70.0.1-uz.xpi 495979 BLAKE2B eacf04cf513d073231d4279df2607d65d9b97391e752586fd64cf8846baf6be4d3c04f6deb5d8df4cba5de366794bc3f79f9b0d0e97b1066664cdfd89ffb1f8d SHA512 19e11b121fff63a27246f51572158b64c0c1e7361e29420e7a538bd2933603acbced12fa390d07fca8af4317210dd5aa0bf4449830d47000f73e3f8dafa6c600
+DIST firefox-70.0.1-vi.xpi 561212 BLAKE2B 3178d844290c880b74530c20145ef8dab36a6331638881cd3888acbab3764dac963c2695bd13d85a3b0253bc762082e59f8dee281b2f0e77bc7496b744beb7e6 SHA512 765ffbf1ef7bd41fe407187f6df3c7b29ceecd7aa52d7b076e652a89713636ab90fe80988121dc6c58264aa3632e3e991801440410afd71ce424c9aa6d167828
+DIST firefox-70.0.1-xh.xpi 473961 BLAKE2B 218520f387dc574fabb1d9a1361156293592d52ac906f7eebb1afaa7d23e7c8043b35a5e785a86e55d26f69309ac284ed592105e3f94ab186a6a24a922c7485b SHA512 afa61b623c0647a02b439ec42132cf9692dcf32b7cf844d2ffb15db07636a5ecca1398fdd2d5d5597cb7445ac3e90c7b8b1f51096548b455f33a64ed7f288ad7
+DIST firefox-70.0.1-zh-CN.xpi 568442 BLAKE2B 305ca92f7011197be727b3203bb925a562cea719f22e6f8e766b7fec629f34d1afa3fa27b32268988358818a3c09f0e63f5a9053bae3e038de5c1c7f1e3c6149 SHA512 8cfd758f6d9366ddbc90a90a01ee8cd4a1920bdcacf68d556cabe679bb05797e6dbd1827f987cdb91e96a4490534428de7a44b2b98b3b65833e08b97971988ba
+DIST firefox-70.0.1-zh-TW.xpi 568302 BLAKE2B ff06766fe46d17e7393e93554901548287b8d193ed3ca85c124b44d70b188a76b00c7bd858de6538ba30c8d2a602710a1289c14c5cbcdd74a5d2e80f89eaec5a SHA512 31289f8e96b60683dc9d15da183cccea99d260b95f9155463a1b406d520c33367c9d7760a04ff9fafd1528e89ded66ca45dce3d6d971f91ccab4dbd67cccc803
+DIST firefox-70.0.1.source.tar.xz 326335800 BLAKE2B a7f748719a42f5929150f8a6e9ff6e11d3f92deedc30a1c1f0b6ec7fc3cddc76f7faffc78e0544949599d6142a9fd540cfe467d393c42bcbe9ea027212a937af SHA512 798e18620e50ef10f184b6e43c88cfbad8a446ae005204582bccc2958107910617375b0ff622c85fb768b48d490a31ea7674eef9f0c415aa72cd958f09a9f725
DIST firefox-70.0.source.tar.xz 321160764 BLAKE2B 9e933014df3af5556f4084ca548b948080c657e102457c65089523d0ff529a1ca13617e9af0a088c8d87d3fb49def0f9e51a5c359e8a43cabfbf0d1bef8eaf22 SHA512 c2643d88d59012dfd762357d66005c8892dec066b0ae9d8d33a29ea4427d1e5ae4a0376725c7d960c0025d5c9567eca816eb612b4ea987069e455c06fc442973
--- /dev/null
+# Copyright 1999-2019 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_{5,6,7} )
+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}-70.0-patches-03"
+
+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=9
+
+inherit check-reqs eapi7-ver flag-o-matic toolchain-funcs eutils \
+ gnome2-utils llvm mozcoreconf-v6 pax-utils xdg-utils \
+ autotools mozlinguas-v2 virtualx multiprocessing 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 neon pgo pulseaudio
+ +screenshot selinux startup-notification +system-av1
+ +system-harfbuzz +system-icu +system-jpeg +system-libevent
+ +system-sqlite +system-libvpx +system-webp test wayland wifi"
+RESTRICT="!bindist? ( bindist )"
+
+PATCH_URIS=( https://dev.gentoo.org/~{anarchy,axs,polynomial-c,whissi}/mozilla/patchsets/${PATCH}.tar.xz )
+SRC_URI="${SRC_URI}
+ ${MOZ_SRC_URI}
+ ${PATCH_URIS[@]}"
+
+CDEPEND="
+ >=dev-libs/nss-3.46.1
+ >=dev-libs/nspr-4.22
+ 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
+ >=virtual/libffi-3.0.10:=
+ virtual/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.5.3:0= >=media-gfx/graphite2-1.3.13 )
+ system-icu? ( >=dev-libs/icu-63.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.7*:0=[postproc] )
+ system-sqlite? ( >=dev-db/sqlite-3.29.0:3[secure-delete,debug=] )
+ system-webp? ( >=media-libs/libwebp-1.0.2: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.9 ) )
+ selinux? ( sec-policy/selinux-mozilla )"
+
+DEPEND="${CDEPEND}
+ app-arch/zip
+ app-arch/unzip
+ >=dev-util/cbindgen-0.9.1
+ >=net-libs/nodejs-8.11.0
+ >=sys-devel/binutils-2.30
+ sys-apps/findutils
+ || (
+ (
+ 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] )
+ )
+ )
+ (
+ sys-devel/clang:6
+ !clang? ( sys-devel/llvm:6 )
+ clang? (
+ =sys-devel/lld-6*
+ sys-devel/llvm:6[gold]
+ pgo? ( =sys-libs/compiler-rt-sanitizers-6*[profile] )
+ )
+ )
+ )
+ pulseaudio? ( media-sound/pulseaudio )
+ >=virtual/rust-1.36.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 )
+ )"
+
+REQUIRED_USE="pgo? ( lto )"
+
+RESTRICT="!test? ( test )"
+
+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
+
+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_setup() {
+ moz_pkgsetup
+
+ if use pgo ; then
+ if ! has usersandbox $FEATURES ; then
+ die "You must enable usersandbox as X server can not run as root!"
+ fi
+ fi
+
+ # 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_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
+}
+
+pkg_pretend() {
+ # 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
+}
+
+src_unpack() {
+ unpack ${A}
+
+ # Unpack language packs
+ mozlinguas_src_unpack
+}
+
+src_prepare() {
+ use !wayland && rm -f "${WORKDIR}/firefox/2019_mozilla-bug1539471.patch"
+ eapply "${WORKDIR}/firefox"
+ eapply "${FILESDIR}/${PN}-69.0-lto-gcc-fix.patch"
+
+ # Allow user to apply any additional patches without modifing ebuild
+ eapply_user
+
+ local n_jobs=$(makeopts_jobs)
+ if [[ ${n_jobs} == 1 ]]; then
+ einfo "Building with MAKEOPTS=-j1 is known to fail (bug #687028); Forcing MAKEOPTS=-j2 ..."
+ export MAKEOPTS=-j2
+ fi
+
+ # 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
+}
+
+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
+ if use hardened ; then
+ append-ldflags "-Wl,-z,relro,-z,now"
+ mozconfig_use_enable hardened hardening
+ fi
+
+ # Modifications to better support ARM, bug 553364
+ if use 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_enable system-sqlite
+ 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 ; 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
+ 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"
+ newmenu "${FILESDIR}/icon/${PN}.desktop" "${PN}.desktop"
+ sed -i -e "s:@NAME@:${name}:" -e "s:@ICON@:${icon}:" \
+ "${ED}/usr/share/applications/${PN}.desktop" || die
+
+ # Add StartupNotify=true bug 237317
+ if use startup-notification ; then
+ echo "StartupNotify=true"\
+ >> "${ED}/usr/share/applications/${PN}.desktop" \
+ || die
+ fi
+
+ # 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.9" ; 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.9" ; 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
+
+ if [[ -z "${REPLACING_VERSIONS}" ]] ; then
+ # New install; Tell user that DoH is disabled by default
+ show_doh_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
+ break
+ 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
+}
+
+pkg_postrm() {
+ xdg_desktop_database_update
+ xdg_icon_cache_update
+}