diff options
author | V3n3RiX <venerix@koprulu.sector> | 2022-12-01 20:53:45 +0000 |
---|---|---|
committer | V3n3RiX <venerix@koprulu.sector> | 2022-12-01 20:53:45 +0000 |
commit | 896d6a8a88861c42b5d531a2f147c8a29a149bd8 (patch) | |
tree | 081fe10813721a96088dca6b54bc35bcac18afc6 /mail-client/thunderbird | |
parent | 3059f20995d5ac642b7b4a38d538fdf1cc45d90d (diff) |
gentoo auto-resync : 01:12:2022 - 20:53:45
Diffstat (limited to 'mail-client/thunderbird')
-rw-r--r-- | mail-client/thunderbird/Manifest | 66 | ||||
-rw-r--r-- | mail-client/thunderbird/thunderbird-102.5.1.ebuild | 1177 |
2 files changed, 1243 insertions, 0 deletions
diff --git a/mail-client/thunderbird/Manifest b/mail-client/thunderbird/Manifest index 6e823b11df7c..c61b54df9c16 100644 --- a/mail-client/thunderbird/Manifest +++ b/mail-client/thunderbird/Manifest @@ -70,5 +70,71 @@ 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 EBUILD thunderbird-102.5.0.ebuild 33761 BLAKE2B c8baeb182e323ee8c811c471373791c23e2b7b7ac78eb070f1dfc4059575033636ac27239519d9b7155855faaa8589e6c031afbbabaceddeb1b5033723674a0d SHA512 85d31f1dbc74217b14f224876a9e90d20cb43db757cb25b45c40f1340f91be4684132ab2c885fbe0d919cdae74984de4646343231b7c46eef68ec6012172e0ca +EBUILD thunderbird-102.5.1.ebuild 33792 BLAKE2B 8eb323b8cc5135c916c3110f7c7e13cb3ee657b5e3b9a359f58ece72203877056eb85e32007a33a40320d6726c6f41db2ad0227146604f5be6881d5d420885c5 SHA512 df2ac785dbc7b525a1e9eef2fc88ab45257fda67e7ba4514f3908c473657067e18e9678dd3a816f451991308961aba9e628a84261202df922e9d56b37ac6e587 MISC metadata.xml 2139 BLAKE2B c348f9dc2bf813c386bc2e62782bf762ef4fdaf3f913cec41bbd115a7bac54b01852dec04e6f7574b24ea5cd6d9500f289109127cdac5887128b07116d6a6cf8 SHA512 09b0670e852cc954b5df5e846935d274ae180e4627d112104d5fedf2a777fda7d52d73cdfde9e50475d9a560ed44946d4c0682d52d793bbfb5f2e1b1e0aac608 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 +} |