Gentoo Archives: gentoo-commits

From: Joonas Niilola <juippis@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: mail-client/thunderbird/
Date: Thu, 01 Dec 2022 08:48:02
Message-Id: 1669884456.25c243c99663a6e7c2e160e74f8f9f1f1fb6c09a.juippis@gentoo
1 commit: 25c243c99663a6e7c2e160e74f8f9f1f1fb6c09a
2 Author: Joonas Niilola <juippis <AT> gentoo <DOT> org>
3 AuthorDate: Thu Dec 1 08:47:36 2022 +0000
4 Commit: Joonas Niilola <juippis <AT> gentoo <DOT> org>
5 CommitDate: Thu Dec 1 08:47:36 2022 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=25c243c9
7
8 mail-client/thunderbird: add 102.5.1
9
10 Signed-off-by: Joonas Niilola <juippis <AT> gentoo.org>
11
12 mail-client/thunderbird/Manifest | 65 ++
13 mail-client/thunderbird/thunderbird-102.5.1.ebuild | 1177 ++++++++++++++++++++
14 2 files changed, 1242 insertions(+)
15
16 diff --git a/mail-client/thunderbird/Manifest b/mail-client/thunderbird/Manifest
17 index c144a134f42e..295335a28de0 100644
18 --- a/mail-client/thunderbird/Manifest
19 +++ b/mail-client/thunderbird/Manifest
20 @@ -64,3 +64,68 @@ DIST thunderbird-102.5.0-vi.xpi 724849 BLAKE2B 1a912cff7418cd2d1139bbfc2c060e6e5
21 DIST thunderbird-102.5.0-zh-CN.xpi 722696 BLAKE2B 8a04aeaf37d8d3580c1b2ef79bc2c288b9be36f7a01e582acd7c2f017ce3dd572d7af52e0327347024e422f07c1b8fe64f4fb8c63452a453e70417904945f6cc SHA512 73c23709d2d994877da5676abafda891c78f830649f908d4f90f5e9033b2b30b6542a7b5e2ca1592874e112c270e73a8b4c783288b953b19abdfdbe73c6949f2
22 DIST thunderbird-102.5.0-zh-TW.xpi 725969 BLAKE2B 863f00e7b37197d42c3400ab28d0561a90d64b61ac110a5709c2c117e43d57da9752cc1240a199bf82fce291b8e5169d68e017280bcd303ac8ff9244106dc1ad SHA512 c7027c8dec0659662e357468657ec2befe1e4bc50a38acc99849157b5e0a227d574a6238f14335348f9d41fa419859f34f572f2072f01d25d4348c9cef755bfe
23 DIST thunderbird-102.5.0.source.tar.xz 506950192 BLAKE2B 7374644b6601358b9ac10694faf15bcfee20a92b00905b6d8321964996682512bbd3b57ab44ebcdeeb5f10ff297d14ce56f8c28482ab9fefa2ccf67df0adbc08 SHA512 b6f2828b23616db5620e0364a1ebb02a8676e184d5e361c0aa87f36b64eb6b7f4b1bc3c42675b3ae3092953fbda6b01c18c068b167d40469481b1e18af1dcaa1
24 +DIST thunderbird-102.5.1-af.xpi 551372 BLAKE2B e3a65da8a0ec5d5b6a6b957f932de081fe03a11e14a3b781309d804ccb8f7e663785337d4574256cdc400a06a50c0f3c64a3c46d301ce4b8ca56b6a7bed07318 SHA512 e03a295d3d4d14e884dd4c84bb1676a755558b2f971134873a6777392390a53581dd0ac2e64ee249adb818105bf14400306cd8b9aecd82252d3e41bc9271a72e
25 +DIST thunderbird-102.5.1-ar.xpi 656149 BLAKE2B 9ffe1c99f8b9ec3bf21534d20c5eee962df9c6bfd645d468a98facaefcdc53af303b79db2fa343772668b77c94a5c7a9a06a7cbbe7e8c9ae7db6094dfe591614 SHA512 572615719c43adf8160eda2f06e2a175f30fcc1066f50ffaa22106fb8a9b1545168017951f67cd9e797d4e5787256e385bca63b2e03f6cbad84d49401f56e4df
26 +DIST thunderbird-102.5.1-ast.xpi 564289 BLAKE2B 9f4cf47c1da44d59b6628abf31b61a3047f64695daa7e4501e05dcdf53c97ee6e1d3c94b2ee841ee8ba2f5f116f4d0b48c9af06ed5eac60c00eca0e0ba5ccb6d SHA512 9188fa81549ec60da473a54285818d558622f61fb77abb522e26fa7e92ee5f4bd316b7ab1c2067fa9fdeb6c5064f2f375f1a99d650b7a000257be7f89862639a
27 +DIST thunderbird-102.5.1-be.xpi 686681 BLAKE2B 078b2a20d24085e3ba78149e6814ad1f9eeee8c880540797c523afb4222dbf0f92288ac93201eab7463cff4b40fa3e6195cb4a6957c32a872919980fa8c7fdd5 SHA512 634bd84d5d645a428d63bda27888b235dfceaef6266793bbab35de34696e4d1b5ba85623da8a7343f6b99578b28365699ea328246f236056a2d6b6ab06179cae
28 +DIST thunderbird-102.5.1-bg.xpi 682269 BLAKE2B 98ed4c1992040385e68e7b55f40d835a4aa1e9c75f3bace37342ceeade4bf24e66b71508b4c3f9e6e4f5a0270df15eb05c623b3f38667f3697248ec2976043ce SHA512 4c67fe1c55e01eefae8f1a0783e82b287e3bd7c0afc351af74f5101735badfe8048b3cf06f2778ec4e2ac7fcafb220ab7417ab02abac783ad96e7db4ead1282d
29 +DIST thunderbird-102.5.1-br.xpi 615117 BLAKE2B b4e055d1e6d2042dbb719d0f37c987bf8beb377553b0a5b1ec432651223135cbe8271a3721b7f7c840d8dce4573238bb4379431f31987fe81ac4702da0b80461 SHA512 fe6897f8ab07998b2e145a3072d22f67e00aefefcb7376e92ed8397d46ef42aa103dd8b65295254cd46f76c9d6ca6ae4cd22c47f72536a2c23fd4c69d577d153
30 +DIST thunderbird-102.5.1-ca.xpi 636176 BLAKE2B ed51d2d8d1a0fa2967b2b0483104878d0f617134ed040fab1026349eac18c7ec51bfc2a5cc93046b1a86912089029ae89e21f9ab18dbdb9d576a4f014eb71783 SHA512 3a3cbb01194c6c01f872f94c7d0ab6bd0febcb8e2cc4aff571cf00516e90606559df33a0f90430a1b6d2707d8aa3eb924a124cc21c2de63f8f21710dc76f692e
31 +DIST thunderbird-102.5.1-cak.xpi 641843 BLAKE2B 305d165f67d008c67d1052e5c0a11ee57ae07f054323b8639bc53707d643a399d78cfed6c355ca725c40079fd9bda36fb7557add4fbae1dc57e7774443d61e42 SHA512 8d0be116ab1151306b432cca77620701e58d154fdfa699f79d24b7f93a1c469a077af684acb082dcb947d312e01a01413a6dc8d4af1c08b16a199c565f61dd29
32 +DIST thunderbird-102.5.1-cs.xpi 706339 BLAKE2B 6252cf3b246ceecbb61f5440cfd06675c165780129fc22c0195a5e539a079b2948a48b2641c1398c31357741ca26c4edc2fe4c940b9f54225ce9af7cd05c101d SHA512 1a32b1db96d7857f67fff3c112208b10ab0be8dcd7b7554e07107f57ac783fbb9ae4e52805c1d1986a949f2645bea13ab8c83e3767d074f667d58ee8a08eaeda
33 +DIST thunderbird-102.5.1-cy.xpi 684718 BLAKE2B b784c81cd385f5e475be8d69e8a5a6c4d6123a7174397d94968b2bacc4e26651d66c5fbdf64a859e51dd48c696e742fb5e7d85a664ab1616c9f9872e0facc0b7 SHA512 21e3638c8d1431ecdcd226af8adb18bca8d3b9c9d839bbdfc2c94b9a50f45c2825bbe61c75f77256b092983fbe2b7327d4a1b9c464bddff67dfeede7ecb05ca9
34 +DIST thunderbird-102.5.1-da.xpi 670580 BLAKE2B 684e61c29edc02672d0fcb4e787301187d514e4d235d05d4d907998f451953eceb99b26daa3df738b08c919c1325e73a04dfe04c3942040fc482df7e4a077d7f SHA512 6fab3d5329deb9b20ad924028073a2510e4b4e28fcde09fdcb2f46cf52f1bc18272ef3383931c46bc985be324a24247bfd94f176577c57fa07be5945d571367d
35 +DIST thunderbird-102.5.1-de.xpi 703560 BLAKE2B 6dacbe401b7ef917d93bcef2a45928f6968314d49805cb1b51cd8a67b680d59ebb18855f357fedbfa1dc01afafce08edfe788c279726e5c2e7ffafcfab9fc9b2 SHA512 80ce8e2c2e215b50f7785a7eb16d3517010f79b661408c578ac2cba20941927d0e7664024d56815d16f6859ac8564e1b25b9417a2baf275e54908940d6bddb3b
36 +DIST thunderbird-102.5.1-dsb.xpi 718471 BLAKE2B 8d6dae756fecb0ea38a8d4b7a7deebec4d916570fb85807ff71df1900abdad65eb9d2394a17e99141934f9a9fb88bd16bfe91baf5113648f096966148affd7a2 SHA512 56ca585095f76473e0735d7ff5e32a7e0cca05d8e5e3525bca2071050fbdaff6c29b7729266a9cb55495f76adcfa844bce616c576a64339e2985edca9612ba5a
37 +DIST thunderbird-102.5.1-el.xpi 816317 BLAKE2B ee05313063e8b891c8a8195ad1a1e9f06ba7af14b22bfde1a2857a244a146ffa2d1a3d5b95b50c0a029ee1baec6df21fd337ac14843f272e139a7e69c685fc3b SHA512 6924b0efe852ed7b489c2eab39a827fbd10fa8ce8cf320f689f7a56396e89b83b48920b1f6c1d7a2260853fa514e9e927b6043c580fcc1889f58285571df46db
38 +DIST thunderbird-102.5.1-en-CA.xpi 644398 BLAKE2B df10e24f7579e3e5e69350efbb8347636ea90e08b8173ca06f8ce3522a1d3a147013e3690777e796c256ec97effc0c4ea7ceb3a4f5c3e964f87dd15df0804ff2 SHA512 cd28671a2841074e61d9ab404ae5c811e9bb9caf804a5beeacbea14a8b85d3bb150a64df92c60e45cc0b5ab8bbed2baa716d17a05773df519d56c2e90abf20ba
39 +DIST thunderbird-102.5.1-en-GB.xpi 645400 BLAKE2B 7f461269c45f64fe7e1347c06be621ef0ccf9fe8a067c4e01ac1dd48f9746d04ca39f36379cdeb599eced5100d9d37dde0fbb1256593836ce3a1a64c95127958 SHA512 6980f9f638b057941b5e1680166f770f0f27ad08c12ecfc5ab5f4088f0f5568977fe4707a3ce231f2c327e3bd0c2c516464b78510b438276f7fca537dd8ed971
40 +DIST thunderbird-102.5.1-es-AR.xpi 695965 BLAKE2B 8ef86bc9018ad89b32236253fc8fd5cb669715c70dccc4fc82d066a7f3ceb814fbefa5cae4abcd87980ea2c05d60084b2ea23cdda1e532c5d2a6434d582c4946 SHA512 676b750075c0099d98a597175dc97a2e4577ebb629f82f3c4dfce8862ac769a8e1cc8ecdd628c4208ec814f2aeb46628c70c43fa7aac932df0b42ee9726b9350
41 +DIST thunderbird-102.5.1-es-ES.xpi 652046 BLAKE2B ddf92e681e730cab62397c5b05e1b25c96ed6dd407180382b7390c3c530c60082060928278341b7b1ed84049f9137866b47533c62e7dc0dc235ba03347983591 SHA512 cf7b3db4e2243a8e3b729cd40eb6ee3c7ba96cc80f1d47bce5ca42aae34e600495f6b345c44bfc57c2972283ff3c2735c42377da4b6dd2860b782d3c09c5a0ec
42 +DIST thunderbird-102.5.1-es-MX.xpi 698654 BLAKE2B 0377dcd40d5651ff74676c482201c318589008e54a827dc05a8ac167bbe638acd7503846ea7d77f5c785ea8d8aee3c722471085e898760c0ca18777e7b4f81e4 SHA512 4ef0fe3ffedc2fce7f795b9efd118c401c837b266c9fe5e9afad6fe6c526a2dfa304f7e20bc15a4f3d184c7dc4fb8d86b90641dbfbb7596047b2e468ec3d4802
43 +DIST thunderbird-102.5.1-et.xpi 666815 BLAKE2B d37fc735721230ce89549eddac0808f967fe3531ca250fa41a770528d9e89d519165d195e89d2e8ddf5cdd0b61ab1393182b64decd46f155b3dcd256e945a7f1 SHA512 5b52a0bcb5c30c0148d44b10f6fe693e89322f8a36b3a6de4a346923b3f582494d3a1d15f93cb067de72e85dcd3d0f9630df4f31a6df45f98f236d6fd13c898e
44 +DIST thunderbird-102.5.1-eu.xpi 680213 BLAKE2B b2bbd42171dd720dce58791f104dca34148af5a7107ed24cdcabd48090626d1bb484a7ba9bc6dfc689889435dce289c6143ab9f9322c427b42106e7d861df92d SHA512 fa20b422f9dc07957e4db613752d06e7a25d5233b36d1dd4ed5deecd4963cf036609dca67848891bf7d3296e72df65a33c1e7b1d24cc27bf1540897f509964bc
45 +DIST thunderbird-102.5.1-fi.xpi 673902 BLAKE2B 2d4591df02b20b2aa267148553c52a23b8b2f6e9d9673a857712ec45bfeb90a5df7e81beb09238ed73385f40489859b05f516455588b1bec93fe5ab728b9a430 SHA512 a3453a6d67acb3e37acef5320fabf7f0d0ac5ffa18a057d651056564aa966244e3e124ec961309ce2bd6e5f1042776d1b74d5ead66b38e167e2cf586211d6f4e
46 +DIST thunderbird-102.5.1-fr.xpi 708769 BLAKE2B f05fc8399d037ddfdc0b0196db3ba65ea917f095521ce7faf4d5d63e48b4b6150497dce485f275f26f1a7152393fb34d36044bca391146f3481977064c3cf469 SHA512 f606fe96daa7d4087ac08c312fbdd92f42e3242b00c2c8b748aff4d61f7f8ad3ddf557d67ffc4b9e271029ef86de2dfb1ef6c5768d79bc822c6efb93a3c3f6ac
47 +DIST thunderbird-102.5.1-fy-NL.xpi 690683 BLAKE2B 17e94e683fdb84ee58c146d0bba3f15839439353ef66485dbe9a072adabf9622cb83c6cbfa7f8e5983283c4df6de51ce86523b7db5b83703537dd5527d190bd7 SHA512 e17dc3f5fe29fadef34dfdb93fa27aa82eae42e9cc88642ef82fc686aeef6a378bf2e76143b749288838f808a4482f3025abdd23a712704531816a3469203084
48 +DIST thunderbird-102.5.1-ga-IE.xpi 603100 BLAKE2B 43aa7bb81bc63934d300e956271022b05b21fbb0da0e39c7c2dcfe56bc4320379d0e5f1c2b4896333071ef0798b2a83dc525bfce9e46e1871a3521bb601a612f SHA512 565fb2f1c22b8d9f0a4e75a5ac402e1b0876cabdb2bd8573dcabe60ee98dea22dc32409cb6aa57f0b0fd9babde2533687f5998ae28ca480d60cd9c6f25092d05
49 +DIST thunderbird-102.5.1-gd.xpi 632446 BLAKE2B 407bd808dc164e9ff0275f825f9f0dd2d27d329a4f61391a465d481aedbb5ee520beacda4ce77929b8d75ff90fa24d53a0dd0ce0043f53249562659016ee0bee SHA512 5f8fcf8698bc32069043a3fa176d0677b57993058cbc28b3232974ebf1375a057affd88824ec99132dc4ad3717ba378ec587ea2580f9ab63bc9c180cd6ea3526
50 +DIST thunderbird-102.5.1-gl.xpi 663211 BLAKE2B 5ae88838ec1f24542b7afee66e256e7cdd2fc8ac23a68f3465e9f0bb0b31f54f6eabb228761875858208744e87aed11e3df4b6417ff7a2345b362158eb7e4a5c SHA512 2201f82b19e9359bb3b2788d976dbc6581f209e78878672ee5e6ae65a898ee3097aad0daf65e77c2e97f2eaa7acff717a0235f87857a2d32a05f5d2e344216d7
51 +DIST thunderbird-102.5.1-he.xpi 662891 BLAKE2B e67932f8813272f7e3f5c363fdca6bd41dba3062f0f91c1d9c45f14cc8b0d16b7318a9f699c063f761636c21a4f404d030b7fc9f8fc448926e3803150676dac8 SHA512 74a39a7fc9950335ef84fc0a0d2f42ee8b8471b6da7fadce0b64f27050e5ac1e24c266078777dd3b4fb70ca7c4f8680919c08e82c55dc841f7704f421e3bebc8
52 +DIST thunderbird-102.5.1-hr.xpi 661115 BLAKE2B 74c6fe5f455da3ad9331e2247e8ed91a32727137cec9d2d35ce19ca40d4b7d38a000ade7be9d9cd2f16e631ca9f2f4b7ec08d547cddfa28adb6159c069f36974 SHA512 b2b3a538d176f7cd7fb156d985ce86b62f1da8548ca442a9d9a357bea41e39a7f745b03d75bb8ec9e589e7831dcc78a2c4dc373dbda3839636a994595c69aca6
53 +DIST thunderbird-102.5.1-hsb.xpi 715755 BLAKE2B 5a4e42dca8a274bbb2564d42e57394082b6bbd740ee8eddbce59fada597b1d15149b3c5cfd6d485ca488c64988ba6f11d7c9b8a9255e9715f25a97851ad645ea SHA512 40b328e63fe953749a428d3134046a8cb2871cad571c58fdf482f8130cd92cba5bd3ee70b92c4581a87789171c63e83aebffc9652983770f05127b20f85628a9
54 +DIST thunderbird-102.5.1-hu.xpi 718787 BLAKE2B 7dccd0c64c8db970e527b3ea120f732605af5b9cece4bfd4fbfdddfed0a69e7a408b48a56b76bcf75ce499ce0f87c3bd7511499c7190bf3d5ceb72fc75524c73 SHA512 2d2d0fd46b9efbfec39d8a5c759cfa8fd28a369282ddfe421509cb2be8083fcb1b134c66f749fa2429063860ee37bea4b33d6552ab6bd8c736352d4ded8b1d42
55 +DIST thunderbird-102.5.1-id.xpi 639543 BLAKE2B c1b27c28ed3d33688c243a1657d9890f6016b69beff93fa774a5b9711933326264f4c7f9743bbfe869b9d0e7faf4519a5eb72c5b5bc5a7792dfd7b37bf0592f2 SHA512 4d9b81fc36bad9440a1bf0291ac77c7e0d91ce0687d3e781cedae2c0411e39ca08d351653ceb153097f8ec7100666fc89b174e4536c3d4f8bb70edfdaffdfdb1
56 +DIST thunderbird-102.5.1-is.xpi 685618 BLAKE2B f73c88e3bb9b4b5084da9e0a34cf4a3869b3f0ebe14d73f731ee089935f79c2d70a079bce457aeb128396e2eb5b7966ef19253d9c6e06637d98c11749c6c5053 SHA512 1119813368fbfab925bebac455be53739067327c5f2ce0dc8c2cf58130f761ad6d0a9cbfd281d537030f80ef2ff332a38afebdd8acf7f57a3a7678ca5e5eba2a
57 +DIST thunderbird-102.5.1-it.xpi 617780 BLAKE2B 971005ce1103262de01ad8e0e8577bd1666ba106a333aa6f43596d6aa5093f0a822a6dadd451ecf0cb03af2e80c99c40b35d092cd2416ace4abb62e6d3281470 SHA512 c59773b3d3568643aa95611600f26339925919a0c4875ee4b4358d65c66d2481acc0367a1212d393642704f6130d9fad01fec81e109df1b3a117e5eef164b91e
58 +DIST thunderbird-102.5.1-ja.xpi 755146 BLAKE2B 1cbf3db1366317a3c7f5d4236cd73db93ea58d177a9fe71cae6c397ecbafe7ee80a00737c3c7927218b7313c14bd6146ed6fa4861fafe46805e3217b00d4c136 SHA512 e902e151e0edfa980cd64fd20c48ec745ff4e563d40657b988bb18f304c7955604d2ca6d0cb2dcc6db58c0c5696fcea6f4013fbe16ba96da4d0e2d85fc94ea23
59 +DIST thunderbird-102.5.1-ka.xpi 752979 BLAKE2B 342468843aa038822e4e97fe7d4c59b5e9dad1b615cd7d828cdc861efea8a2f853ffa2b8c9c36cd9361eb9e390f406b3aa5d828cd8e28d8fbc444168365d753f SHA512 f98d2ea6eb591bee869adcbb0d59df4600ceae15baeb70891115e7eb031535acadbc707e66714585093424e8d8c93935199919883eed4224453372994956d958
60 +DIST thunderbird-102.5.1-kab.xpi 688573 BLAKE2B 87bf9fcf94910d803335c7aedbe5b1e05ecea5c25642f4355b7e9528fdbb489851ea4c6a52e7fd676b5421815b379793573989101bb1f345ffb6a38a95567541 SHA512 23ee98fdd0156c2215dee6a68da67c055c036aa5cd5c3dd7cc7fd512fb35283563ffcd9eaee269c68ac2484a3a50a0675db988070dd441611dc526c9fe8018b3
61 +DIST thunderbird-102.5.1-kk.xpi 731943 BLAKE2B 94a23e7cacdbe639b67e74c14805d7c34da45327486451ec6dae7785795e919512881643aa847816093a31b971165f74982700fe15cceba25dff271a332eb4e7 SHA512 dc742ef9e61bfb43c29c0eea09cc941d5e72e4fec4415f8086681a0c0b418b9d2ae0e1356491a9240cb897e4863363918dc9bb1b342d52136ce16661e1064e97
62 +DIST thunderbird-102.5.1-ko.xpi 692943 BLAKE2B e47c4061a4a1a5750ff0dc45dec5e31d5b136e3eaae68e0226e3d90abb549698ce8cc771bdba66df7661ae326aad9aacce16fb06b34f4703e19cf5d91704015e SHA512 4ca2b0cf09ae688b378f62842a682eafdfb0fee73374292588fcdcfe0c972c9577046b3bd063f82c9235d364c40370dd1c410e9bf3670f46130ab49d762498e2
63 +DIST thunderbird-102.5.1-lt.xpi 680721 BLAKE2B 66531f1f615d315a56c253bf5c3eecf99cf12b734beaf86bddf096e6076b4ca2d99b4c55d7a09e55750546b52865af138a3a3da20412b1f4ba4f91de22c36c1b SHA512 811a9af1e195a1d1d2f54038cc5363b3e09719d8fe770a65ce7e0aa95898a925dc6cec6ff7618c90e3ae28085f436d5fd6ef48a3cabb44e3587ad6d633857fcd
64 +DIST thunderbird-102.5.1-lv.xpi 608590 BLAKE2B 90887f5cfbde21ece6d190e7fcf449f99fb8b48864ea68c73d0071fab2dad0cd88a9629a3136c07aa83ac16f41b2dea61b7b21a8f6907cdc4ea1dbc35ee19b84 SHA512 783b4274fb89549772d455e475c275d9fcfa15a6883d2bfb82f1056998e86a7180cda1eeaddff03870914e26c2f97c2c715e1cb293de8d3efe6712c7431a5857
65 +DIST thunderbird-102.5.1-ms.xpi 568428 BLAKE2B f897ab84e3aaea6f28dd63e24c06d10530406103d58694c312f1685bcd51ec30afb251e1b2640681a2a67a7bd04c2517da2ec5db53c10ada158e3fb110d685de SHA512 13a3270ffb1c536cc9721bb8eb91fdd195ce6f9fa0d986568065be2e921ab4566b83e48719c792ac8d016c885e56da75124521787b441d87995fa5f28f3861b1
66 +DIST thunderbird-102.5.1-nb-NO.xpi 648585 BLAKE2B fdb46536257380c23d9166a3cb8f9d4d9677f68acb8e16b83c0a129bce9bebd1213d961916f98c448e854dbf61449f931af0cc43094859974a08ac650c3c4d4d SHA512 865a3cb233f32c51599c71ade16735d799bd2892d2b8cb3ceef220fc1495e9e5f47f42a8f77ba329e9d7edf26992be765908fa370c7b71f7a4b63afa6dd21827
67 +DIST thunderbird-102.5.1-nl.xpi 682269 BLAKE2B 88e732e233f285a475caa7c206a65ad994f1381548bad214869d5e53d11d81ea154dd744eb2f28c9afb7aae68da2a72c401502e250bb03302b0751e69a6863ba SHA512 3ca8638f8ec734d6434ccb9e694dffbfa71a8c6ea8a99afbc9f26247ec2f286f8f5d3320c0fc1b6a8d9072fc9a093f4e2ed25f0a5e69eed58d83637256034169
68 +DIST thunderbird-102.5.1-nn-NO.xpi 656908 BLAKE2B 755f699b740b02e3d7359ca618fa9d1ecbde761c3736571d6050451af8014435f1555040939c1b053c7e10d440af3a6c01223f022b638bf7c3c1ede917592d65 SHA512 e4e070ec5b510f04d4aaaedcc8bc1328ca65010b3f5e17d43647a074d4aabbe141350f4ceca073f9a865142b8231a9506bc41ad8db2a7c5b4a36fe397eb19fa7
69 +DIST thunderbird-102.5.1-pa-IN.xpi 653544 BLAKE2B 34d798f529a6defd05edb65ab3ddd0e27d616252a0e8e53ef3665d9d1b26bd20e774b5714d3c9a8613c8c7dac422af98c20a0b05d4a5ec27d5344a4e59b82119 SHA512 ebcdc1f9a4ea19004acfae30b9231421f3e99244110ea54f9a93f58e43eb101eb4bab382d2de364547b7dea317a1a2cb586bcc83bdc41ecb16fbb3347de7a656
70 +DIST thunderbird-102.5.1-pl.xpi 695420 BLAKE2B 5adec115a398f0def2ed0a7a6678e6e62642b861a07b25f5bf6b8bdaf04c243f1489b4cdf707b9db6f7fe1e3c552136467247b02008e12df3d90179e1708d2f5 SHA512 13803facf646a2445ee1c2ec71e2e2d96afaf00243adb009fdb8999f6b23429f945e6f27330d65b49f03c5e81d10d493eda18cf7d62f43d3671a8187f3ba716e
71 +DIST thunderbird-102.5.1-pt-BR.xpi 690289 BLAKE2B cdf9c7fd3a889d470bb225ebed09f0eb301f8c268ce6886a1f07cab6a1c69b8aa93cacf83780863cb520ec5e989c68dc6335656b07e856032ecb4e0266e7ec1a SHA512 2d79999cec648adb9691d6c75254040862a516a88bdef26e88fdb0e6b8a415412d1aa086f588f6d2753a40ecbf577ce460c26351e85bab2316f0b1bf18181755
72 +DIST thunderbird-102.5.1-pt-PT.xpi 666881 BLAKE2B 9aed87086bc20779c6e16b8e4c16ee30441fcac6b00bf8c731feb5833f8ab4099669d452520090f375da40d685cd9191d58a44697f3844d336afc8a1e815bb14 SHA512 4a14295b046dfed8d3686b1b11c22459dd6eb97634a48886819a30eb9fae64c18961dfa5ab9c3a4516aa546a9e6efb16975ed0729dc2daea87f253b30fbe1d22
73 +DIST thunderbird-102.5.1-rm.xpi 686111 BLAKE2B 9e3d8d3edc0860f76784169395c6ba261cedfa6e3eaae9941b2171b97c776e566e0589bfc3f0ad7631ca6bab641bc7b750fe4467e6bc60f577dff51a30115bd6 SHA512 18c097eba378be2656853d737613cc4dff25f7f3262edd3f4b63af8ce47510b5dc1bf3d03845ccaa6d8bd6b47c692126fc58f293bcd8522b4f2a0bb5da2201fc
74 +DIST thunderbird-102.5.1-ro.xpi 651336 BLAKE2B 40de783b281c15c5d4d0788e66b83f86da521b90d9d85dfd25866eff3920d09e4c9c8938a6cdff2e62c451dfbf4d242557f8d7851f36efb7919cb43e38a9a286 SHA512 2eda33293ba7dee21172b22172162de9c3734215ace3e8202931108d79784c63506f770c6b80d8e6fb728cc0a395b4e118903b1899e927fd549752c2236eff04
75 +DIST thunderbird-102.5.1-ru.xpi 801786 BLAKE2B 5bdf5085c12b0f23d226f10a4059bd5172790a5b2e05d864d9c3fcde926428e8aaa1c748eedce19607c1faa869b8476fdfc66c6262c940978b42e3bab89dc31e SHA512 1291549e830955eba7ada275fbe7c7aadc3b0e22f6e77f2f8553e6eb4ff28e13c50248c006853e6d4e8411d11707fe2d0c4558eca96e000d91245267ca37779c
76 +DIST thunderbird-102.5.1-sk.xpi 718358 BLAKE2B dc8d2327ee1452a6ce130b18a87f26af1422d7e933dd558f6d7cf625bb502889087cf8c32b604b8be4ee7d5689146a0c572218f3312e9dc5a4a74d418bd55df6 SHA512 71f9c6aaa7ebe712f432b9217689690767a20076984e27774f84a20dfc300dd7a224a9623086a5d1e1389f33e3c6c373de4ee3137e58ee44c329dd156e27dfda
77 +DIST thunderbird-102.5.1-sl.xpi 683785 BLAKE2B 33ecef534e50ecc00d5922ab741de5f875d901b786b6da72d20f4d427a107dc8a71219bfb9f33da2917d84bc3653ba9fe42734fc66ba4af71aa0714465b01818 SHA512 90ed4ae7becaab83cefa2b96c5e7f6d5c0d2563ca7e7f37f440cdf57d1d5d39a7d3b1e3416364d4dbfeea8b611320d77c66d4234f1969a0f4ed6ceb14319a8cc
78 +DIST thunderbird-102.5.1-sq.xpi 690227 BLAKE2B b30c77962d54c3ef60d6586fbac27616e5a74a934eca3da9061c65cb01d1a76434c3ee6ca9994e307b32fb63020145bd464d0134df0bc9db2cda939193f5e18c SHA512 cdd041ff2e607db0052f15bc7a375ae3efefd96b6715cea75bb49f4d5d418a4abde8162159494e70701c2108d7fada5ae43586c57991a7bb2d97442f78f6608c
79 +DIST thunderbird-102.5.1-sr.xpi 705273 BLAKE2B 3474e0832126d1e012b05e4087b6e011e9d9d2dc28d756c83b70d95ef43f46c00af0cb63f18486e7105fc1c0164ae5f117e649beb5909c89198df04f2fc671b1 SHA512 599745c6e4ced4935079d52f52558ac05cb6f2045dfb733e9bdc60141ba120b6c07b726a9bbf213c39a5a3b523ad42d9319c39bb9b284b1a01b3cc67ed6ef2ab
80 +DIST thunderbird-102.5.1-sv-SE.xpi 685686 BLAKE2B 40622b2257c33afef0a1aef6cee999b80ac6d9ad06542e0b27f3fb6c9d74bb690d9dc316cfa8659e26c1b0f12bd70720426d8f1343b77604a5a7e4841145a04b SHA512 1526bca6e02e759fb3bd5199163cd34a94f61c150106a9cc4f6b1211d456e08e0b860c73756e5711f29d545871eed72a1c551bc63f8b1cbf35ff190508631930
81 +DIST thunderbird-102.5.1-th.xpi 734543 BLAKE2B ab2b5f26f79a6d6732c72e60ea9cb0d950ffe99548071d5b4cad8b2cf23473d8679e05e9862ef47fb6247fe6796513ef5cc28ad6d5c37bbfb79bb3f9578bdc0c SHA512 2c2a61d9a440bde80ae96337a92b25139688ccaa8f7fdac9d5b050dc6f00a34af72cc00523a18f3afc7006130be096c0048cda188a2c47d22e2170dfa38d539c
82 +DIST thunderbird-102.5.1-tr.xpi 697058 BLAKE2B f0eecc5be2d32ccce8bc71d04710c85a6d93a172bc6e4eae3a2174716090a2db353fcd19224d95b49ed379a6d59ba19f3c7844868be78146d54465156466efe6 SHA512 9f091540611cc45cef51a5f3371e17c3b893e268cef14dd37695691ae958c9b6bbaaf199dca7246f4180d2abf3d811c50466111c27bc92281ba8136e058118c7
83 +DIST thunderbird-102.5.1-uk.xpi 794407 BLAKE2B f54c6a28ae87933b0a16c83179e6090ca2748a4fe67bbef4e68bcb4bbc0b9bdc9d855f84039f56a4c96658c906c4fa902c54b8ea3a807ee18948b4638a294cb6 SHA512 ed7297a4bacb2023496c92039acc3d97c9aafc63578ff5ab54fee7e7001ed7550e2009572004d8aa84038ca8a3a3e29698b90fcd4628bd871505c62846df7961
84 +DIST thunderbird-102.5.1-uz.xpi 584808 BLAKE2B 15c59ea1b9f640d8f48c2393f372e9ffb1db4fa8e6778033b9868fb55d42e1557a541330a064f6c39f7de3e8ca0a673c75c95a7b7211387ebb85e03c577fcb25 SHA512 b9ad6f069f9d16ebbd7840c5398dd23d6b96dbe0c1f641fbdbd6b77cc2347d976d40b5d8f90538efc67fd300aacc7793779562f4cb74dae97d3b49ac28f0cfae
85 +DIST thunderbird-102.5.1-vi.xpi 724848 BLAKE2B c38fd0f3aeb17662fd1e8608be55764224649ea956e728e611397ed56cb236d2cc18d8f77608f24b69e9fa72c44ee3f0bdfe6db55c25d2b50b290cedc6372476 SHA512 e56e2fc82b82bc05ce19329db2fa664456ed0bb386cedbb31ee39188fbdaf466f9f57e9bcbbfcab1e713e83843a0e4ec35578f1cb313c0f7268450b79eb1a370
86 +DIST thunderbird-102.5.1-zh-CN.xpi 722699 BLAKE2B e87e74eb3ae24d61032e1ed90596a495f78a228044284b40cdba17fc7e712d8cde901c9fff03c962c78c512d0a91f859d86578acc58104a589e5dea66a848976 SHA512 af19cf2beccfb3b15f55f9c1a988e14e07dd6091d190af599dc454245afa51adc5e5bd2ce74562d0d93b8e2384dcc1c403bdf4fd0fdcb4b20b9573551193073f
87 +DIST thunderbird-102.5.1-zh-TW.xpi 725970 BLAKE2B 04453c6cf08d0718ba2ea44ad0665903743bf64453c2c2a3da9c199868e76aef44f03c70657147c5bdc151bb3b6ac15732d4189fe4be398eac8a826aa5caa4be SHA512 ee933237684e4600bdb17e00f62cda4c975c151c79ea054e7bd8a4a6970b251bdbae8f27359677c104bdb44952d28087b9b16b1e7bca11dd076c70807e4020e7
88 +DIST thunderbird-102.5.1.source.tar.xz 509550884 BLAKE2B 869f988ad1e0a240824a40fbb82f37bd89b868edfa7a6e22cef62406126d4a6cacf1cb52e79e0243b41f0b530e1840accf98e5f0e531f2cb67b4ab4c190ed914 SHA512 bebd20f1435793be1ead5ac962ef49c6f01909eeb16f3d909e8a57bd42f4ae1d99ae50cf55439dc395be94abd920f8239ffb98eba7a0653657c454918f6df9c7
89
90 diff --git a/mail-client/thunderbird/thunderbird-102.5.1.ebuild b/mail-client/thunderbird/thunderbird-102.5.1.ebuild
91 new file mode 100644
92 index 000000000000..698cc7df4291
93 --- /dev/null
94 +++ b/mail-client/thunderbird/thunderbird-102.5.1.ebuild
95 @@ -0,0 +1,1177 @@
96 +# Copyright 1999-2022 Gentoo Authors
97 +# Distributed under the terms of the GNU General Public License v2
98 +
99 +EAPI=8
100 +
101 +FIREFOX_PATCHSET="firefox-102esr-patches-06j.tar.xz"
102 +
103 +LLVM_MAX_SLOT=15
104 +
105 +PYTHON_COMPAT=( python3_{8..11} )
106 +PYTHON_REQ_USE="ncurses,sqlite,ssl"
107 +
108 +WANT_AUTOCONF="2.1"
109 +
110 +VIRTUALX_REQUIRED="pgo"
111 +
112 +MOZ_ESR=
113 +
114 +MOZ_PV=${PV}
115 +MOZ_PV_SUFFIX=
116 +if [[ ${PV} =~ (_(alpha|beta|rc).*)$ ]] ; then
117 + MOZ_PV_SUFFIX=${BASH_REMATCH[1]}
118 +
119 + # Convert the ebuild version to the upstream Mozilla version
120 + MOZ_PV="${MOZ_PV/_alpha/a}" # Handle alpha for SRC_URI
121 + MOZ_PV="${MOZ_PV/_beta/b}" # Handle beta for SRC_URI
122 + MOZ_PV="${MOZ_PV%%_rc*}" # Handle rc for SRC_URI
123 +fi
124 +
125 +if [[ -n ${MOZ_ESR} ]] ; then
126 + # ESR releases have slightly different version numbers
127 + MOZ_PV="${MOZ_PV}esr"
128 +fi
129 +
130 +MOZ_PN="${PN%-bin}"
131 +MOZ_P="${MOZ_PN}-${MOZ_PV}"
132 +MOZ_PV_DISTFILES="${MOZ_PV}${MOZ_PV_SUFFIX}"
133 +MOZ_P_DISTFILES="${MOZ_PN}-${MOZ_PV_DISTFILES}"
134 +
135 +inherit autotools check-reqs desktop flag-o-matic gnome2-utils \
136 + llvm multiprocessing optfeature pax-utils python-any-r1 toolchain-funcs \
137 + virtualx xdg
138 +
139 +MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/releases/${MOZ_PV}"
140 +
141 +if [[ ${PV} == *_rc* ]] ; then
142 + MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/candidates/${MOZ_PV}-candidates/build${PV##*_rc}"
143 +fi
144 +
145 +PATCH_URIS=(
146 + https://dev.gentoo.org/~{juippis,whissi,slashbeast}/mozilla/patchsets/${FIREFOX_PATCHSET}
147 +)
148 +
149 +SRC_URI="${MOZ_SRC_BASE_URI}/source/${MOZ_P}.source.tar.xz -> ${MOZ_P_DISTFILES}.source.tar.xz
150 + ${PATCH_URIS[@]}"
151 +
152 +DESCRIPTION="Thunderbird Mail Client"
153 +HOMEPAGE="https://www.thunderbird.net/"
154 +
155 +KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
156 +
157 +SLOT="0"
158 +LICENSE="MPL-2.0 GPL-2 LGPL-2.1"
159 +
160 +IUSE="+clang cpu_flags_arm_neon dbus debug eme-free hardened hwaccel"
161 +IUSE+=" jack libproxy lto +openh264 pgo pulseaudio sndio selinux"
162 +IUSE+=" +system-av1 +system-harfbuzz +system-icu +system-jpeg +system-libevent +system-libvpx system-png system-python-libs +system-webp"
163 +IUSE+=" wayland wifi"
164 +
165 +# Thunderbird-only USE flags.
166 +IUSE+=" +system-librnp"
167 +
168 +REQUIRED_USE="debug? ( !system-av1 )
169 + pgo? ( lto )
170 + wayland? ( dbus )
171 + wifi? ( dbus )"
172 +
173 +# Thunderbird-only dependencies.
174 +TB_ONLY_DEPEND="!<x11-plugins/enigmail-2.2
175 + selinux? ( sec-policy/selinux-thunderbird )
176 + !system-librnp? ( dev-libs/jsoncpp )
177 + system-librnp? ( dev-util/librnp )"
178 +BDEPEND="${PYTHON_DEPS}
179 + || (
180 + (
181 + sys-devel/clang:15
182 + sys-devel/llvm:15
183 + clang? (
184 + sys-devel/lld:15
185 + virtual/rust:0/llvm-15
186 + pgo? ( =sys-libs/compiler-rt-sanitizers-15*[profile] )
187 + )
188 + )
189 + (
190 + sys-devel/clang:14
191 + sys-devel/llvm:14
192 + clang? (
193 + sys-devel/lld:14
194 + virtual/rust:0/llvm-14
195 + pgo? ( =sys-libs/compiler-rt-sanitizers-14*[profile] )
196 + )
197 + )
198 + )
199 + !clang? ( virtual/rust )
200 + app-arch/unzip
201 + app-arch/zip
202 + >=dev-util/cbindgen-0.24.3
203 + net-libs/nodejs
204 + virtual/pkgconfig
205 + amd64? ( >=dev-lang/nasm-2.14 )
206 + x86? ( >=dev-lang/nasm-2.14 )"
207 +
208 +COMMON_DEPEND="${TB_ONLY_DEPEND}
209 + >=app-accessibility/at-spi2-core-2.46.0:2
210 + dev-libs/expat
211 + dev-libs/glib:2
212 + dev-libs/libffi:=
213 + >=dev-libs/nss-3.79
214 + >=dev-libs/nspr-4.34
215 + media-libs/alsa-lib
216 + media-libs/fontconfig
217 + media-libs/freetype
218 + media-libs/mesa
219 + media-video/ffmpeg
220 + sys-libs/zlib
221 + virtual/freedesktop-icon-theme
222 + virtual/opengl
223 + x11-libs/cairo[X]
224 + x11-libs/gdk-pixbuf
225 + x11-libs/gtk+:3[X]
226 + x11-libs/libX11
227 + x11-libs/libXcomposite
228 + x11-libs/libXdamage
229 + x11-libs/libXext
230 + x11-libs/libXfixes
231 + x11-libs/libXrandr
232 + x11-libs/libXtst
233 + x11-libs/libxcb:=
234 + x11-libs/libxkbcommon[X]
235 + x11-libs/pango
236 + x11-libs/pixman
237 + dbus? (
238 + dev-libs/dbus-glib
239 + sys-apps/dbus
240 + )
241 + jack? ( virtual/jack )
242 + libproxy? ( net-libs/libproxy )
243 + sndio? ( >=media-sound/sndio-1.8.0-r1 )
244 + system-av1? (
245 + >=media-libs/dav1d-1.0.0:=
246 + >=media-libs/libaom-1.0.0:=
247 + )
248 + system-harfbuzz? (
249 + >=media-gfx/graphite2-1.3.13
250 + >=media-libs/harfbuzz-2.8.1:0=
251 + )
252 + system-icu? ( >=dev-libs/icu-71.1:= )
253 + system-jpeg? ( >=media-libs/libjpeg-turbo-1.2.1 )
254 + system-libevent? ( >=dev-libs/libevent-2.0:0=[threads] )
255 + system-libvpx? ( >=media-libs/libvpx-1.8.2:0=[postproc] )
256 + system-png? ( >=media-libs/libpng-1.6.35:0=[apng] )
257 + system-webp? ( >=media-libs/libwebp-1.1.0:0= )
258 + wayland? (
259 + x11-libs/gtk+:3[wayland]
260 + x11-libs/libdrm
261 + x11-libs/libxkbcommon[wayland]
262 + )
263 + wifi? (
264 + kernel_linux? (
265 + dev-libs/dbus-glib
266 + net-misc/networkmanager
267 + sys-apps/dbus
268 + )
269 + )"
270 +
271 +RDEPEND="${COMMON_DEPEND}
272 + jack? ( virtual/jack )
273 + openh264? ( media-libs/openh264:*[plugin] )
274 + pulseaudio? (
275 + || (
276 + media-sound/pulseaudio
277 + >=media-sound/apulse-0.1.12-r4
278 + )
279 + )"
280 +
281 +DEPEND="${COMMON_DEPEND}
282 + x11-libs/libICE
283 + x11-libs/libSM
284 + pulseaudio? (
285 + || (
286 + media-sound/pulseaudio
287 + >=media-sound/apulse-0.1.12-r4[sdk]
288 + )
289 + )"
290 +
291 +S="${WORKDIR}/${PN}-${PV%_*}"
292 +
293 +llvm_check_deps() {
294 + if ! has_version -b "sys-devel/clang:${LLVM_SLOT}" ; then
295 + einfo "sys-devel/clang:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
296 + return 1
297 + fi
298 +
299 + if use clang ; then
300 + if ! has_version -b "sys-devel/lld:${LLVM_SLOT}" ; then
301 + einfo "sys-devel/lld:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
302 + return 1
303 + fi
304 +
305 + if ! has_version -b "virtual/rust:0/llvm-${LLVM_SLOT}" ; then
306 + einfo "virtual/rust:0/llvm-${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
307 + return 1
308 + fi
309 +
310 + if use pgo ; then
311 + if ! has_version -b "=sys-libs/compiler-rt-sanitizers-${LLVM_SLOT}*[profile]" ; then
312 + einfo "=sys-libs/compiler-rt-sanitizers-${LLVM_SLOT}*[profile] is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
313 + return 1
314 + fi
315 + fi
316 + fi
317 +
318 + einfo "Using LLVM slot ${LLVM_SLOT} to build" >&2
319 +}
320 +
321 +MOZ_LANGS=(
322 + af ar ast be bg br ca cak cs cy da de dsb
323 + el en-CA en-GB en-US es-AR es-ES es-MX et eu
324 + fi fr fy-NL ga-IE gd gl he hr hsb hu
325 + id is it ja ka kab kk ko lt lv ms nb-NO nl nn-NO
326 + pa-IN pl pt-BR pt-PT rm ro ru
327 + sk sl sq sr sv-SE th tr uk uz vi zh-CN zh-TW
328 +)
329 +
330 +mozilla_set_globals() {
331 + # https://bugs.gentoo.org/587334
332 + local MOZ_TOO_REGIONALIZED_FOR_L10N=(
333 + fy-NL ga-IE gu-IN hi-IN hy-AM nb-NO ne-NP nn-NO pa-IN sv-SE
334 + )
335 +
336 + local lang xflag
337 + for lang in "${MOZ_LANGS[@]}" ; do
338 + # en and en_US are handled internally
339 + if [[ ${lang} == en ]] || [[ ${lang} == en-US ]] ; then
340 + continue
341 + fi
342 +
343 + # strip region subtag if $lang is in the list
344 + if has ${lang} "${MOZ_TOO_REGIONALIZED_FOR_L10N[@]}" ; then
345 + xflag=${lang%%-*}
346 + else
347 + xflag=${lang}
348 + fi
349 +
350 + SRC_URI+=" l10n_${xflag/[_@]/-}? ("
351 + SRC_URI+=" ${MOZ_SRC_BASE_URI}/linux-x86_64/xpi/${lang}.xpi -> ${MOZ_P_DISTFILES}-${lang}.xpi"
352 + SRC_URI+=" )"
353 + IUSE+=" l10n_${xflag/[_@]/-}"
354 + done
355 +}
356 +mozilla_set_globals
357 +
358 +moz_clear_vendor_checksums() {
359 + debug-print-function ${FUNCNAME} "$@"
360 +
361 + if [[ ${#} -ne 1 ]] ; then
362 + die "${FUNCNAME} requires exact one argument"
363 + fi
364 +
365 + einfo "Clearing cargo checksums for ${1} ..."
366 +
367 + sed -i \
368 + -e 's/\("files":{\)[^}]*/\1/' \
369 + "${S}"/third_party/rust/${1}/.cargo-checksum.json \
370 + || die
371 +}
372 +
373 +moz_install_xpi() {
374 + debug-print-function ${FUNCNAME} "$@"
375 +
376 + if [[ ${#} -lt 2 ]] ; then
377 + die "${FUNCNAME} requires at least two arguments"
378 + fi
379 +
380 + local DESTDIR=${1}
381 + shift
382 +
383 + insinto "${DESTDIR}"
384 +
385 + local emid xpi_file xpi_tmp_dir
386 + for xpi_file in "${@}" ; do
387 + emid=
388 + xpi_tmp_dir=$(mktemp -d --tmpdir="${T}")
389 +
390 + # Unpack XPI
391 + unzip -qq "${xpi_file}" -d "${xpi_tmp_dir}" || die
392 +
393 + # Determine extension ID
394 + if [[ -f "${xpi_tmp_dir}/install.rdf" ]] ; then
395 + emid=$(sed -n -e '/install-manifest/,$ { /em:id/!d; s/.*[\">]\([^\"<>]*\)[\"<].*/\1/; p; q }' "${xpi_tmp_dir}/install.rdf")
396 + [[ -z "${emid}" ]] && die "failed to determine extension id from install.rdf"
397 + elif [[ -f "${xpi_tmp_dir}/manifest.json" ]] ; then
398 + emid=$(sed -n -e 's/.*"id": "\([^"]*\)".*/\1/p' "${xpi_tmp_dir}/manifest.json")
399 + [[ -z "${emid}" ]] && die "failed to determine extension id from manifest.json"
400 + else
401 + die "failed to determine extension id"
402 + fi
403 +
404 + einfo "Installing ${emid}.xpi into ${ED}${DESTDIR} ..."
405 + newins "${xpi_file}" "${emid}.xpi"
406 + done
407 +}
408 +
409 +mozconfig_add_options_ac() {
410 + debug-print-function ${FUNCNAME} "$@"
411 +
412 + if [[ ${#} -lt 2 ]] ; then
413 + die "${FUNCNAME} requires at least two arguments"
414 + fi
415 +
416 + local reason=${1}
417 + shift
418 +
419 + local option
420 + for option in ${@} ; do
421 + echo "ac_add_options ${option} # ${reason}" >>${MOZCONFIG}
422 + done
423 +}
424 +
425 +mozconfig_add_options_mk() {
426 + debug-print-function ${FUNCNAME} "$@"
427 +
428 + if [[ ${#} -lt 2 ]] ; then
429 + die "${FUNCNAME} requires at least two arguments"
430 + fi
431 +
432 + local reason=${1}
433 + shift
434 +
435 + local option
436 + for option in ${@} ; do
437 + echo "mk_add_options ${option} # ${reason}" >>${MOZCONFIG}
438 + done
439 +}
440 +
441 +mozconfig_use_enable() {
442 + debug-print-function ${FUNCNAME} "$@"
443 +
444 + if [[ ${#} -lt 1 ]] ; then
445 + die "${FUNCNAME} requires at least one arguments"
446 + fi
447 +
448 + local flag=$(use_enable "${@}")
449 + mozconfig_add_options_ac "$(use ${1} && echo +${1} || echo -${1})" "${flag}"
450 +}
451 +
452 +mozconfig_use_with() {
453 + debug-print-function ${FUNCNAME} "$@"
454 +
455 + if [[ ${#} -lt 1 ]] ; then
456 + die "${FUNCNAME} requires at least one arguments"
457 + fi
458 +
459 + local flag=$(use_with "${@}")
460 + mozconfig_add_options_ac "$(use ${1} && echo +${1} || echo -${1})" "${flag}"
461 +}
462 +
463 +pkg_pretend() {
464 + if [[ ${MERGE_TYPE} != binary ]] ; then
465 + if use pgo ; then
466 + if ! has usersandbox $FEATURES ; then
467 + die "You must enable usersandbox as X server can not run as root!"
468 + fi
469 + fi
470 +
471 + # Ensure we have enough disk space to compile
472 + if use pgo || use lto || use debug ; then
473 + CHECKREQS_DISK_BUILD="13500M"
474 + else
475 + CHECKREQS_DISK_BUILD="6600M"
476 + fi
477 +
478 + check-reqs_pkg_pretend
479 + fi
480 +}
481 +
482 +pkg_setup() {
483 + if [[ ${MERGE_TYPE} != binary ]] ; then
484 + if use pgo ; then
485 + if ! has userpriv ${FEATURES} ; then
486 + eerror "Building ${PN} with USE=pgo and FEATURES=-userpriv is not supported!"
487 + fi
488 + fi
489 +
490 + # Ensure we have enough disk space to compile
491 + if use pgo || use lto || use debug ; then
492 + CHECKREQS_DISK_BUILD="13500M"
493 + else
494 + CHECKREQS_DISK_BUILD="6400M"
495 + fi
496 +
497 + check-reqs_pkg_setup
498 +
499 + llvm_pkg_setup
500 +
501 + if use clang && use lto ; then
502 + local version_lld=$(ld.lld --version 2>/dev/null | awk '{ print $2 }')
503 + [[ -n ${version_lld} ]] && version_lld=$(ver_cut 1 "${version_lld}")
504 + [[ -z ${version_lld} ]] && die "Failed to read ld.lld version!"
505 +
506 + local version_llvm_rust=$(rustc -Vv 2>/dev/null | grep -F -- 'LLVM version:' | awk '{ print $3 }')
507 + [[ -n ${version_llvm_rust} ]] && version_llvm_rust=$(ver_cut 1 "${version_llvm_rust}")
508 + [[ -z ${version_llvm_rust} ]] && die "Failed to read used LLVM version from rustc!"
509 +
510 + if ver_test "${version_lld}" -ne "${version_llvm_rust}" ; then
511 + eerror "Rust is using LLVM version ${version_llvm_rust} but ld.lld version belongs to LLVM version ${version_lld}."
512 + eerror "You will be unable to link ${CATEGORY}/${PN}. To proceed you have the following options:"
513 + eerror " - Manually switch rust version using 'eselect rust' to match used LLVM version"
514 + eerror " - Switch to dev-lang/rust[system-llvm] which will guarantee matching version"
515 + eerror " - Build ${CATEGORY}/${PN} without USE=lto"
516 + eerror " - Rebuild lld with llvm that was used to build rust (may need to rebuild the whole "
517 + eerror " llvm/clang/lld/rust chain depending on your @world updates)"
518 + die "LLVM version used by Rust (${version_llvm_rust}) does not match with ld.lld version (${version_lld})!"
519 + fi
520 + fi
521 +
522 + python-any-r1_pkg_setup
523 +
524 + # Avoid PGO profiling problems due to enviroment leakage
525 + # These should *always* be cleaned up anyway
526 + unset \
527 + DBUS_SESSION_BUS_ADDRESS \
528 + DISPLAY \
529 + ORBIT_SOCKETDIR \
530 + SESSION_MANAGER \
531 + XAUTHORITY \
532 + XDG_CACHE_HOME \
533 + XDG_SESSION_COOKIE
534 +
535 + # Build system is using /proc/self/oom_score_adj, bug #604394
536 + addpredict /proc/self/oom_score_adj
537 +
538 + if use pgo ; then
539 + # Allow access to GPU during PGO run
540 + local ati_cards mesa_cards nvidia_cards render_cards
541 + shopt -s nullglob
542 +
543 + ati_cards=$(echo -n /dev/ati/card* | sed 's/ /:/g')
544 + if [[ -n "${ati_cards}" ]] ; then
545 + addpredict "${ati_cards}"
546 + fi
547 +
548 + mesa_cards=$(echo -n /dev/dri/card* | sed 's/ /:/g')
549 + if [[ -n "${mesa_cards}" ]] ; then
550 + addpredict "${mesa_cards}"
551 + fi
552 +
553 + nvidia_cards=$(echo -n /dev/nvidia* | sed 's/ /:/g')
554 + if [[ -n "${nvidia_cards}" ]] ; then
555 + addpredict "${nvidia_cards}"
556 + fi
557 +
558 + render_cards=$(echo -n /dev/dri/renderD128* | sed 's/ /:/g')
559 + if [[ -n "${render_cards}" ]] ; then
560 + addpredict "${render_cards}"
561 + fi
562 +
563 + shopt -u nullglob
564 + fi
565 +
566 + if ! mountpoint -q /dev/shm ; then
567 + # If /dev/shm is not available, configure is known to fail with
568 + # a traceback report referencing /usr/lib/pythonN.N/multiprocessing/synchronize.py
569 + ewarn "/dev/shm is not mounted -- expect build failures!"
570 + fi
571 +
572 + # Google API keys (see http://www.chromium.org/developers/how-tos/api-keys)
573 + # Note: These are for Gentoo Linux use ONLY. For your own distribution, please
574 + # get your own set of keys.
575 + if [[ -z "${MOZ_API_KEY_GOOGLE+set}" ]] ; then
576 + MOZ_API_KEY_GOOGLE="AIzaSyDEAOvatFogGaPi0eTgsV_ZlEzx0ObmepsMzfAc"
577 + fi
578 +
579 + if [[ -z "${MOZ_API_KEY_LOCATION+set}" ]] ; then
580 + MOZ_API_KEY_LOCATION="AIzaSyB2h2OuRgGaPicUgy5N-5hsZqiPW6sH3n_rptiQ"
581 + fi
582 +
583 + # Mozilla API keys (see https://location.services.mozilla.com/api)
584 + # Note: These are for Gentoo Linux use ONLY. For your own distribution, please
585 + # get your own set of keys.
586 + if [[ -z "${MOZ_API_KEY_MOZILLA+set}" ]] ; then
587 + MOZ_API_KEY_MOZILLA="edb3d487-3a84-46m0ap1e3-9dfd-92b5efaaa005"
588 + fi
589 +
590 + # Ensure we use C locale when building, bug #746215
591 + export LC_ALL=C
592 + fi
593 +}
594 +
595 +src_unpack() {
596 + local _lp_dir="${WORKDIR}/language_packs"
597 + local _src_file
598 +
599 + if [[ ! -d "${_lp_dir}" ]] ; then
600 + mkdir "${_lp_dir}" || die
601 + fi
602 +
603 + for _src_file in ${A} ; do
604 + if [[ ${_src_file} == *.xpi ]]; then
605 + cp "${DISTDIR}/${_src_file}" "${_lp_dir}" || die "Failed to copy '${_src_file}' to '${_lp_dir}'!"
606 + else
607 + unpack ${_src_file}
608 + fi
609 + done
610 +}
611 +
612 +src_prepare() {
613 + if use lto; then
614 + rm -v "${WORKDIR}"/firefox-patches/*-LTO-Only-enable-LTO-*.patch || die
615 + fi
616 +
617 + eapply "${WORKDIR}/firefox-patches"
618 +
619 + # Allow user to apply any additional patches without modifing ebuild
620 + eapply_user
621 +
622 + # Make cargo respect MAKEOPTS
623 + export CARGO_BUILD_JOBS="$(makeopts_jobs)"
624 +
625 + # Make LTO respect MAKEOPTS
626 + sed -i \
627 + -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \
628 + "${S}"/build/moz.configure/lto-pgo.configure \
629 + || die "sed failed to set num_cores"
630 +
631 + # Make ICU respect MAKEOPTS
632 + sed -i \
633 + -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \
634 + "${S}"/intl/icu_sources_data.py \
635 + || die "sed failed to set num_cores"
636 +
637 + # sed-in toolchain prefix
638 + sed -i \
639 + -e "s/objdump/${CHOST}-objdump/" \
640 + "${S}"/python/mozbuild/mozbuild/configure/check_debug_ranges.py \
641 + || die "sed failed to set toolchain prefix"
642 +
643 + sed -i \
644 + -e 's/ccache_stats = None/return None/' \
645 + "${S}"/python/mozbuild/mozbuild/controller/building.py \
646 + || die "sed failed to disable ccache stats call"
647 +
648 + einfo "Removing pre-built binaries ..."
649 + find "${S}"/third_party -type f \( -name '*.so' -o -name '*.o' \) -print -delete || die
650 +
651 + # Clearing crate checksums where we have applied patches
652 + moz_clear_vendor_checksums bindgen
653 +
654 + # Create build dir
655 + BUILD_DIR="${WORKDIR}/${PN}_build"
656 + mkdir -p "${BUILD_DIR}" || die
657 +
658 + # Write API keys to disk
659 + echo -n "${MOZ_API_KEY_GOOGLE//gGaPi/}" > "${S}"/api-google.key || die
660 + echo -n "${MOZ_API_KEY_LOCATION//gGaPi/}" > "${S}"/api-location.key || die
661 + echo -n "${MOZ_API_KEY_MOZILLA//m0ap1/}" > "${S}"/api-mozilla.key || die
662 +
663 + xdg_environment_reset
664 +}
665 +
666 +src_configure() {
667 + # Show flags set at the beginning
668 + einfo "Current BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}"
669 + einfo "Current CFLAGS:\t\t${CFLAGS:-no value set}"
670 + einfo "Current CXXFLAGS:\t\t${CXXFLAGS:-no value set}"
671 + einfo "Current LDFLAGS:\t\t${LDFLAGS:-no value set}"
672 + einfo "Current RUSTFLAGS:\t\t${RUSTFLAGS:-no value set}"
673 +
674 + local have_switched_compiler=
675 + if use clang; then
676 + # Force clang
677 + einfo "Enforcing the use of clang due to USE=clang ..."
678 + if tc-is-gcc; then
679 + have_switched_compiler=yes
680 + fi
681 + AR=llvm-ar
682 + CC=${CHOST}-clang
683 + CXX=${CHOST}-clang++
684 + NM=llvm-nm
685 + RANLIB=llvm-ranlib
686 + elif ! use clang && ! tc-is-gcc ; then
687 + # Force gcc
688 + have_switched_compiler=yes
689 + einfo "Enforcing the use of gcc due to USE=-clang ..."
690 + AR=gcc-ar
691 + CC=${CHOST}-gcc
692 + CXX=${CHOST}-g++
693 + NM=gcc-nm
694 + RANLIB=gcc-ranlib
695 + fi
696 +
697 + if [[ -n "${have_switched_compiler}" ]] ; then
698 + # Because we switched active compiler we have to ensure
699 + # that no unsupported flags are set
700 + strip-unsupported-flags
701 + fi
702 +
703 + # Ensure we use correct toolchain
704 + export HOST_CC="$(tc-getBUILD_CC)"
705 + export HOST_CXX="$(tc-getBUILD_CXX)"
706 + export AS="$(tc-getCC) -c"
707 + tc-export CC CXX LD AR AS NM OBJDUMP RANLIB PKG_CONFIG
708 +
709 + # Pass the correct toolchain paths through cbindgen
710 + if tc-is-cross-compiler ; then
711 + export BINDGEN_CFLAGS="${SYSROOT:+--sysroot=${ESYSROOT}} --target=${CHOST} ${BINDGEN_CFLAGS-}"
712 + fi
713 +
714 + # Set MOZILLA_FIVE_HOME
715 + export MOZILLA_FIVE_HOME="/usr/$(get_libdir)/${PN}"
716 +
717 + # python/mach/mach/mixin/process.py fails to detect SHELL
718 + export SHELL="${EPREFIX}/bin/bash"
719 +
720 + # Set state path
721 + export MOZBUILD_STATE_PATH="${BUILD_DIR}"
722 +
723 + # Set MOZCONFIG
724 + export MOZCONFIG="${S}/.mozconfig"
725 +
726 + # Initialize MOZCONFIG
727 + mozconfig_add_options_ac '' --enable-application=comm/mail
728 +
729 + # Set Gentoo defaults
730 + export MOZILLA_OFFICIAL=1
731 +
732 + mozconfig_add_options_ac 'Gentoo default' \
733 + --allow-addon-sideload \
734 + --disable-cargo-incremental \
735 + --disable-crashreporter \
736 + --disable-gpsd \
737 + --disable-install-strip \
738 + --disable-parental-controls \
739 + --disable-strip \
740 + --disable-updater \
741 + --enable-js-shell \
742 + --enable-negotiateauth \
743 + --enable-new-pass-manager \
744 + --enable-official-branding \
745 + --enable-release \
746 + --enable-system-ffi \
747 + --enable-system-pixman \
748 + --host="${CBUILD:-${CHOST}}" \
749 + --libdir="${EPREFIX}/usr/$(get_libdir)" \
750 + --prefix="${EPREFIX}/usr" \
751 + --target="${CHOST}" \
752 + --without-ccache \
753 + --without-wasm-sandboxed-libraries \
754 + --with-intl-api \
755 + --with-libclang-path="$(llvm-config --libdir)" \
756 + --with-system-nspr \
757 + --with-system-nss \
758 + --with-system-zlib \
759 + --with-toolchain-prefix="${CHOST}-" \
760 + --with-unsigned-addon-scopes=app,system \
761 + --x-includes="${ESYSROOT}/usr/include" \
762 + --x-libraries="${ESYSROOT}/usr/$(get_libdir)"
763 +
764 + # Set update channel
765 + local update_channel=release
766 + [[ -n ${MOZ_ESR} ]] && update_channel=esr
767 + mozconfig_add_options_ac '' --update-channel=${update_channel}
768 +
769 + if ! use x86 && [[ ${CHOST} != armv*h* ]] ; then
770 + mozconfig_add_options_ac '' --enable-rust-simd
771 + fi
772 +
773 + # For future keywording: This is currently (97.0) only supported on:
774 + # amd64, arm, arm64 & x86.
775 + # Might want to flip the logic around if Firefox is to support more arches.
776 + if use ppc64; then
777 + mozconfig_add_options_ac '' --disable-sandbox
778 + else
779 + mozconfig_add_options_ac '' --enable-sandbox
780 + fi
781 +
782 + if [[ -s "${S}/api-google.key" ]] ; then
783 + local key_origin="Gentoo default"
784 + if [[ $(cat "${S}/api-google.key" | md5sum | awk '{ print $1 }') != 709560c02f94b41f9ad2c49207be6c54 ]] ; then
785 + key_origin="User value"
786 + fi
787 +
788 + mozconfig_add_options_ac "${key_origin}" \
789 + --with-google-safebrowsing-api-keyfile="${S}/api-google.key"
790 + else
791 + einfo "Building without Google API key ..."
792 + fi
793 +
794 + if [[ -s "${S}/api-location.key" ]] ; then
795 + local key_origin="Gentoo default"
796 + if [[ $(cat "${S}/api-location.key" | md5sum | awk '{ print $1 }') != ffb7895e35dedf832eb1c5d420ac7420 ]] ; then
797 + key_origin="User value"
798 + fi
799 +
800 + mozconfig_add_options_ac "${key_origin}" \
801 + --with-google-location-service-api-keyfile="${S}/api-location.key"
802 + else
803 + einfo "Building without Location API key ..."
804 + fi
805 +
806 + if [[ -s "${S}/api-mozilla.key" ]] ; then
807 + local key_origin="Gentoo default"
808 + if [[ $(cat "${S}/api-mozilla.key" | md5sum | awk '{ print $1 }') != 3927726e9442a8e8fa0e46ccc39caa27 ]] ; then
809 + key_origin="User value"
810 + fi
811 +
812 + mozconfig_add_options_ac "${key_origin}" \
813 + --with-mozilla-api-keyfile="${S}/api-mozilla.key"
814 + else
815 + einfo "Building without Mozilla API key ..."
816 + fi
817 +
818 + mozconfig_use_with system-av1
819 + mozconfig_use_with system-harfbuzz
820 + mozconfig_use_with system-harfbuzz system-graphite2
821 + mozconfig_use_with system-icu
822 + mozconfig_use_with system-jpeg
823 + mozconfig_use_with system-libevent
824 + mozconfig_use_with system-libvpx
825 + mozconfig_use_with system-png
826 + mozconfig_use_with system-webp
827 +
828 + if use system-librnp; then
829 + mozconfig_add_options_ac "+system-librnp" --enable-compile-environment
830 + mozconfig_use_with system-librnp
831 + fi
832 +
833 + mozconfig_use_enable dbus
834 + mozconfig_use_enable libproxy
835 +
836 + use eme-free && mozconfig_add_options_ac '+eme-free' --disable-eme
837 +
838 + if use hardened ; then
839 + mozconfig_add_options_ac "+hardened" --enable-hardening
840 + append-ldflags "-Wl,-z,relro -Wl,-z,now"
841 + fi
842 +
843 + local myaudiobackends=""
844 + use jack && myaudiobackends+="jack,"
845 + use sndio && myaudiobackends+="sndio,"
846 + use pulseaudio && myaudiobackends+="pulseaudio,"
847 + ! use pulseaudio && myaudiobackends+="alsa,"
848 +
849 + mozconfig_add_options_ac '--enable-audio-backends' --enable-audio-backends="${myaudiobackends::-1}"
850 +
851 + mozconfig_use_enable wifi necko-wifi
852 +
853 + if use wayland ; then
854 + mozconfig_add_options_ac '+x11+wayland' --enable-default-toolkit=cairo-gtk3-x11-wayland
855 + else
856 + mozconfig_add_options_ac '+x11' --enable-default-toolkit=cairo-gtk3
857 + fi
858 +
859 + if use lto ; then
860 + if use clang ; then
861 + # Upstream only supports lld when using clang
862 + mozconfig_add_options_ac "forcing ld=lld due to USE=clang and USE=lto" --enable-linker=lld
863 +
864 + mozconfig_add_options_ac '+lto' --enable-lto=cross
865 +
866 + else
867 + # ThinLTO is currently broken, see bmo#1644409
868 + mozconfig_add_options_ac '+lto' --enable-lto=full
869 + mozconfig_add_options_ac "linker is set to bfd" --enable-linker=bfd
870 + fi
871 +
872 + if use pgo ; then
873 + mozconfig_add_options_ac '+pgo' MOZ_PGO=1
874 +
875 + if use clang ; then
876 + # Used in build/pgo/profileserver.py
877 + export LLVM_PROFDATA="llvm-profdata"
878 + fi
879 + fi
880 + else
881 + # Avoid auto-magic on linker
882 + if use clang ; then
883 + # This is upstream's default
884 + mozconfig_add_options_ac "forcing ld=lld due to USE=clang" --enable-linker=lld
885 + else
886 + mozconfig_add_options_ac "linker is set to bfd" --enable-linker=bfd
887 + fi
888 + fi
889 +
890 + # LTO flag was handled via configure
891 + filter-flags '-flto*'
892 +
893 + mozconfig_use_enable debug
894 + if use debug ; then
895 + mozconfig_add_options_ac '+debug' --disable-optimize
896 + else
897 + if is-flag '-g*' ; then
898 + if use clang ; then
899 + mozconfig_add_options_ac 'from CFLAGS' --enable-debug-symbols=$(get-flag '-g*')
900 + else
901 + mozconfig_add_options_ac 'from CFLAGS' --enable-debug-symbols
902 + fi
903 + else
904 + mozconfig_add_options_ac 'Gentoo default' --disable-debug-symbols
905 + fi
906 +
907 + if is-flag '-O0' ; then
908 + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O0
909 + elif is-flag '-O4' ; then
910 + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O4
911 + elif is-flag '-O3' ; then
912 + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O3
913 + elif is-flag '-O1' ; then
914 + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O1
915 + elif is-flag '-Os' ; then
916 + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-Os
917 + else
918 + mozconfig_add_options_ac "Gentoo default" --enable-optimize=-O2
919 + fi
920 + fi
921 +
922 + # Debug flag was handled via configure
923 + filter-flags '-g*'
924 +
925 + # Optimization flag was handled via configure
926 + filter-flags '-O*'
927 +
928 + # Modifications to better support ARM, bug #553364
929 + if use cpu_flags_arm_neon ; then
930 + mozconfig_add_options_ac '+cpu_flags_arm_neon' --with-fpu=neon
931 +
932 + if ! tc-is-clang ; then
933 + # thumb options aren't supported when using clang, bug 666966
934 + mozconfig_add_options_ac '+cpu_flags_arm_neon' \
935 + --with-thumb=yes \
936 + --with-thumb-interwork=no
937 + fi
938 + fi
939 +
940 + if [[ ${CHOST} == armv*h* ]] ; then
941 + mozconfig_add_options_ac 'CHOST=armv*h*' --with-float-abi=hard
942 +
943 + if ! use system-libvpx ; then
944 + sed -i \
945 + -e "s|softfp|hard|" \
946 + "${S}"/media/libvpx/moz.build \
947 + || die
948 + fi
949 + fi
950 +
951 + if use clang ; then
952 + # https://bugzilla.mozilla.org/show_bug.cgi?id=1482204
953 + # https://bugzilla.mozilla.org/show_bug.cgi?id=1483822
954 + # toolkit/moz.configure Elfhack section: target.cpu in ('arm', 'x86', 'x86_64')
955 + local disable_elf_hack=
956 + if use amd64 ; then
957 + disable_elf_hack=yes
958 + elif use x86 ; then
959 + disable_elf_hack=yes
960 + elif use arm ; then
961 + disable_elf_hack=yes
962 + fi
963 +
964 + if [[ -n ${disable_elf_hack} ]] ; then
965 + mozconfig_add_options_ac 'elf-hack is broken when using Clang' --disable-elf-hack
966 + fi
967 + elif tc-is-gcc ; then
968 + if ver_test $(gcc-fullversion) -ge 10 ; then
969 + einfo "Forcing -fno-tree-loop-vectorize to workaround GCC bug, see bug 758446 ..."
970 + append-cxxflags -fno-tree-loop-vectorize
971 + fi
972 + fi
973 +
974 + # Additional ARCH support
975 + case "${ARCH}" in
976 + arm)
977 + # Reduce the memory requirements for linking
978 + if use clang ; then
979 + # Nothing to do
980 + :;
981 + elif use lto ; then
982 + append-ldflags -Wl,--no-keep-memory
983 + else
984 + append-ldflags -Wl,--no-keep-memory -Wl,--reduce-memory-overheads
985 + fi
986 + ;;
987 + esac
988 +
989 + if ! use elibc_glibc ; then
990 + mozconfig_add_options_ac '!elibc_glibc' --disable-jemalloc
991 + fi
992 +
993 + # Allow elfhack to work in combination with unstripped binaries
994 + # when they would normally be larger than 2GiB.
995 + append-ldflags "-Wl,--compress-debug-sections=zlib"
996 +
997 + # Make revdep-rebuild.sh happy; Also required for musl
998 + append-ldflags -Wl,-rpath="${MOZILLA_FIVE_HOME}",--enable-new-dtags
999 +
1000 + # Pass $MAKEOPTS to build system
1001 + export MOZ_MAKE_FLAGS="${MAKEOPTS}"
1002 +
1003 + # Use system's Python environment
1004 + export PIP_NETWORK_INSTALL_RESTRICTED_VIRTUALENVS=mach
1005 +
1006 + if use system-python-libs; then
1007 + export MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE="system"
1008 + else
1009 + export MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE="none"
1010 + fi
1011 +
1012 + # Disable notification when build system has finished
1013 + export MOZ_NOSPAM=1
1014 +
1015 + # Portage sets XARGS environment variable to "xargs -r" by default which
1016 + # breaks build system's check_prog() function which doesn't support arguments
1017 + mozconfig_add_options_ac 'Gentoo default' "XARGS=${EPREFIX}/usr/bin/xargs"
1018 +
1019 + # Set build dir
1020 + mozconfig_add_options_mk 'Gentoo default' "MOZ_OBJDIR=${BUILD_DIR}"
1021 +
1022 + # Show flags we will use
1023 + einfo "Build BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}"
1024 + einfo "Build CFLAGS:\t\t${CFLAGS:-no value set}"
1025 + einfo "Build CXXFLAGS:\t\t${CXXFLAGS:-no value set}"
1026 + einfo "Build LDFLAGS:\t\t${LDFLAGS:-no value set}"
1027 + einfo "Build RUSTFLAGS:\t\t${RUSTFLAGS:-no value set}"
1028 +
1029 + # Handle EXTRA_CONF and show summary
1030 + local ac opt hash reason
1031 +
1032 + # Apply EXTRA_ECONF entries to $MOZCONFIG
1033 + if [[ -n ${EXTRA_ECONF} ]] ; then
1034 + IFS=\! read -a ac <<<${EXTRA_ECONF// --/\!}
1035 + for opt in "${ac[@]}"; do
1036 + mozconfig_add_options_ac "EXTRA_ECONF" --${opt#--}
1037 + done
1038 + fi
1039 +
1040 + echo
1041 + echo "=========================================================="
1042 + echo "Building ${PF} with the following configuration"
1043 + grep ^ac_add_options "${MOZCONFIG}" | while read ac opt hash reason; do
1044 + [[ -z ${hash} || ${hash} == \# ]] \
1045 + || die "error reading mozconfig: ${ac} ${opt} ${hash} ${reason}"
1046 + printf " %-30s %s\n" "${opt}" "${reason:-mozilla.org default}"
1047 + done
1048 + echo "=========================================================="
1049 + echo
1050 +
1051 + ./mach configure || die
1052 +}
1053 +
1054 +src_compile() {
1055 + local virtx_cmd=
1056 +
1057 + if use pgo ; then
1058 + virtx_cmd=virtx
1059 +
1060 + # Reset and cleanup environment variables used by GNOME/XDG
1061 + gnome2_environment_reset
1062 +
1063 + addpredict /root
1064 + fi
1065 +
1066 + local -x GDK_BACKEND=x11
1067 +
1068 + ${virtx_cmd} ./mach build --verbose \
1069 + || die
1070 +}
1071 +
1072 +src_install() {
1073 + # xpcshell is getting called during install
1074 + pax-mark m \
1075 + "${BUILD_DIR}"/dist/bin/xpcshell \
1076 + "${BUILD_DIR}"/dist/bin/${PN} \
1077 + "${BUILD_DIR}"/dist/bin/plugin-container
1078 +
1079 + DESTDIR="${D}" ./mach install || die
1080 +
1081 + # Upstream cannot ship symlink but we can (bmo#658850)
1082 + rm "${ED}${MOZILLA_FIVE_HOME}/${PN}-bin" || die
1083 + dosym ${PN} ${MOZILLA_FIVE_HOME}/${PN}-bin
1084 +
1085 + # Don't install llvm-symbolizer from sys-devel/llvm package
1086 + if [[ -f "${ED}${MOZILLA_FIVE_HOME}/llvm-symbolizer" ]] ; then
1087 + rm -v "${ED}${MOZILLA_FIVE_HOME}/llvm-symbolizer" || die
1088 + fi
1089 +
1090 + # Install policy (currently only used to disable application updates)
1091 + insinto "${MOZILLA_FIVE_HOME}/distribution"
1092 + newins "${FILESDIR}"/distribution.ini distribution.ini
1093 + newins "${FILESDIR}"/disable-auto-update.policy.json policies.json
1094 +
1095 + # Install system-wide preferences
1096 + local PREFS_DIR="${MOZILLA_FIVE_HOME}/defaults/pref"
1097 + insinto "${PREFS_DIR}"
1098 + newins "${FILESDIR}"/gentoo-default-prefs.js gentoo-prefs.js
1099 +
1100 + local GENTOO_PREFS="${ED}${PREFS_DIR}/gentoo-prefs.js"
1101 +
1102 + # Set dictionary path to use system hunspell
1103 + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set spellchecker.dictionary_path pref"
1104 + pref("spellchecker.dictionary_path", "${EPREFIX}/usr/share/myspell");
1105 + EOF
1106 +
1107 + # Force hwaccel prefs if USE=hwaccel is enabled
1108 + if use hwaccel ; then
1109 + cat "${FILESDIR}"/gentoo-hwaccel-prefs.js \
1110 + >>"${GENTOO_PREFS}" \
1111 + || die "failed to add prefs to force hardware-accelerated rendering to all-gentoo.js"
1112 +
1113 + if use wayland; then
1114 + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set hwaccel wayland prefs"
1115 + pref("gfx.x11-egl.force-enabled", false);
1116 + EOF
1117 + else
1118 + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set hwaccel x11 prefs"
1119 + pref("gfx.x11-egl.force-enabled", true);
1120 + EOF
1121 + fi
1122 + fi
1123 +
1124 + # Force the graphite pref if USE=system-harfbuzz is enabled, since the pref cannot disable it
1125 + if use system-harfbuzz ; then
1126 + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set gfx.font_rendering.graphite.enabled pref"
1127 + sticky_pref("gfx.font_rendering.graphite.enabled", true);
1128 + EOF
1129 + fi
1130 +
1131 + # Install language packs
1132 + local langpacks=( $(find "${WORKDIR}/language_packs" -type f -name '*.xpi') )
1133 + if [[ -n "${langpacks}" ]] ; then
1134 + moz_install_xpi "${MOZILLA_FIVE_HOME}/distribution/extensions" "${langpacks[@]}"
1135 + fi
1136 +
1137 + # Install icons
1138 + local icon_srcdir="${S}/comm/mail/branding/thunderbird"
1139 + local icon_symbolic_file="${icon_srcdir}/TB-symbolic.svg"
1140 +
1141 + insinto /usr/share/icons/hicolor/symbolic/apps
1142 + newins "${icon_symbolic_file}" ${PN}-symbolic.svg
1143 +
1144 + local icon size
1145 + for icon in "${icon_srcdir}"/default*.png ; do
1146 + size=${icon%.png}
1147 + size=${size##*/default}
1148 +
1149 + if [[ ${size} -eq 48 ]] ; then
1150 + newicon "${icon}" ${PN}.png
1151 + fi
1152 +
1153 + newicon -s ${size} "${icon}" ${PN}.png
1154 + done
1155 +
1156 + # Install menu
1157 + local app_name="Mozilla ${MOZ_PN^}"
1158 + local desktop_file="${FILESDIR}/icon/${PN}-r2.desktop"
1159 + local desktop_filename="${PN}.desktop"
1160 + local exec_command="${PN}"
1161 + local icon="${PN}"
1162 + local use_wayland="false"
1163 +
1164 + if use wayland ; then
1165 + use_wayland="true"
1166 + fi
1167 +
1168 + cp "${desktop_file}" "${WORKDIR}/${PN}.desktop-template" || die
1169 +
1170 + sed -i \
1171 + -e "s:@NAME@:${app_name}:" \
1172 + -e "s:@EXEC@:${exec_command}:" \
1173 + -e "s:@ICON@:${icon}:" \
1174 + "${WORKDIR}/${PN}.desktop-template" \
1175 + || die
1176 +
1177 + newmenu "${WORKDIR}/${PN}.desktop-template" "${desktop_filename}"
1178 +
1179 + rm "${WORKDIR}/${PN}.desktop-template" || die
1180 +
1181 + # Install wrapper script
1182 + [[ -f "${ED}/usr/bin/${PN}" ]] && rm "${ED}/usr/bin/${PN}"
1183 + newbin "${FILESDIR}/${PN}-r1.sh" ${PN}
1184 +
1185 + # Update wrapper
1186 + sed -i \
1187 + -e "s:@PREFIX@:${EPREFIX}/usr:" \
1188 + -e "s:@MOZ_FIVE_HOME@:${MOZILLA_FIVE_HOME}:" \
1189 + -e "s:@APULSELIB_DIR@:${apulselib}:" \
1190 + -e "s:@DEFAULT_WAYLAND@:${use_wayland}:" \
1191 + "${ED}/usr/bin/${PN}" \
1192 + || die
1193 +}
1194 +
1195 +pkg_preinst() {
1196 + xdg_pkg_preinst
1197 +
1198 + # If the apulse libs are available in MOZILLA_FIVE_HOME then apulse
1199 + # does not need to be forced into the LD_LIBRARY_PATH
1200 + if use pulseaudio && has_version ">=media-sound/apulse-0.1.12-r4" ; then
1201 + einfo "APULSE found; Generating library symlinks for sound support ..."
1202 + local lib
1203 + pushd "${ED}${MOZILLA_FIVE_HOME}" &>/dev/null || die
1204 + for lib in ../apulse/libpulse{.so{,.0},-simple.so{,.0}} ; do
1205 + # A quickpkg rolled by hand will grab symlinks as part of the package,
1206 + # so we need to avoid creating them if they already exist.
1207 + if [[ ! -L ${lib##*/} ]] ; then
1208 + ln -s "${lib}" ${lib##*/} || die
1209 + fi
1210 + done
1211 + popd &>/dev/null || die
1212 + fi
1213 +}
1214 +
1215 +pkg_postinst() {
1216 + xdg_pkg_postinst
1217 +
1218 + if use pulseaudio && has_version ">=media-sound/apulse-0.1.12-r4" ; then
1219 + elog "Apulse was detected at merge time on this system and so it will always be"
1220 + elog "used for sound. If you wish to use pulseaudio instead please unmerge"
1221 + elog "media-sound/apulse."
1222 + elog
1223 + fi
1224 +
1225 + local show_doh_information
1226 + local show_shortcut_information
1227 +
1228 + if [[ -z "${REPLACING_VERSIONS}" ]] ; then
1229 + # New install; Tell user that DoH is disabled by default
1230 + show_doh_information=yes
1231 + show_shortcut_information=no
1232 + else
1233 + local replacing_version
1234 + for replacing_version in ${REPLACING_VERSIONS} ; do
1235 + if ver_test "${replacing_version}" -lt 91.0 ; then
1236 + # Tell user that we no longer install a shortcut
1237 + # per supported display protocol
1238 + show_shortcut_information=yes
1239 + fi
1240 + done
1241 + fi
1242 +
1243 + if [[ -n "${show_doh_information}" ]] ; then
1244 + elog
1245 + elog "Note regarding Trusted Recursive Resolver aka DNS-over-HTTPS (DoH):"
1246 + elog "Due to privacy concerns (encrypting DNS might be a good thing, sending all"
1247 + elog "DNS traffic to Cloudflare by default is not a good idea and applications"
1248 + elog "should respect OS configured settings), \"network.trr.mode\" was set to 5"
1249 + elog "(\"Off by choice\") by default."
1250 + elog "You can enable DNS-over-HTTPS in ${PN^}'s preferences."
1251 + fi
1252 +
1253 + if [[ -n "${show_shortcut_information}" ]] ; then
1254 + elog
1255 + elog "Since ${PN}-91.0 we no longer install multiple shortcuts for"
1256 + elog "each supported display protocol. Instead we will only install"
1257 + elog "one generic Mozilla ${PN^} shortcut."
1258 + elog "If you still want to be able to select between running Mozilla ${PN^}"
1259 + elog "on X11 or Wayland, you have to re-create these shortcuts on your own."
1260 + fi
1261 +
1262 + # bug 835078
1263 + if use hwaccel && has_version "x11-drivers/xf86-video-nouveau"; then
1264 + ewarn "You have nouveau drivers installed in your system and 'hwaccel' "
1265 + ewarn "enabled for Firefox. Nouveau / your GPU might not support the "
1266 + ewarn "required EGL, so either disable 'hwaccel' or try the workaround "
1267 + ewarn "explained in https://bugs.gentoo.org/835078#c5 if Firefox crashes."
1268 + fi
1269 +
1270 + optfeature_header "Optional runtime features:"
1271 + optfeature "encrypted chat support" net-libs/libotr
1272 +}