summaryrefslogtreecommitdiff
path: root/mail-client/thunderbird
diff options
context:
space:
mode:
Diffstat (limited to 'mail-client/thunderbird')
-rw-r--r--mail-client/thunderbird/Manifest68
-rw-r--r--mail-client/thunderbird/thunderbird-102.6.1.ebuild2
-rw-r--r--mail-client/thunderbird/thunderbird-102.7.0.ebuild1172
3 files changed, 1240 insertions, 2 deletions
diff --git a/mail-client/thunderbird/Manifest b/mail-client/thunderbird/Manifest
index b47bd933ad30..e2f4a773907e 100644
--- a/mail-client/thunderbird/Manifest
+++ b/mail-client/thunderbird/Manifest
@@ -135,6 +135,72 @@ DIST thunderbird-102.6.1-vi.xpi 724848 BLAKE2B 80a1ed0b0da36c32189fe2b5b06415766
DIST thunderbird-102.6.1-zh-CN.xpi 722698 BLAKE2B 3ed7e0fe78d5bf17084436b5dace00dba3bca92817e3a8212807bbfa30f283833f769be875679d67b0d4aa6170f3e9e813ce3f478cd206142aa2014c4cc38b6b SHA512 7bf80b68344e9c3b13f72033ec23cfc8c7dfbc811ae1d71c5bb9df37c1a605a64900917667bdc840d1c2e8033e0d6a4dbb0e8a5124368ef3c4652d7f85adf828
DIST thunderbird-102.6.1-zh-TW.xpi 725969 BLAKE2B bf188d304c663e9fdb58f85388899128de299857e00ec73d48b5389729e3ab91ab0d671ba7907e1f65d1510aa69f7150e72004f423667de9fb63a7dfd22d20ac SHA512 1e395caf272de70d546c856e1fc0cf7e5fed90e301270246d2a214f54f5836df0f42dcf9d8ddda20e5e480b8026d9c80942aaf594efcc02778e3aaa7acc7c1d7
DIST thunderbird-102.6.1.source.tar.xz 508826308 BLAKE2B ac364b260e430768e120005cb04ddc4f712dbbb601b066b86d4cac6e893939feae8e344dc71af02375d4f3362e2253e99a4930365e5f0b2d994c0e91726942f9 SHA512 06ea2fce76c08609d638435869fddc1c4d7f4b748951ebfb2476b4dba9f1f76d3de2c11e5f62540f297a5d30bb0fc637852d8e57f4fadc2c905f299757949d83
+DIST thunderbird-102.7.0-af.xpi 554409 BLAKE2B a04a630362856f5415d8219673c6a70746821adc12ae24c450f411b12244506a6dbe1239da00f220a5db22e888695d25d8324c8804f1b8fbc193d0f19eca08dc SHA512 bc8fbedb66c1872b451b9f830c9dffd1bc89622203fed79e69809afaeb1453c9eea870d20234f8d9c22b81ac8bbde8cbd253c699bcec02bc527a28c029138d2e
+DIST thunderbird-102.7.0-ar.xpi 660887 BLAKE2B 84ffe26f327a89c667849086bcbbabfb9229b18bdfd2d81e330df5dfd571efd25257a2a256c8fba6553196041629358f2ec1c71a758e2bf8f2aabbf982f44954 SHA512 f3bd6a6b1462dbabdbb24e760eb92a75006f56f53ecc620ff29c43e7ee4dfe8a96849ce68113fad27bb88e1f37b37cd3b379509a371e3c47045157752d3c2b9b
+DIST thunderbird-102.7.0-ast.xpi 568532 BLAKE2B 72efe515be30bfac9d2ad00a79746a1fa5426a3407cc2562e146c4900dd8f4dbc47c56629cdd6ab70100b9184c79fdb41b2c4cbaad3222e27b4a0e4e3a6744d3 SHA512 8c75aac56a8394503ad5c10dd5b61f375439d04ae1f7e796c984832f622b3468e1b3997e8897efe6cc2c00d7718693d973c4469e1184cb531db4cff5da13f303
+DIST thunderbird-102.7.0-be.xpi 695942 BLAKE2B 8f646131c8847fd70eeaf81fb54c7162e8623eaaa85ab41a48b0a264d60c30e31bd8e1234a3ee4519431ded20575b553143e7106f6c37099387a9481ff5c8365 SHA512 98b46eb3849e924c60de64dc25ec5c7462958571ed2b09d3f2af13454b2eceb9baca066e7f5ec0df94d9c4cd88731e34bb77f11bef1f62a96df7e6984e62a87c
+DIST thunderbird-102.7.0-bg.xpi 687112 BLAKE2B b5a9219e566021f54897122393ba0c28060d42c0d11fddbe869ef1197327c149d217c1b189b25f5559cbfc6b618399aa71b01be5423d086fd4c9a75d90c46bca SHA512 50bc39647e09feb37b6cbf588eb002ecfbb1a31bac37e78952f867fb739670bfc4a8c48a3bb530d8ac095e03889173ee76cef5eabbf4e13c652a7a7fe3daea0d
+DIST thunderbird-102.7.0-br.xpi 620163 BLAKE2B c3ee86cd33a94486101d478ffea01af47dc2299b3c3c926ea334d058dfa6df87ed682397ae57b9f5c7a85f6501c64fec7764b8fb14a6804664ca6bb27f7f8b61 SHA512 2de880702cfcf72a76b23fab8b8abd6a450ef1c8e777f005fa5ae5bcd97f2a8265f189051b63ebfd711fc65011eac23e5ae540195f8d241b9fe193ab6b8fdcb7
+DIST thunderbird-102.7.0-ca.xpi 640968 BLAKE2B 1ab53923fe1c6d1722135fce08c196f37c4ec055922b7480fba886f810b181974c0ce0163f826e36e073d97a4e35f260563dc7abda35cfa0bef05802675e36f2 SHA512 cbbb6e8653fec70a30c4abfe5784dab85ff3e049eaf17ab377846df8f0124c4c0ed91c73b68f87d28f43ce6b4a6cffffc34b2af3d02fe06bdc1798af7c3aa9df
+DIST thunderbird-102.7.0-cak.xpi 646411 BLAKE2B fb15e6884fc68441ae3f9e592f77a0928877b64b0fa8bf4e7775acc777f5028107a0464da40f007aa7cc2f463dc940cc615567ab2adb9b0644cca6324ae14763 SHA512 d153982dd05565d872d9e9d16f407027e45119e395dab1fbc68d4567b1d2b229721072c6e83ec23d790254ee12fac1a8d715e0ebacdff136e9207be0d1e272f4
+DIST thunderbird-102.7.0-cs.xpi 712844 BLAKE2B cd79e8470789093ea7bb341bb48704365c271ddc4678a27d936bdb84afcebd03bb8287b5785499248ee3b1333d84b2df3fcfe29d73588cb387bf082957cbe1d5 SHA512 4b062806c89991bee93973462aed4c94210870110516f583802b3a7a0fee63fdf602a5b7ea692dbd12d9a4619d1989ec9fbf056728a2b4d03de8a4435a759ba5
+DIST thunderbird-102.7.0-cy.xpi 699129 BLAKE2B ad7dabb418a381886fca0c4be33414d7379ddcc0dba3fd43439368cad433913667a5fe6771f7fdc3253054a058702f2960c85161e7927304a2283bd696e217fe SHA512 9f051e744c12dda01f63ab97ab722f35a666c420115fd68e148782f5648b320376f12bee9d1b786185a9b4811241964ab4af75baff697da87a80dd36d04ec588
+DIST thunderbird-102.7.0-da.xpi 679284 BLAKE2B 74b5266599d3d00c6be81fd541c385c39dc58f897335d7a9081f554fbf4e805266f013f377508eddd1a884f0cf47d6720b79a76ae18a2d13fd2a93239360c42b SHA512 3f505f21363116328f0599b30ef14959d9b4a11b22e75b4add3fe0030b5d6e08c69f7726f4338962d666f6b55e2d1a61beabdeff8e9e35bff124c93b0c375d39
+DIST thunderbird-102.7.0-de.xpi 711799 BLAKE2B 0c03d986451268138fdebe158127434831f24274ec759265303c69ad9e06b06d188aae8de69279c4fc34cb3ca6c917cc6abdd7c50c793c94f63758d567190d1e SHA512 e73aeeb0f05ee386358252bc45ba29117e33d92af68d1fcf23b3564a1fe87624fd31a0d676d0694b0d3e2895432c2979ad73736c59943aa3cca0b4ffd980547c
+DIST thunderbird-102.7.0-dsb.xpi 725380 BLAKE2B 573b990e81bf6620acc2402f7b655e5ee54583ad1e9cc6eb8e44b5983f4d2ea5ac46eaafbfe4bf0dea9268d4fa16a2d48deeb75ccae30b2cb11e7af80794f801 SHA512 4d9037849b817709cf533b9618a3c5e1e761de9f19d5aed1b4ad0b7b752602bc64104a055d71aaebea4e13d9ad1e48a6c88633cca8398f95e539b2c45e3c5c29
+DIST thunderbird-102.7.0-el.xpi 829803 BLAKE2B f98363b8bc9105c9356075115cd620add8ce47c523b5c620482ac6238c159fe821893ace47699279e386cfa6ba90232fff71873b07e2c067f976dc1759955199 SHA512 c787e77a93cc2fc59a13b178629a3d756359a0e2a6c7f4087f2f0556cd7388708e978d8c4ad079fa20424e9e6f92921c3dbcdbc19797be3deb279e69a4f5e6a0
+DIST thunderbird-102.7.0-en-CA.xpi 653887 BLAKE2B 655dbeeffdb478590a2ccfb771d63c16bf52789d29ed04cba6551a14e96f4ad14945551f863547858c94e74f6f14c6a278dcc9105e262c31dc72a4033c9593c5 SHA512 931bc9e54662a11d7c9d9c9888dca87dd286155c0003c1bfa135a8a5b40136d5d2c7f6c29d3172cdbc2ff2ff0cc7853a7ae36d173306a74c8336b91253efeffd
+DIST thunderbird-102.7.0-en-GB.xpi 657805 BLAKE2B 5f97a09567833270b84e261a0ff660c99d928b64400bcc647dbdef42074e8fe43947af4b7ce23a6f7f4c584e08ce6c4ab3c949bfcd9494e66f86c8ecd942cf1e SHA512 bc90d856c6d3be7b78dd4f89b20aa5b71794cf4aa5f0d1885855f8150fc4ce51ea9c93f2e7b26cd069c302374744a02d4bbb6d622c326074dc4c9ef70faf9dbc
+DIST thunderbird-102.7.0-es-AR.xpi 709411 BLAKE2B ef5563d00445212e254080b742f932c66c7cd4e700f374a215ef80c93e82ae6c92180eb5aa2a2c1885ab6cb23ad0ab04d9a65d550706813a8c95126ad182bf39 SHA512 61b72bd5eb0b50b509488650f81fefc8d89c20f76705ffc95d234533f641300e61194fe24697fa54e8153985b9e05d5b063a1431d5fc7fee95b4e7d99c756181
+DIST thunderbird-102.7.0-es-ES.xpi 665056 BLAKE2B efb0655ea47d7615402893d21d6ab2f891d78617b95ef2941bb07399c8a2d5931cc4afbac5b31258a2b6447eb2bd58bca2e0dadc936a103dc5e8c3afa70a1995 SHA512 8685e0689d6193f907ab7a3707568fd436edca1daa0d5c9de87772abf59bffa70bc5919448172e54f2ac213299b3bb7a43abf28602d07cee966a421c2ff11363
+DIST thunderbird-102.7.0-es-MX.xpi 712799 BLAKE2B 6fb0512ea4afbb3caa5f5e4cf3daaa1c20baf58a0da61a4cac7027749fd17cd701da4d2b9893f958c1dd0fdd4036e81fd6ad4478ef1e96f69a4860fd02ce3f96 SHA512 210f3b2ad6093f8fc159cb1bdf9655ce6c6a66d4372b46bbe7d48ee468f7d22ffc87440c1bf187371b001d07a87881fac48513408413a0c00685214edf4f88e0
+DIST thunderbird-102.7.0-et.xpi 671204 BLAKE2B b6d2db789a8771c2f3c7678f757d56646c6263590b495aafcd02965268f465928013fafcd0d8d7e0382b7e918e72cbbe927c20e810706c47ba16cf1d0c498e41 SHA512 f30687a72a128efa29a4557df56f30b0860d87672efc93c34c0902cd77a1c6cad36d9f7123cb9bc71f7967719275258d1a220f1817829fa59bba74c31d4b652f
+DIST thunderbird-102.7.0-eu.xpi 690434 BLAKE2B e8af2440696a371cb8d0d1e55b871eeedd6d3b5b7347a407015e68d3a15156f685b491350122ce61eefc6a50c25caf04515daabf2f6b6e8be423553773fea847 SHA512 01ea84feb111a89010770cb8361a90b4250589a0baed6b2cdc5d4a8b3ababfd5b7e516c5ff568793138fba2f3c5cd9a34c72e034d121e404dbb3046d9bcb53a3
+DIST thunderbird-102.7.0-fi.xpi 686667 BLAKE2B 2634823e21deb25219e2c2683ce70160ffd5308654b93a23a7448065c05f21c32d672d3a13360437d6080314ffdc1023e6a97dfe9fe9ae7273f1f4bd1a34984d SHA512 14004630c044966648583c29b97c03132ea960a6397a0d2f1dc977d18485c93c901b3c9e0ea54da0646d58a8c87a591f79e8a519927e5a64d648992c5c9b2d57
+DIST thunderbird-102.7.0-fr.xpi 722162 BLAKE2B 1dca791e93017ccf0f6214933402e16fcdc73c2352bf8ad3e09055df370cc5749767115bae2c69a9d927d43d1b244825f11498fbd3017b5d2e79cdf3656114b8 SHA512 ada16e5ba0711d0b363cae14e0c3e58074f2729714d80dc956117ed4fd84013afa90424c4a0c1ec2c61c22654f9c88cb8b9118f6a8d0bbf1b7da5231dd3d7c77
+DIST thunderbird-102.7.0-fy-NL.xpi 704078 BLAKE2B ab3182f1be74adcfc89260c19f1e9c594aa0a83684041198be430403cad86e010be03c3e5a1927fd4f2fa71d22992e380bfb97c169d34826ec68bc380e5c4e2f SHA512 329d8c50ffdcb3be7b0462054fd84f82a8ccad61e590a39ee7faea76ab070c8426349f8f64390edd3486dfbc3f9291c86fa0489c9bc6e3ec5c7d0867563e3417
+DIST thunderbird-102.7.0-ga-IE.xpi 609076 BLAKE2B c5b46074037988fe2c698bede47d0545f5dbf23a6230051ef68375fce2c28bff4e0b5b22af29b309c26c4abea0742fa4c45374813ca92f316f81062c0c29693c SHA512 9e02a7eb6d912ad6458ede42be5b72234ae3e9ea560534d2779c3f12b3fbafe350105c4cc444000978ae8afb3661d27c4c96ef13e9de94ae19166017779c0f98
+DIST thunderbird-102.7.0-gd.xpi 637863 BLAKE2B a8880277ee2c353b70d16828d4ebc1c8c03f428424ed793ba7df61dfdc4b125c640c5d7e7fad56f7252a96655fec708816a96e80097c845e38c920719fe960e2 SHA512 29c564b5439e8c3e37403d259deb9c802f3de9c194ff333f218e311f78762eda719e22d6d3f25f9b2fbe8eca21006efab072d46a4842e4b05c5b62145df40591
+DIST thunderbird-102.7.0-gl.xpi 667566 BLAKE2B 2df378de1e684fcfc7ee26c2eb70b35d50c7e9a0324530563e67030499686e63413f7befcbe7622fe07dab6e3d5179fa28185573814058ee9adc89fdc4b2738f SHA512 b187a8dd99c7a132786ebba547b02b2fcad2798efbb939ed8c2c98203ad421a687d354b9f7ca68e3582620b385e64f9e89c44293320e0ddc69a2b633e3f09b6e
+DIST thunderbird-102.7.0-he.xpi 670677 BLAKE2B 70a2e9cf3f75fb5ecfe6e76096bd4641d48d32032cb9ec040f8fc238d4d677c7f7936fe7939cf1fd9b07e7299596ff5a34e9b45279674ea05d90859ac048f621 SHA512 f4fec276a9858b6f415e3cce85e84e61350630739efd58bc93f01b3012d9aa1a0effdb5f1dc3c45ec05de1356ebb0b81cf3cb133a988c529bb478c2d852f2344
+DIST thunderbird-102.7.0-hr.xpi 672489 BLAKE2B 3ca65d4fb8897d7b57ce93fe025fff7e2345c1dd8cf449b0c73c7e09bd777ca800f723504d0e7f0da052977d0c492f7003552b72d8a8bb0a3d6340d365f368c3 SHA512 91b8bad098da8d95e562f779889e817ea569693f5cf4bc917fa9591bdcc41ffdb23a115521bcb19466cb569bdde8c88a7337ca40eb7c13000a4499245fae8f63
+DIST thunderbird-102.7.0-hsb.xpi 725903 BLAKE2B 49c6168d480fa03fac87c196d1c41f95ad18ada172cecea85a02f28cf4f645014186073321f8767cc11089c109568379b5394ea72ac42861d59ed96271dbf825 SHA512 1668a906e5d1711e6063fd92e8741e06eae25a88b048711726e69e6aa1c54c10187a146002e6c64f3429baf2de591beca7483681e813f29a9f71e689c2dc9b05
+DIST thunderbird-102.7.0-hu.xpi 732988 BLAKE2B ff7d14bc2ebd4a015ede55674c8eed60ede6acfa89a291a30118676842e17ecb904dd0451c4beef35649c048a49e443cae3b1c7e4f653e3caafb6c34a9b4a977 SHA512 dd199ce885a07ec9667e8834ed5fd47ee6f5ac5f138fdbe03c93f58159a6807a45434fb9d5010e3382e310052160b57bf2863df95574a609085c5404d92e85b2
+DIST thunderbird-102.7.0-id.xpi 644933 BLAKE2B ab712f7e41bf0fa8b5c5b005218562b41a7b418f90e2585a51fd5b765f599f6264b84d70dac3518dc1391597846a3d2c11fe85b1670dea68c5b4d35cd72f950a SHA512 f4f3adf921cc1a01a953e6c86eca58628a66e8ef473a3b3eede392d04da0c2c1c87ebfd6188ffd48f6f93061ae5a01e02841577de7c1f30e7e3332b9177be0a8
+DIST thunderbird-102.7.0-is.xpi 697376 BLAKE2B 1575d8cbb65392ef2e31d5ed559c133ac236d431e8862e14961a435187e58b2bfd5cc4e799553f699ccb8f4f4eaf8623d75a6439550cd73c04de7db892f6e51b SHA512 57851caf296b226ff0ad8deb5d03d9dc4901250ac5a09f08810d4c54e1ba71b26398bb3ecb8c6a3b42fa0f586757f4b10d2e551072c929a72758d1ecc487ef9d
+DIST thunderbird-102.7.0-it.xpi 630351 BLAKE2B 9d3c5d058951c752ac74151b7edf350d2abe78dbc20b2363a57e31496655f45bbc95e1d471146a8b4a5efaadabe1e988b0230830826960efc4003ca28acfc83e SHA512 6fd16b4f3ec386f6e2945c2aa6f90b82b869631b12d7f2e5927c391c2d6d824cbbf5516022dd12d5884b23bfd721b8dc9d66cab0a4c1ee1692936c455788bfe9
+DIST thunderbird-102.7.0-ja.xpi 772062 BLAKE2B b1bde46d1f1c2342b6aa5784bf1751c85b8000014dbda54090c6e075168b00d4613b9b81862fc1b93dc06f9094aaa1ab0c1bbe9762aa7484b99b876a3afc2f07 SHA512 c271ddbbd7f535fa189636b1ff4259fbd94791b6c940a3eb2fc7f69015ec7ca146475b478dc26487244366a31cd12acf806d229a79cf78abd266b028a791b3db
+DIST thunderbird-102.7.0-ka.xpi 762403 BLAKE2B 0b4e46ddc1ec20a8d193e8d3136114c20eb01c5cfc73bf68793208df24be1b26cf70b1ae1543458a77a150f426fe04705a2faeb616a62c6d4347ce5a1a038916 SHA512 c0df02ff7a28e3aa2c6860445238f2fd143621e191d3f515e941d265e92773fd6e29e6781722f90875cf7ed193f0263e2517659b1a226625cc6a4a7aeb54c624
+DIST thunderbird-102.7.0-kab.xpi 697004 BLAKE2B 7fa1d9a021c46d71e8547128c08a1d4531776b26d37000f8de0e1c83ad76e981f07b9b4a807c409b137f4fd3897d2b2d601a2cf489b5a24743b5bb92e215ae96 SHA512 cae2ea418a5ddd95d6189a8dcc31f72d6cb4d254898cefe9993e5bade71d1d644c7fe7c588c6610ccbf4608ce4aeef5e073f8d6d274bbe0782eb3edba5263cc4
+DIST thunderbird-102.7.0-kk.xpi 802878 BLAKE2B d7d6eeb3e06dd4f8a11513d6cf678eb3030b96ffade09e8b1df563b97b180674aee860c08c6e4df4ff419f6c443e3f6f9950db8ff180d3459be04d7b5169a8e6 SHA512 6bba1cb143b959b78f0ed5b463ab30bcd2722a218d27621f90ae1b11ce4108831b47ed97c94ced421e66f5f6523a85a2d8a5cea6e74684653fbcfff744859ea4
+DIST thunderbird-102.7.0-ko.xpi 710907 BLAKE2B 857ddf9bf6b4fb2714cdb038d07ca00cac88800594409aaad40dd17d945403795b46991582a1137660b26cc9aed2ac464597e762f7a4ce079a548d3787a03a5a SHA512 142052f9f1a2ea1546a610e9bb4492349246e8cda7bbc96a8eccedb83b8fcf87f5935cd57293dacbb41f6ac804a24cd995bc8bd0e7feb2f442ce31d4f84edf10
+DIST thunderbird-102.7.0-lt.xpi 685287 BLAKE2B 5f2deeb23d638b63943f681ee2fb763d44f047f966913b0af3ff74a9e307cc203bff9dc4714e8e1bfe4495c4d30be5be5d5faf809e6aa040ab840e95e96c6e91 SHA512 177933f705c56dc819a056e0c1b9a8232de47f2037b77c329c32b7de9fec358eef90f46757bede7f010e09af5df55a8d9ee051444d6063dc038745f83c9f80ce
+DIST thunderbird-102.7.0-lv.xpi 613064 BLAKE2B 3ff67155494e124914e7c916e58ed598e5698f078c0c28c66f9eafdceb52e79bca8fdd25f072e452c5adc731ffd182ca785a3df843c555925c6249b257ebe789 SHA512 579ad0868713d2a841e9ba519b745afb417e9c088b29bcb90b10ac61042e278ccaa293faea0cec218fd85c438f39f29df2bd88604b11cf021ab30c92f8ba6b04
+DIST thunderbird-102.7.0-ms.xpi 572474 BLAKE2B 6940b54c6d10b68ef78f911a558736bc76424cacac0704c75450a242f71adfc1a4bb9e4a8ecfacbc53b28e5bbd7c7b7b9d9806f7b5bb7eea87c2fb40f4844337 SHA512 506e6eccb27f12c207105829212cf24ea5159140ce096c4c2c85cd3960e07a48b892e54ddfa6bbe6c46e930ed22f1c7f43b05571bc8d8989e662cce8c574d597
+DIST thunderbird-102.7.0-nb-NO.xpi 657226 BLAKE2B 43460947f8e60798f5a4d70d9546dd9ec25e795020fe529c35438e0d9aaf62bd3c7ab0342b5f3a68fab51c6475d549ca5c102746816db369afe278859f63e0b4 SHA512 e2bfa20acb9887c05288cb4a8e552ffc6ed6272c48ade478e3e14197f8f9ff00ed6a35ce24ab90e22e65d3d3167fc6f112e381317588b179761dc02eb3eccf77
+DIST thunderbird-102.7.0-nl.xpi 695581 BLAKE2B 28d151a14a5645685d08a9881c8d29eb0efa04fd62aa809f76fd17249ed25c3fbbd9f5838055d4db337d597414153d996a15b13876a5f0e6773d2425eea7d5fd SHA512 18ac0439b1f286ade027f9f34bae7ed0920806b021da9b17947dc0435757aa1d5f0a66e1f20cf2bfca6616a36244e2e7bd32b8b4e187503161956bbc26cd37a6
+DIST thunderbird-102.7.0-nn-NO.xpi 665904 BLAKE2B 59a0085196f416871b6d6b0b80ab4d5b861c3a0cb12c1116b1d0d7a42949797f86905b7fcb56e43b00fcde3c2606d66a48ad6e6c7c33b0a9c72c81094fc41242 SHA512 38601877a56e20f4ea44922ae84d9df17d13745b29a3ddc3721bcb96dcbacd021cccb4eb06f3ceeaf4d7a932bbaf10d5c6abc38c835151ee1216d58850086e11
+DIST thunderbird-102.7.0-pa-IN.xpi 663770 BLAKE2B 359d290505b5925b7c0d387107e5ec5a87eecaa682f77118ba4fe5da01d31a4d6507a2fb2cca924560fbe7e8593b7d60c019e29c87ece9f9daa21d28703c74aa SHA512 41c8c69b105416e0cd4d44d5b92bdd263eb8780595dd4729e46df1f79edad5dcb813b7ecf0000136196a2a794b514bedcb20d665559cf779924c5c2f9e045030
+DIST thunderbird-102.7.0-pl.xpi 710776 BLAKE2B df473fd91f1977c82c6e8e4a5edf660d8c8cb75422c47e5f7b46b8b24e4c03d3368c0fdb3edd6350c81a18fff256921498d4a130c325cd1689db69abb0b4c6cf SHA512 d2c1f5afe7c1eeb6293e2c5bab94edb651505d8687b0ecd82f107d16bcb30b56029e9d26206c46ba9ef5b3d6862fe908893fe6678508823933c0612411266b9b
+DIST thunderbird-102.7.0-pt-BR.xpi 703353 BLAKE2B 02496557fe5afd4121d15504a5411202090a75b3c897117d8354103f78e6cacb147ba2cdd7b5387f0a870be721f1b045685d5887e0909abf9854a1c7f6dc4576 SHA512 62b172f241d6942a1a4fe571aea91056d830ce7ae2f9515843635901e67349279c749c0f8652a7ead6e10b37d8826711fae732bfdf64e2177fd8356421cf9414
+DIST thunderbird-102.7.0-pt-PT.xpi 681544 BLAKE2B eee6aa38e7c337a989392d1df9ee226e5f65333d1362b9a8df901bac520cd7f9ca6a0902de09b6c4668fbda95600a7ddab6d15660ffaf7a962a065116f19149c SHA512 82403dcb68f9c81521f8c38f1d6c800f72c2fe212b36252aefda316dd9cd2b6f9191d9a47fe21e2eb8746bcfc66ae79de3897b2195a9c8ab1bc647c1d2866245
+DIST thunderbird-102.7.0-rm.xpi 695662 BLAKE2B 2587e36f74d8681706bb88e0d3d3eb90761166d0eb9d519768e73e2fb702855aae2e8aefa0bb9b88750bbbf0e90b25136c22217b1f31646ad69865cb796de6ab SHA512 536d142e53dfd0217386c065556ad5ef22f2ac02157c48abb0e465b12f32de42ee4d3076ebf2732b5b930e1b105a95b5e23824ade4b2ff8ccc021f73f0256cfa
+DIST thunderbird-102.7.0-ro.xpi 655841 BLAKE2B aed08b89c1f0fa01196a85ba6b81363a82ec2c77eab5163ca872721fe7d0a1c11a0ddc49a505427ca1646df0934c79d3a295f149947e641e838f2552f7a1e449 SHA512 eeb74b5960476eb4c7dd430a48f56bdeb134c319c209dea801ee565051c3e917c905e6926df75ac523f94773163d7e7836249107c728d7e0af4d9a8a87c9c29d
+DIST thunderbird-102.7.0-ru.xpi 817562 BLAKE2B 44bc72d36c55a128a09672179da31ee5b3c5b847da4cbbd7be956e0fe724ed699da36128a0ca4b23ead764f8fd2953f84da237a497ba03076e566ca555acf918 SHA512 dde54c0de2c47cf2140d79f7d14506417939e9b8f0ca55da3d6b0592a5e566798759cb0628a16ea6a08f7167fdec74cef6628b8f3f425288b4f87c6ecdf5fccd
+DIST thunderbird-102.7.0-sk.xpi 732621 BLAKE2B 37de2c475add40eaa641e8d98d19a3d0ae48688e5bced0304b8cc95e84bbabcf76405afa29533f231d94c963ad9e4fe4b4d7d467c53291b699f855695e6eceba SHA512 e1c1827575ea40049b2545d660ccd541f7be4d4e0856ec3a857c88f63999e3fc2942b5ac92687550c6c2354e9b4ab1d5aa45f787ec633a7d8e9eb5fca3a0793f
+DIST thunderbird-102.7.0-sl.xpi 696541 BLAKE2B fd766ba6ae83152f8679892b1d5121d39c2e95719fe3bd2062c45f0f8047be953d599772abad3945cfcbc09ed6745028b552798efebfde8f29b23300a7e69308 SHA512 a8eb1349c2fb7837ae65671bf7285e332bbeb4e4cbf5561cb643f746c74f89a24df1cfb41a8de8870a9b0b7b2d4207d52f8c4b125385ff23ae837fb9e3e413b6
+DIST thunderbird-102.7.0-sq.xpi 718656 BLAKE2B d8babc76cdb969d88a3c42d4c9a1ed35826a86fa45b9a2ec15543e25a9a011d69dba8380f04e9a84e5222cd00811821b8cd7dddeb0da41eed8095d518c8d2cbf SHA512 d8bf8e9598293ca574daae09423dd33db9b72a5620f94bc654f7b21937b9c816986665b861881ed282e7109c17eb5a4d933d182b06402738bbbf673ce9c5e11f
+DIST thunderbird-102.7.0-sr.xpi 713834 BLAKE2B 979e73ed9cf2039e91c9d4c724efeb5e043cfe52189000348ad14f8262c3fa1f420a6fdb2a005e880e10e2ca3f30670ad84adad89bd0c9c4574b67b6e1a0b393 SHA512 149f2a738828d3eae1de209744486f10ff520b20a16e8b5541fd46382a804a5b52eca2bcbc7445934232ccc67d8c36de897137e65e66703efe509a99f08451b7
+DIST thunderbird-102.7.0-sv-SE.xpi 699106 BLAKE2B 4a09337b3dc88c2490fb8863b11817bbb2a12e9afa1171ce327785df327653d80989ba9e23008b02f085142efd8f03a364f4f00e9bce1ec57ea8d8345e76c381 SHA512 d2323c3105f367e9fc838462c670a8133d185835a93f5bf0fee7583619ae72e623bf8df5e7e8da3b02ecae3ac5a31e32ea5084aa1c3104f5a349245d199d6d80
+DIST thunderbird-102.7.0-th.xpi 747255 BLAKE2B 01fde970ba65ad680a14744df929f3e61d452e3dfc0ca13cbdbd56829179c978d7750b663e08b44b7d72fdf3080f30e3533de89e8140d30ca358f8b8f4aa8a3a SHA512 e19a027fb4f7d80d7995ed687e35a788c50c10314379ef14c0514c4b4825b24300ac7b640b1a6c596bb79d2e7a2c4ac06393021b60bbeaa4abc24db610f9256a
+DIST thunderbird-102.7.0-tr.xpi 711533 BLAKE2B 1cd7ee784ae9976035484e78b48b584dda6e6680211a1d7c240d5f96f4f492e7c6b9e4198c0ccaf95131231bcedaee53b932602158f58a6be0062930ce39680c SHA512 623dbdbc2c983c9438372d3b071c4f0e67a1aea0a7e619b55db1e4a986a9fc06a7d0f280db5a21db527caf56a250dd90868ab783f5d3b28f9fdfe006385a8c9a
+DIST thunderbird-102.7.0-uk.xpi 809693 BLAKE2B 26a2e7af061a8d34482d3e35d967f7682c7a00ac3be0d38efec45b392076d777648f0e8fa11e60fecc77de34d6a7aec44a9e1f4a54cbe222bc1c39b16277a2b9 SHA512 a2854763ececb087cbd8838606c26cc7152ec526e67f93150302e5de3414bd4cdbc06de8515826b913c775408eec5f551541282a410665e316e7bb43a1925dab
+DIST thunderbird-102.7.0-uz.xpi 588364 BLAKE2B bd0d7ac7369f6afa437a091cfc8c002fed56efe7dafef30f2f631fa1bac73465fc7d3fea98a9b70623349127754b397b580fed4a6e2ece2c72d7fcb8b04f094d SHA512 402ea4f4e3d3e673116c01756ce544bd036f309e44927b8a9f557551a52b3024a279311fa9bfa5ed5173a2fc73bf7b76773afc97f7eea4455d157dd93b37dc1a
+DIST thunderbird-102.7.0-vi.xpi 738571 BLAKE2B 1cfe3857ad7cac4845ceb0ee7db8574269ca3c948634600e8c2235227652140ab3184d41169f65afac625127eb1437affd3cfa0ffa450283c626e331a2e831d6 SHA512 9572facd02f04008e17cd5530e141cc873f00d2d15f228b9e9b1d7e794ac31907a3bc313bbde7b43d2d07c3f77610f4c51cab3701dc6e2670ae20dd12ddcdaee
+DIST thunderbird-102.7.0-zh-CN.xpi 731621 BLAKE2B 166f88792d3cfbb5787d370c20ed5720319f0ef460d1ab7d27e28e50e0264628d883e210e3b6508dccbcde8d3db4908e8e9aa3b2ec286109ef1e419ec30c8318 SHA512 66d2500a4d232d04156feff0fb14c7b4b04dd6339dd0f8ad1adfd14c729c3604b20eb64494ff219df8dc502b4f7a0856438e58940e947bc237c727e431f7c30a
+DIST thunderbird-102.7.0-zh-TW.xpi 740181 BLAKE2B 1a623754bebadcfc97c5342598dd6d315e2faefea0953ef3ecd41e33882a458e30ef014b3e63eef17f7b1ba40e766a07fa148f9166738fb8debd9a1806301ad3 SHA512 950aebebeec15dd60afbb4f42406d12653bd3eeaf9eb1a635622d118c1f7de9e785919ce3b0f7beff176bc8f4ec0d38aabe82ba73e168bffec62d1c3bf1bd980
+DIST thunderbird-102.7.0.source.tar.xz 500620784 BLAKE2B 957f76932fae379d7536bad9ac7779bb64abafc9af348171f34be88629a5b450bc8dfc33d38326f684b7f1d45ca9704cb63bef67f38de74120bcc455da248c68 SHA512 3d01fd859491489321279daa687bfa583e86842e055bf7cd77a99307ddd3256132dba6d8eb6da28b061cd8f908ad347ec25abf98fd763de2071cc01171435f35
EBUILD thunderbird-102.6.0.ebuild 33792 BLAKE2B afffba6304062f182af96d261262e444808b936969a1e11f07e6f004760f016efc9013ed9d205812aea585c9212990335c581d90ff87a12ab1c017bf30459f6d SHA512 589fe44e2879437350b7a50ec993d7b7be68f684a68113ef7cba03ff2128145ecd00f491088f829ba96c5491a4ac863560c7fd7fbfaa7ee3939d079dd1936e8e
-EBUILD thunderbird-102.6.1.ebuild 33793 BLAKE2B e72126c1059775b294230931e05a5479c187efe5e6b5defd8b881ffd7772cda512e7baf2a1724382322fa54802658e2c1319501e27822f806a569f83fb182273 SHA512 06758403911960bec0b667cba66729fb3ae43149d38f3f0b2a52fe77304d5da0448fbcd459e869ef90b8f29771a94fd1a3d5fec4ff4bb5f60352b548f9724633
+EBUILD thunderbird-102.6.1.ebuild 33792 BLAKE2B afffba6304062f182af96d261262e444808b936969a1e11f07e6f004760f016efc9013ed9d205812aea585c9212990335c581d90ff87a12ab1c017bf30459f6d SHA512 589fe44e2879437350b7a50ec993d7b7be68f684a68113ef7cba03ff2128145ecd00f491088f829ba96c5491a4ac863560c7fd7fbfaa7ee3939d079dd1936e8e
+EBUILD thunderbird-102.7.0.ebuild 33723 BLAKE2B fab3edcfbd71b150f8e67ed181c40b03571cbb4ac2a43aae2c4cac8fb50bd01b37da75cf3ca4786d42c83d03a87df60721c4c69b427003ef0966c8559f888143 SHA512 d003efdc2e4fe7ec0a1aa5bd382fe7ba8c5842babbd6e59afac66461ed470171b19676075ed4e154ef93c4b3819a9f4c305b34d3e7ef65464a56fc69c12e921f
MISC metadata.xml 2139 BLAKE2B c348f9dc2bf813c386bc2e62782bf762ef4fdaf3f913cec41bbd115a7bac54b01852dec04e6f7574b24ea5cd6d9500f289109127cdac5887128b07116d6a6cf8 SHA512 09b0670e852cc954b5df5e846935d274ae180e4627d112104d5fedf2a777fda7d52d73cdfde9e50475d9a560ed44946d4c0682d52d793bbfb5f2e1b1e0aac608
diff --git a/mail-client/thunderbird/thunderbird-102.6.1.ebuild b/mail-client/thunderbird/thunderbird-102.6.1.ebuild
index 333cca8c011b..cd66080501e7 100644
--- a/mail-client/thunderbird/thunderbird-102.6.1.ebuild
+++ b/mail-client/thunderbird/thunderbird-102.6.1.ebuild
@@ -57,7 +57,7 @@ SRC_URI="${MOZ_SRC_BASE_URI}/source/${MOZ_P}.source.tar.xz -> ${MOZ_P_DISTFILES}
DESCRIPTION="Thunderbird Mail Client"
HOMEPAGE="https://www.thunderbird.net/"
-KEYWORDS="amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="amd64 ~arm64 ~ppc64 x86"
SLOT="0"
LICENSE="MPL-2.0 GPL-2 LGPL-2.1"
diff --git a/mail-client/thunderbird/thunderbird-102.7.0.ebuild b/mail-client/thunderbird/thunderbird-102.7.0.ebuild
new file mode 100644
index 000000000000..ba3102b04b7e
--- /dev/null
+++ b/mail-client/thunderbird/thunderbird-102.7.0.ebuild
@@ -0,0 +1,1172 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+FIREFOX_PATCHSET="firefox-102esr-patches-07j.tar.xz"
+
+LLVM_MAX_SLOT=15
+
+PYTHON_COMPAT=( python3_{9..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.2
+ >=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 )
+ pulseaudio? (
+ || (
+ media-libs/libpulse
+ >=media-sound/apulse-0.1.12-r4[sdk]
+ )
+ )
+ 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] )"
+
+DEPEND="${COMMON_DEPEND}
+ x11-base/xorg-proto
+ x11-libs/libICE
+ x11-libs/libSM"
+
+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
+}