summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'mail-client/thunderbird')
-rw-r--r--mail-client/thunderbird/Manifest65
-rw-r--r--mail-client/thunderbird/thunderbird-102.5.1.ebuild1177
2 files changed, 1242 insertions, 0 deletions
diff --git a/mail-client/thunderbird/Manifest b/mail-client/thunderbird/Manifest
index c144a134f42e..295335a28de0 100644
--- a/mail-client/thunderbird/Manifest
+++ b/mail-client/thunderbird/Manifest
@@ -64,3 +64,68 @@ DIST thunderbird-102.5.0-vi.xpi 724849 BLAKE2B 1a912cff7418cd2d1139bbfc2c060e6e5
DIST thunderbird-102.5.0-zh-CN.xpi 722696 BLAKE2B 8a04aeaf37d8d3580c1b2ef79bc2c288b9be36f7a01e582acd7c2f017ce3dd572d7af52e0327347024e422f07c1b8fe64f4fb8c63452a453e70417904945f6cc SHA512 73c23709d2d994877da5676abafda891c78f830649f908d4f90f5e9033b2b30b6542a7b5e2ca1592874e112c270e73a8b4c783288b953b19abdfdbe73c6949f2
DIST thunderbird-102.5.0-zh-TW.xpi 725969 BLAKE2B 863f00e7b37197d42c3400ab28d0561a90d64b61ac110a5709c2c117e43d57da9752cc1240a199bf82fce291b8e5169d68e017280bcd303ac8ff9244106dc1ad SHA512 c7027c8dec0659662e357468657ec2befe1e4bc50a38acc99849157b5e0a227d574a6238f14335348f9d41fa419859f34f572f2072f01d25d4348c9cef755bfe
DIST thunderbird-102.5.0.source.tar.xz 506950192 BLAKE2B 7374644b6601358b9ac10694faf15bcfee20a92b00905b6d8321964996682512bbd3b57ab44ebcdeeb5f10ff297d14ce56f8c28482ab9fefa2ccf67df0adbc08 SHA512 b6f2828b23616db5620e0364a1ebb02a8676e184d5e361c0aa87f36b64eb6b7f4b1bc3c42675b3ae3092953fbda6b01c18c068b167d40469481b1e18af1dcaa1
+DIST thunderbird-102.5.1-af.xpi 551372 BLAKE2B e3a65da8a0ec5d5b6a6b957f932de081fe03a11e14a3b781309d804ccb8f7e663785337d4574256cdc400a06a50c0f3c64a3c46d301ce4b8ca56b6a7bed07318 SHA512 e03a295d3d4d14e884dd4c84bb1676a755558b2f971134873a6777392390a53581dd0ac2e64ee249adb818105bf14400306cd8b9aecd82252d3e41bc9271a72e
+DIST thunderbird-102.5.1-ar.xpi 656149 BLAKE2B 9ffe1c99f8b9ec3bf21534d20c5eee962df9c6bfd645d468a98facaefcdc53af303b79db2fa343772668b77c94a5c7a9a06a7cbbe7e8c9ae7db6094dfe591614 SHA512 572615719c43adf8160eda2f06e2a175f30fcc1066f50ffaa22106fb8a9b1545168017951f67cd9e797d4e5787256e385bca63b2e03f6cbad84d49401f56e4df
+DIST thunderbird-102.5.1-ast.xpi 564289 BLAKE2B 9f4cf47c1da44d59b6628abf31b61a3047f64695daa7e4501e05dcdf53c97ee6e1d3c94b2ee841ee8ba2f5f116f4d0b48c9af06ed5eac60c00eca0e0ba5ccb6d SHA512 9188fa81549ec60da473a54285818d558622f61fb77abb522e26fa7e92ee5f4bd316b7ab1c2067fa9fdeb6c5064f2f375f1a99d650b7a000257be7f89862639a
+DIST thunderbird-102.5.1-be.xpi 686681 BLAKE2B 078b2a20d24085e3ba78149e6814ad1f9eeee8c880540797c523afb4222dbf0f92288ac93201eab7463cff4b40fa3e6195cb4a6957c32a872919980fa8c7fdd5 SHA512 634bd84d5d645a428d63bda27888b235dfceaef6266793bbab35de34696e4d1b5ba85623da8a7343f6b99578b28365699ea328246f236056a2d6b6ab06179cae
+DIST thunderbird-102.5.1-bg.xpi 682269 BLAKE2B 98ed4c1992040385e68e7b55f40d835a4aa1e9c75f3bace37342ceeade4bf24e66b71508b4c3f9e6e4f5a0270df15eb05c623b3f38667f3697248ec2976043ce SHA512 4c67fe1c55e01eefae8f1a0783e82b287e3bd7c0afc351af74f5101735badfe8048b3cf06f2778ec4e2ac7fcafb220ab7417ab02abac783ad96e7db4ead1282d
+DIST thunderbird-102.5.1-br.xpi 615117 BLAKE2B b4e055d1e6d2042dbb719d0f37c987bf8beb377553b0a5b1ec432651223135cbe8271a3721b7f7c840d8dce4573238bb4379431f31987fe81ac4702da0b80461 SHA512 fe6897f8ab07998b2e145a3072d22f67e00aefefcb7376e92ed8397d46ef42aa103dd8b65295254cd46f76c9d6ca6ae4cd22c47f72536a2c23fd4c69d577d153
+DIST thunderbird-102.5.1-ca.xpi 636176 BLAKE2B ed51d2d8d1a0fa2967b2b0483104878d0f617134ed040fab1026349eac18c7ec51bfc2a5cc93046b1a86912089029ae89e21f9ab18dbdb9d576a4f014eb71783 SHA512 3a3cbb01194c6c01f872f94c7d0ab6bd0febcb8e2cc4aff571cf00516e90606559df33a0f90430a1b6d2707d8aa3eb924a124cc21c2de63f8f21710dc76f692e
+DIST thunderbird-102.5.1-cak.xpi 641843 BLAKE2B 305d165f67d008c67d1052e5c0a11ee57ae07f054323b8639bc53707d643a399d78cfed6c355ca725c40079fd9bda36fb7557add4fbae1dc57e7774443d61e42 SHA512 8d0be116ab1151306b432cca77620701e58d154fdfa699f79d24b7f93a1c469a077af684acb082dcb947d312e01a01413a6dc8d4af1c08b16a199c565f61dd29
+DIST thunderbird-102.5.1-cs.xpi 706339 BLAKE2B 6252cf3b246ceecbb61f5440cfd06675c165780129fc22c0195a5e539a079b2948a48b2641c1398c31357741ca26c4edc2fe4c940b9f54225ce9af7cd05c101d SHA512 1a32b1db96d7857f67fff3c112208b10ab0be8dcd7b7554e07107f57ac783fbb9ae4e52805c1d1986a949f2645bea13ab8c83e3767d074f667d58ee8a08eaeda
+DIST thunderbird-102.5.1-cy.xpi 684718 BLAKE2B b784c81cd385f5e475be8d69e8a5a6c4d6123a7174397d94968b2bacc4e26651d66c5fbdf64a859e51dd48c696e742fb5e7d85a664ab1616c9f9872e0facc0b7 SHA512 21e3638c8d1431ecdcd226af8adb18bca8d3b9c9d839bbdfc2c94b9a50f45c2825bbe61c75f77256b092983fbe2b7327d4a1b9c464bddff67dfeede7ecb05ca9
+DIST thunderbird-102.5.1-da.xpi 670580 BLAKE2B 684e61c29edc02672d0fcb4e787301187d514e4d235d05d4d907998f451953eceb99b26daa3df738b08c919c1325e73a04dfe04c3942040fc482df7e4a077d7f SHA512 6fab3d5329deb9b20ad924028073a2510e4b4e28fcde09fdcb2f46cf52f1bc18272ef3383931c46bc985be324a24247bfd94f176577c57fa07be5945d571367d
+DIST thunderbird-102.5.1-de.xpi 703560 BLAKE2B 6dacbe401b7ef917d93bcef2a45928f6968314d49805cb1b51cd8a67b680d59ebb18855f357fedbfa1dc01afafce08edfe788c279726e5c2e7ffafcfab9fc9b2 SHA512 80ce8e2c2e215b50f7785a7eb16d3517010f79b661408c578ac2cba20941927d0e7664024d56815d16f6859ac8564e1b25b9417a2baf275e54908940d6bddb3b
+DIST thunderbird-102.5.1-dsb.xpi 718471 BLAKE2B 8d6dae756fecb0ea38a8d4b7a7deebec4d916570fb85807ff71df1900abdad65eb9d2394a17e99141934f9a9fb88bd16bfe91baf5113648f096966148affd7a2 SHA512 56ca585095f76473e0735d7ff5e32a7e0cca05d8e5e3525bca2071050fbdaff6c29b7729266a9cb55495f76adcfa844bce616c576a64339e2985edca9612ba5a
+DIST thunderbird-102.5.1-el.xpi 816317 BLAKE2B ee05313063e8b891c8a8195ad1a1e9f06ba7af14b22bfde1a2857a244a146ffa2d1a3d5b95b50c0a029ee1baec6df21fd337ac14843f272e139a7e69c685fc3b SHA512 6924b0efe852ed7b489c2eab39a827fbd10fa8ce8cf320f689f7a56396e89b83b48920b1f6c1d7a2260853fa514e9e927b6043c580fcc1889f58285571df46db
+DIST thunderbird-102.5.1-en-CA.xpi 644398 BLAKE2B df10e24f7579e3e5e69350efbb8347636ea90e08b8173ca06f8ce3522a1d3a147013e3690777e796c256ec97effc0c4ea7ceb3a4f5c3e964f87dd15df0804ff2 SHA512 cd28671a2841074e61d9ab404ae5c811e9bb9caf804a5beeacbea14a8b85d3bb150a64df92c60e45cc0b5ab8bbed2baa716d17a05773df519d56c2e90abf20ba
+DIST thunderbird-102.5.1-en-GB.xpi 645400 BLAKE2B 7f461269c45f64fe7e1347c06be621ef0ccf9fe8a067c4e01ac1dd48f9746d04ca39f36379cdeb599eced5100d9d37dde0fbb1256593836ce3a1a64c95127958 SHA512 6980f9f638b057941b5e1680166f770f0f27ad08c12ecfc5ab5f4088f0f5568977fe4707a3ce231f2c327e3bd0c2c516464b78510b438276f7fca537dd8ed971
+DIST thunderbird-102.5.1-es-AR.xpi 695965 BLAKE2B 8ef86bc9018ad89b32236253fc8fd5cb669715c70dccc4fc82d066a7f3ceb814fbefa5cae4abcd87980ea2c05d60084b2ea23cdda1e532c5d2a6434d582c4946 SHA512 676b750075c0099d98a597175dc97a2e4577ebb629f82f3c4dfce8862ac769a8e1cc8ecdd628c4208ec814f2aeb46628c70c43fa7aac932df0b42ee9726b9350
+DIST thunderbird-102.5.1-es-ES.xpi 652046 BLAKE2B ddf92e681e730cab62397c5b05e1b25c96ed6dd407180382b7390c3c530c60082060928278341b7b1ed84049f9137866b47533c62e7dc0dc235ba03347983591 SHA512 cf7b3db4e2243a8e3b729cd40eb6ee3c7ba96cc80f1d47bce5ca42aae34e600495f6b345c44bfc57c2972283ff3c2735c42377da4b6dd2860b782d3c09c5a0ec
+DIST thunderbird-102.5.1-es-MX.xpi 698654 BLAKE2B 0377dcd40d5651ff74676c482201c318589008e54a827dc05a8ac167bbe638acd7503846ea7d77f5c785ea8d8aee3c722471085e898760c0ca18777e7b4f81e4 SHA512 4ef0fe3ffedc2fce7f795b9efd118c401c837b266c9fe5e9afad6fe6c526a2dfa304f7e20bc15a4f3d184c7dc4fb8d86b90641dbfbb7596047b2e468ec3d4802
+DIST thunderbird-102.5.1-et.xpi 666815 BLAKE2B d37fc735721230ce89549eddac0808f967fe3531ca250fa41a770528d9e89d519165d195e89d2e8ddf5cdd0b61ab1393182b64decd46f155b3dcd256e945a7f1 SHA512 5b52a0bcb5c30c0148d44b10f6fe693e89322f8a36b3a6de4a346923b3f582494d3a1d15f93cb067de72e85dcd3d0f9630df4f31a6df45f98f236d6fd13c898e
+DIST thunderbird-102.5.1-eu.xpi 680213 BLAKE2B b2bbd42171dd720dce58791f104dca34148af5a7107ed24cdcabd48090626d1bb484a7ba9bc6dfc689889435dce289c6143ab9f9322c427b42106e7d861df92d SHA512 fa20b422f9dc07957e4db613752d06e7a25d5233b36d1dd4ed5deecd4963cf036609dca67848891bf7d3296e72df65a33c1e7b1d24cc27bf1540897f509964bc
+DIST thunderbird-102.5.1-fi.xpi 673902 BLAKE2B 2d4591df02b20b2aa267148553c52a23b8b2f6e9d9673a857712ec45bfeb90a5df7e81beb09238ed73385f40489859b05f516455588b1bec93fe5ab728b9a430 SHA512 a3453a6d67acb3e37acef5320fabf7f0d0ac5ffa18a057d651056564aa966244e3e124ec961309ce2bd6e5f1042776d1b74d5ead66b38e167e2cf586211d6f4e
+DIST thunderbird-102.5.1-fr.xpi 708769 BLAKE2B f05fc8399d037ddfdc0b0196db3ba65ea917f095521ce7faf4d5d63e48b4b6150497dce485f275f26f1a7152393fb34d36044bca391146f3481977064c3cf469 SHA512 f606fe96daa7d4087ac08c312fbdd92f42e3242b00c2c8b748aff4d61f7f8ad3ddf557d67ffc4b9e271029ef86de2dfb1ef6c5768d79bc822c6efb93a3c3f6ac
+DIST thunderbird-102.5.1-fy-NL.xpi 690683 BLAKE2B 17e94e683fdb84ee58c146d0bba3f15839439353ef66485dbe9a072adabf9622cb83c6cbfa7f8e5983283c4df6de51ce86523b7db5b83703537dd5527d190bd7 SHA512 e17dc3f5fe29fadef34dfdb93fa27aa82eae42e9cc88642ef82fc686aeef6a378bf2e76143b749288838f808a4482f3025abdd23a712704531816a3469203084
+DIST thunderbird-102.5.1-ga-IE.xpi 603100 BLAKE2B 43aa7bb81bc63934d300e956271022b05b21fbb0da0e39c7c2dcfe56bc4320379d0e5f1c2b4896333071ef0798b2a83dc525bfce9e46e1871a3521bb601a612f SHA512 565fb2f1c22b8d9f0a4e75a5ac402e1b0876cabdb2bd8573dcabe60ee98dea22dc32409cb6aa57f0b0fd9babde2533687f5998ae28ca480d60cd9c6f25092d05
+DIST thunderbird-102.5.1-gd.xpi 632446 BLAKE2B 407bd808dc164e9ff0275f825f9f0dd2d27d329a4f61391a465d481aedbb5ee520beacda4ce77929b8d75ff90fa24d53a0dd0ce0043f53249562659016ee0bee SHA512 5f8fcf8698bc32069043a3fa176d0677b57993058cbc28b3232974ebf1375a057affd88824ec99132dc4ad3717ba378ec587ea2580f9ab63bc9c180cd6ea3526
+DIST thunderbird-102.5.1-gl.xpi 663211 BLAKE2B 5ae88838ec1f24542b7afee66e256e7cdd2fc8ac23a68f3465e9f0bb0b31f54f6eabb228761875858208744e87aed11e3df4b6417ff7a2345b362158eb7e4a5c SHA512 2201f82b19e9359bb3b2788d976dbc6581f209e78878672ee5e6ae65a898ee3097aad0daf65e77c2e97f2eaa7acff717a0235f87857a2d32a05f5d2e344216d7
+DIST thunderbird-102.5.1-he.xpi 662891 BLAKE2B e67932f8813272f7e3f5c363fdca6bd41dba3062f0f91c1d9c45f14cc8b0d16b7318a9f699c063f761636c21a4f404d030b7fc9f8fc448926e3803150676dac8 SHA512 74a39a7fc9950335ef84fc0a0d2f42ee8b8471b6da7fadce0b64f27050e5ac1e24c266078777dd3b4fb70ca7c4f8680919c08e82c55dc841f7704f421e3bebc8
+DIST thunderbird-102.5.1-hr.xpi 661115 BLAKE2B 74c6fe5f455da3ad9331e2247e8ed91a32727137cec9d2d35ce19ca40d4b7d38a000ade7be9d9cd2f16e631ca9f2f4b7ec08d547cddfa28adb6159c069f36974 SHA512 b2b3a538d176f7cd7fb156d985ce86b62f1da8548ca442a9d9a357bea41e39a7f745b03d75bb8ec9e589e7831dcc78a2c4dc373dbda3839636a994595c69aca6
+DIST thunderbird-102.5.1-hsb.xpi 715755 BLAKE2B 5a4e42dca8a274bbb2564d42e57394082b6bbd740ee8eddbce59fada597b1d15149b3c5cfd6d485ca488c64988ba6f11d7c9b8a9255e9715f25a97851ad645ea SHA512 40b328e63fe953749a428d3134046a8cb2871cad571c58fdf482f8130cd92cba5bd3ee70b92c4581a87789171c63e83aebffc9652983770f05127b20f85628a9
+DIST thunderbird-102.5.1-hu.xpi 718787 BLAKE2B 7dccd0c64c8db970e527b3ea120f732605af5b9cece4bfd4fbfdddfed0a69e7a408b48a56b76bcf75ce499ce0f87c3bd7511499c7190bf3d5ceb72fc75524c73 SHA512 2d2d0fd46b9efbfec39d8a5c759cfa8fd28a369282ddfe421509cb2be8083fcb1b134c66f749fa2429063860ee37bea4b33d6552ab6bd8c736352d4ded8b1d42
+DIST thunderbird-102.5.1-id.xpi 639543 BLAKE2B c1b27c28ed3d33688c243a1657d9890f6016b69beff93fa774a5b9711933326264f4c7f9743bbfe869b9d0e7faf4519a5eb72c5b5bc5a7792dfd7b37bf0592f2 SHA512 4d9b81fc36bad9440a1bf0291ac77c7e0d91ce0687d3e781cedae2c0411e39ca08d351653ceb153097f8ec7100666fc89b174e4536c3d4f8bb70edfdaffdfdb1
+DIST thunderbird-102.5.1-is.xpi 685618 BLAKE2B f73c88e3bb9b4b5084da9e0a34cf4a3869b3f0ebe14d73f731ee089935f79c2d70a079bce457aeb128396e2eb5b7966ef19253d9c6e06637d98c11749c6c5053 SHA512 1119813368fbfab925bebac455be53739067327c5f2ce0dc8c2cf58130f761ad6d0a9cbfd281d537030f80ef2ff332a38afebdd8acf7f57a3a7678ca5e5eba2a
+DIST thunderbird-102.5.1-it.xpi 617780 BLAKE2B 971005ce1103262de01ad8e0e8577bd1666ba106a333aa6f43596d6aa5093f0a822a6dadd451ecf0cb03af2e80c99c40b35d092cd2416ace4abb62e6d3281470 SHA512 c59773b3d3568643aa95611600f26339925919a0c4875ee4b4358d65c66d2481acc0367a1212d393642704f6130d9fad01fec81e109df1b3a117e5eef164b91e
+DIST thunderbird-102.5.1-ja.xpi 755146 BLAKE2B 1cbf3db1366317a3c7f5d4236cd73db93ea58d177a9fe71cae6c397ecbafe7ee80a00737c3c7927218b7313c14bd6146ed6fa4861fafe46805e3217b00d4c136 SHA512 e902e151e0edfa980cd64fd20c48ec745ff4e563d40657b988bb18f304c7955604d2ca6d0cb2dcc6db58c0c5696fcea6f4013fbe16ba96da4d0e2d85fc94ea23
+DIST thunderbird-102.5.1-ka.xpi 752979 BLAKE2B 342468843aa038822e4e97fe7d4c59b5e9dad1b615cd7d828cdc861efea8a2f853ffa2b8c9c36cd9361eb9e390f406b3aa5d828cd8e28d8fbc444168365d753f SHA512 f98d2ea6eb591bee869adcbb0d59df4600ceae15baeb70891115e7eb031535acadbc707e66714585093424e8d8c93935199919883eed4224453372994956d958
+DIST thunderbird-102.5.1-kab.xpi 688573 BLAKE2B 87bf9fcf94910d803335c7aedbe5b1e05ecea5c25642f4355b7e9528fdbb489851ea4c6a52e7fd676b5421815b379793573989101bb1f345ffb6a38a95567541 SHA512 23ee98fdd0156c2215dee6a68da67c055c036aa5cd5c3dd7cc7fd512fb35283563ffcd9eaee269c68ac2484a3a50a0675db988070dd441611dc526c9fe8018b3
+DIST thunderbird-102.5.1-kk.xpi 731943 BLAKE2B 94a23e7cacdbe639b67e74c14805d7c34da45327486451ec6dae7785795e919512881643aa847816093a31b971165f74982700fe15cceba25dff271a332eb4e7 SHA512 dc742ef9e61bfb43c29c0eea09cc941d5e72e4fec4415f8086681a0c0b418b9d2ae0e1356491a9240cb897e4863363918dc9bb1b342d52136ce16661e1064e97
+DIST thunderbird-102.5.1-ko.xpi 692943 BLAKE2B e47c4061a4a1a5750ff0dc45dec5e31d5b136e3eaae68e0226e3d90abb549698ce8cc771bdba66df7661ae326aad9aacce16fb06b34f4703e19cf5d91704015e SHA512 4ca2b0cf09ae688b378f62842a682eafdfb0fee73374292588fcdcfe0c972c9577046b3bd063f82c9235d364c40370dd1c410e9bf3670f46130ab49d762498e2
+DIST thunderbird-102.5.1-lt.xpi 680721 BLAKE2B 66531f1f615d315a56c253bf5c3eecf99cf12b734beaf86bddf096e6076b4ca2d99b4c55d7a09e55750546b52865af138a3a3da20412b1f4ba4f91de22c36c1b SHA512 811a9af1e195a1d1d2f54038cc5363b3e09719d8fe770a65ce7e0aa95898a925dc6cec6ff7618c90e3ae28085f436d5fd6ef48a3cabb44e3587ad6d633857fcd
+DIST thunderbird-102.5.1-lv.xpi 608590 BLAKE2B 90887f5cfbde21ece6d190e7fcf449f99fb8b48864ea68c73d0071fab2dad0cd88a9629a3136c07aa83ac16f41b2dea61b7b21a8f6907cdc4ea1dbc35ee19b84 SHA512 783b4274fb89549772d455e475c275d9fcfa15a6883d2bfb82f1056998e86a7180cda1eeaddff03870914e26c2f97c2c715e1cb293de8d3efe6712c7431a5857
+DIST thunderbird-102.5.1-ms.xpi 568428 BLAKE2B f897ab84e3aaea6f28dd63e24c06d10530406103d58694c312f1685bcd51ec30afb251e1b2640681a2a67a7bd04c2517da2ec5db53c10ada158e3fb110d685de SHA512 13a3270ffb1c536cc9721bb8eb91fdd195ce6f9fa0d986568065be2e921ab4566b83e48719c792ac8d016c885e56da75124521787b441d87995fa5f28f3861b1
+DIST thunderbird-102.5.1-nb-NO.xpi 648585 BLAKE2B fdb46536257380c23d9166a3cb8f9d4d9677f68acb8e16b83c0a129bce9bebd1213d961916f98c448e854dbf61449f931af0cc43094859974a08ac650c3c4d4d SHA512 865a3cb233f32c51599c71ade16735d799bd2892d2b8cb3ceef220fc1495e9e5f47f42a8f77ba329e9d7edf26992be765908fa370c7b71f7a4b63afa6dd21827
+DIST thunderbird-102.5.1-nl.xpi 682269 BLAKE2B 88e732e233f285a475caa7c206a65ad994f1381548bad214869d5e53d11d81ea154dd744eb2f28c9afb7aae68da2a72c401502e250bb03302b0751e69a6863ba SHA512 3ca8638f8ec734d6434ccb9e694dffbfa71a8c6ea8a99afbc9f26247ec2f286f8f5d3320c0fc1b6a8d9072fc9a093f4e2ed25f0a5e69eed58d83637256034169
+DIST thunderbird-102.5.1-nn-NO.xpi 656908 BLAKE2B 755f699b740b02e3d7359ca618fa9d1ecbde761c3736571d6050451af8014435f1555040939c1b053c7e10d440af3a6c01223f022b638bf7c3c1ede917592d65 SHA512 e4e070ec5b510f04d4aaaedcc8bc1328ca65010b3f5e17d43647a074d4aabbe141350f4ceca073f9a865142b8231a9506bc41ad8db2a7c5b4a36fe397eb19fa7
+DIST thunderbird-102.5.1-pa-IN.xpi 653544 BLAKE2B 34d798f529a6defd05edb65ab3ddd0e27d616252a0e8e53ef3665d9d1b26bd20e774b5714d3c9a8613c8c7dac422af98c20a0b05d4a5ec27d5344a4e59b82119 SHA512 ebcdc1f9a4ea19004acfae30b9231421f3e99244110ea54f9a93f58e43eb101eb4bab382d2de364547b7dea317a1a2cb586bcc83bdc41ecb16fbb3347de7a656
+DIST thunderbird-102.5.1-pl.xpi 695420 BLAKE2B 5adec115a398f0def2ed0a7a6678e6e62642b861a07b25f5bf6b8bdaf04c243f1489b4cdf707b9db6f7fe1e3c552136467247b02008e12df3d90179e1708d2f5 SHA512 13803facf646a2445ee1c2ec71e2e2d96afaf00243adb009fdb8999f6b23429f945e6f27330d65b49f03c5e81d10d493eda18cf7d62f43d3671a8187f3ba716e
+DIST thunderbird-102.5.1-pt-BR.xpi 690289 BLAKE2B cdf9c7fd3a889d470bb225ebed09f0eb301f8c268ce6886a1f07cab6a1c69b8aa93cacf83780863cb520ec5e989c68dc6335656b07e856032ecb4e0266e7ec1a SHA512 2d79999cec648adb9691d6c75254040862a516a88bdef26e88fdb0e6b8a415412d1aa086f588f6d2753a40ecbf577ce460c26351e85bab2316f0b1bf18181755
+DIST thunderbird-102.5.1-pt-PT.xpi 666881 BLAKE2B 9aed87086bc20779c6e16b8e4c16ee30441fcac6b00bf8c731feb5833f8ab4099669d452520090f375da40d685cd9191d58a44697f3844d336afc8a1e815bb14 SHA512 4a14295b046dfed8d3686b1b11c22459dd6eb97634a48886819a30eb9fae64c18961dfa5ab9c3a4516aa546a9e6efb16975ed0729dc2daea87f253b30fbe1d22
+DIST thunderbird-102.5.1-rm.xpi 686111 BLAKE2B 9e3d8d3edc0860f76784169395c6ba261cedfa6e3eaae9941b2171b97c776e566e0589bfc3f0ad7631ca6bab641bc7b750fe4467e6bc60f577dff51a30115bd6 SHA512 18c097eba378be2656853d737613cc4dff25f7f3262edd3f4b63af8ce47510b5dc1bf3d03845ccaa6d8bd6b47c692126fc58f293bcd8522b4f2a0bb5da2201fc
+DIST thunderbird-102.5.1-ro.xpi 651336 BLAKE2B 40de783b281c15c5d4d0788e66b83f86da521b90d9d85dfd25866eff3920d09e4c9c8938a6cdff2e62c451dfbf4d242557f8d7851f36efb7919cb43e38a9a286 SHA512 2eda33293ba7dee21172b22172162de9c3734215ace3e8202931108d79784c63506f770c6b80d8e6fb728cc0a395b4e118903b1899e927fd549752c2236eff04
+DIST thunderbird-102.5.1-ru.xpi 801786 BLAKE2B 5bdf5085c12b0f23d226f10a4059bd5172790a5b2e05d864d9c3fcde926428e8aaa1c748eedce19607c1faa869b8476fdfc66c6262c940978b42e3bab89dc31e SHA512 1291549e830955eba7ada275fbe7c7aadc3b0e22f6e77f2f8553e6eb4ff28e13c50248c006853e6d4e8411d11707fe2d0c4558eca96e000d91245267ca37779c
+DIST thunderbird-102.5.1-sk.xpi 718358 BLAKE2B dc8d2327ee1452a6ce130b18a87f26af1422d7e933dd558f6d7cf625bb502889087cf8c32b604b8be4ee7d5689146a0c572218f3312e9dc5a4a74d418bd55df6 SHA512 71f9c6aaa7ebe712f432b9217689690767a20076984e27774f84a20dfc300dd7a224a9623086a5d1e1389f33e3c6c373de4ee3137e58ee44c329dd156e27dfda
+DIST thunderbird-102.5.1-sl.xpi 683785 BLAKE2B 33ecef534e50ecc00d5922ab741de5f875d901b786b6da72d20f4d427a107dc8a71219bfb9f33da2917d84bc3653ba9fe42734fc66ba4af71aa0714465b01818 SHA512 90ed4ae7becaab83cefa2b96c5e7f6d5c0d2563ca7e7f37f440cdf57d1d5d39a7d3b1e3416364d4dbfeea8b611320d77c66d4234f1969a0f4ed6ceb14319a8cc
+DIST thunderbird-102.5.1-sq.xpi 690227 BLAKE2B b30c77962d54c3ef60d6586fbac27616e5a74a934eca3da9061c65cb01d1a76434c3ee6ca9994e307b32fb63020145bd464d0134df0bc9db2cda939193f5e18c SHA512 cdd041ff2e607db0052f15bc7a375ae3efefd96b6715cea75bb49f4d5d418a4abde8162159494e70701c2108d7fada5ae43586c57991a7bb2d97442f78f6608c
+DIST thunderbird-102.5.1-sr.xpi 705273 BLAKE2B 3474e0832126d1e012b05e4087b6e011e9d9d2dc28d756c83b70d95ef43f46c00af0cb63f18486e7105fc1c0164ae5f117e649beb5909c89198df04f2fc671b1 SHA512 599745c6e4ced4935079d52f52558ac05cb6f2045dfb733e9bdc60141ba120b6c07b726a9bbf213c39a5a3b523ad42d9319c39bb9b284b1a01b3cc67ed6ef2ab
+DIST thunderbird-102.5.1-sv-SE.xpi 685686 BLAKE2B 40622b2257c33afef0a1aef6cee999b80ac6d9ad06542e0b27f3fb6c9d74bb690d9dc316cfa8659e26c1b0f12bd70720426d8f1343b77604a5a7e4841145a04b SHA512 1526bca6e02e759fb3bd5199163cd34a94f61c150106a9cc4f6b1211d456e08e0b860c73756e5711f29d545871eed72a1c551bc63f8b1cbf35ff190508631930
+DIST thunderbird-102.5.1-th.xpi 734543 BLAKE2B ab2b5f26f79a6d6732c72e60ea9cb0d950ffe99548071d5b4cad8b2cf23473d8679e05e9862ef47fb6247fe6796513ef5cc28ad6d5c37bbfb79bb3f9578bdc0c SHA512 2c2a61d9a440bde80ae96337a92b25139688ccaa8f7fdac9d5b050dc6f00a34af72cc00523a18f3afc7006130be096c0048cda188a2c47d22e2170dfa38d539c
+DIST thunderbird-102.5.1-tr.xpi 697058 BLAKE2B f0eecc5be2d32ccce8bc71d04710c85a6d93a172bc6e4eae3a2174716090a2db353fcd19224d95b49ed379a6d59ba19f3c7844868be78146d54465156466efe6 SHA512 9f091540611cc45cef51a5f3371e17c3b893e268cef14dd37695691ae958c9b6bbaaf199dca7246f4180d2abf3d811c50466111c27bc92281ba8136e058118c7
+DIST thunderbird-102.5.1-uk.xpi 794407 BLAKE2B f54c6a28ae87933b0a16c83179e6090ca2748a4fe67bbef4e68bcb4bbc0b9bdc9d855f84039f56a4c96658c906c4fa902c54b8ea3a807ee18948b4638a294cb6 SHA512 ed7297a4bacb2023496c92039acc3d97c9aafc63578ff5ab54fee7e7001ed7550e2009572004d8aa84038ca8a3a3e29698b90fcd4628bd871505c62846df7961
+DIST thunderbird-102.5.1-uz.xpi 584808 BLAKE2B 15c59ea1b9f640d8f48c2393f372e9ffb1db4fa8e6778033b9868fb55d42e1557a541330a064f6c39f7de3e8ca0a673c75c95a7b7211387ebb85e03c577fcb25 SHA512 b9ad6f069f9d16ebbd7840c5398dd23d6b96dbe0c1f641fbdbd6b77cc2347d976d40b5d8f90538efc67fd300aacc7793779562f4cb74dae97d3b49ac28f0cfae
+DIST thunderbird-102.5.1-vi.xpi 724848 BLAKE2B c38fd0f3aeb17662fd1e8608be55764224649ea956e728e611397ed56cb236d2cc18d8f77608f24b69e9fa72c44ee3f0bdfe6db55c25d2b50b290cedc6372476 SHA512 e56e2fc82b82bc05ce19329db2fa664456ed0bb386cedbb31ee39188fbdaf466f9f57e9bcbbfcab1e713e83843a0e4ec35578f1cb313c0f7268450b79eb1a370
+DIST thunderbird-102.5.1-zh-CN.xpi 722699 BLAKE2B e87e74eb3ae24d61032e1ed90596a495f78a228044284b40cdba17fc7e712d8cde901c9fff03c962c78c512d0a91f859d86578acc58104a589e5dea66a848976 SHA512 af19cf2beccfb3b15f55f9c1a988e14e07dd6091d190af599dc454245afa51adc5e5bd2ce74562d0d93b8e2384dcc1c403bdf4fd0fdcb4b20b9573551193073f
+DIST thunderbird-102.5.1-zh-TW.xpi 725970 BLAKE2B 04453c6cf08d0718ba2ea44ad0665903743bf64453c2c2a3da9c199868e76aef44f03c70657147c5bdc151bb3b6ac15732d4189fe4be398eac8a826aa5caa4be SHA512 ee933237684e4600bdb17e00f62cda4c975c151c79ea054e7bd8a4a6970b251bdbae8f27359677c104bdb44952d28087b9b16b1e7bca11dd076c70807e4020e7
+DIST thunderbird-102.5.1.source.tar.xz 509550884 BLAKE2B 869f988ad1e0a240824a40fbb82f37bd89b868edfa7a6e22cef62406126d4a6cacf1cb52e79e0243b41f0b530e1840accf98e5f0e531f2cb67b4ab4c190ed914 SHA512 bebd20f1435793be1ead5ac962ef49c6f01909eeb16f3d909e8a57bd42f4ae1d99ae50cf55439dc395be94abd920f8239ffb98eba7a0653657c454918f6df9c7
diff --git a/mail-client/thunderbird/thunderbird-102.5.1.ebuild b/mail-client/thunderbird/thunderbird-102.5.1.ebuild
new file mode 100644
index 000000000000..698cc7df4291
--- /dev/null
+++ b/mail-client/thunderbird/thunderbird-102.5.1.ebuild
@@ -0,0 +1,1177 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+FIREFOX_PATCHSET="firefox-102esr-patches-06j.tar.xz"
+
+LLVM_MAX_SLOT=15
+
+PYTHON_COMPAT=( python3_{8..11} )
+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 optfeature 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/~{juippis,whissi,slashbeast}/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"
+LICENSE="MPL-2.0 GPL-2 LGPL-2.1"
+
+IUSE="+clang cpu_flags_arm_neon dbus debug eme-free hardened hwaccel"
+IUSE+=" jack libproxy lto +openh264 pgo pulseaudio sndio selinux"
+IUSE+=" +system-av1 +system-harfbuzz +system-icu +system-jpeg +system-libevent +system-libvpx system-png system-python-libs +system-webp"
+IUSE+=" wayland wifi"
+
+# Thunderbird-only USE flags.
+IUSE+=" +system-librnp"
+
+REQUIRED_USE="debug? ( !system-av1 )
+ pgo? ( lto )
+ wayland? ( dbus )
+ wifi? ( dbus )"
+
+# Thunderbird-only dependencies.
+TB_ONLY_DEPEND="!<x11-plugins/enigmail-2.2
+ selinux? ( sec-policy/selinux-thunderbird )
+ !system-librnp? ( dev-libs/jsoncpp )
+ system-librnp? ( dev-util/librnp )"
+BDEPEND="${PYTHON_DEPS}
+ || (
+ (
+ sys-devel/clang:15
+ sys-devel/llvm:15
+ clang? (
+ sys-devel/lld:15
+ virtual/rust:0/llvm-15
+ pgo? ( =sys-libs/compiler-rt-sanitizers-15*[profile] )
+ )
+ )
+ (
+ sys-devel/clang:14
+ sys-devel/llvm:14
+ clang? (
+ sys-devel/lld:14
+ virtual/rust:0/llvm-14
+ pgo? ( =sys-libs/compiler-rt-sanitizers-14*[profile] )
+ )
+ )
+ )
+ !clang? ( virtual/rust )
+ app-arch/unzip
+ app-arch/zip
+ >=dev-util/cbindgen-0.24.3
+ net-libs/nodejs
+ virtual/pkgconfig
+ amd64? ( >=dev-lang/nasm-2.14 )
+ x86? ( >=dev-lang/nasm-2.14 )"
+
+COMMON_DEPEND="${TB_ONLY_DEPEND}
+ >=app-accessibility/at-spi2-core-2.46.0:2
+ dev-libs/expat
+ dev-libs/glib:2
+ dev-libs/libffi:=
+ >=dev-libs/nss-3.79
+ >=dev-libs/nspr-4.34
+ media-libs/alsa-lib
+ media-libs/fontconfig
+ media-libs/freetype
+ media-libs/mesa
+ media-video/ffmpeg
+ sys-libs/zlib
+ virtual/freedesktop-icon-theme
+ virtual/opengl
+ x11-libs/cairo[X]
+ x11-libs/gdk-pixbuf
+ x11-libs/gtk+:3[X]
+ x11-libs/libX11
+ x11-libs/libXcomposite
+ x11-libs/libXdamage
+ x11-libs/libXext
+ x11-libs/libXfixes
+ x11-libs/libXrandr
+ x11-libs/libXtst
+ x11-libs/libxcb:=
+ x11-libs/libxkbcommon[X]
+ x11-libs/pango
+ x11-libs/pixman
+ dbus? (
+ dev-libs/dbus-glib
+ sys-apps/dbus
+ )
+ jack? ( virtual/jack )
+ libproxy? ( net-libs/libproxy )
+ sndio? ( >=media-sound/sndio-1.8.0-r1 )
+ system-av1? (
+ >=media-libs/dav1d-1.0.0:=
+ >=media-libs/libaom-1.0.0:=
+ )
+ system-harfbuzz? (
+ >=media-gfx/graphite2-1.3.13
+ >=media-libs/harfbuzz-2.8.1:0=
+ )
+ system-icu? ( >=dev-libs/icu-71.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-png? ( >=media-libs/libpng-1.6.35:0=[apng] )
+ system-webp? ( >=media-libs/libwebp-1.1.0:0= )
+ wayland? (
+ x11-libs/gtk+:3[wayland]
+ x11-libs/libdrm
+ x11-libs/libxkbcommon[wayland]
+ )
+ wifi? (
+ kernel_linux? (
+ dev-libs/dbus-glib
+ net-misc/networkmanager
+ sys-apps/dbus
+ )
+ )"
+
+RDEPEND="${COMMON_DEPEND}
+ jack? ( virtual/jack )
+ openh264? ( media-libs/openh264:*[plugin] )
+ pulseaudio? (
+ || (
+ media-sound/pulseaudio
+ >=media-sound/apulse-0.1.12-r4
+ )
+ )"
+
+DEPEND="${COMMON_DEPEND}
+ x11-libs/libICE
+ x11-libs/libSM
+ pulseaudio? (
+ || (
+ media-sound/pulseaudio
+ >=media-sound/apulse-0.1.12-r4[sdk]
+ )
+ )"
+
+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 ! has_version -b "virtual/rust:0/llvm-${LLVM_SLOT}" ; then
+ einfo "virtual/rust:0/llvm-${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}*[profile]" ; then
+ einfo "=sys-libs/compiler-rt-sanitizers-${LLVM_SLOT}*[profile] 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 es-MX 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="6600M"
+ 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!"
+
+ 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!"
+
+ 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"
+ eerror " - Rebuild lld with llvm that was used to build rust (may need to rebuild the whole "
+ eerror " llvm/clang/lld/rust chain depending on your @world updates)"
+ die "LLVM version used by Rust (${version_llvm_rust}) does not match with ld.lld version (${version_lld})!"
+ fi
+ 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() {
+ if use lto; then
+ rm -v "${WORKDIR}"/firefox-patches/*-LTO-Only-enable-LTO-*.patch || die
+ fi
+
+ eapply "${WORKDIR}/firefox-patches"
+
+ # Allow user to apply any additional patches without modifing ebuild
+ eapply_user
+
+ # Make cargo respect MAKEOPTS
+ export CARGO_BUILD_JOBS="$(makeopts_jobs)"
+
+ # 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 crate checksums where we have applied patches
+ moz_clear_vendor_checksums bindgen
+
+ # 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_environment_reset
+}
+
+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; then
+ # Force clang
+ einfo "Enforcing the use of clang due to USE=clang ..."
+ if tc-is-gcc; then
+ have_switched_compiler=yes
+ fi
+ 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)"
+ export AS="$(tc-getCC) -c"
+ tc-export CC CXX LD AR AS 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-gpsd \
+ --disable-install-strip \
+ --disable-parental-controls \
+ --disable-strip \
+ --disable-updater \
+ --enable-js-shell \
+ --enable-negotiateauth \
+ --enable-new-pass-manager \
+ --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 \
+ --without-wasm-sandboxed-libraries \
+ --with-intl-api \
+ --with-libclang-path="$(llvm-config --libdir)" \
+ --with-system-nspr \
+ --with-system-nss \
+ --with-system-zlib \
+ --with-toolchain-prefix="${CHOST}-" \
+ --with-unsigned-addon-scopes=app,system \
+ --x-includes="${ESYSROOT}/usr/include" \
+ --x-libraries="${ESYSROOT}/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
+
+ # For future keywording: This is currently (97.0) only supported on:
+ # amd64, arm, arm64 & x86.
+ # Might want to flip the logic around if Firefox is to support more arches.
+ if use ppc64; then
+ mozconfig_add_options_ac '' --disable-sandbox
+ else
+ mozconfig_add_options_ac '' --enable-sandbox
+ 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
+ mozconfig_use_with system-libvpx
+ mozconfig_use_with system-png
+ mozconfig_use_with system-webp
+
+ if use system-librnp; then
+ mozconfig_add_options_ac "+system-librnp" --enable-compile-environment
+ mozconfig_use_with system-librnp
+ fi
+
+ mozconfig_use_enable dbus
+ mozconfig_use_enable libproxy
+
+ 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
+
+ local myaudiobackends=""
+ use jack && myaudiobackends+="jack,"
+ use sndio && myaudiobackends+="sndio,"
+ use pulseaudio && myaudiobackends+="pulseaudio,"
+ ! use pulseaudio && myaudiobackends+="alsa,"
+
+ mozconfig_add_options_ac '--enable-audio-backends' --enable-audio-backends="${myaudiobackends::-1}"
+
+ mozconfig_use_enable wifi necko-wifi
+
+ if use wayland ; then
+ mozconfig_add_options_ac '+x11+wayland' --enable-default-toolkit=cairo-gtk3-x11-wayland
+ else
+ mozconfig_add_options_ac '+x11' --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
+ mozconfig_add_options_ac "linker is set to bfd" --enable-linker=bfd
+ 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 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 PIP_NETWORK_INSTALL_RESTRICTED_VIRTUALENVS=mach
+
+ if use system-python-libs; then
+ export MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE="system"
+ else
+ export MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE="none"
+ fi
+
+ # 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"
+
+ if use wayland; then
+ cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set hwaccel wayland prefs"
+ pref("gfx.x11-egl.force-enabled", false);
+ EOF
+ else
+ cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set hwaccel x11 prefs"
+ pref("gfx.x11-egl.force-enabled", true);
+ EOF
+ fi
+ 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
+
+ # bug 835078
+ if use hwaccel && has_version "x11-drivers/xf86-video-nouveau"; then
+ ewarn "You have nouveau drivers installed in your system and 'hwaccel' "
+ ewarn "enabled for Firefox. Nouveau / your GPU might not support the "
+ ewarn "required EGL, so either disable 'hwaccel' or try the workaround "
+ ewarn "explained in https://bugs.gentoo.org/835078#c5 if Firefox crashes."
+ fi
+
+ optfeature_header "Optional runtime features:"
+ optfeature "encrypted chat support" net-libs/libotr
+}