diff options
Diffstat (limited to 'mail-client/thunderbird')
-rw-r--r-- | mail-client/thunderbird/Manifest | 130 | ||||
-rw-r--r-- | mail-client/thunderbird/thunderbird-91.3.1.ebuild | 1133 | ||||
-rw-r--r-- | mail-client/thunderbird/thunderbird-91.3.2.ebuild | 1133 |
3 files changed, 2396 insertions, 0 deletions
diff --git a/mail-client/thunderbird/Manifest b/mail-client/thunderbird/Manifest index b00bcc87966d..8e129e24e8f4 100644 --- a/mail-client/thunderbird/Manifest +++ b/mail-client/thunderbird/Manifest @@ -204,7 +204,137 @@ DIST thunderbird-91.3.0-vi.xpi 702844 BLAKE2B 75dad43c5ef0a81d579b54913a140d78e2 DIST thunderbird-91.3.0-zh-CN.xpi 712870 BLAKE2B 975ceab44fad6f5a073b5c8c03905e02ee23af7deea94ad47e34790c528fd7fa388e511c57a4dab623831918f1ae4c18edda1cbbab2aade0f8611e62ce5b809d SHA512 b9b48a34d9606afcdea5a982d545bf516faa8f76659380918a8f05904e38f4a43bfb01ed4ea5b6d36c420fb1a0515acabc253a02fe656d2da63d338aac8de113 DIST thunderbird-91.3.0-zh-TW.xpi 713850 BLAKE2B 3cbb2f628db7bd578eb4072b5140017f059c4b0146b76e82fd79b308efd06f952be2019eecfde84bd52739614bcc6a4509e01465fa32a25f71796f94875150bc SHA512 b8bc40cfc3cb7dc6fb2206d485ef602b725cb2346f5ef6c5223f9b2bb3a0a93800eae494163018b44bb2e4c9581f90039fba7cdae7ebee849ab68d02cc70d4b7 DIST thunderbird-91.3.0.source.tar.xz 403256924 BLAKE2B 0ee2cc960bf7b6837a73ed8d8916226f8275913d2f764f76fb16e50e66c94e8892cec755af0d3061edbce80dfe35b646af0f5d7d17876b434e7d32d5a90eaa04 SHA512 938de817ed2cad90f665559da1dfc266f34b6ca2e688ee364112edfdb1167183a8225132ed50b672ceb14402be933be82fd1ef8b46f103cdf1534a403fb472d9 +DIST thunderbird-91.3.1-af.xpi 560244 BLAKE2B 96b15b5f0680e2c85645eb85ca965d73942db55164691dc9064580ef21826d433ccd007d432487e85070488a8ab956792e96edda876bfadc50dc4dbd85062fe9 SHA512 5a123d817a7ad13597ff586746cb4ddb3ec925d9489cf1b883fc1d24ee40eac965bcf5673e3a395c9e8f726e5a2cad8f83ecb5a0defc8b551070f54a4184d58d +DIST thunderbird-91.3.1-ar.xpi 660311 BLAKE2B b46f2ade020de3649c7e955b5373a1008e0ee2ea267a714797c4b83440da2a9f2e444e6cc67d8a74caea4b7e69a24896a670c5497e9c79f5398b6cb652bb3f9c SHA512 168fb07909edf1f6388da073a2d98774be3105c067743666bda131535943d2c9b24fc56f368884e06410f7eb81d9335458737667c1892ba80f367a38fc9dce88 +DIST thunderbird-91.3.1-ast.xpi 577050 BLAKE2B 5ec41ed50ea8af02ef778f2352e5c70eedc5072440bc1a87442397c9a913e7c898a5e9adee00c91992669931cac97bdd7a8b32ebaea15a6bf91ed1c34bd8c91c SHA512 f5736c877d353450908de411f09dc7543a9ddc963ec6743352d07bbc7861724b4008a160567735c8a1d99dd3d820a8d8d2c36e3537f746b3fd779c7da04d7933 +DIST thunderbird-91.3.1-be.xpi 687226 BLAKE2B 1f7e1a52f69816aac6f3916f76624fc7c3c98af9ee8cc5f6b0d03d175aa4e9af0257d50ec79743b79d53ac43cd790ae5ec5c38ebd3d4e86c2460df0394cea101 SHA512 f88010bd6018736ccca7b1a8b4ff72503bce54c8244db4f55ba5fea3348808f2af7a52f5b89586fded985762ce849f530383cf2052e2f0e301cbebf7f24c798b +DIST thunderbird-91.3.1-bg.xpi 686414 BLAKE2B 7f4715cdc04edfb80c667999ea9998dcf4ee35f942263f59f570647ef6d4cad1069ce20498342828fa65a9b279b9077e598c484060986c9d839c90cb255794b8 SHA512 41dc23c3c53c9348afee3f5f6c0f31c103289a733b362d643b07d627270e76f2aafd7b8ba1db2bf0c4b144ae5c44c2631f23d079cc7c3cb37c10d1a3ada452b7 +DIST thunderbird-91.3.1-br.xpi 616016 BLAKE2B 62f962db1a8e1c902a337b01c77ea3f810c24863c1dd8cf7fa2df44d0681bb02fb5c3db86af24853ae3d54a99a7e51d633ed5647339bf8f24f396de7c1f56267 SHA512 dbebfb8366899518971d06dd738a867bbbfc2c5716a0abab393fab89dd6e5f3ecf16b0b7be4c7b29fb6bbf3556f7fb5f4cd023b754c1f3da6fb91acbd83d7247 +DIST thunderbird-91.3.1-ca.xpi 641158 BLAKE2B c837bf4b903e4589f8e668c79a7dddab4968e32ebb855673e5052ea512c45c8c1ff1aa01e5a29c258dd9e2a37e4a78bf33e555803ed312a7cbdee8921428a544 SHA512 c70e28a5542176d8105ee329feb3af3eca165f4daa5cf0d246c9c1b78c073eb3e43815ae763f7e9dc5e99a62ee626d7c5b3b76156c04bae74ea535f59012b0c3 +DIST thunderbird-91.3.1-cak.xpi 647214 BLAKE2B 27532b2f1e45fcd1aedf3d35e365fb99022a33b93db4070c01d42c721639cf2318fde919efeb8fb3c033df15ed04821f85682c14d4a902c32bec7274d27e2812 SHA512 06c82064b2b7d65987569b915fc943226530430b9acd546c075736ee8a648b3dc4144b6c1f76e5d0e4cc727b83f53535b2cf14b404f9e8c4ef4ef3ec87a8f2aa +DIST thunderbird-91.3.1-cs.xpi 698286 BLAKE2B f2ea823f6710eb1fb16b6531b2a2aece02760314e91f73a1d56d18de1e878ebcd76c5a3f0f005422eba54b6217e73e5e131af010227099831afb1cfb9d3e16d0 SHA512 314558a583f8489a6a34c97277f3d55a1a9f421899b78172958498e6ab13b0d8dc346582073a26620cf62cd9e3942460bc894e7ca2873b0558a85719eab80fcf +DIST thunderbird-91.3.1-cy.xpi 673996 BLAKE2B 45c6593b9050f8d73ead6d26ee5b2444dc393806c38e9e77f44e4b0256c8120fb54a71cd4b35973d4ea0230ab748fc290a03d4cf1c11acb1bcf571148fd5f78d SHA512 20c3118701bc348b7e92f2e3993008508af15c61269e4ec9de9124d08941df732cf922b7d1b8b5508812a5c6e6681d264d8e23b193eccca6eecea51b6340aea6 +DIST thunderbird-91.3.1-da.xpi 655950 BLAKE2B bc4775113294d34b1561d64fe85e83c6b3497d2724ff1f08f1ed9dd8ff72fe53e457571ce32760cea910edceece7c4e54762127e0a9b2c0702ed2d2b315f1bca SHA512 f418d15bf33fb64bcc89ff4b8b38e7b490429999e8a53c11b4d54edb840dff3d521e351499e49535f2c0dab4750382d1ab47b4fe01e32866442af3427ef71137 +DIST thunderbird-91.3.1-de.xpi 687003 BLAKE2B 84ab8cff6d38c4b220d536bf963c18a60fcc16a1917864138066959120b52589f704d8ead2d6407fa810aecb8a85ef7072bcf57eb4362aca12032ace14fa0053 SHA512 46422f4441dd0baffcec39ae7f1964dae1674b613316447608e1ae71c1229c2b5cbfdbf4f31c05b6c68a98cd97cbc7335c0e1295cd8de0b1e0428c2aacbdfd67 +DIST thunderbird-91.3.1-dsb.xpi 707235 BLAKE2B 5eb6fb00de070201aa7d53e250a6b85123679e44465ace188fc399d3b86c66cb0e46dad31c3040237b3effbd0aa74aaf462a57eda1c3e105d85ffe9b8b0ef69a SHA512 462352e570d81925ea4ddb404b9837f8bf6fd446900b905a87dcd38025095be1a722383856b0a1291ce012c908cba35fb4ba5ea355a2a7d7142c728817876909 +DIST thunderbird-91.3.1-el.xpi 803551 BLAKE2B a010e72138fbfb59b9901cf5528b011a6ba1dda90000170d5c1f40239d85d5d6eea510d58b6723ba1f36cef4e2b7f31b12bf8bd7dfe0d30320cd830a9cbdf1a9 SHA512 7cd702d24a068b7de86f788cb0ec77a617555d9a22ab5a99b4c9550de0d5f357af915a7c6a3af5b1260f0c518b3176209b1e18054fa5bea0fc6960bd4d4d7c95 +DIST thunderbird-91.3.1-en-CA.xpi 634125 BLAKE2B 521ea2043bcf96e077dff4e484edd1332c068cd409b3bed9e10161fdb30050245e7338ba0caf40474afbcc1ade8981de73b128fc182dff92988ddfc7a2c361c6 SHA512 0a811ad2214c45d4c2c512eae9dc5156bffbc7680a4a7fe91888b37dc849a539157acc4fb9e2e1586d9b18a32c2f56aa1803aea529892ff852e7420e5d6f5e75 +DIST thunderbird-91.3.1-en-GB.xpi 636515 BLAKE2B 8745129e430fd2e14da152266079b090e58a1426d9d8f1c187fdf0f8a2f17b079c6ace2ac26f61368cbd92629d7c164bb1fb11bb9d655e962cb5927daf56f35e SHA512 4b8f54321a06b02edb53fd83e1cfb5ed83bf5110cf07ed1a05540c1dcfded030f228837c04ba1e402fde2bbb5d63593fa07076b847a87dd48672977615ea4105 +DIST thunderbird-91.3.1-es-AR.xpi 685105 BLAKE2B 83e6dc1b76240aee87939088e31c8979887b07f26e052f72ac1631c65652dd3c9335e47f82c23880367bbf88f978d61b8bc98dec0bcaab8db2a8d5dff680ba0e SHA512 b72ebc12a6e2ecf7c9ec63c6704e56bb47b785c71431b5d67d7f68f592f53b9c52e184c55097f35cec6d3a0a18f5ad99548257712366ffc03296cc340eac8208 +DIST thunderbird-91.3.1-es-ES.xpi 573861 BLAKE2B 9b511f17e4f12ee999d9ec04b0310ee6f9ed6f0fa19641cce4db104832aeecc56e37f2aaad9ab3cf2835e6d58727060922ff9811b0d29bb7972cf24d1828ffa0 SHA512 3b64e93a1835b5a11f5d1978157d1d1089fd4d5b5f52b2059322ab8afa3eb9011723b9a1c4c73818e0b9c0a6a97e8eb5a2a12fe28d552ecc1a9dbfabed5d3fd0 +DIST thunderbird-91.3.1-et.xpi 598832 BLAKE2B 620427e8ffb08be43e258a74858766ac825f30eaa108e790a6d6d94b37b6011c308bbff89d7f5ad12360bd43667cbcc0d643486ef59ce7c632f6fab5f7fefec2 SHA512 c64cf3df9bc80ddb6497dc2fc629816571956731eb5a49742c244bca4bd7ed04e7175091a178c70e04f800f5cb08daf7946f3df57bd3dd2c788e1244e2d123e2 +DIST thunderbird-91.3.1-eu.xpi 666123 BLAKE2B 4ec1846dc87dc3a22635891c045093de115956e7ec60bb6bf05405beef68748e9aa04821873cf145608ddc02ab3b435c7ea7ce5a4498ccd1bab93d6f9752277d SHA512 c9e748190eb9dd2a3a0b746c9d6f5aa093b03815da8f48c0d6306640ded9d17334d532460f972142505811139e329749184447619f016d841c033d7143b0062d +DIST thunderbird-91.3.1-fi.xpi 664675 BLAKE2B c1e998eb843650f5da17a7f8f292e0e26b79cf6fdac0baefa73df73ca9b3ff298f6174a488269276937fbd963519ebd1e9b094ae2ed8c7158386540dcf5a3352 SHA512 3fdc9b1d2b880722f98d8671e488358e85f9eca9fc589342cb185bea278dd9b8122e8af862c7bf14cd1659ee85b0971921b9d3e6fe29a0e34e79a9cd2acd8b95 +DIST thunderbird-91.3.1-fr.xpi 697504 BLAKE2B c09827b5737af2cf79775a648fcb71e6277d306351749057fc60ddfb32fac8fc41aaec241e490f7abe6ae1b452d4eab354dd21b30c5563db8e1fd03aaf04da69 SHA512 1205403633b5b4d8ee758656d48e16de1e69a6e0a60754d582f72481983cee9f8dd3bdaa5f0c133336bf796ef925939f97e03331ce317e85724ab808f66681a5 +DIST thunderbird-91.3.1-fy-NL.xpi 680170 BLAKE2B 2bcb5a8683dec68991b0025693219644db38c28599eddad0e0209d4e5a7fcdda8036056dad3e4bb0daca4710e46d0a9b3af1f1ba4e3a6c05b1b24b6bd98477e7 SHA512 88756c2b54bb2246bed6da072fa9dea852379dc588a3879a60403751bd9c3db40603bea3ff232cff64eb846719d40fb00b67e29b656d60802ab84e5cb32dbc8c +DIST thunderbird-91.3.1-ga-IE.xpi 601908 BLAKE2B 078ccf9984d776be58b9d418502f46450051aa39295f4c8a15557d954c94ac9da5d5ff995c065616777878881d9263376abe6a0e10c19ce36a34b21a8e60fab2 SHA512 b109c298926a8c3fb69855a8573e004d5deed48627389c00451007297811ea09b7296b1a698d7c3b756872494a2ac3120ffa0c15563bfda6ed1dc2cab8a87cd2 +DIST thunderbird-91.3.1-gd.xpi 635775 BLAKE2B 509c6a6ef970514c86f03d61a82ca8c0a7941d4be3aafdfa2f1ecccd1ad379abf237f39f82fb81ad11d84c8099ef7c6349e8f29f4acd2489a7462a5b8c3c5cd7 SHA512 4f1f696ffb139cf6774011f426bb1ffb1a5136065415fdb54dd55e4b7b5278961ea7a1950d8f7c1b207abcf063a30c96c60c3d7f4fcad02d332bc922e34bc385 +DIST thunderbird-91.3.1-gl.xpi 671073 BLAKE2B d2aa5947514193423a778d6b4829fb273b82fcd46d0a2aedaa9e9062475602881f8233a9878b3ef6f012361119c3a8b8cff597239d7f45911bef8e013164dbb0 SHA512 b21e91fee3990af8a05a4e31bd97e691f2994d0c071e35143bb6994713f5059d7b31791b795bc7c0b5037e8745141f88dee5f8474ca66465b3f124b3c3d0eaa7 +DIST thunderbird-91.3.1-he.xpi 665955 BLAKE2B a16cf00e6e2ad075eb19b1a0f77606740ae711b58ba83cee3e8bcbf7823ee70a4fc28b08dbcd5af7cee862eafccbb0b34dd1e65dcdfb3893125152443987a425 SHA512 059477eaa6415da2fd8404ef8506bfd2683754a73d64fd458e3358ef9129a4a9539f0899be8c5667ba77476a2029a783d73bdef50653fb39e20d3be80de6d7dd +DIST thunderbird-91.3.1-hr.xpi 641170 BLAKE2B 3b30ec0324df223ea528fc7c7695f78fb3ac1cccf750b745bea2f0645e5d66a1336795e81d1131987bdc79d69133902f546d5486eb5a71a08075669107684962 SHA512 0b2c09eaca6bae8b00d04249071a37fc950869da18137abb2a3234d5490b77837417896741f8b0e873c237d09879110190c1e4f63cb4f83d6295bab06bc890dc +DIST thunderbird-91.3.1-hsb.xpi 704704 BLAKE2B afdafc91640fef194cdfded2a786734732dc557a076f8841bc27797d6064f98fc3d95506ebb96df0967a0863bc369e3f74d132c169c7d612ee03ca00a0d68978 SHA512 00ac03d24fa46dc7566e851ef2160cdd443eb92472523e5c0e3d60f217917059674540a509b49dfb3c3cddc51988e6610db9b103a293b58963c77a93e1a3482d +DIST thunderbird-91.3.1-hu.xpi 707540 BLAKE2B a14c48b225aa75ff78d10b8dc90bf397c17504bfe4dae899f7497b61f62cda6420b7ac680a7cac0978bc6b5f03fa078f847d433d1772c44b37b7af40f9bede16 SHA512 c084303cf61356c671882a76e5e0cb0d898833116e60b2660af3a406bd72da3e9308dc7c77b08bc6bafdaaa55bd3e2563e37176f978ad8e2ad6b4a57baa0964f +DIST thunderbird-91.3.1-id.xpi 639034 BLAKE2B abd128f415d296c307742a89dd53df8779243004d4598406668e452c8e542996082f40ffaa3c0817939adfba70491df5e5705f7d81d880c9343871a5ddff38d8 SHA512 edc8bc5d3126744a1d4a524cd59c327baf9b6c6dca7cf1344f314adcd53d74715bb08b8968ed6ff18e0003ae364aa45671399b3b9d2a28f211a44e814f6590d7 +DIST thunderbird-91.3.1-is.xpi 575006 BLAKE2B 0db13a4c112daab7182e3c8aec948325f4f50660f9e06ea0b35046b7f6565003219e45cf4ef027a52e00fd846a0ad3e435867f6b5f60fda71b0579ac10b7b07a SHA512 dbfac12a7393b536a5d4939f24838674334be073a52ed34902ca19f6d07160e20eae647d75192c493912c98172e7a60ce6e5204a887ebe561b6f8b85cb7dc163 +DIST thunderbird-91.3.1-it.xpi 600161 BLAKE2B 18288099b1952952e38a371f9ff3b37a2e46512ba94ffd93c3a5ca97ccb812deb6eca3177e9b699a3b73803ca9f89a2323d5465c21cf905fc13b98bc99e475c7 SHA512 735458792f757da0aeb2c88a24ea7567ff4fca457f2811e463f5f5ca9e0b16140994ef9931d862587bdb1722fa7c97fb5935f5b1b5cc4f8139b746ded3109bab +DIST thunderbird-91.3.1-ja.xpi 741227 BLAKE2B b7e2690febc08bb2048b03ed8da957fe386e5cff43b928daec6cc46119f39cf23be5197b654b103145a23ab89f945058b50c057d349129d543ae1affb73a7b50 SHA512 18476465f1df86ab6d1995d56bbf9ee542acf975ebe46c59442f3f4765cd61f1ae28ee17fdc9c8f9a61b70c3832eeae9581220948b083fc4a6e91542fdfb8e4e +DIST thunderbird-91.3.1-ka.xpi 746750 BLAKE2B 45a3925629c3f86feb1d4a5bf0e9e3aa6e84a64987417ac61de63bd227e72d1f716509f23b348740fb4d1bd8e65f0ec0f8157e4ee3a3f46a187d535a807dd5d8 SHA512 c03612a9a1884bbb9d3c81e65a65334d07d75195a89b7c940ba29fdcef2bc449d6c0bd5d7e7a708b02c67e51d67cbf48f2072b8ec21df0818352776b9689c311 +DIST thunderbird-91.3.1-kab.xpi 672039 BLAKE2B 5b36ee742720ce86ce7febb95fdb698316e1ec9864da47f68a1a535936101f727b079515fa2bbb6b40f55db55da9c4cb64f49f3926af063d631757abb978d526 SHA512 28d1d5080f016ac1b1c60b4325bcdc2ba3fc492722a1f1b585b3b80bb19b0ab33dcf0b9c1119f4cf7fa1d3a8fd4523b543b293967af5bb27aa1932d996ed36cd +DIST thunderbird-91.3.1-kk.xpi 731345 BLAKE2B dad8f52758362414259033d50cacd2c125655594960b1e706b921893ea757c73f71cac932c626beaebb3641a5d379edcbe40cefadfc36b3b138ff0d34d66f343 SHA512 e43929d7fd3fd6e4c7bc04cb9c666638c710e84f2b4768ac3cef485944bf78f55f82c1e6fdfe583f1e1e3cea380b190fe8aef3c0cac2594fbfa366ce2a708aca +DIST thunderbird-91.3.1-ko.xpi 695480 BLAKE2B 972507b92927d8d5e65e27ab97436bbf7f82ccdcf9d734d2d38ae1251645fb6064fd3b5b85cbada64fe0140294e77be6bacc5548933fc19bb0e18530ca300016 SHA512 3c01502de4f1c4941134a8171a6be3a57fd76f9f87abac6068bfc45dd5d0ff86664a147ee4bfee36ab632028b7eeb1e8a440abfa0e9b3b9f167404c46748090b +DIST thunderbird-91.3.1-lt.xpi 688957 BLAKE2B f8c70d0377dce6478d3ce037c525a11a6faaba0107808a2eda468886ff5bfa088fec625bf58d72398cc64293b7970ca783bd0f872fdb42cab86ebae26d1a8be5 SHA512 822baedd2457b4a88b3f29a94c7299fce71e2664f28bc5e008dba465613530d7a7832b23b4f428632ec72c09141b9977d46d72bf8ef504c60ebd8c3da58d04d4 +DIST thunderbird-91.3.1-lv.xpi 614286 BLAKE2B aab9365f85588368f7ea0708c26db0d2212a699b574c8126996508ecea7a28f2efc71035f7d107f4e7e41a1c7b92cd2bdb70fad3a4e4ce28fea4494d285e63f6 SHA512 f0677cde5fdf289d0de6a3454d365b5b76e262e862a7095e57227cc3debc9c36440489909c0254b4d2b3f8a1c4f8db6df2e5a97ba0b9b21a6baa8790225f9f0b +DIST thunderbird-91.3.1-ms.xpi 574045 BLAKE2B b8e3cdb2e6be06d461135e360d88937167ae3f468a66ad6fa4ec282c92c969b731f7e387a8b00b9a3cedd928335d36aa7d43d08ced9b06a6e687552540ecce48 SHA512 f160a11e95eeeb8cfd64a769394dee0fb018bb29ebdfb59a7c81fbe983dc879c29e970da21352137854348ca9ff989f2347c2ecb27b09e4d270fa271f3a77721 +DIST thunderbird-91.3.1-nb-NO.xpi 645839 BLAKE2B 40469231b87dd7b91ea6013c7f4cdf99eb33fc2c62e6333757eb3f2d62cef1aaf55583e4b8374c8292d529c006268cc0b640d2fbf8f6c2ae152213ba2de79784 SHA512 8fec70b79305c3f6993edd0d61b083f291e8d6607baafb7502d45ccecb235513ee1251b30c7b656c61155efa981aacd08a4083f5652ff641c3e76a195c423dff +DIST thunderbird-91.3.1-nl.xpi 671289 BLAKE2B 18a6497116f427ecd7d74122a4f027988af69ac77701b8add0f727151f53ee3531234d19928b1bf2e611bbbb9f647e1ef44cf8788faa9cf9e80d698009f12028 SHA512 51b4f92f6d1a428b8ce02c6f7b31893359932a52a269ec66e3a8cf8ca04e1bc5d021eaf320f1ef74f107c3918bf087453f626280a96406c2c3eacb1c03277918 +DIST thunderbird-91.3.1-nn-NO.xpi 649226 BLAKE2B 9deadabb55132177510635c44ccd5a70a63c72920788ebc60d28c43061f434a6a972909400dd6061d3d806fc3bfa250e4c4c2e3c1f5c54a94b929c088e8b6cf8 SHA512 330d42d6b3f489fcb0ee8ea3e14153effb67fa98f71246ce99c4c3b9bd425ae583325007f83d3e273fc7b1798b9734f42313cbaf3651b6e668ef3433ef887cf6 +DIST thunderbird-91.3.1-pa-IN.xpi 647734 BLAKE2B 0e97bd268f7e78492b2a6ba151e060ffa94e1126226574e2880a8842ad9e82903df09776d6ec603d5f597018be348171efc89c08b42eac128c65321e4c714968 SHA512 d461c5e4eb87bc6d13bb2bf61062732003e61d98292a7ccbebf54ce9df49ae43455584bedb7ae19b0198096d55396ebe733cb5f8e368618e1ec403bd4028362d +DIST thunderbird-91.3.1-pl.xpi 680303 BLAKE2B b64eb494a7f57262ba64dd1854d8a65594ffeafbd550d2e7b8636cea6138b8852095989aa15d426344c194ddf1612ce033bebbb01c1283aa597a0eae12ce51b1 SHA512 fab743e4aca700160331bb2886e4da9c72a6439fa8ca73a12eeb572a2dc12260c79d48e19fb92a5088455a04a741f5bc493ce9bc08f6f0619654a7188cdb470a +DIST thunderbird-91.3.1-pt-BR.xpi 678980 BLAKE2B 5edd83ea6694d0237cb0bbea4f3811c3199bd5bf1db1fa598dda973eb15d71762a2b62d187c8e3e181fbdc905a2b00aaf61ef6eeaea3de4067f4cea2117cf979 SHA512 cef3805b6a28dccc7a211c7bbdfcfe6071ead9a5e16bf5bd88c2d5715ab18ac577cdc0c94bd0d032c3f517967f8943ab5f1b62235b7bdfd3f3945be76a692ace +DIST thunderbird-91.3.1-pt-PT.xpi 665706 BLAKE2B 8ff39799c60f734f8166f00dee67dcec24fd0f1a32fff132151d553f32faf6002d40980c7ddbe63aa5f6f41c4c5e1465f0176259720dd7df040973fbb187ca86 SHA512 0acfdc983214e5e5e3fd617c8c0dc1ca6e138c85a8d7ac7f45db0336d47e1756bf73d1ef69ea19987633482dcace49ccf16a1ee1afd73bba60fb3786f4bde8bd +DIST thunderbird-91.3.1-rm.xpi 671676 BLAKE2B 6e032211eb2d6607e8016be956aa7c082ec5d18348a5c086d07e9750629b8bb200b76f6f0142c68133a017c981a9535e0fabf0868a08b10af961b43ab600d4de SHA512 328759757b1e99be8f03b4d31de01fbfc45009719a2977a1391a298e9b5e5ddd98321f273972c3a372ef07e06f7d1c4ec376e0f4d77a5cfed03f694184ded20f +DIST thunderbird-91.3.1-ro.xpi 656463 BLAKE2B 6e6d2d0a546ea8bc0ccec73a6d34cb6f0153d09b40d75a5393b64a7802399453873c2f38cf59c036bff16bfa157fea1150d49d2f9abcca1ad41b5332a856424a SHA512 889b038fcab1f5f30efef09d05cf9f81ea6697ccd4ec3b754a20974b3555c53daf82ab13db288612b5f3b8e5a1a0a88a2eec09441d04477b0ca3f7359053f639 +DIST thunderbird-91.3.1-ru.xpi 783358 BLAKE2B dbc46acdcdfce2335218901aec856918b6bbac070b046e877338a0d2b32dc7c2174452342946fa0e515a066736945302c51617bc94108147a43c346a9b63c068 SHA512 19b46e08a26b9062b739b064dd267d77b5153d6af3a19ccde2d26b88d635d6c042a5b3527d66dd06a30974d08ffc24b9f2b016f116d90ee71df560af6ecc6691 +DIST thunderbird-91.3.1-sk.xpi 707730 BLAKE2B 14db4a6910a372d9bb30186ea85c8a67eb26113307edbe55856e0f89a493e84871790ac792808195fcf1a304067619c5434f7f506fcd1c4dd6d51c9660390268 SHA512 63717f8c65637d3d0844b9d854824fb38c417de697d28349e27cd52f854184a4aa2addbde1a1cccb77810686584c61a4d81c39543e791856a41f8d7cfe9dc0e3 +DIST thunderbird-91.3.1-sl.xpi 660445 BLAKE2B 88ff5beda92853853009dbe52bd4fb8be04f17d3db7488077fbfea7cc2f76190c265786984b5ceba742720108ab905e1239eb79983ce5fde932c2be83e1594d1 SHA512 2232a13dcdebd60beb07d7aff295f4fc717cb471aa602c345fef528b3b243a901d9ef5987efa5f6ad145f18a82d22d7e5dd6de8d09f5a88810bfff6124d50547 +DIST thunderbird-91.3.1-sq.xpi 693388 BLAKE2B f11ee150b11038e8b8368f23150fbde33bf2f192713ee5b54f36946a3e017e79e5e4069645a5cfc7a0694c5bc805cb5937c58e0a017bfc4ff083d35c13c8edb6 SHA512 d5fb405ce939c906ba24c3e06effb1fb56fd01a3c32333b6a2ef052d220d8e28ca225750d05b7bc1be87ced61037c2e56aee04219d5a44d6a6ef36ae0e8a47d2 +DIST thunderbird-91.3.1-sr.xpi 703326 BLAKE2B 27a76a23f12e33c73d8f71cbd7e3786ce375f6920c8961780b6f40488126e6518230f23ababbbbbbe56424cf38dfff97795590029b3b9480b88ca04d89b1ead3 SHA512 bf8f1da3d6afcb23882541c0a1a49f638327e6c96f85d03f92ce17964712a0af250bdb0bfa8757ccd2e4ad58f0ee8e2c36d1fac50e145fee32809629fe55ba70 +DIST thunderbird-91.3.1-sv-SE.xpi 675810 BLAKE2B 0cd247331989856c5e34a865b4a4cda799a7a33ae1843efd704321e64df7b88031e52d2b520ceb540912b7b5b557dd4df018b28126c5ecad4c988e2a4d6a5fa3 SHA512 ed3a638507b09ec9e02155e7adb221e67d2a47afb20adab86d1390b69dfca43d7688b6ab8d9bbae80765af44337d2cc8e9fd2751f704fae10ec2e260c8dbcbe3 +DIST thunderbird-91.3.1-th.xpi 741242 BLAKE2B 0ca48582ca6d8bcc89947d2d925d06b27e9da72345e08a994b2d96e4de1e22ca23c951abdd565cd6b8d0cf8c58f75f5428f491180c06d0fd02916b3d30a14159 SHA512 574b0752364f2aeac8b300752ce63988c0fc984dc1f5c7e6f115e62342b8a16031d48c9dfc7b93aed2911a8e71cc748ef85a08011e4711fda88c591f52fdff47 +DIST thunderbird-91.3.1-tr.xpi 685071 BLAKE2B 14f004db0328d7389c95301245a7f0d55bc1f49888f94dc92c453482fd2620d0ae9a5f4ea088263f0624efdec92859721f110c9986ab389f20bf101a7e785b47 SHA512 3997e2b6c898fa88dcea35a6a3e31cb9afb11cf6138ecfcb307fdfb00b1eb818709bb43be9cb16f7f781b52295fe3b19b86025dfcf479442c731982936bb522a +DIST thunderbird-91.3.1-uk.xpi 780969 BLAKE2B 4b2f9a0908c011d525276ee7ec98ad6d7f3ccf3a12b9d3725ce4b3b97cd3407a02d0135142db5fd57978b4f16fbf6a22e5fc11dbafe82c79e77ad41d5151c1c2 SHA512 cb7fab9e45727cc6d6801df1804bc3bd1313597af4bbeacafa6bb29de804a848635cbc3be783b804d9d8d540ca14e08ebd0793657aa9279d8d4d12a9e1baf05d +DIST thunderbird-91.3.1-uz.xpi 588119 BLAKE2B 33956448279338ca6d5e6c55bc76ddce28c837b60feaaa48cfeaf20718f603cb486d69e55623138a443a3e9a008a68f00bffaf33275d6d4298a3ad71e5d9ae42 SHA512 2096aaf6f277ceb207cbe331f610a59d27a295a7b992bba2348cad5fb9b96e24540fb728cbd51fb79ce980734e14b45c9954a6865d04273ffbadb6ff7394f3e8 +DIST thunderbird-91.3.1-vi.xpi 706358 BLAKE2B 7cfdb545b0c532f9077d7266e443e4692c237a26ca73ea9c68bf865ea4f9626b38d70da4f52001757b80f3ab77532a58c0daf64d3c02963358979a840a876f72 SHA512 1babc23023da7a6811dd1b1ad73165e2deadba18070b4c271395652e832486d9555d6b51e549bbcf8cc29b18d7971da6cdd625e971543f3500a558afa1b7aa0e +DIST thunderbird-91.3.1-zh-CN.xpi 714607 BLAKE2B c9edc522533149bb7ae3e753daa15b77581c67d2c2372b783ac86489c98d5fb1b167982f94ce7d535a2a9b8b47c3a1a1cd62ece804c708ba926dc05d245f5401 SHA512 66556244cbf6e700dcbba0b61d0561ed848941e9e929e37e96c47060ce8c98ec3ff064d7e1c95082fa2b6e6e9e29b8f9a93eab7623b4ca62d1b4a84c877585a6 +DIST thunderbird-91.3.1-zh-TW.xpi 715955 BLAKE2B 1e8d785f749cc9825989992ff8e8ba4f2094742c383dab5bd3638c4af34d3d4b85eeb23bed98cf8c030b24e25115fa6de87db5439a5cd0663f41fb19df465620 SHA512 87610a5e557a04b3e0bb0fdc1970fa294681d0f7607b46228980be56e7737698e3edad46647c8b7be67d22d7c3033bff5d6d7dab6ae8fea2284ccbb0f5516b93 +DIST thunderbird-91.3.1.source.tar.xz 403764984 BLAKE2B 55dc404797f3ed4065d14d1b9360218c2f24dd9bd22472446a2bb755de68495d974e1bb647caef8cf9a27af0e96ba53cf57504fe0332d23ba76e9230b3e2dd3c SHA512 4938f676ddeeba37da1f2086d76a2ef2c870738169f7e10b35b83e4ed772df634825ee25c28232df1ac1e3a18a9466e97dc7ee318abbf43f1f4ce6479a13975b +DIST thunderbird-91.3.2-af.xpi 560247 BLAKE2B 38c67858d7d20b7ef3c0148b13b261e47dbcac6b58c4cbae03abcbc8a12f60cc06632df26b99db499dc5581fda11fe94599904dec291bfc196a9e375049df07a SHA512 19352b7210a0edf2770a3d174fac12be53719e82adc42911e37736bdb8f9f5d5320dad1f583c79bbf067a2aa21e2d8f8152db8aef91406e571e6f709c569a781 +DIST thunderbird-91.3.2-ar.xpi 660313 BLAKE2B e0c82ea24c98978341366cddf3a65fcd0e80e369fffe86e83b9bf66fd39a0c876865abbd9b56fa3b7b729aabef14e6d24de7a63b23e5b7909479781058de497f SHA512 61555c72082338f7b1550a76809577edf0f3df67aa3c5fc66ba8cbca95272ff9cb15e70bc7e846936038fd7939460cb7dcda63878fbdca2ce44dd9a848ef5c78 +DIST thunderbird-91.3.2-ast.xpi 577052 BLAKE2B 079ebab5eb77843bb4d3139080af7f9845afa74be48258af92b6c7c191957f97df40e577f83fa8a8c2f93269e322eb4de44057be0db58007428e83a2723418d6 SHA512 b05517ca2ff26b308c78e7e601533464fb8b1816b081553a99bc0daf9393af39ffe68a16bc28fc2b9ab6200ab81b889ba9005b500bd0258aa9ab7f4dcacc6f48 +DIST thunderbird-91.3.2-be.xpi 687227 BLAKE2B c2bfd7388282ba3098a36628b7841dd61a20877014df538539dcd29269386b98775e570ad1b5ea3e7bca79c19afa9cd1e2e886cbef878e72e7463a18ff3832ff SHA512 1ac362e2e581c92f8ba1d68e6a1aea35c5a2450bcf46d60ed6e9a24aa602fca60f8a474ca995f0a740f0315bd5c1594006a67df9fd52f039fa7733e2d4ea06ad +DIST thunderbird-91.3.2-bg.xpi 686416 BLAKE2B 4c6d176964274acac85d3d79661744dcaeab77f4f1c2b94e7dfb9e1addb28b7d3d219897026ed568184fccb85fb2779da944d26c3399ac86ab74f0bbadfa316d SHA512 56dd370da78e783dd1cfafb5b7f3e32ac1dd23967dcea9d257aa5132334e29967e69de96a30fda4d71aa3d4abf6179824ca3a10641e284002c158001ceb2fa08 +DIST thunderbird-91.3.2-br.xpi 616018 BLAKE2B ff4413e928389f1467ce172a99bbf98028cbc8ada135191992751ac79dfe09b1ca7b7ab99dd5d0eb42e8ecd9ba3acc5d9c6a11a591482c689a2eec55a21e09ca SHA512 37526df45b3db0aba6016fa681eb01b294493c2c937a4923d63fbc8f0bcf7840623e24eda5e48784e4d7b8414cd7a52b69ce4934bb9dc218187335789e681bde +DIST thunderbird-91.3.2-ca.xpi 641158 BLAKE2B cb34a99bc522dc8f183f18a22d1d8feebfb9d4ada3e815a75e0daca88449c93733f9896028017bf9259de3fe726edcf030df0e4fa51f51ba5c5d9d2956e7521b SHA512 290af4ab5e14d3dff3738049af519896ce0b75a173b4d3b9558405bd5c79b0b4a6dc6af4ecffd7eaceb28882a511a1cd6a33c5a118959617289f8c2878045295 +DIST thunderbird-91.3.2-cak.xpi 647217 BLAKE2B 1d18eb059f934c8287530c4c39fe23754e39985e652c2e00255e6eaf2bcff590e27c3f0bcb16aa1b2e42207eec3cd04cd99b67efc4db380f0259c1f03b5d6aac SHA512 8c9219ae0580cff202cd368fb1cc006eac1cf41ea38ab1cdeaf6db54469281051f695bfc24e466a70cb7f7d8f3ca53bf436ad9d721831aa0ab9bc7666e39a269 +DIST thunderbird-91.3.2-cs.xpi 698287 BLAKE2B 7a80b95fc48c1efdc649f375f8e67ba6128fbc056638c3db45665752c4289cb3be10b15436aa65f280a58033532a85fba7f4473c6a3d17302c02a6a2c96542da SHA512 f29f45956775496a2b8c50442155ac16aa58389d558c75b38e186f7d46a9aca60c38e8626e05bda09c16fb5be40342d5479f55ff797bbe13e067f0eb6845a1c1 +DIST thunderbird-91.3.2-cy.xpi 673997 BLAKE2B e732eaa0f9b662ecd08e079b25970a72a153d0020915d26644d75eb3b97608dec918e0bc85c595067da70910725cf3f82e886781db1b71a209c1302a470c260c SHA512 d06281cffaaa38e3c1e3192c38b26c875cb2d032821bf5f0889ffce462dc6df5ca7027b2a145a0eae3bb957451640e9f385fbba4af497fe35c55a647596bed8f +DIST thunderbird-91.3.2-da.xpi 655951 BLAKE2B f6417f8523ceec63f56d2113171be49fc984deb6f833ef8bfae35e7fec47170d801c1b1039392dfb4d8d25e41eeb576af9f1d11f37ecb30c833c00f99fc99978 SHA512 e5e19c0d02ae421aed818e55760883e43a30084e219df81dc68b25f2560843da1531b0c0cf011af7e4dfd35e921485c3305078545e1d96c22683dffc7cdf6e9b +DIST thunderbird-91.3.2-de.xpi 687003 BLAKE2B ae3aea3630d4d53d100ee58e85fd64d2622e9dcf91bab240608a71a8d50ee80c8d2f0cba9b0e47b0519b982690daf6c09980d2c66da47f179730ee9013da9151 SHA512 5f55286aaa5f86d010caa3cc3e66bd574b715eb63a6189ed25cb4bd6205f519ad974f0b5185a0787e000a3e7cb1afc3c4efde908cf2d8ec78c0ba74e5bd16b05 +DIST thunderbird-91.3.2-dsb.xpi 707237 BLAKE2B 408e1e2659f1adf6a7473aa9039e983bf76d887b1ceb4499a09839cee0f870632bee34bee5784351ac317466f54f140400ee864125ab9636dc09f8275417c89e SHA512 5713163c6f9cb6eaf06e7b1ee2ecbf5dce9adfa905bf672db77d89859d9a1a9ca780d699921f64d298b8844c4c51890694460303f2dcb148fd1d2f290961b08a +DIST thunderbird-91.3.2-el.xpi 803551 BLAKE2B 3c087b5fbb72d0552c80fda9d2a9e0534f4453ca2680eb6e5a9ee63a2993c4a965471319bcc78b92e8004ae5fe48b9975d1e39cb68a9dfa748ef59d12d131d8d SHA512 9b7fe4a982d7c659eff134f8f77a4a6c342aeeab4211ee680dd46f967e27edc2965a949d2faa5e5c56a98bc6d50ce8307a4cce0e8a41760c856557729503c756 +DIST thunderbird-91.3.2-en-CA.xpi 634128 BLAKE2B db114f45dc2f39a844d6ee91ef66f442dd7ea85a431d7fbd1db16ef13f7ce0745fc6384e860b9efe3bf8b387abfc5856f4d00fe48e2b4524d305631c1194a382 SHA512 748164d529f6cc3ef998cd1fe8b26f3e6d36298b02d2d988572135f7cdee781daf2857bc772cec726a4a79cc82fbc25fe61f70cf0c4ee1d35d50da6ccde22158 +DIST thunderbird-91.3.2-en-GB.xpi 636515 BLAKE2B 7718d5e0045fe393ea56cf759da60f3ebc603ecf1ced736d53035a6fe95599994ec9bb0b60e6d14740b362b5be2f7241b9207483df9cdec430c4a446e00576a7 SHA512 ceff847838893ae23c088213a5454f70ccba8a84763be57d63de6f52e98dcb15b82f9f13b24fa09cb3341560e2a450467db13fb3f4aff6f399d8cda05c34a270 +DIST thunderbird-91.3.2-es-AR.xpi 685105 BLAKE2B e35fc668ba7105107fd1a7e7bf57a24f73d7f018efa8304e882f60d455a010c4a6b36e4d4c3c1b8a8c9e9f0b82db0df307831a655d183fc8d122d6d1d07c8de0 SHA512 2a414d9365bacb223ca84c0fd83d86bcb17d39563adcd61244170919ec873b257f3e8a88d128a0d5cd54eca94c705e1b7633d538e552b7dc0638f99c0bf54339 +DIST thunderbird-91.3.2-es-ES.xpi 573862 BLAKE2B d295efe75600f921f489a745e7ec9507427fab5b2dd72576bf3a72133ad05090d865d6d7acbf14df5e670369f69b5db46f29ed43a9e0372d0e34f149c54b334e SHA512 226d783316a15d18a1cc3a6b8666eb7a282270b54e5c8033dc02e39547220534a703a46aa60c702eceaa9c7c5318b2b69f886df4154c06825be3ebe3e9a9751e +DIST thunderbird-91.3.2-et.xpi 598832 BLAKE2B b4407203bfbcd362f80d1d14bf0891ab7587e613e7f7f0767c1523d1b227e990217d70f810452ffe26c5a69fda7c63bcd607a6785562b521d4b6dfbec4c9706c SHA512 9ab950b3a3238435aa511953ee06a23ed2a4604f4b5d12c7a03734551c98662546dc5fddf7bc93978114a6ff09f213fb7378fc78a1a54de59a9738e50ca76286 +DIST thunderbird-91.3.2-eu.xpi 666124 BLAKE2B 8e544c730262e6060c873522267f79ffc60e04a5d65f40603a11a010a5ef649a516c9be2a0da413dd22c47eb63f50ce72312be4cfd7b857e64564c6b58c7df48 SHA512 e5960720304672ce9189e85117f62b796fba3d79a0198bf8352a6346a5cc3e0a1101f0921cbde1b40794a2fb81a1c7c8b1181c34026b7c427a7efa33cbfcf496 +DIST thunderbird-91.3.2-fi.xpi 664678 BLAKE2B 7574823ecd0f5c073abbf087d48b04533387e1d737c5727af9d353dc7004bc853d16023624da6c72ce1ea16a46e77988d2fd67784924de3e154ad0dcb15828fb SHA512 bd0a08c5524df3899a1ff240d993b3bc081b67afd940d4243c049c27e425f0ece7390388f23420ad01c96826803edb05e091bf0240960099df4358392ac85096 +DIST thunderbird-91.3.2-fr.xpi 697504 BLAKE2B 82613f55810b82533b51f4e4acd63fc571b61fc13b3a11e08ed9d5f21aa5fe24412694a78e21cd002bb8fd16d3722ac85452f8eeeb5d1ac616a93fcf6fded1cd SHA512 aed8f85c941970d0aa83e56d5d32ff9dab5b7027b885b9e388b4f20b40fe7b1ad46120ec2ed27c328d4d13166eacc00aca103a63d530ae7a1191ed97a9d47f4d +DIST thunderbird-91.3.2-fy-NL.xpi 680172 BLAKE2B 4e40a57d98e38f9ed86faca0be6ad3607923e1596c01fad534cfb4a88c1be3ec5634b699df0513dbccf158a611d52e7bbdd8e5157effc41c2d3bea2068cf88be SHA512 b314051ee38d7b7213b44394db7af9694556a4cb0e6765e9026cb36d275b4a7a0c3d788438ed5695815d5beffdd485cfe42fbc1984b590f8574b77a57cf4fc7b +DIST thunderbird-91.3.2-ga-IE.xpi 601909 BLAKE2B 18b8637edc6c1559dbb6e9a6c35db726faba3030b17accef1f44b2d4990ff3a126b516ba8b5b4eca7e4c7d7924b607c3077cdab9691e029a866eeac648d876eb SHA512 eca8ff21ca222ae5f9a7aec49a0d1124db4cab6e9a285de35a6efb8de567eb779f03e76ac454d7dc3527f0a8695f339c2dc1626ab41fa305edd789440364bd01 +DIST thunderbird-91.3.2-gd.xpi 635776 BLAKE2B 0c60fc44c291167c5937c19f54e180ea5e1dc256efcf9e1f6e9d7958c6f47881ec6c80a8262b236d2c8c25c05090724a4317a06885926ce304938d844df0cc1d SHA512 5108c9f0c3ca44632024420f23d84a645b67152a905f31428d9eb4fa61cb1a5dd51c64e52070f1103a3f0b7d6be5d62e66774e53f78a6c0f8b4a87b0b73d677c +DIST thunderbird-91.3.2-gl.xpi 671075 BLAKE2B d41618f40f59bb96245d7137fa57c635a1b98c663a36ecbc0b8d09db3a89a968dd3571fb8923cdc48c1bf1ce6999a18237cf0337e9d1053f307159d69a47c2d0 SHA512 d02a69e163bafbaa437b0319d12aa990328605aade936eb82ff53c4c220c7594e13efc5f91668544fdc0cb05e8b85168e25b566d60f3f8915b6aacca7610b492 +DIST thunderbird-91.3.2-he.xpi 665955 BLAKE2B ccfba17dbb046ba2a41bdbb4b13801ee98aff10b6ef6417928cc6919a49c8b1e0501061714e1bc3bb06bfe783080b87e825d5115bb5a523ff4afc84ff579c63e SHA512 c3e4b2df644ded90b11632bb31760a4c56b225a8872d5cc74584c1690e99c95d17d461a5a16eaf7c12124ee0b7d2af36ed1303a5d9c04666cdac8dbaa8f83537 +DIST thunderbird-91.3.2-hr.xpi 641171 BLAKE2B f12a2853311527ceca3dc56defccf6496b621306058c81555819010b8daddcb417e7c391f690bafeab1de958f1969a65a49cbbb23729515495cf3461d1be4fc2 SHA512 180007026ea04c8128abc5088b8b1ec3a2251892f069c75bf8e5188c8131853f054198786fbbab122c7a99a7eb1604c9a578482ff0c4e2360bc7e5845e1cbcf7 +DIST thunderbird-91.3.2-hsb.xpi 704705 BLAKE2B a40e1b8378b1bf70401604375aa44f58426380d868f21b737b1a8384098c4784f053c82274fa9632b1c71f902e59697b7bb0ca98bf61068406bdd396a3f449f1 SHA512 29ffac8e8d4615bfa8254a9c16e6fa4d9ddbab96430417a090147fc3106fa0510395f7ce745dfd2c9c5942f3e6dde0219ac6b5be88171d8d5c7355b73083c366 +DIST thunderbird-91.3.2-hu.xpi 707540 BLAKE2B 76fc85d7781d0b93c76ce72fa41a54a5e278b572413b0c23539160fc0603c0aace256871abaddad21fcaf89cb925c32e023ea83593d3fee8204b519bcb217359 SHA512 6e1f053bc22e0569faf914d450e2e29b2f4ca772ba9609806288b30ff24c1d738f3671797d564ecf777b27478ab0606d19b42f76fdd1e632b7a78b45b01791e0 +DIST thunderbird-91.3.2-id.xpi 639034 BLAKE2B b20f2f8bf991c430fa0a108983b0204b8ddda8d64d4dab1e629700283eed02f9d03f9626ecf692f468919e6480878c5eddb9b6578d0c73ce166b6ee17210eea0 SHA512 61754ef24f38fbce192d56a5bd6997fdd8e745e66bac367d44cfcd04dad3a905ffa78d1a67e1b6c65d2d4225ac6aba9fc55a76f53920dc3bf97a2d49156ca506 +DIST thunderbird-91.3.2-is.xpi 575006 BLAKE2B c4ea47ba06eb9e60914ba442c650cb679990620ba2e26da1ff008dbd0328f6dd47177d88cac2fd83309e1490507bef9c6a03a0930b40d7c8fa5bcfbf5d823a0a SHA512 82aa5207902de6e707b5eff7cc134c190394de1ffdc697a683b81bec775ff92aaa0bf699a49ced6fe5638097348648bf8fc50435ac2f5dae5ced37ec600b1476 +DIST thunderbird-91.3.2-it.xpi 600160 BLAKE2B 064284f9ba14d573baec489a36a8674e5423c6e5b208ddb5151bb0e0b255c2b4351b0a0d3697988cebd6b77a08d9a2db8e03d6bffdd75400bce22db28b11cde9 SHA512 8ebf1e674e5829b2bc5e0b673ee1f8e784440634afe0c821ce7abccb60a0c702980fa8d8a641f105f087c8156a57c310ef12e8a2513c7cc3a072c46d9337c246 +DIST thunderbird-91.3.2-ja.xpi 741229 BLAKE2B f25417938d405bc339dfa07d0f8a34c862a0ad6ecb2e1886c159eeb39ccd69d556bc01ba97523acc70585d1d36f047dcc670a01f4aaa3f81d23afefc8cfc5fa1 SHA512 25803d3a298530fec752833ad103d0751c9c5b946151a5e070c96638bdd978794bbce32fe8c0cf4aec16c12e8f9e46f4070e807b139e13a4c1cca167a1533263 +DIST thunderbird-91.3.2-ka.xpi 746751 BLAKE2B 816e1f7301ad0b759f2dadc0d2c67ff6843632ae0ed117c7cc5d554fadd8a354b5ec10d0c05f1200a35b5cae495640c2dc0aad5238926aec7255edd29424b330 SHA512 2ae723f19734fae5e2bb74893b4284658f3bbd1089919cb96470409c258c4aa95c85716412a8e2da09e44974a2cabe316c888dd926df79c0f2b6de81fc6a3cf6 +DIST thunderbird-91.3.2-kab.xpi 672040 BLAKE2B 4bf493356a500a641decb6ff2e4da293475837f3c065c9c64be65daf8a89f1f7b85319f3e0046bae33ce8b4700e40e43addf83e2972c52c4184e2c3daf469cc1 SHA512 a9b5bf910d83bb13c8d8417f5749ff0b2360e35d52d3943ad660c3de3c652869d491d1b1d81a0ac86078ccd38c13176221eb729b38adf6a32e9c1ab333b7dab8 +DIST thunderbird-91.3.2-kk.xpi 731346 BLAKE2B 37645d4ee29c815a4ee723f4986200385f48444d0984df9e3695f8265b90f33849e9969e6042390c3bc7b838309a27f1dd06d33200bc725e24ee7af7615aadcf SHA512 47c5f8eee3eaf2035677b252181cf1c7f755b3d804cdf105d09a876798cd6988ac50af21f83c01fd4bce811095e618a297c7c73a2da16fc0a441a331183ee165 +DIST thunderbird-91.3.2-ko.xpi 695482 BLAKE2B 6e9503bc19d2668aa849d5b599f5dde94324d57aba756e3982d13a0233c37f8781704338982f8005377022a8f90bfe24bed1be445b3ec3f3e3980403c0430697 SHA512 c9b51094838ecf071fe866dbcf9b06ea8cf72fa1a5b6dfd58966a6215ad1a44d5f55ac564faaf3fd3c5cdec641eeea51ff9569a413661fcd518f187267baac4e +DIST thunderbird-91.3.2-lt.xpi 688959 BLAKE2B 1e43f373d9e68fac9913e70821392faa53a9fac11bf30682b2612410e6baa8839a63d508621dee3a1b2143b10e1541f7e0ed7753d00e0ca2b31f97dfce0ceadf SHA512 f20da26920a8e4b13cfc019e955edad6649e0cf95b81a10631c11d8c3f05e3416e5f388ee1054a0f916fba6605834b82a27b013543ec188f7be8ef92946b0837 +DIST thunderbird-91.3.2-lv.xpi 614287 BLAKE2B cb41176e1c2e21e6a2b1de69e0e5d841e9f402f13d94d38d6bbd602acdf9dda17112ae653c161d2479ded1470f20aabea899a412b792ee593a16aca5a28fe82a SHA512 b30a9733d3dfd17abd715f6e5c8428054d029bcd846d9a5d4aa19338c19fcb0735e20c9d39d60eaacbe59b096021d140f63b8ab8494d739b2247846cc38f4b61 +DIST thunderbird-91.3.2-ms.xpi 574046 BLAKE2B acad772cb822e26d4c8a5672e3fc15c3eef538e11ca7bdd11ffb0e000ef05e92334f64d8613c3178ba46c1042f2e83646720fdcde38b3b5c6eae5e01a768deb1 SHA512 e7e2b706a2f5e2c4001ffbf039fa1015b0db8eebd57a007f291cda061a4c43932a7cc9a949f6aa3afa03dfc64d3499fd5722d81c20b7ccbf192cddf0cc1bcca0 +DIST thunderbird-91.3.2-nb-NO.xpi 645840 BLAKE2B 009569ca3d372ba8007a42a02d8481f1b584cd22a358d9055f06ec488f3c5642d7e683b764bed252c06a63da92bbe3fe9158f0c80926c476898441d0edc5e3a3 SHA512 326e7482456d708240bb5d0838778abc220afab7caa281adbaa1d83921143c6ae6b6319ce736e4df4e42d47d1620a1c47e12c89c6ad5e67b3f7c8a17df7430e0 +DIST thunderbird-91.3.2-nl.xpi 671291 BLAKE2B c37ce3120d29e3a3829a54db07eeabf7930bcfa2ec1e06c17c6f36aa77b01ccea1411b1fe786290d9fb126cf694cc15b8cd1fe6461f2e1163b94c183ccebdc6f SHA512 2b4e7ec15314932811b26cc0fc804b84ed8e3684a029c79be4be5a3af65c90d786700560c45355c45632c787cdd85accd617debd1024583fd9b3ccd5c946fe68 +DIST thunderbird-91.3.2-nn-NO.xpi 649226 BLAKE2B 6c29a2a484b026684e590c26b045742d72e3c7d7a82c5452f54014b1542e83de515be2b2c5895046809597b0baa192c2ab75d59d90a340e9baa57d3c4f0f906b SHA512 d869ff911d2ffd23eb9ee2a5e32d9742ee64217561fbbc911366964dee839a39722177a6a7a48888872b21f1eacef58142bda1e02775434d7843bc3ca70a4877 +DIST thunderbird-91.3.2-pa-IN.xpi 647734 BLAKE2B 6e44de327fac80f8164f15ba77e61e2bf0adf340310b82fa9825e1fc2f84d4688144c298e09e3cdeac8474a5c8c6fc38e8854614649661f1b4861a4fd3a4331c SHA512 aecc12d0383a60e658e9ad51762b3b5f5213db1e3700268e458a4f3d91d2fb89d78c5906776334c195874ab79771fc9f0d11f51d70c5ecfe33da826bfa97bf31 +DIST thunderbird-91.3.2-pl.xpi 680304 BLAKE2B 7919a217a943b9cd3b29fe3dcb789439fe702800e5ded99f5728c5b715f4d58b1f14c4e4c1f71e12538d7b2e59b8a4ea1bd10d06d100f18b93e0e45282fca6d6 SHA512 a188e9690ba058bb1c3023ca233e16dcaa71fdd36dc4a29274a2ca39efeab14b83a535b94a64c099265378d006cbeff258a994b354506e805bcfc5fafdac72b0 +DIST thunderbird-91.3.2-pt-BR.xpi 678981 BLAKE2B 9bbd5dfd3a44489e6997e9b49cc72aa8b02fbcb11cc4b51d2429e9cd8268590072ca843a0ed3094fd924334d9452452432423d2b238fe263b2392a7b64a3d181 SHA512 0c56fca765dc6cec7d86d1718da68c161b80e8fe1f5ef80604d5782153414f6a8ea2b9c0eb415d206444ee2f000c811dcd0c4192a8d2c5089262914ce369540a +DIST thunderbird-91.3.2-pt-PT.xpi 665707 BLAKE2B 54acef3442d9e7b07138a247b3a38929bb0d65522e38f6bb6035aeed1ac5b8ce377c89056f96d2a9ec8547fea67529fe20522317834e329c9a5bf9969e707652 SHA512 bae7f82ac6572248582b87be2403d18f2b0320a0ef7e0451647ba2af3730808ab703552188b12c8d3941cbee49242e5442caef49a25371d0098474ce82e16a72 +DIST thunderbird-91.3.2-rm.xpi 671677 BLAKE2B 086c0e71f50585bccf9a2e163a6d1116d75f08960d7d6179433e9da544f54d111c3b07390b26ca3a5a3f061bcfd709f9065aa5338a070394c5eb0a24af07c39c SHA512 37966ade0ddd611a4584c86e417fd92f0a0139952955df0cf3d421a6128f5914d900b45c52ed6ea2850aff910bc80b322a3acf5f960ac7656e4bb7906a3bf66d +DIST thunderbird-91.3.2-ro.xpi 656464 BLAKE2B c2168d3a2859bc5736e8ef7d4f34fde6b95f7c845ace11d4a297fb187c3cfc7c37dc806e54cee44bcd164ce6f522e8d0036d7fe44139da62abae918eb738071b SHA512 609b4b19425c6b58117b2dc04b88de7791a9e51e674551de1c3e70fd398ffb0160c8dc13b38a1abe590ff02676eab88c6cfe70850ef658ad427c9591b4e3bbca +DIST thunderbird-91.3.2-ru.xpi 783358 BLAKE2B 18a6f4c61903b6c3ea36a58a30aedee9db65dce557f130344acaf31643a1e9ad067a1268b45b73742546c503224786b35c9564c543910f4d8d542e5fc3b207e1 SHA512 f96df9a299afca3cf62ca476b3ef844d898dadc36c7cb02978b6004f421d107f6f3710b6b85903049d8b8399f11b215967fa6796d5df075dedd453cd9fedcea7 +DIST thunderbird-91.3.2-sk.xpi 707731 BLAKE2B 8f9242c1c792091c419833569a9bbd5e0271ba98182275efa00f50d33890b0daa7aa2fdfc302961a25a7cd7292ebff6539114e6ccbbea4a6042eb94b934212c4 SHA512 f6f217e285b1681f293034e2836830937e2136f89fee25175781e09d65d65489d68b8bf59338aa31bc4122056bc77e66ee7c387c6977d827ffc4128f2a7d6864 +DIST thunderbird-91.3.2-sl.xpi 660446 BLAKE2B 660cc282735dd0b87e0d474d004514f5ef32f29757ee99130d2103183082f60d56408f40bd8194efa49bc473f375e8c4ce4791fee8c4461cbe67515447697ed3 SHA512 08aa812923eeb087c3af51d0fcba4743f17c8aba0770d3fd75919dc1cb92fc2f496568ccd347c6bc6dffdf0ef1d4821ae91b2b0e3dc5b883213cf921900852ea +DIST thunderbird-91.3.2-sq.xpi 693388 BLAKE2B af4c67acd2c7b8b0d0aba77fe762025bd05621c4c72cd15168042806cb886a7a63f251531c8b2813e803c9d721932ef6a522a4944e75e7b4d50f3c66efd7c594 SHA512 6a5c51b8bf7986b2d0d47a245f64b05203941193844758a973829c17fa2882ced83d97b3de6b1fc876180bff2f9dd0f087ae3b11e045c47e81bc2e67b5f86dfd +DIST thunderbird-91.3.2-sr.xpi 703326 BLAKE2B ed6beaa710835bdfb5711ad011f32ce9ebba3f46990e11a87c40a783a24a1120041cd1f8d37f844e50c0b4686e7b2f58c7143d0c0317d8cc98fc063cc34fc3ab SHA512 87ba1b687dea40a154aec863934258c0810c2ed8556a9539cce2341e9d17ae7fab9805d230201d62c62648e062f453ce24b3591e1106496d4a198df898f9e3c9 +DIST thunderbird-91.3.2-sv-SE.xpi 675811 BLAKE2B e5d2aef26c8d182724e096bc1b524cb074e46e8a9ef6f5fec7a462da439b81ac9c7e8185ef1c526948cc43bf4ae62dce7c508117ca923be5dbdeabf422094b39 SHA512 696a35a6734bd3bc782d8f7eb21d0081aa11609a48a57fbd66445b617d159945e96b1de21dc7bb84294dd0464c19c8c04a401db7ae14024ccf1b9003491a18ed +DIST thunderbird-91.3.2-th.xpi 741242 BLAKE2B 491c71f031911c844c3b04c4d992e0196d4e068e59279b97a27075844ac493de7be2d6e2c37dbd2828ef07a1b749e314375c82992eaec3e6f79a8706f749ec6a SHA512 e2e5a1d32250934db0b2ac8312f0da1830f7830f4ed60179a11cd01429f4bdd21d2ecc3ac3184a0d57e485fe6aa47a9853a215acda0335046108edce4753bf6b +DIST thunderbird-91.3.2-tr.xpi 685072 BLAKE2B 7c0b8d274a85357227dffd2cfba5c55d5f779d78abeb98e88f60045283c093daee89f718ac43a1c945a101c683e4daa4046ef273b503ca11df0ebe839fda7a7f SHA512 5d2121b964049d19dac24e12913d99d027733a64971a23daa7c7a397b5ea2c6e3395bca297e94438b4401000ce71a89ab56a05ff37f85dd5f3020bb8be32490c +DIST thunderbird-91.3.2-uk.xpi 780970 BLAKE2B c5d8fcd5b4d9649c4b1106ac74eb08d416132a5a74583a050d4ca2ddb2fac9f513dc7ff7672179788d5403f3b645da3a1ff13687a6ef9705cd6bab7391e469b6 SHA512 54834e5ca88f6e77185352c9592a37ba539788a179eaa8690b17d04f6cc2d78d685253affc3f5042952a76574bc2946155d0d964f30b46e3cffdc8e84e9c9760 +DIST thunderbird-91.3.2-uz.xpi 588119 BLAKE2B df1a76076bdeebacf886b59ca850a4e3df200583d5912609741d0528c76cee61cb10ba9ec13faa2a5b828d0c186b9efa451aef3baee26e4867e5b54e0b55c361 SHA512 fb94400618a9839053902c39a62924000cf228969881d7868a3b2a59613eea752af9d2c0664231e5cd7869ac159e412da5cc304da4d82ff7f5ff314af8a14cd8 +DIST thunderbird-91.3.2-vi.xpi 706359 BLAKE2B 6dfba5be7833c2e3058e2698971212480d7173e4d93f4e87d01bd5cd347eba49ec16863b53bdb73a464fd8d82db552366fcbbf8a5eaeed2b7d7649ed0a1f71c4 SHA512 e01b7e442ce2bdd00bc225dbe3fa1aa4b12e04b629e6996c7fbba3198dcd9460a84f869f1f4f43353ad31ad9c3b4a4435933ba1fec8db9b7d1f6364c838e62af +DIST thunderbird-91.3.2-zh-CN.xpi 714607 BLAKE2B 2ff1e8d346dcfeb7b5f69e49f98532c0f7ede33cce59ae9a17a9e7490be4641c78b23e0ce2bd6c9cf78bd4b81792d84625fbd45ab285dc485fb6896afc60b412 SHA512 9e5556afb814df13e67203742ba9faa5befe1d72d4fd4eb417d6c4f97500a258260c8e9d3e9fe11e527c572326deab643d3e94fe9a9cc09736b5496062c5b055 +DIST thunderbird-91.3.2-zh-TW.xpi 715955 BLAKE2B c03f07d9b7ac5deffc5bd55c6bbe29a9d6e954b0b3e7ab9cd76f370c73341cbebc9761f259e1b38569a48a5cf91bec7113462ed70019ae5eec3e8de897e4e97f SHA512 66f6909b3cadd6e560b3cdec8654bcbfb65f84b81a3c96d6a13aa0e75f166c4dbb744131d525c31f3b09c10c73884e72f0d4aeb2ea574c3f41229bed16b69e77 +DIST thunderbird-91.3.2.source.tar.xz 407454432 BLAKE2B e4e90272fb2f0491503e3b1a7be0722b5873ec7b65fccb7c48b227a1edcf62715fe4c820442f89507663c794274906a33a1e1906788c02975f604b3bff67ca06 SHA512 954be27795935e494d27d57da99b49ff61db8a2b26fa8e159a30d6c272033b015790735b40129d7de94f861af23cf748f88a7a45df3861f753d6e15d28fb366c EBUILD thunderbird-78.13.0.ebuild 31630 BLAKE2B 3c1c4c02d64829bffc9dd5b5e8e2894b6304d5536fef32709ac7a8b300e139432e7257d52a5eece034eb36b751a235dd26a538302415c57d32b56dd44ff91e5c SHA512 ef0a5beecb0b9f209c92b5091d8ca04a3f01a0f7ef5437517510e2544dc9df4e854cec024326c0c4c5119877a1284ed7e2b019974a38bb90a6c6c33c227662c1 EBUILD thunderbird-78.14.0.ebuild 31845 BLAKE2B dff8dd10de7346a77f40a28e0ed1fb9ba90bbbda6f2e8a159925dc601d8cf43919a74022b725008a5ae4c1b81775fde1abd23d8d28eeec99fb89fdcad9b4eb06 SHA512 83e926c624f96d134a03252656d62ecb2865b568eb4c918c5bbd4d1a670a8272a1536581855277f0d7a16df44500ffc2958f7cb1660484eeb9619c768093cdac EBUILD thunderbird-91.3.0.ebuild 32402 BLAKE2B a06038680156bd74e6412cb4913120e401c6c5692573ffc7781f5fec96add576528a20d86ca511a12001a740a67841d92d1e1ed476821066898a7392d817313e SHA512 765b8ad91e6108877bdde5e5a681d1a39ed965d99ac67542e2c038eb7592f6571b7fe78b27f53dd395b1d711eb3e829d7bef4d65f9b20fbe476e88f780f26aab +EBUILD thunderbird-91.3.1.ebuild 32401 BLAKE2B cc2bfd12031f507084790ca8491ca81ce19e52b31f0feab492f86b6b149a5f8012824cf37582097607046e596ad46cd1c465c9475f6c2d598aaa2ed7b0a336d5 SHA512 372d6bf00c0ed83db3bee89036d21ce886471765ffdc7fe27877c1c0d0bed69f5afcf1108d0a3de52c8df9d68ca28c11cb1671865824982f911e0297fb5a1334 +EBUILD thunderbird-91.3.2.ebuild 32402 BLAKE2B a06038680156bd74e6412cb4913120e401c6c5692573ffc7781f5fec96add576528a20d86ca511a12001a740a67841d92d1e1ed476821066898a7392d817313e SHA512 765b8ad91e6108877bdde5e5a681d1a39ed965d99ac67542e2c038eb7592f6571b7fe78b27f53dd395b1d711eb3e829d7bef4d65f9b20fbe476e88f780f26aab MISC metadata.xml 1828 BLAKE2B d9c75617c756dfbb6eabee5c091376b4577ece4a03e3602989fc7d7711f38346e98dcdb8e782b490221781298a07fcc2304e8ab451fd1651d7f9b71f8f3fcad9 SHA512 6bec39f1469e04645a66a86dfa69e9127ad0cf5af8078a72aa4469b2b8ac4105dc973a79a7bd2e753b40ba85f0b8d9c25e69a653df8ca2d46a2059ced00a4b0d diff --git a/mail-client/thunderbird/thunderbird-91.3.1.ebuild b/mail-client/thunderbird/thunderbird-91.3.1.ebuild new file mode 100644 index 000000000000..053f6a6c0adc --- /dev/null +++ b/mail-client/thunderbird/thunderbird-91.3.1.ebuild @@ -0,0 +1,1133 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI="7" + +FIREFOX_PATCHSET="firefox-91esr-patches-01.tar.xz" + +LLVM_MAX_SLOT=13 + +PYTHON_COMPAT=( python3_{7..10} ) +PYTHON_REQ_USE="ncurses,sqlite,ssl" + +WANT_AUTOCONF="2.1" + +VIRTUALX_REQUIRED="pgo" + +MOZ_ESR= + +MOZ_PV=${PV} +MOZ_PV_SUFFIX= +if [[ ${PV} =~ (_(alpha|beta|rc).*)$ ]] ; then + MOZ_PV_SUFFIX=${BASH_REMATCH[1]} + + # Convert the ebuild version to the upstream Mozilla version + MOZ_PV="${MOZ_PV/_alpha/a}" # Handle alpha for SRC_URI + MOZ_PV="${MOZ_PV/_beta/b}" # Handle beta for SRC_URI + MOZ_PV="${MOZ_PV%%_rc*}" # Handle rc for SRC_URI +fi + +if [[ -n ${MOZ_ESR} ]] ; then + # ESR releases have slightly different version numbers + MOZ_PV="${MOZ_PV}esr" +fi + +MOZ_PN="${PN%-bin}" +MOZ_P="${MOZ_PN}-${MOZ_PV}" +MOZ_PV_DISTFILES="${MOZ_PV}${MOZ_PV_SUFFIX}" +MOZ_P_DISTFILES="${MOZ_PN}-${MOZ_PV_DISTFILES}" + +inherit autotools check-reqs desktop flag-o-matic gnome2-utils \ + llvm multiprocessing pax-utils python-any-r1 toolchain-funcs \ + virtualx xdg + +MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/releases/${MOZ_PV}" + +if [[ ${PV} == *_rc* ]] ; then + MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/candidates/${MOZ_PV}-candidates/build${PV##*_rc}" +fi + +PATCH_URIS=( + https://dev.gentoo.org/~{polynomial-c,whissi}/mozilla/patchsets/${FIREFOX_PATCHSET} +) + +SRC_URI="${MOZ_SRC_BASE_URI}/source/${MOZ_P}.source.tar.xz -> ${MOZ_P_DISTFILES}.source.tar.xz + ${PATCH_URIS[@]}" + +DESCRIPTION="Thunderbird Mail Client" +HOMEPAGE="https://www.thunderbird.net/" + +KEYWORDS="amd64 ~arm64 ~ppc64 ~x86" + +SLOT="0/$(ver_cut 1)" +LICENSE="MPL-2.0 GPL-2 LGPL-2.1" + +IUSE="+clang cpu_flags_arm_neon dbus debug eme-free hardened hwaccel" +IUSE+=" jack lto +openh264 pgo pulseaudio sndio selinux" +IUSE+=" +system-av1 +system-harfbuzz +system-icu +system-jpeg +system-libevent +system-libvpx +system-webp" +IUSE+=" wayland wifi" + +REQUIRED_USE="debug? ( !system-av1 ) + wifi? ( dbus )" + +BDEPEND="${PYTHON_DEPS} + app-arch/unzip + app-arch/zip + >=dev-util/cbindgen-0.19.0 + >=net-libs/nodejs-10.23.1 + virtual/pkgconfig + >=virtual/rust-1.51.0 + || ( + ( + sys-devel/clang:13 + sys-devel/llvm:13 + clang? ( + =sys-devel/lld-13* + pgo? ( =sys-libs/compiler-rt-sanitizers-13*[profile] ) + ) + ) + ( + sys-devel/clang:12 + sys-devel/llvm:12 + clang? ( + =sys-devel/lld-12* + pgo? ( =sys-libs/compiler-rt-sanitizers-12*[profile] ) + ) + ) + ( + sys-devel/clang:11 + sys-devel/llvm:11 + clang? ( + =sys-devel/lld-11* + pgo? ( =sys-libs/compiler-rt-sanitizers-11*[profile] ) + ) + ) + ( + sys-devel/clang:10 + sys-devel/llvm:10 + clang? ( + =sys-devel/lld-10* + pgo? ( =sys-libs/compiler-rt-sanitizers-10*[profile] ) + ) + ) + ) + amd64? ( >=dev-lang/nasm-2.13 ) + x86? ( >=dev-lang/nasm-2.13 )" + +CDEPEND=" + >=dev-libs/nss-3.68 + >=dev-libs/nspr-4.32 + dev-libs/atk + dev-libs/expat + >=x11-libs/cairo-1.10[X] + >=x11-libs/gtk+-3.4.0:3[X] + x11-libs/gdk-pixbuf + >=x11-libs/pango-1.22.0 + >=media-libs/libpng-1.6.35:0=[apng] + >=media-libs/mesa-10.2:* + media-libs/fontconfig + >=media-libs/freetype-2.4.10 + kernel_linux? ( !pulseaudio? ( media-libs/alsa-lib ) ) + virtual/freedesktop-icon-theme + >=x11-libs/pixman-0.19.2 + >=dev-libs/glib-2.26:2 + >=sys-libs/zlib-1.2.3 + >=dev-libs/libffi-3.0.10:= + media-video/ffmpeg + x11-libs/libX11 + x11-libs/libxcb + x11-libs/libXcomposite + x11-libs/libXdamage + x11-libs/libXext + x11-libs/libXfixes + x11-libs/libXrender + x11-libs/libXt + dbus? ( + sys-apps/dbus + dev-libs/dbus-glib + ) + system-av1? ( + >=media-libs/dav1d-0.8.1:= + >=media-libs/libaom-1.0.0:= + ) + system-harfbuzz? ( + >=media-libs/harfbuzz-2.8.1:0= + >=media-gfx/graphite2-1.3.13 + ) + system-icu? ( >=dev-libs/icu-69.1:= ) + system-jpeg? ( >=media-libs/libjpeg-turbo-1.2.1 ) + system-libevent? ( >=dev-libs/libevent-2.0:0=[threads] ) + system-libvpx? ( >=media-libs/libvpx-1.8.2:0=[postproc] ) + system-webp? ( >=media-libs/libwebp-1.1.0:0= ) + wifi? ( + kernel_linux? ( + sys-apps/dbus + dev-libs/dbus-glib + net-misc/networkmanager + ) + ) + jack? ( virtual/jack ) + selinux? ( sec-policy/selinux-mozilla ) + sndio? ( media-sound/sndio )" + +RDEPEND="${CDEPEND} + jack? ( virtual/jack ) + openh264? ( media-libs/openh264:*[plugin] ) + pulseaudio? ( + || ( + media-sound/pulseaudio + >=media-sound/apulse-0.1.12-r4 + ) + ) + selinux? ( sec-policy/selinux-mozilla ) + !<x11-plugins/enigmail-2.2" + +DEPEND="${CDEPEND} + x11-libs/libICE + x11-libs/libSM + pulseaudio? ( + || ( + media-sound/pulseaudio + >=media-sound/apulse-0.1.12-r4[sdk] + ) + ) + wayland? ( >=x11-libs/gtk+-3.11:3[wayland] ) + amd64? ( virtual/opengl ) + x86? ( virtual/opengl )" + +S="${WORKDIR}/${PN}-${PV%_*}" + +llvm_check_deps() { + if ! has_version -b "sys-devel/clang:${LLVM_SLOT}" ; then + einfo "sys-devel/clang:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2 + return 1 + fi + + if use clang ; then + if ! has_version -b "=sys-devel/lld-${LLVM_SLOT}*" ; then + einfo "=sys-devel/lld-${LLVM_SLOT}* is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2 + return 1 + fi + + if use pgo ; then + if ! has_version -b "=sys-libs/compiler-rt-sanitizers-${LLVM_SLOT}*" ; then + einfo "=sys-libs/compiler-rt-sanitizers-${LLVM_SLOT}* is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2 + return 1 + fi + fi + fi + + einfo "Using LLVM slot ${LLVM_SLOT} to build" >&2 +} + +MOZ_LANGS=( + af ar ast be bg br ca cak cs cy da de dsb + el en-CA en-GB en-US es-AR es-ES et eu + fi fr fy-NL ga-IE gd gl he hr hsb hu + id is it ja ka kab kk ko lt lv ms nb-NO nl nn-NO + pa-IN pl pt-BR pt-PT rm ro ru + sk sl sq sr sv-SE th tr uk uz vi zh-CN zh-TW +) + +mozilla_set_globals() { + # https://bugs.gentoo.org/587334 + local MOZ_TOO_REGIONALIZED_FOR_L10N=( + fy-NL ga-IE gu-IN hi-IN hy-AM nb-NO ne-NP nn-NO pa-IN sv-SE + ) + + local lang xflag + for lang in "${MOZ_LANGS[@]}" ; do + # en and en_US are handled internally + if [[ ${lang} == en ]] || [[ ${lang} == en-US ]] ; then + continue + fi + + # strip region subtag if $lang is in the list + if has ${lang} "${MOZ_TOO_REGIONALIZED_FOR_L10N[@]}" ; then + xflag=${lang%%-*} + else + xflag=${lang} + fi + + SRC_URI+=" l10n_${xflag/[_@]/-}? (" + SRC_URI+=" ${MOZ_SRC_BASE_URI}/linux-x86_64/xpi/${lang}.xpi -> ${MOZ_P_DISTFILES}-${lang}.xpi" + SRC_URI+=" )" + IUSE+=" l10n_${xflag/[_@]/-}" + done +} +mozilla_set_globals + +moz_clear_vendor_checksums() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -ne 1 ]] ; then + die "${FUNCNAME} requires exact one argument" + fi + + einfo "Clearing cargo checksums for ${1} ..." + + sed -i \ + -e 's/\("files":{\)[^}]*/\1/' \ + "${S}"/third_party/rust/${1}/.cargo-checksum.json \ + || die +} + +moz_install_xpi() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -lt 2 ]] ; then + die "${FUNCNAME} requires at least two arguments" + fi + + local DESTDIR=${1} + shift + + insinto "${DESTDIR}" + + local emid xpi_file xpi_tmp_dir + for xpi_file in "${@}" ; do + emid= + xpi_tmp_dir=$(mktemp -d --tmpdir="${T}") + + # Unpack XPI + unzip -qq "${xpi_file}" -d "${xpi_tmp_dir}" || die + + # Determine extension ID + if [[ -f "${xpi_tmp_dir}/install.rdf" ]] ; then + emid=$(sed -n -e '/install-manifest/,$ { /em:id/!d; s/.*[\">]\([^\"<>]*\)[\"<].*/\1/; p; q }' "${xpi_tmp_dir}/install.rdf") + [[ -z "${emid}" ]] && die "failed to determine extension id from install.rdf" + elif [[ -f "${xpi_tmp_dir}/manifest.json" ]] ; then + emid=$(sed -n -e 's/.*"id": "\([^"]*\)".*/\1/p' "${xpi_tmp_dir}/manifest.json") + [[ -z "${emid}" ]] && die "failed to determine extension id from manifest.json" + else + die "failed to determine extension id" + fi + + einfo "Installing ${emid}.xpi into ${ED}${DESTDIR} ..." + newins "${xpi_file}" "${emid}.xpi" + done +} + +mozconfig_add_options_ac() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -lt 2 ]] ; then + die "${FUNCNAME} requires at least two arguments" + fi + + local reason=${1} + shift + + local option + for option in ${@} ; do + echo "ac_add_options ${option} # ${reason}" >>${MOZCONFIG} + done +} + +mozconfig_add_options_mk() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -lt 2 ]] ; then + die "${FUNCNAME} requires at least two arguments" + fi + + local reason=${1} + shift + + local option + for option in ${@} ; do + echo "mk_add_options ${option} # ${reason}" >>${MOZCONFIG} + done +} + +mozconfig_use_enable() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -lt 1 ]] ; then + die "${FUNCNAME} requires at least one arguments" + fi + + local flag=$(use_enable "${@}") + mozconfig_add_options_ac "$(use ${1} && echo +${1} || echo -${1})" "${flag}" +} + +mozconfig_use_with() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -lt 1 ]] ; then + die "${FUNCNAME} requires at least one arguments" + fi + + local flag=$(use_with "${@}") + mozconfig_add_options_ac "$(use ${1} && echo +${1} || echo -${1})" "${flag}" +} + +pkg_pretend() { + if [[ ${MERGE_TYPE} != binary ]] ; then + if use pgo ; then + if ! has usersandbox $FEATURES ; then + die "You must enable usersandbox as X server can not run as root!" + fi + fi + + # Ensure we have enough disk space to compile + if use pgo || use lto || use debug ; then + CHECKREQS_DISK_BUILD="13500M" + else + CHECKREQS_DISK_BUILD="6400M" + fi + + check-reqs_pkg_pretend + fi +} + +pkg_setup() { + if [[ ${MERGE_TYPE} != binary ]] ; then + if use pgo ; then + if ! has userpriv ${FEATURES} ; then + eerror "Building ${PN} with USE=pgo and FEATURES=-userpriv is not supported!" + fi + fi + + # Ensure we have enough disk space to compile + if use pgo || use lto || use debug ; then + CHECKREQS_DISK_BUILD="13500M" + else + CHECKREQS_DISK_BUILD="6400M" + fi + + check-reqs_pkg_setup + + llvm_pkg_setup + + if use clang && use lto ; then + local version_lld=$(ld.lld --version 2>/dev/null | awk '{ print $2 }') + [[ -n ${version_lld} ]] && version_lld=$(ver_cut 1 "${version_lld}") + [[ -z ${version_lld} ]] && die "Failed to read ld.lld version!" + + # temp fix for https://bugs.gentoo.org/768543 + # we can assume that rust 1.{49,50}.0 always uses llvm 11 + local version_rust=$(rustc -Vv 2>/dev/null | grep -F -- 'release:' | awk '{ print $2 }') + [[ -n ${version_rust} ]] && version_rust=$(ver_cut 1-2 "${version_rust}") + [[ -z ${version_rust} ]] && die "Failed to read version from rustc!" + + if ver_test "${version_rust}" -ge "1.49" && ver_test "${version_rust}" -le "1.50" ; then + local version_llvm_rust="11" + else + local version_llvm_rust=$(rustc -Vv 2>/dev/null | grep -F -- 'LLVM version:' | awk '{ print $3 }') + [[ -n ${version_llvm_rust} ]] && version_llvm_rust=$(ver_cut 1 "${version_llvm_rust}") + [[ -z ${version_llvm_rust} ]] && die "Failed to read used LLVM version from rustc!" + fi + + if ver_test "${version_lld}" -ne "${version_llvm_rust}" ; then + eerror "Rust is using LLVM version ${version_llvm_rust} but ld.lld version belongs to LLVM version ${version_lld}." + eerror "You will be unable to link ${CATEGORY}/${PN}. To proceed you have the following options:" + eerror " - Manually switch rust version using 'eselect rust' to match used LLVM version" + eerror " - Switch to dev-lang/rust[system-llvm] which will guarantee matching version" + eerror " - Build ${CATEGORY}/${PN} without USE=lto" + die "LLVM version used by Rust (${version_llvm_rust}) does not match with ld.lld version (${version_lld})!" + fi + fi + + if ! use clang && [[ $(gcc-major-version) -eq 11 ]] \ + && ! has_version -b ">sys-devel/gcc-11.1.0:11" ; then + # bug 792705 + eerror "Using GCC 11 to compile firefox is currently known to be broken (see bug #792705)." + die "Set USE=clang or select <gcc-11 to build ${CATEGORY}/${P}." + fi + + python-any-r1_pkg_setup + + # Avoid PGO profiling problems due to enviroment leakage + # These should *always* be cleaned up anyway + unset \ + DBUS_SESSION_BUS_ADDRESS \ + DISPLAY \ + ORBIT_SOCKETDIR \ + SESSION_MANAGER \ + XAUTHORITY \ + XDG_CACHE_HOME \ + XDG_SESSION_COOKIE + + # Build system is using /proc/self/oom_score_adj, bug #604394 + addpredict /proc/self/oom_score_adj + + if use pgo ; then + # Allow access to GPU during PGO run + local ati_cards mesa_cards nvidia_cards render_cards + shopt -s nullglob + + ati_cards=$(echo -n /dev/ati/card* | sed 's/ /:/g') + if [[ -n "${ati_cards}" ]] ; then + addpredict "${ati_cards}" + fi + + mesa_cards=$(echo -n /dev/dri/card* | sed 's/ /:/g') + if [[ -n "${mesa_cards}" ]] ; then + addpredict "${mesa_cards}" + fi + + nvidia_cards=$(echo -n /dev/nvidia* | sed 's/ /:/g') + if [[ -n "${nvidia_cards}" ]] ; then + addpredict "${nvidia_cards}" + fi + + render_cards=$(echo -n /dev/dri/renderD128* | sed 's/ /:/g') + if [[ -n "${render_cards}" ]] ; then + addpredict "${render_cards}" + fi + + shopt -u nullglob + fi + + if ! mountpoint -q /dev/shm ; then + # If /dev/shm is not available, configure is known to fail with + # a traceback report referencing /usr/lib/pythonN.N/multiprocessing/synchronize.py + ewarn "/dev/shm is not mounted -- expect build failures!" + fi + + # Google API keys (see http://www.chromium.org/developers/how-tos/api-keys) + # Note: These are for Gentoo Linux use ONLY. For your own distribution, please + # get your own set of keys. + if [[ -z "${MOZ_API_KEY_GOOGLE+set}" ]] ; then + MOZ_API_KEY_GOOGLE="AIzaSyDEAOvatFogGaPi0eTgsV_ZlEzx0ObmepsMzfAc" + fi + + if [[ -z "${MOZ_API_KEY_LOCATION+set}" ]] ; then + MOZ_API_KEY_LOCATION="AIzaSyB2h2OuRgGaPicUgy5N-5hsZqiPW6sH3n_rptiQ" + fi + + # Mozilla API keys (see https://location.services.mozilla.com/api) + # Note: These are for Gentoo Linux use ONLY. For your own distribution, please + # get your own set of keys. + if [[ -z "${MOZ_API_KEY_MOZILLA+set}" ]] ; then + MOZ_API_KEY_MOZILLA="edb3d487-3a84-46m0ap1e3-9dfd-92b5efaaa005" + fi + + # Ensure we use C locale when building, bug #746215 + export LC_ALL=C + fi +} + +src_unpack() { + local _lp_dir="${WORKDIR}/language_packs" + local _src_file + + if [[ ! -d "${_lp_dir}" ]] ; then + mkdir "${_lp_dir}" || die + fi + + for _src_file in ${A} ; do + if [[ ${_src_file} == *.xpi ]]; then + cp "${DISTDIR}/${_src_file}" "${_lp_dir}" || die "Failed to copy '${_src_file}' to '${_lp_dir}'!" + else + unpack ${_src_file} + fi + done +} + +src_prepare() { + use lto && rm -v "${WORKDIR}"/firefox-patches/*-LTO-Only-enable-LTO-*.patch + eapply "${WORKDIR}/firefox-patches" + + # Allow user to apply any additional patches without modifing ebuild + eapply_user + + # Make LTO respect MAKEOPTS + sed -i \ + -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \ + "${S}"/build/moz.configure/lto-pgo.configure \ + || die "sed failed to set num_cores" + + # Make ICU respect MAKEOPTS + sed -i \ + -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \ + "${S}"/intl/icu_sources_data.py \ + || die "sed failed to set num_cores" + + # sed-in toolchain prefix + sed -i \ + -e "s/objdump/${CHOST}-objdump/" \ + "${S}"/python/mozbuild/mozbuild/configure/check_debug_ranges.py \ + || die "sed failed to set toolchain prefix" + + sed -i \ + -e 's/ccache_stats = None/return None/' \ + "${S}"/python/mozbuild/mozbuild/controller/building.py \ + || die "sed failed to disable ccache stats call" + + einfo "Removing pre-built binaries ..." + find "${S}"/third_party -type f \( -name '*.so' -o -name '*.o' \) -print -delete || die + + # Clearing checksums where we have applied patches + moz_clear_vendor_checksums target-lexicon-0.9.0 + + # Create build dir + BUILD_DIR="${WORKDIR}/${PN}_build" + mkdir -p "${BUILD_DIR}" || die + + # Write API keys to disk + echo -n "${MOZ_API_KEY_GOOGLE//gGaPi/}" > "${S}"/api-google.key || die + echo -n "${MOZ_API_KEY_LOCATION//gGaPi/}" > "${S}"/api-location.key || die + echo -n "${MOZ_API_KEY_MOZILLA//m0ap1/}" > "${S}"/api-mozilla.key || die + + xdg_src_prepare +} + +src_configure() { + # Show flags set at the beginning + einfo "Current BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}" + einfo "Current CFLAGS:\t\t${CFLAGS:-no value set}" + einfo "Current CXXFLAGS:\t\t${CXXFLAGS:-no value set}" + einfo "Current LDFLAGS:\t\t${LDFLAGS:-no value set}" + einfo "Current RUSTFLAGS:\t\t${RUSTFLAGS:-no value set}" + + local have_switched_compiler= + if use clang && ! tc-is-clang ; then + # Force clang + einfo "Enforcing the use of clang due to USE=clang ..." + have_switched_compiler=yes + AR=llvm-ar + CC=${CHOST}-clang + CXX=${CHOST}-clang++ + NM=llvm-nm + RANLIB=llvm-ranlib + elif ! use clang && ! tc-is-gcc ; then + # Force gcc + have_switched_compiler=yes + einfo "Enforcing the use of gcc due to USE=-clang ..." + AR=gcc-ar + CC=${CHOST}-gcc + CXX=${CHOST}-g++ + NM=gcc-nm + RANLIB=gcc-ranlib + fi + + if [[ -n "${have_switched_compiler}" ]] ; then + # Because we switched active compiler we have to ensure + # that no unsupported flags are set + strip-unsupported-flags + fi + + # Ensure we use correct toolchain + export HOST_CC="$(tc-getBUILD_CC)" + export HOST_CXX="$(tc-getBUILD_CXX)" + tc-export CC CXX LD AR NM OBJDUMP RANLIB PKG_CONFIG + + # Pass the correct toolchain paths through cbindgen + if tc-is-cross-compiler ; then + export BINDGEN_CFLAGS="${SYSROOT:+--sysroot=${ESYSROOT}} --target=${CHOST} ${BINDGEN_CFLAGS-}" + fi + + # Set MOZILLA_FIVE_HOME + export MOZILLA_FIVE_HOME="/usr/$(get_libdir)/${PN}" + + # python/mach/mach/mixin/process.py fails to detect SHELL + export SHELL="${EPREFIX}/bin/bash" + + # Set state path + export MOZBUILD_STATE_PATH="${BUILD_DIR}" + + # Set MOZCONFIG + export MOZCONFIG="${S}/.mozconfig" + + # Initialize MOZCONFIG + mozconfig_add_options_ac '' --enable-application=comm/mail + + # Set Gentoo defaults + export MOZILLA_OFFICIAL=1 + + mozconfig_add_options_ac 'Gentoo default' \ + --allow-addon-sideload \ + --disable-cargo-incremental \ + --disable-crashreporter \ + --disable-install-strip \ + --disable-strip \ + --disable-updater \ + --enable-js-shell \ + --enable-official-branding \ + --enable-release \ + --enable-system-ffi \ + --enable-system-pixman \ + --host="${CBUILD:-${CHOST}}" \ + --libdir="${EPREFIX}/usr/$(get_libdir)" \ + --prefix="${EPREFIX}/usr" \ + --target="${CHOST}" \ + --without-ccache \ + --with-intl-api \ + --with-libclang-path="$(llvm-config --libdir)" \ + --with-system-nspr \ + --with-system-nss \ + --with-system-png \ + --with-system-zlib \ + --with-toolchain-prefix="${CHOST}-" \ + --with-unsigned-addon-scopes=app,system \ + --x-includes="${SYSROOT}${EPREFIX}/usr/include" \ + --x-libraries="${SYSROOT}${EPREFIX}/usr/$(get_libdir)" + + # Set update channel + local update_channel=release + [[ -n ${MOZ_ESR} ]] && update_channel=esr + mozconfig_add_options_ac '' --update-channel=${update_channel} + + if ! use x86 && [[ ${CHOST} != armv*h* ]] ; then + mozconfig_add_options_ac '' --enable-rust-simd + fi + + if [[ -s "${S}/api-google.key" ]] ; then + local key_origin="Gentoo default" + if [[ $(cat "${S}/api-google.key" | md5sum | awk '{ print $1 }') != 709560c02f94b41f9ad2c49207be6c54 ]] ; then + key_origin="User value" + fi + + mozconfig_add_options_ac "${key_origin}" \ + --with-google-safebrowsing-api-keyfile="${S}/api-google.key" + else + einfo "Building without Google API key ..." + fi + + if [[ -s "${S}/api-location.key" ]] ; then + local key_origin="Gentoo default" + if [[ $(cat "${S}/api-location.key" | md5sum | awk '{ print $1 }') != ffb7895e35dedf832eb1c5d420ac7420 ]] ; then + key_origin="User value" + fi + + mozconfig_add_options_ac "${key_origin}" \ + --with-google-location-service-api-keyfile="${S}/api-location.key" + else + einfo "Building without Location API key ..." + fi + + if [[ -s "${S}/api-mozilla.key" ]] ; then + local key_origin="Gentoo default" + if [[ $(cat "${S}/api-mozilla.key" | md5sum | awk '{ print $1 }') != 3927726e9442a8e8fa0e46ccc39caa27 ]] ; then + key_origin="User value" + fi + + mozconfig_add_options_ac "${key_origin}" \ + --with-mozilla-api-keyfile="${S}/api-mozilla.key" + else + einfo "Building without Mozilla API key ..." + fi + + mozconfig_use_with system-av1 + mozconfig_use_with system-harfbuzz + mozconfig_use_with system-harfbuzz system-graphite2 + mozconfig_use_with system-icu + mozconfig_use_with system-jpeg + mozconfig_use_with system-libevent system-libevent "${SYSROOT}${EPREFIX}/usr" + mozconfig_use_with system-libvpx + mozconfig_use_with system-webp + + mozconfig_use_enable dbus + + use eme-free && mozconfig_add_options_ac '+eme-free' --disable-eme + + if use hardened ; then + mozconfig_add_options_ac "+hardened" --enable-hardening + append-ldflags "-Wl,-z,relro -Wl,-z,now" + fi + + mozconfig_use_enable jack + + mozconfig_use_enable pulseaudio + # force the deprecated alsa sound code if pulseaudio is disabled + if use kernel_linux && ! use pulseaudio ; then + mozconfig_add_options_ac '-pulseaudio' --enable-alsa + fi + + mozconfig_use_enable sndio + + mozconfig_use_enable wifi necko-wifi + + if use wayland ; then + mozconfig_add_options_ac '+wayland' --enable-default-toolkit=cairo-gtk3-wayland + else + mozconfig_add_options_ac '' --enable-default-toolkit=cairo-gtk3 + fi + + if use lto ; then + if use clang ; then + # Upstream only supports lld when using clang + mozconfig_add_options_ac "forcing ld=lld due to USE=clang and USE=lto" --enable-linker=lld + + mozconfig_add_options_ac '+lto' --enable-lto=cross + else + # ThinLTO is currently broken, see bmo#1644409 + mozconfig_add_options_ac '+lto' --enable-lto=full + fi + + if use pgo ; then + mozconfig_add_options_ac '+pgo' MOZ_PGO=1 + + if use clang ; then + # Used in build/pgo/profileserver.py + export LLVM_PROFDATA="llvm-profdata" + fi + fi + else + # Avoid auto-magic on linker + if use clang ; then + # This is upstream's default + mozconfig_add_options_ac "forcing ld=lld due to USE=clang" --enable-linker=lld + else + mozconfig_add_options_ac "linker is set to bfd" --enable-linker=bfd + fi + fi + + # LTO flag was handled via configure + filter-flags '-flto*' + + mozconfig_use_enable debug + if use debug ; then + mozconfig_add_options_ac '+debug' --disable-optimize + else + if is-flag '-g*' ; then + if use clang ; then + mozconfig_add_options_ac 'from CFLAGS' --enable-debug-symbols=$(get-flag '-g*') + else + mozconfig_add_options_ac 'from CFLAGS' --enable-debug-symbols + fi + else + mozconfig_add_options_ac 'Gentoo default' --disable-debug-symbols + fi + + if is-flag '-O0' ; then + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O0 + elif is-flag '-O4' ; then + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O4 + elif is-flag '-O3' ; then + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O3 + elif is-flag '-O1' ; then + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O1 + elif is-flag '-Os' ; then + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-Os + else + mozconfig_add_options_ac "Gentoo default" --enable-optimize=-O2 + fi + fi + + # Debug flag was handled via configure + filter-flags '-g*' + + # Optimization flag was handled via configure + filter-flags '-O*' + + # Modifications to better support ARM, bug #553364 + if use cpu_flags_arm_neon ; then + mozconfig_add_options_ac '+cpu_flags_arm_neon' --with-fpu=neon + + if ! tc-is-clang ; then + # thumb options aren't supported when using clang, bug 666966 + mozconfig_add_options_ac '+cpu_flags_arm_neon' \ + --with-thumb=yes \ + --with-thumb-interwork=no + fi + fi + + if [[ ${CHOST} == armv*h* ]] ; then + mozconfig_add_options_ac 'CHOST=armv*h*' --with-float-abi=hard + + if ! use system-libvpx ; then + sed -i \ + -e "s|softfp|hard|" \ + "${S}"/media/libvpx/moz.build \ + || die + fi + fi + + if use clang ; then + # https://bugzilla.mozilla.org/show_bug.cgi?id=1482204 + # https://bugzilla.mozilla.org/show_bug.cgi?id=1483822 + # toolkit/moz.configure Elfhack section: target.cpu in ('arm', 'x86', 'x86_64') + local disable_elf_hack= + if use amd64 ; then + disable_elf_hack=yes + elif use x86 ; then + disable_elf_hack=yes + elif use arm ; then + disable_elf_hack=yes + fi + + if [[ -n ${disable_elf_hack} ]] ; then + mozconfig_add_options_ac 'elf-hack is broken when using Clang' --disable-elf-hack + fi + elif tc-is-gcc ; then + if ver_test $(gcc-fullversion) -ge 10 ; then + einfo "Forcing -fno-tree-loop-vectorize to workaround GCC bug, see bug 758446 ..." + append-cxxflags -fno-tree-loop-vectorize + fi + fi + + # Additional ARCH support + case "${ARCH}" in + arm) + # Reduce the memory requirements for linking + if use clang ; then + # Nothing to do + :; + elif tc-ld-is-gold || use lto ; then + append-ldflags -Wl,--no-keep-memory + else + append-ldflags -Wl,--no-keep-memory -Wl,--reduce-memory-overheads + fi + ;; + esac + + if ! use elibc_glibc ; then + mozconfig_add_options_ac '!elibc_glibc' --disable-jemalloc + fi + + # Allow elfhack to work in combination with unstripped binaries + # when they would normally be larger than 2GiB. + append-ldflags "-Wl,--compress-debug-sections=zlib" + + # Make revdep-rebuild.sh happy; Also required for musl + append-ldflags -Wl,-rpath="${MOZILLA_FIVE_HOME}",--enable-new-dtags + + # Pass $MAKEOPTS to build system + export MOZ_MAKE_FLAGS="${MAKEOPTS}" + + # Use system's Python environment + export MACH_USE_SYSTEM_PYTHON=1 + + # Disable notification when build system has finished + export MOZ_NOSPAM=1 + + # Portage sets XARGS environment variable to "xargs -r" by default which + # breaks build system's check_prog() function which doesn't support arguments + mozconfig_add_options_ac 'Gentoo default' "XARGS=${EPREFIX}/usr/bin/xargs" + + # Set build dir + mozconfig_add_options_mk 'Gentoo default' "MOZ_OBJDIR=${BUILD_DIR}" + + # Show flags we will use + einfo "Build BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}" + einfo "Build CFLAGS:\t\t${CFLAGS:-no value set}" + einfo "Build CXXFLAGS:\t\t${CXXFLAGS:-no value set}" + einfo "Build LDFLAGS:\t\t${LDFLAGS:-no value set}" + einfo "Build RUSTFLAGS:\t\t${RUSTFLAGS:-no value set}" + + # Handle EXTRA_CONF and show summary + local ac opt hash reason + + # Apply EXTRA_ECONF entries to $MOZCONFIG + if [[ -n ${EXTRA_ECONF} ]] ; then + IFS=\! read -a ac <<<${EXTRA_ECONF// --/\!} + for opt in "${ac[@]}"; do + mozconfig_add_options_ac "EXTRA_ECONF" --${opt#--} + done + fi + + echo + echo "==========================================================" + echo "Building ${PF} with the following configuration" + grep ^ac_add_options "${MOZCONFIG}" | while read ac opt hash reason; do + [[ -z ${hash} || ${hash} == \# ]] \ + || die "error reading mozconfig: ${ac} ${opt} ${hash} ${reason}" + printf " %-30s %s\n" "${opt}" "${reason:-mozilla.org default}" + done + echo "==========================================================" + echo + + ./mach configure || die +} + +src_compile() { + local virtx_cmd= + + if use pgo ; then + virtx_cmd=virtx + + # Reset and cleanup environment variables used by GNOME/XDG + gnome2_environment_reset + + addpredict /root + fi + + local -x GDK_BACKEND=x11 + + ${virtx_cmd} ./mach build --verbose \ + || die +} + +src_install() { + # xpcshell is getting called during install + pax-mark m \ + "${BUILD_DIR}"/dist/bin/xpcshell \ + "${BUILD_DIR}"/dist/bin/${PN} \ + "${BUILD_DIR}"/dist/bin/plugin-container + + DESTDIR="${D}" ./mach install || die + + # Upstream cannot ship symlink but we can (bmo#658850) + rm "${ED}${MOZILLA_FIVE_HOME}/${PN}-bin" || die + dosym ${PN} ${MOZILLA_FIVE_HOME}/${PN}-bin + + # Don't install llvm-symbolizer from sys-devel/llvm package + if [[ -f "${ED}${MOZILLA_FIVE_HOME}/llvm-symbolizer" ]] ; then + rm -v "${ED}${MOZILLA_FIVE_HOME}/llvm-symbolizer" || die + fi + + # Install policy (currently only used to disable application updates) + insinto "${MOZILLA_FIVE_HOME}/distribution" + newins "${FILESDIR}"/distribution.ini distribution.ini + newins "${FILESDIR}"/disable-auto-update.policy.json policies.json + + # Install system-wide preferences + local PREFS_DIR="${MOZILLA_FIVE_HOME}/defaults/pref" + insinto "${PREFS_DIR}" + newins "${FILESDIR}"/gentoo-default-prefs.js gentoo-prefs.js + + local GENTOO_PREFS="${ED}${PREFS_DIR}/gentoo-prefs.js" + + # Set dictionary path to use system hunspell + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set spellchecker.dictionary_path pref" + pref("spellchecker.dictionary_path", "${EPREFIX}/usr/share/myspell"); + EOF + + # Force hwaccel prefs if USE=hwaccel is enabled + if use hwaccel ; then + cat "${FILESDIR}"/gentoo-hwaccel-prefs.js \ + >>"${GENTOO_PREFS}" \ + || die "failed to add prefs to force hardware-accelerated rendering to all-gentoo.js" + fi + + # Force the graphite pref if USE=system-harfbuzz is enabled, since the pref cannot disable it + if use system-harfbuzz ; then + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set gfx.font_rendering.graphite.enabled pref" + sticky_pref("gfx.font_rendering.graphite.enabled", true); + EOF + fi + + # Install language packs + local langpacks=( $(find "${WORKDIR}/language_packs" -type f -name '*.xpi') ) + if [[ -n "${langpacks}" ]] ; then + moz_install_xpi "${MOZILLA_FIVE_HOME}/distribution/extensions" "${langpacks[@]}" + fi + + # Install icons + local icon_srcdir="${S}/comm/mail/branding/thunderbird" + local icon_symbolic_file="${icon_srcdir}/TB-symbolic.svg" + + insinto /usr/share/icons/hicolor/symbolic/apps + newins "${icon_symbolic_file}" ${PN}-symbolic.svg + + local icon size + for icon in "${icon_srcdir}"/default*.png ; do + size=${icon%.png} + size=${size##*/default} + + if [[ ${size} -eq 48 ]] ; then + newicon "${icon}" ${PN}.png + fi + + newicon -s ${size} "${icon}" ${PN}.png + done + + # Install menu + local app_name="Mozilla ${MOZ_PN^}" + local desktop_file="${FILESDIR}/icon/${PN}-r2.desktop" + local desktop_filename="${PN}.desktop" + local exec_command="${PN}" + local icon="${PN}" + local use_wayland="false" + + if use wayland ; then + use_wayland="true" + fi + + cp "${desktop_file}" "${WORKDIR}/${PN}.desktop-template" || die + + sed -i \ + -e "s:@NAME@:${app_name}:" \ + -e "s:@EXEC@:${exec_command}:" \ + -e "s:@ICON@:${icon}:" \ + "${WORKDIR}/${PN}.desktop-template" \ + || die + + newmenu "${WORKDIR}/${PN}.desktop-template" "${desktop_filename}" + + rm "${WORKDIR}/${PN}.desktop-template" || die + + # Install wrapper script + [[ -f "${ED}/usr/bin/${PN}" ]] && rm "${ED}/usr/bin/${PN}" + newbin "${FILESDIR}/${PN}-r1.sh" ${PN} + + # Update wrapper + sed -i \ + -e "s:@PREFIX@:${EPREFIX}/usr:" \ + -e "s:@MOZ_FIVE_HOME@:${MOZILLA_FIVE_HOME}:" \ + -e "s:@APULSELIB_DIR@:${apulselib}:" \ + -e "s:@DEFAULT_WAYLAND@:${use_wayland}:" \ + "${ED}/usr/bin/${PN}" \ + || die +} + +pkg_preinst() { + xdg_pkg_preinst + + # If the apulse libs are available in MOZILLA_FIVE_HOME then apulse + # does not need to be forced into the LD_LIBRARY_PATH + if use pulseaudio && has_version ">=media-sound/apulse-0.1.12-r4" ; then + einfo "APULSE found; Generating library symlinks for sound support ..." + local lib + pushd "${ED}${MOZILLA_FIVE_HOME}" &>/dev/null || die + for lib in ../apulse/libpulse{.so{,.0},-simple.so{,.0}} ; do + # A quickpkg rolled by hand will grab symlinks as part of the package, + # so we need to avoid creating them if they already exist. + if [[ ! -L ${lib##*/} ]] ; then + ln -s "${lib}" ${lib##*/} || die + fi + done + popd &>/dev/null || die + fi +} + +pkg_postinst() { + xdg_pkg_postinst + + if use pulseaudio && has_version ">=media-sound/apulse-0.1.12-r4" ; then + elog "Apulse was detected at merge time on this system and so it will always be" + elog "used for sound. If you wish to use pulseaudio instead please unmerge" + elog "media-sound/apulse." + elog + fi + + local show_doh_information + local show_shortcut_information + + if [[ -z "${REPLACING_VERSIONS}" ]] ; then + # New install; Tell user that DoH is disabled by default + show_doh_information=yes + show_shortcut_information=no + else + local replacing_version + for replacing_version in ${REPLACING_VERSIONS} ; do + if ver_test "${replacing_version}" -lt 91.0 ; then + # Tell user that we no longer install a shortcut + # per supported display protocol + show_shortcut_information=yes + fi + done + fi + + if [[ -n "${show_doh_information}" ]] ; then + elog + elog "Note regarding Trusted Recursive Resolver aka DNS-over-HTTPS (DoH):" + elog "Due to privacy concerns (encrypting DNS might be a good thing, sending all" + elog "DNS traffic to Cloudflare by default is not a good idea and applications" + elog "should respect OS configured settings), \"network.trr.mode\" was set to 5" + elog "(\"Off by choice\") by default." + elog "You can enable DNS-over-HTTPS in ${PN^}'s preferences." + fi + + if [[ -n "${show_shortcut_information}" ]] ; then + elog + elog "Since ${PN}-91.0 we no longer install multiple shortcuts for" + elog "each supported display protocol. Instead we will only install" + elog "one generic Mozilla ${PN^} shortcut." + elog "If you still want to be able to select between running Mozilla ${PN^}" + elog "on X11 or Wayland, you have to re-create these shortcuts on your own." + fi +} diff --git a/mail-client/thunderbird/thunderbird-91.3.2.ebuild b/mail-client/thunderbird/thunderbird-91.3.2.ebuild new file mode 100644 index 000000000000..d053304bbe36 --- /dev/null +++ b/mail-client/thunderbird/thunderbird-91.3.2.ebuild @@ -0,0 +1,1133 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI="7" + +FIREFOX_PATCHSET="firefox-91esr-patches-01.tar.xz" + +LLVM_MAX_SLOT=13 + +PYTHON_COMPAT=( python3_{7..10} ) +PYTHON_REQ_USE="ncurses,sqlite,ssl" + +WANT_AUTOCONF="2.1" + +VIRTUALX_REQUIRED="pgo" + +MOZ_ESR= + +MOZ_PV=${PV} +MOZ_PV_SUFFIX= +if [[ ${PV} =~ (_(alpha|beta|rc).*)$ ]] ; then + MOZ_PV_SUFFIX=${BASH_REMATCH[1]} + + # Convert the ebuild version to the upstream Mozilla version + MOZ_PV="${MOZ_PV/_alpha/a}" # Handle alpha for SRC_URI + MOZ_PV="${MOZ_PV/_beta/b}" # Handle beta for SRC_URI + MOZ_PV="${MOZ_PV%%_rc*}" # Handle rc for SRC_URI +fi + +if [[ -n ${MOZ_ESR} ]] ; then + # ESR releases have slightly different version numbers + MOZ_PV="${MOZ_PV}esr" +fi + +MOZ_PN="${PN%-bin}" +MOZ_P="${MOZ_PN}-${MOZ_PV}" +MOZ_PV_DISTFILES="${MOZ_PV}${MOZ_PV_SUFFIX}" +MOZ_P_DISTFILES="${MOZ_PN}-${MOZ_PV_DISTFILES}" + +inherit autotools check-reqs desktop flag-o-matic gnome2-utils \ + llvm multiprocessing pax-utils python-any-r1 toolchain-funcs \ + virtualx xdg + +MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/releases/${MOZ_PV}" + +if [[ ${PV} == *_rc* ]] ; then + MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/candidates/${MOZ_PV}-candidates/build${PV##*_rc}" +fi + +PATCH_URIS=( + https://dev.gentoo.org/~{polynomial-c,whissi}/mozilla/patchsets/${FIREFOX_PATCHSET} +) + +SRC_URI="${MOZ_SRC_BASE_URI}/source/${MOZ_P}.source.tar.xz -> ${MOZ_P_DISTFILES}.source.tar.xz + ${PATCH_URIS[@]}" + +DESCRIPTION="Thunderbird Mail Client" +HOMEPAGE="https://www.thunderbird.net/" + +KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86" + +SLOT="0/$(ver_cut 1)" +LICENSE="MPL-2.0 GPL-2 LGPL-2.1" + +IUSE="+clang cpu_flags_arm_neon dbus debug eme-free hardened hwaccel" +IUSE+=" jack lto +openh264 pgo pulseaudio sndio selinux" +IUSE+=" +system-av1 +system-harfbuzz +system-icu +system-jpeg +system-libevent +system-libvpx +system-webp" +IUSE+=" wayland wifi" + +REQUIRED_USE="debug? ( !system-av1 ) + wifi? ( dbus )" + +BDEPEND="${PYTHON_DEPS} + app-arch/unzip + app-arch/zip + >=dev-util/cbindgen-0.19.0 + >=net-libs/nodejs-10.23.1 + virtual/pkgconfig + >=virtual/rust-1.51.0 + || ( + ( + sys-devel/clang:13 + sys-devel/llvm:13 + clang? ( + =sys-devel/lld-13* + pgo? ( =sys-libs/compiler-rt-sanitizers-13*[profile] ) + ) + ) + ( + sys-devel/clang:12 + sys-devel/llvm:12 + clang? ( + =sys-devel/lld-12* + pgo? ( =sys-libs/compiler-rt-sanitizers-12*[profile] ) + ) + ) + ( + sys-devel/clang:11 + sys-devel/llvm:11 + clang? ( + =sys-devel/lld-11* + pgo? ( =sys-libs/compiler-rt-sanitizers-11*[profile] ) + ) + ) + ( + sys-devel/clang:10 + sys-devel/llvm:10 + clang? ( + =sys-devel/lld-10* + pgo? ( =sys-libs/compiler-rt-sanitizers-10*[profile] ) + ) + ) + ) + amd64? ( >=dev-lang/nasm-2.13 ) + x86? ( >=dev-lang/nasm-2.13 )" + +CDEPEND=" + >=dev-libs/nss-3.68 + >=dev-libs/nspr-4.32 + dev-libs/atk + dev-libs/expat + >=x11-libs/cairo-1.10[X] + >=x11-libs/gtk+-3.4.0:3[X] + x11-libs/gdk-pixbuf + >=x11-libs/pango-1.22.0 + >=media-libs/libpng-1.6.35:0=[apng] + >=media-libs/mesa-10.2:* + media-libs/fontconfig + >=media-libs/freetype-2.4.10 + kernel_linux? ( !pulseaudio? ( media-libs/alsa-lib ) ) + virtual/freedesktop-icon-theme + >=x11-libs/pixman-0.19.2 + >=dev-libs/glib-2.26:2 + >=sys-libs/zlib-1.2.3 + >=dev-libs/libffi-3.0.10:= + media-video/ffmpeg + x11-libs/libX11 + x11-libs/libxcb + x11-libs/libXcomposite + x11-libs/libXdamage + x11-libs/libXext + x11-libs/libXfixes + x11-libs/libXrender + x11-libs/libXt + dbus? ( + sys-apps/dbus + dev-libs/dbus-glib + ) + system-av1? ( + >=media-libs/dav1d-0.8.1:= + >=media-libs/libaom-1.0.0:= + ) + system-harfbuzz? ( + >=media-libs/harfbuzz-2.8.1:0= + >=media-gfx/graphite2-1.3.13 + ) + system-icu? ( >=dev-libs/icu-69.1:= ) + system-jpeg? ( >=media-libs/libjpeg-turbo-1.2.1 ) + system-libevent? ( >=dev-libs/libevent-2.0:0=[threads] ) + system-libvpx? ( >=media-libs/libvpx-1.8.2:0=[postproc] ) + system-webp? ( >=media-libs/libwebp-1.1.0:0= ) + wifi? ( + kernel_linux? ( + sys-apps/dbus + dev-libs/dbus-glib + net-misc/networkmanager + ) + ) + jack? ( virtual/jack ) + selinux? ( sec-policy/selinux-mozilla ) + sndio? ( media-sound/sndio )" + +RDEPEND="${CDEPEND} + jack? ( virtual/jack ) + openh264? ( media-libs/openh264:*[plugin] ) + pulseaudio? ( + || ( + media-sound/pulseaudio + >=media-sound/apulse-0.1.12-r4 + ) + ) + selinux? ( sec-policy/selinux-mozilla ) + !<x11-plugins/enigmail-2.2" + +DEPEND="${CDEPEND} + x11-libs/libICE + x11-libs/libSM + pulseaudio? ( + || ( + media-sound/pulseaudio + >=media-sound/apulse-0.1.12-r4[sdk] + ) + ) + wayland? ( >=x11-libs/gtk+-3.11:3[wayland] ) + amd64? ( virtual/opengl ) + x86? ( virtual/opengl )" + +S="${WORKDIR}/${PN}-${PV%_*}" + +llvm_check_deps() { + if ! has_version -b "sys-devel/clang:${LLVM_SLOT}" ; then + einfo "sys-devel/clang:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2 + return 1 + fi + + if use clang ; then + if ! has_version -b "=sys-devel/lld-${LLVM_SLOT}*" ; then + einfo "=sys-devel/lld-${LLVM_SLOT}* is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2 + return 1 + fi + + if use pgo ; then + if ! has_version -b "=sys-libs/compiler-rt-sanitizers-${LLVM_SLOT}*" ; then + einfo "=sys-libs/compiler-rt-sanitizers-${LLVM_SLOT}* is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2 + return 1 + fi + fi + fi + + einfo "Using LLVM slot ${LLVM_SLOT} to build" >&2 +} + +MOZ_LANGS=( + af ar ast be bg br ca cak cs cy da de dsb + el en-CA en-GB en-US es-AR es-ES et eu + fi fr fy-NL ga-IE gd gl he hr hsb hu + id is it ja ka kab kk ko lt lv ms nb-NO nl nn-NO + pa-IN pl pt-BR pt-PT rm ro ru + sk sl sq sr sv-SE th tr uk uz vi zh-CN zh-TW +) + +mozilla_set_globals() { + # https://bugs.gentoo.org/587334 + local MOZ_TOO_REGIONALIZED_FOR_L10N=( + fy-NL ga-IE gu-IN hi-IN hy-AM nb-NO ne-NP nn-NO pa-IN sv-SE + ) + + local lang xflag + for lang in "${MOZ_LANGS[@]}" ; do + # en and en_US are handled internally + if [[ ${lang} == en ]] || [[ ${lang} == en-US ]] ; then + continue + fi + + # strip region subtag if $lang is in the list + if has ${lang} "${MOZ_TOO_REGIONALIZED_FOR_L10N[@]}" ; then + xflag=${lang%%-*} + else + xflag=${lang} + fi + + SRC_URI+=" l10n_${xflag/[_@]/-}? (" + SRC_URI+=" ${MOZ_SRC_BASE_URI}/linux-x86_64/xpi/${lang}.xpi -> ${MOZ_P_DISTFILES}-${lang}.xpi" + SRC_URI+=" )" + IUSE+=" l10n_${xflag/[_@]/-}" + done +} +mozilla_set_globals + +moz_clear_vendor_checksums() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -ne 1 ]] ; then + die "${FUNCNAME} requires exact one argument" + fi + + einfo "Clearing cargo checksums for ${1} ..." + + sed -i \ + -e 's/\("files":{\)[^}]*/\1/' \ + "${S}"/third_party/rust/${1}/.cargo-checksum.json \ + || die +} + +moz_install_xpi() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -lt 2 ]] ; then + die "${FUNCNAME} requires at least two arguments" + fi + + local DESTDIR=${1} + shift + + insinto "${DESTDIR}" + + local emid xpi_file xpi_tmp_dir + for xpi_file in "${@}" ; do + emid= + xpi_tmp_dir=$(mktemp -d --tmpdir="${T}") + + # Unpack XPI + unzip -qq "${xpi_file}" -d "${xpi_tmp_dir}" || die + + # Determine extension ID + if [[ -f "${xpi_tmp_dir}/install.rdf" ]] ; then + emid=$(sed -n -e '/install-manifest/,$ { /em:id/!d; s/.*[\">]\([^\"<>]*\)[\"<].*/\1/; p; q }' "${xpi_tmp_dir}/install.rdf") + [[ -z "${emid}" ]] && die "failed to determine extension id from install.rdf" + elif [[ -f "${xpi_tmp_dir}/manifest.json" ]] ; then + emid=$(sed -n -e 's/.*"id": "\([^"]*\)".*/\1/p' "${xpi_tmp_dir}/manifest.json") + [[ -z "${emid}" ]] && die "failed to determine extension id from manifest.json" + else + die "failed to determine extension id" + fi + + einfo "Installing ${emid}.xpi into ${ED}${DESTDIR} ..." + newins "${xpi_file}" "${emid}.xpi" + done +} + +mozconfig_add_options_ac() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -lt 2 ]] ; then + die "${FUNCNAME} requires at least two arguments" + fi + + local reason=${1} + shift + + local option + for option in ${@} ; do + echo "ac_add_options ${option} # ${reason}" >>${MOZCONFIG} + done +} + +mozconfig_add_options_mk() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -lt 2 ]] ; then + die "${FUNCNAME} requires at least two arguments" + fi + + local reason=${1} + shift + + local option + for option in ${@} ; do + echo "mk_add_options ${option} # ${reason}" >>${MOZCONFIG} + done +} + +mozconfig_use_enable() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -lt 1 ]] ; then + die "${FUNCNAME} requires at least one arguments" + fi + + local flag=$(use_enable "${@}") + mozconfig_add_options_ac "$(use ${1} && echo +${1} || echo -${1})" "${flag}" +} + +mozconfig_use_with() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -lt 1 ]] ; then + die "${FUNCNAME} requires at least one arguments" + fi + + local flag=$(use_with "${@}") + mozconfig_add_options_ac "$(use ${1} && echo +${1} || echo -${1})" "${flag}" +} + +pkg_pretend() { + if [[ ${MERGE_TYPE} != binary ]] ; then + if use pgo ; then + if ! has usersandbox $FEATURES ; then + die "You must enable usersandbox as X server can not run as root!" + fi + fi + + # Ensure we have enough disk space to compile + if use pgo || use lto || use debug ; then + CHECKREQS_DISK_BUILD="13500M" + else + CHECKREQS_DISK_BUILD="6400M" + fi + + check-reqs_pkg_pretend + fi +} + +pkg_setup() { + if [[ ${MERGE_TYPE} != binary ]] ; then + if use pgo ; then + if ! has userpriv ${FEATURES} ; then + eerror "Building ${PN} with USE=pgo and FEATURES=-userpriv is not supported!" + fi + fi + + # Ensure we have enough disk space to compile + if use pgo || use lto || use debug ; then + CHECKREQS_DISK_BUILD="13500M" + else + CHECKREQS_DISK_BUILD="6400M" + fi + + check-reqs_pkg_setup + + llvm_pkg_setup + + if use clang && use lto ; then + local version_lld=$(ld.lld --version 2>/dev/null | awk '{ print $2 }') + [[ -n ${version_lld} ]] && version_lld=$(ver_cut 1 "${version_lld}") + [[ -z ${version_lld} ]] && die "Failed to read ld.lld version!" + + # temp fix for https://bugs.gentoo.org/768543 + # we can assume that rust 1.{49,50}.0 always uses llvm 11 + local version_rust=$(rustc -Vv 2>/dev/null | grep -F -- 'release:' | awk '{ print $2 }') + [[ -n ${version_rust} ]] && version_rust=$(ver_cut 1-2 "${version_rust}") + [[ -z ${version_rust} ]] && die "Failed to read version from rustc!" + + if ver_test "${version_rust}" -ge "1.49" && ver_test "${version_rust}" -le "1.50" ; then + local version_llvm_rust="11" + else + local version_llvm_rust=$(rustc -Vv 2>/dev/null | grep -F -- 'LLVM version:' | awk '{ print $3 }') + [[ -n ${version_llvm_rust} ]] && version_llvm_rust=$(ver_cut 1 "${version_llvm_rust}") + [[ -z ${version_llvm_rust} ]] && die "Failed to read used LLVM version from rustc!" + fi + + if ver_test "${version_lld}" -ne "${version_llvm_rust}" ; then + eerror "Rust is using LLVM version ${version_llvm_rust} but ld.lld version belongs to LLVM version ${version_lld}." + eerror "You will be unable to link ${CATEGORY}/${PN}. To proceed you have the following options:" + eerror " - Manually switch rust version using 'eselect rust' to match used LLVM version" + eerror " - Switch to dev-lang/rust[system-llvm] which will guarantee matching version" + eerror " - Build ${CATEGORY}/${PN} without USE=lto" + die "LLVM version used by Rust (${version_llvm_rust}) does not match with ld.lld version (${version_lld})!" + fi + fi + + if ! use clang && [[ $(gcc-major-version) -eq 11 ]] \ + && ! has_version -b ">sys-devel/gcc-11.1.0:11" ; then + # bug 792705 + eerror "Using GCC 11 to compile firefox is currently known to be broken (see bug #792705)." + die "Set USE=clang or select <gcc-11 to build ${CATEGORY}/${P}." + fi + + python-any-r1_pkg_setup + + # Avoid PGO profiling problems due to enviroment leakage + # These should *always* be cleaned up anyway + unset \ + DBUS_SESSION_BUS_ADDRESS \ + DISPLAY \ + ORBIT_SOCKETDIR \ + SESSION_MANAGER \ + XAUTHORITY \ + XDG_CACHE_HOME \ + XDG_SESSION_COOKIE + + # Build system is using /proc/self/oom_score_adj, bug #604394 + addpredict /proc/self/oom_score_adj + + if use pgo ; then + # Allow access to GPU during PGO run + local ati_cards mesa_cards nvidia_cards render_cards + shopt -s nullglob + + ati_cards=$(echo -n /dev/ati/card* | sed 's/ /:/g') + if [[ -n "${ati_cards}" ]] ; then + addpredict "${ati_cards}" + fi + + mesa_cards=$(echo -n /dev/dri/card* | sed 's/ /:/g') + if [[ -n "${mesa_cards}" ]] ; then + addpredict "${mesa_cards}" + fi + + nvidia_cards=$(echo -n /dev/nvidia* | sed 's/ /:/g') + if [[ -n "${nvidia_cards}" ]] ; then + addpredict "${nvidia_cards}" + fi + + render_cards=$(echo -n /dev/dri/renderD128* | sed 's/ /:/g') + if [[ -n "${render_cards}" ]] ; then + addpredict "${render_cards}" + fi + + shopt -u nullglob + fi + + if ! mountpoint -q /dev/shm ; then + # If /dev/shm is not available, configure is known to fail with + # a traceback report referencing /usr/lib/pythonN.N/multiprocessing/synchronize.py + ewarn "/dev/shm is not mounted -- expect build failures!" + fi + + # Google API keys (see http://www.chromium.org/developers/how-tos/api-keys) + # Note: These are for Gentoo Linux use ONLY. For your own distribution, please + # get your own set of keys. + if [[ -z "${MOZ_API_KEY_GOOGLE+set}" ]] ; then + MOZ_API_KEY_GOOGLE="AIzaSyDEAOvatFogGaPi0eTgsV_ZlEzx0ObmepsMzfAc" + fi + + if [[ -z "${MOZ_API_KEY_LOCATION+set}" ]] ; then + MOZ_API_KEY_LOCATION="AIzaSyB2h2OuRgGaPicUgy5N-5hsZqiPW6sH3n_rptiQ" + fi + + # Mozilla API keys (see https://location.services.mozilla.com/api) + # Note: These are for Gentoo Linux use ONLY. For your own distribution, please + # get your own set of keys. + if [[ -z "${MOZ_API_KEY_MOZILLA+set}" ]] ; then + MOZ_API_KEY_MOZILLA="edb3d487-3a84-46m0ap1e3-9dfd-92b5efaaa005" + fi + + # Ensure we use C locale when building, bug #746215 + export LC_ALL=C + fi +} + +src_unpack() { + local _lp_dir="${WORKDIR}/language_packs" + local _src_file + + if [[ ! -d "${_lp_dir}" ]] ; then + mkdir "${_lp_dir}" || die + fi + + for _src_file in ${A} ; do + if [[ ${_src_file} == *.xpi ]]; then + cp "${DISTDIR}/${_src_file}" "${_lp_dir}" || die "Failed to copy '${_src_file}' to '${_lp_dir}'!" + else + unpack ${_src_file} + fi + done +} + +src_prepare() { + use lto && rm -v "${WORKDIR}"/firefox-patches/*-LTO-Only-enable-LTO-*.patch + eapply "${WORKDIR}/firefox-patches" + + # Allow user to apply any additional patches without modifing ebuild + eapply_user + + # Make LTO respect MAKEOPTS + sed -i \ + -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \ + "${S}"/build/moz.configure/lto-pgo.configure \ + || die "sed failed to set num_cores" + + # Make ICU respect MAKEOPTS + sed -i \ + -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \ + "${S}"/intl/icu_sources_data.py \ + || die "sed failed to set num_cores" + + # sed-in toolchain prefix + sed -i \ + -e "s/objdump/${CHOST}-objdump/" \ + "${S}"/python/mozbuild/mozbuild/configure/check_debug_ranges.py \ + || die "sed failed to set toolchain prefix" + + sed -i \ + -e 's/ccache_stats = None/return None/' \ + "${S}"/python/mozbuild/mozbuild/controller/building.py \ + || die "sed failed to disable ccache stats call" + + einfo "Removing pre-built binaries ..." + find "${S}"/third_party -type f \( -name '*.so' -o -name '*.o' \) -print -delete || die + + # Clearing checksums where we have applied patches + moz_clear_vendor_checksums target-lexicon-0.9.0 + + # Create build dir + BUILD_DIR="${WORKDIR}/${PN}_build" + mkdir -p "${BUILD_DIR}" || die + + # Write API keys to disk + echo -n "${MOZ_API_KEY_GOOGLE//gGaPi/}" > "${S}"/api-google.key || die + echo -n "${MOZ_API_KEY_LOCATION//gGaPi/}" > "${S}"/api-location.key || die + echo -n "${MOZ_API_KEY_MOZILLA//m0ap1/}" > "${S}"/api-mozilla.key || die + + xdg_src_prepare +} + +src_configure() { + # Show flags set at the beginning + einfo "Current BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}" + einfo "Current CFLAGS:\t\t${CFLAGS:-no value set}" + einfo "Current CXXFLAGS:\t\t${CXXFLAGS:-no value set}" + einfo "Current LDFLAGS:\t\t${LDFLAGS:-no value set}" + einfo "Current RUSTFLAGS:\t\t${RUSTFLAGS:-no value set}" + + local have_switched_compiler= + if use clang && ! tc-is-clang ; then + # Force clang + einfo "Enforcing the use of clang due to USE=clang ..." + have_switched_compiler=yes + AR=llvm-ar + CC=${CHOST}-clang + CXX=${CHOST}-clang++ + NM=llvm-nm + RANLIB=llvm-ranlib + elif ! use clang && ! tc-is-gcc ; then + # Force gcc + have_switched_compiler=yes + einfo "Enforcing the use of gcc due to USE=-clang ..." + AR=gcc-ar + CC=${CHOST}-gcc + CXX=${CHOST}-g++ + NM=gcc-nm + RANLIB=gcc-ranlib + fi + + if [[ -n "${have_switched_compiler}" ]] ; then + # Because we switched active compiler we have to ensure + # that no unsupported flags are set + strip-unsupported-flags + fi + + # Ensure we use correct toolchain + export HOST_CC="$(tc-getBUILD_CC)" + export HOST_CXX="$(tc-getBUILD_CXX)" + tc-export CC CXX LD AR NM OBJDUMP RANLIB PKG_CONFIG + + # Pass the correct toolchain paths through cbindgen + if tc-is-cross-compiler ; then + export BINDGEN_CFLAGS="${SYSROOT:+--sysroot=${ESYSROOT}} --target=${CHOST} ${BINDGEN_CFLAGS-}" + fi + + # Set MOZILLA_FIVE_HOME + export MOZILLA_FIVE_HOME="/usr/$(get_libdir)/${PN}" + + # python/mach/mach/mixin/process.py fails to detect SHELL + export SHELL="${EPREFIX}/bin/bash" + + # Set state path + export MOZBUILD_STATE_PATH="${BUILD_DIR}" + + # Set MOZCONFIG + export MOZCONFIG="${S}/.mozconfig" + + # Initialize MOZCONFIG + mozconfig_add_options_ac '' --enable-application=comm/mail + + # Set Gentoo defaults + export MOZILLA_OFFICIAL=1 + + mozconfig_add_options_ac 'Gentoo default' \ + --allow-addon-sideload \ + --disable-cargo-incremental \ + --disable-crashreporter \ + --disable-install-strip \ + --disable-strip \ + --disable-updater \ + --enable-js-shell \ + --enable-official-branding \ + --enable-release \ + --enable-system-ffi \ + --enable-system-pixman \ + --host="${CBUILD:-${CHOST}}" \ + --libdir="${EPREFIX}/usr/$(get_libdir)" \ + --prefix="${EPREFIX}/usr" \ + --target="${CHOST}" \ + --without-ccache \ + --with-intl-api \ + --with-libclang-path="$(llvm-config --libdir)" \ + --with-system-nspr \ + --with-system-nss \ + --with-system-png \ + --with-system-zlib \ + --with-toolchain-prefix="${CHOST}-" \ + --with-unsigned-addon-scopes=app,system \ + --x-includes="${SYSROOT}${EPREFIX}/usr/include" \ + --x-libraries="${SYSROOT}${EPREFIX}/usr/$(get_libdir)" + + # Set update channel + local update_channel=release + [[ -n ${MOZ_ESR} ]] && update_channel=esr + mozconfig_add_options_ac '' --update-channel=${update_channel} + + if ! use x86 && [[ ${CHOST} != armv*h* ]] ; then + mozconfig_add_options_ac '' --enable-rust-simd + fi + + if [[ -s "${S}/api-google.key" ]] ; then + local key_origin="Gentoo default" + if [[ $(cat "${S}/api-google.key" | md5sum | awk '{ print $1 }') != 709560c02f94b41f9ad2c49207be6c54 ]] ; then + key_origin="User value" + fi + + mozconfig_add_options_ac "${key_origin}" \ + --with-google-safebrowsing-api-keyfile="${S}/api-google.key" + else + einfo "Building without Google API key ..." + fi + + if [[ -s "${S}/api-location.key" ]] ; then + local key_origin="Gentoo default" + if [[ $(cat "${S}/api-location.key" | md5sum | awk '{ print $1 }') != ffb7895e35dedf832eb1c5d420ac7420 ]] ; then + key_origin="User value" + fi + + mozconfig_add_options_ac "${key_origin}" \ + --with-google-location-service-api-keyfile="${S}/api-location.key" + else + einfo "Building without Location API key ..." + fi + + if [[ -s "${S}/api-mozilla.key" ]] ; then + local key_origin="Gentoo default" + if [[ $(cat "${S}/api-mozilla.key" | md5sum | awk '{ print $1 }') != 3927726e9442a8e8fa0e46ccc39caa27 ]] ; then + key_origin="User value" + fi + + mozconfig_add_options_ac "${key_origin}" \ + --with-mozilla-api-keyfile="${S}/api-mozilla.key" + else + einfo "Building without Mozilla API key ..." + fi + + mozconfig_use_with system-av1 + mozconfig_use_with system-harfbuzz + mozconfig_use_with system-harfbuzz system-graphite2 + mozconfig_use_with system-icu + mozconfig_use_with system-jpeg + mozconfig_use_with system-libevent system-libevent "${SYSROOT}${EPREFIX}/usr" + mozconfig_use_with system-libvpx + mozconfig_use_with system-webp + + mozconfig_use_enable dbus + + use eme-free && mozconfig_add_options_ac '+eme-free' --disable-eme + + if use hardened ; then + mozconfig_add_options_ac "+hardened" --enable-hardening + append-ldflags "-Wl,-z,relro -Wl,-z,now" + fi + + mozconfig_use_enable jack + + mozconfig_use_enable pulseaudio + # force the deprecated alsa sound code if pulseaudio is disabled + if use kernel_linux && ! use pulseaudio ; then + mozconfig_add_options_ac '-pulseaudio' --enable-alsa + fi + + mozconfig_use_enable sndio + + mozconfig_use_enable wifi necko-wifi + + if use wayland ; then + mozconfig_add_options_ac '+wayland' --enable-default-toolkit=cairo-gtk3-wayland + else + mozconfig_add_options_ac '' --enable-default-toolkit=cairo-gtk3 + fi + + if use lto ; then + if use clang ; then + # Upstream only supports lld when using clang + mozconfig_add_options_ac "forcing ld=lld due to USE=clang and USE=lto" --enable-linker=lld + + mozconfig_add_options_ac '+lto' --enable-lto=cross + else + # ThinLTO is currently broken, see bmo#1644409 + mozconfig_add_options_ac '+lto' --enable-lto=full + fi + + if use pgo ; then + mozconfig_add_options_ac '+pgo' MOZ_PGO=1 + + if use clang ; then + # Used in build/pgo/profileserver.py + export LLVM_PROFDATA="llvm-profdata" + fi + fi + else + # Avoid auto-magic on linker + if use clang ; then + # This is upstream's default + mozconfig_add_options_ac "forcing ld=lld due to USE=clang" --enable-linker=lld + else + mozconfig_add_options_ac "linker is set to bfd" --enable-linker=bfd + fi + fi + + # LTO flag was handled via configure + filter-flags '-flto*' + + mozconfig_use_enable debug + if use debug ; then + mozconfig_add_options_ac '+debug' --disable-optimize + else + if is-flag '-g*' ; then + if use clang ; then + mozconfig_add_options_ac 'from CFLAGS' --enable-debug-symbols=$(get-flag '-g*') + else + mozconfig_add_options_ac 'from CFLAGS' --enable-debug-symbols + fi + else + mozconfig_add_options_ac 'Gentoo default' --disable-debug-symbols + fi + + if is-flag '-O0' ; then + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O0 + elif is-flag '-O4' ; then + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O4 + elif is-flag '-O3' ; then + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O3 + elif is-flag '-O1' ; then + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O1 + elif is-flag '-Os' ; then + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-Os + else + mozconfig_add_options_ac "Gentoo default" --enable-optimize=-O2 + fi + fi + + # Debug flag was handled via configure + filter-flags '-g*' + + # Optimization flag was handled via configure + filter-flags '-O*' + + # Modifications to better support ARM, bug #553364 + if use cpu_flags_arm_neon ; then + mozconfig_add_options_ac '+cpu_flags_arm_neon' --with-fpu=neon + + if ! tc-is-clang ; then + # thumb options aren't supported when using clang, bug 666966 + mozconfig_add_options_ac '+cpu_flags_arm_neon' \ + --with-thumb=yes \ + --with-thumb-interwork=no + fi + fi + + if [[ ${CHOST} == armv*h* ]] ; then + mozconfig_add_options_ac 'CHOST=armv*h*' --with-float-abi=hard + + if ! use system-libvpx ; then + sed -i \ + -e "s|softfp|hard|" \ + "${S}"/media/libvpx/moz.build \ + || die + fi + fi + + if use clang ; then + # https://bugzilla.mozilla.org/show_bug.cgi?id=1482204 + # https://bugzilla.mozilla.org/show_bug.cgi?id=1483822 + # toolkit/moz.configure Elfhack section: target.cpu in ('arm', 'x86', 'x86_64') + local disable_elf_hack= + if use amd64 ; then + disable_elf_hack=yes + elif use x86 ; then + disable_elf_hack=yes + elif use arm ; then + disable_elf_hack=yes + fi + + if [[ -n ${disable_elf_hack} ]] ; then + mozconfig_add_options_ac 'elf-hack is broken when using Clang' --disable-elf-hack + fi + elif tc-is-gcc ; then + if ver_test $(gcc-fullversion) -ge 10 ; then + einfo "Forcing -fno-tree-loop-vectorize to workaround GCC bug, see bug 758446 ..." + append-cxxflags -fno-tree-loop-vectorize + fi + fi + + # Additional ARCH support + case "${ARCH}" in + arm) + # Reduce the memory requirements for linking + if use clang ; then + # Nothing to do + :; + elif tc-ld-is-gold || use lto ; then + append-ldflags -Wl,--no-keep-memory + else + append-ldflags -Wl,--no-keep-memory -Wl,--reduce-memory-overheads + fi + ;; + esac + + if ! use elibc_glibc ; then + mozconfig_add_options_ac '!elibc_glibc' --disable-jemalloc + fi + + # Allow elfhack to work in combination with unstripped binaries + # when they would normally be larger than 2GiB. + append-ldflags "-Wl,--compress-debug-sections=zlib" + + # Make revdep-rebuild.sh happy; Also required for musl + append-ldflags -Wl,-rpath="${MOZILLA_FIVE_HOME}",--enable-new-dtags + + # Pass $MAKEOPTS to build system + export MOZ_MAKE_FLAGS="${MAKEOPTS}" + + # Use system's Python environment + export MACH_USE_SYSTEM_PYTHON=1 + + # Disable notification when build system has finished + export MOZ_NOSPAM=1 + + # Portage sets XARGS environment variable to "xargs -r" by default which + # breaks build system's check_prog() function which doesn't support arguments + mozconfig_add_options_ac 'Gentoo default' "XARGS=${EPREFIX}/usr/bin/xargs" + + # Set build dir + mozconfig_add_options_mk 'Gentoo default' "MOZ_OBJDIR=${BUILD_DIR}" + + # Show flags we will use + einfo "Build BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}" + einfo "Build CFLAGS:\t\t${CFLAGS:-no value set}" + einfo "Build CXXFLAGS:\t\t${CXXFLAGS:-no value set}" + einfo "Build LDFLAGS:\t\t${LDFLAGS:-no value set}" + einfo "Build RUSTFLAGS:\t\t${RUSTFLAGS:-no value set}" + + # Handle EXTRA_CONF and show summary + local ac opt hash reason + + # Apply EXTRA_ECONF entries to $MOZCONFIG + if [[ -n ${EXTRA_ECONF} ]] ; then + IFS=\! read -a ac <<<${EXTRA_ECONF// --/\!} + for opt in "${ac[@]}"; do + mozconfig_add_options_ac "EXTRA_ECONF" --${opt#--} + done + fi + + echo + echo "==========================================================" + echo "Building ${PF} with the following configuration" + grep ^ac_add_options "${MOZCONFIG}" | while read ac opt hash reason; do + [[ -z ${hash} || ${hash} == \# ]] \ + || die "error reading mozconfig: ${ac} ${opt} ${hash} ${reason}" + printf " %-30s %s\n" "${opt}" "${reason:-mozilla.org default}" + done + echo "==========================================================" + echo + + ./mach configure || die +} + +src_compile() { + local virtx_cmd= + + if use pgo ; then + virtx_cmd=virtx + + # Reset and cleanup environment variables used by GNOME/XDG + gnome2_environment_reset + + addpredict /root + fi + + local -x GDK_BACKEND=x11 + + ${virtx_cmd} ./mach build --verbose \ + || die +} + +src_install() { + # xpcshell is getting called during install + pax-mark m \ + "${BUILD_DIR}"/dist/bin/xpcshell \ + "${BUILD_DIR}"/dist/bin/${PN} \ + "${BUILD_DIR}"/dist/bin/plugin-container + + DESTDIR="${D}" ./mach install || die + + # Upstream cannot ship symlink but we can (bmo#658850) + rm "${ED}${MOZILLA_FIVE_HOME}/${PN}-bin" || die + dosym ${PN} ${MOZILLA_FIVE_HOME}/${PN}-bin + + # Don't install llvm-symbolizer from sys-devel/llvm package + if [[ -f "${ED}${MOZILLA_FIVE_HOME}/llvm-symbolizer" ]] ; then + rm -v "${ED}${MOZILLA_FIVE_HOME}/llvm-symbolizer" || die + fi + + # Install policy (currently only used to disable application updates) + insinto "${MOZILLA_FIVE_HOME}/distribution" + newins "${FILESDIR}"/distribution.ini distribution.ini + newins "${FILESDIR}"/disable-auto-update.policy.json policies.json + + # Install system-wide preferences + local PREFS_DIR="${MOZILLA_FIVE_HOME}/defaults/pref" + insinto "${PREFS_DIR}" + newins "${FILESDIR}"/gentoo-default-prefs.js gentoo-prefs.js + + local GENTOO_PREFS="${ED}${PREFS_DIR}/gentoo-prefs.js" + + # Set dictionary path to use system hunspell + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set spellchecker.dictionary_path pref" + pref("spellchecker.dictionary_path", "${EPREFIX}/usr/share/myspell"); + EOF + + # Force hwaccel prefs if USE=hwaccel is enabled + if use hwaccel ; then + cat "${FILESDIR}"/gentoo-hwaccel-prefs.js \ + >>"${GENTOO_PREFS}" \ + || die "failed to add prefs to force hardware-accelerated rendering to all-gentoo.js" + fi + + # Force the graphite pref if USE=system-harfbuzz is enabled, since the pref cannot disable it + if use system-harfbuzz ; then + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set gfx.font_rendering.graphite.enabled pref" + sticky_pref("gfx.font_rendering.graphite.enabled", true); + EOF + fi + + # Install language packs + local langpacks=( $(find "${WORKDIR}/language_packs" -type f -name '*.xpi') ) + if [[ -n "${langpacks}" ]] ; then + moz_install_xpi "${MOZILLA_FIVE_HOME}/distribution/extensions" "${langpacks[@]}" + fi + + # Install icons + local icon_srcdir="${S}/comm/mail/branding/thunderbird" + local icon_symbolic_file="${icon_srcdir}/TB-symbolic.svg" + + insinto /usr/share/icons/hicolor/symbolic/apps + newins "${icon_symbolic_file}" ${PN}-symbolic.svg + + local icon size + for icon in "${icon_srcdir}"/default*.png ; do + size=${icon%.png} + size=${size##*/default} + + if [[ ${size} -eq 48 ]] ; then + newicon "${icon}" ${PN}.png + fi + + newicon -s ${size} "${icon}" ${PN}.png + done + + # Install menu + local app_name="Mozilla ${MOZ_PN^}" + local desktop_file="${FILESDIR}/icon/${PN}-r2.desktop" + local desktop_filename="${PN}.desktop" + local exec_command="${PN}" + local icon="${PN}" + local use_wayland="false" + + if use wayland ; then + use_wayland="true" + fi + + cp "${desktop_file}" "${WORKDIR}/${PN}.desktop-template" || die + + sed -i \ + -e "s:@NAME@:${app_name}:" \ + -e "s:@EXEC@:${exec_command}:" \ + -e "s:@ICON@:${icon}:" \ + "${WORKDIR}/${PN}.desktop-template" \ + || die + + newmenu "${WORKDIR}/${PN}.desktop-template" "${desktop_filename}" + + rm "${WORKDIR}/${PN}.desktop-template" || die + + # Install wrapper script + [[ -f "${ED}/usr/bin/${PN}" ]] && rm "${ED}/usr/bin/${PN}" + newbin "${FILESDIR}/${PN}-r1.sh" ${PN} + + # Update wrapper + sed -i \ + -e "s:@PREFIX@:${EPREFIX}/usr:" \ + -e "s:@MOZ_FIVE_HOME@:${MOZILLA_FIVE_HOME}:" \ + -e "s:@APULSELIB_DIR@:${apulselib}:" \ + -e "s:@DEFAULT_WAYLAND@:${use_wayland}:" \ + "${ED}/usr/bin/${PN}" \ + || die +} + +pkg_preinst() { + xdg_pkg_preinst + + # If the apulse libs are available in MOZILLA_FIVE_HOME then apulse + # does not need to be forced into the LD_LIBRARY_PATH + if use pulseaudio && has_version ">=media-sound/apulse-0.1.12-r4" ; then + einfo "APULSE found; Generating library symlinks for sound support ..." + local lib + pushd "${ED}${MOZILLA_FIVE_HOME}" &>/dev/null || die + for lib in ../apulse/libpulse{.so{,.0},-simple.so{,.0}} ; do + # A quickpkg rolled by hand will grab symlinks as part of the package, + # so we need to avoid creating them if they already exist. + if [[ ! -L ${lib##*/} ]] ; then + ln -s "${lib}" ${lib##*/} || die + fi + done + popd &>/dev/null || die + fi +} + +pkg_postinst() { + xdg_pkg_postinst + + if use pulseaudio && has_version ">=media-sound/apulse-0.1.12-r4" ; then + elog "Apulse was detected at merge time on this system and so it will always be" + elog "used for sound. If you wish to use pulseaudio instead please unmerge" + elog "media-sound/apulse." + elog + fi + + local show_doh_information + local show_shortcut_information + + if [[ -z "${REPLACING_VERSIONS}" ]] ; then + # New install; Tell user that DoH is disabled by default + show_doh_information=yes + show_shortcut_information=no + else + local replacing_version + for replacing_version in ${REPLACING_VERSIONS} ; do + if ver_test "${replacing_version}" -lt 91.0 ; then + # Tell user that we no longer install a shortcut + # per supported display protocol + show_shortcut_information=yes + fi + done + fi + + if [[ -n "${show_doh_information}" ]] ; then + elog + elog "Note regarding Trusted Recursive Resolver aka DNS-over-HTTPS (DoH):" + elog "Due to privacy concerns (encrypting DNS might be a good thing, sending all" + elog "DNS traffic to Cloudflare by default is not a good idea and applications" + elog "should respect OS configured settings), \"network.trr.mode\" was set to 5" + elog "(\"Off by choice\") by default." + elog "You can enable DNS-over-HTTPS in ${PN^}'s preferences." + fi + + if [[ -n "${show_shortcut_information}" ]] ; then + elog + elog "Since ${PN}-91.0 we no longer install multiple shortcuts for" + elog "each supported display protocol. Instead we will only install" + elog "one generic Mozilla ${PN^} shortcut." + elog "If you still want to be able to select between running Mozilla ${PN^}" + elog "on X11 or Wayland, you have to re-create these shortcuts on your own." + fi +} |