diff options
author | Joonas Niilola <juippis@gentoo.org> | 2023-09-14 15:58:49 +0300 |
---|---|---|
committer | Joonas Niilola <juippis@gentoo.org> | 2023-09-14 17:24:56 +0300 |
commit | f214ad8c2f27f7a152b69663baf312793435284e (patch) | |
tree | baf5d50645cab4966da0133831e7ea0d435ee061 /mail-client | |
parent | net-misc/nextcloud-client: add 3.9.4 (diff) | |
download | gentoo-f214ad8c2f27f7a152b69663baf312793435284e.tar.gz gentoo-f214ad8c2f27f7a152b69663baf312793435284e.tar.bz2 gentoo-f214ad8c2f27f7a152b69663baf312793435284e.zip |
mail-client/thunderbird: add 102.15.1
Bug: https://bugs.gentoo.org/914073
Signed-off-by: Joonas Niilola <juippis@gentoo.org>
Diffstat (limited to 'mail-client')
-rw-r--r-- | mail-client/thunderbird/Manifest | 65 | ||||
-rw-r--r-- | mail-client/thunderbird/thunderbird-102.15.1.ebuild | 1190 |
2 files changed, 1255 insertions, 0 deletions
diff --git a/mail-client/thunderbird/Manifest b/mail-client/thunderbird/Manifest index 715f70adb985..2567e8240b12 100644 --- a/mail-client/thunderbird/Manifest +++ b/mail-client/thunderbird/Manifest @@ -65,6 +65,71 @@ DIST thunderbird-102.15.0-vi.xpi 745664 BLAKE2B c216509e251c68a65ba8073b33f617f9 DIST thunderbird-102.15.0-zh-CN.xpi 739889 BLAKE2B 34a8010d8196439fbb65944d7ee1b949d301f5a68fbc1b2c2c00c68bf99b18033aa9dd6b986a6cf3dfefbc3f32f20264819594a2b24462daf626eccbfddeb86f SHA512 bc71e1b668cd4a6b5e73d07662c2ebfaf16600c5c5060f3b01f3541f8afaa2c2fddec4cb0c68d22f0115a9b4a8e93b32ce6150ab806d17c9c79407cd27f78010 DIST thunderbird-102.15.0-zh-TW.xpi 748348 BLAKE2B fd37512a10fd4d7c3922b6fee79f619567209d459dcf5fe4500bb8ac720cb47226fca7471f0e13225cbacaeb2ee67e4bed98122af7abc055c93138033ad98f6f SHA512 95a7f02da8ed56622ee37eef4db013535364f6c1f1ceea971b36fc4ee58056b73846e15a3dabe542ea1107d286b6842df82ab900d323412cad164a45b6ddb548 DIST thunderbird-102.15.0.source.tar.xz 510180232 BLAKE2B 3f7adaf14d0d4aa271520603c877a53ba20e41a239d70de2789fd9b8414f2d9b6c0b7451aac7a9f490607ee4266f233eb91e420e30d83f942cb96fd925a0f302 SHA512 11d4c77049c532753c9b693d69ab9a0bcd0eb13d49f87a511ad8ba680b70041ac6f64c5f9cd5dd44246d46e7695d9bd51146b1fe62b0b7c9fbc862eb53d5cfda +DIST thunderbird-102.15.1-af.xpi 556867 BLAKE2B 4a084cba1c414d788252fbbec52dd88982910c4af82ce418f10f3f8527e63ffa74a607ea06e2fed32f5973bc520d4a4f3eb89e1d6d24e7aa71cc81c9a82eddb9 SHA512 5a62dfb70174ce595b66d3e68e2fe0426a6c66d2b77964cbe5d1e73739278b4f3660c7ea7354e98a6cb0f4cdc5ea578b35d97ea1c2ae2fb98579e77f85b51a96 +DIST thunderbird-102.15.1-ar.xpi 666808 BLAKE2B a35bd1979b6f4ed374aaf5373badcec33dddd1a30c35f50b9589903a3023ec2f41eb8d3ffb40754fb0f04f43b5bbde14bce193bc77369ccaa5d9efabc0e657fb SHA512 fed83e1325c56a3f067810ff531af999e05d22bf1b2c8bcc9442ea1fe1841ebd4588aab1159237a9c29ec144bc278fd85a29315db26b0a20808c7a1e4a4c25fe +DIST thunderbird-102.15.1-ast.xpi 572285 BLAKE2B 9bbbc9b64902c4c373be79e80e325afa12b3ceeefa34376d8e9edd6fe7e23e5d74e652e1b03e43dfd55e13b01699c61ff3889f8251f3d2d5b692238ec834ab2e SHA512 ae34b0826ce74280685b93bf940a377942167bfab223e745ed5232821f911e8c4ec032df06aec3ecc05dafb0099ca1d0b8bb5654d8ecf2e6d95be4f42ec41a3b +DIST thunderbird-102.15.1-be.xpi 701911 BLAKE2B 036f9e9623036874ccbb47a1c9e12854ba636c24570a2830d243f5533e42469d773989bb335a2b2afd57c8ff576a9dc3cade21119ed5740bba3bf927ae20b5ff SHA512 d490773f0ef246b86bfb3bd6d7ee4c0173fc7bca4aa2293fb6fef0930e4e8a3bee7d96b72aead6af2b6d4137ef8d28f1981c0eee9591a3228a5fde0e281afcfe +DIST thunderbird-102.15.1-bg.xpi 693376 BLAKE2B 31c98795a387dcf51fbdfec64e9403736190e8c9b6d9854dd8eba2e7a10168396b6f3ceee58cdb444839d880102190bc2eaef6d73f7dc2e4102c15b5d6ee2d7b SHA512 3a47cbea8831c6ad30c4194f7f13aef7f226d5a1eac0e520f0fe83e8fbf67bc263181756fe3fa72c4e6bf7848b708c608f56c9b45dd988553e8f92f10165468e +DIST thunderbird-102.15.1-br.xpi 626469 BLAKE2B 74b29055aec6aacce016c207c934d1528dd5b4085cf559c583ecc9247cb0c93f120eeaec91782313b968c79c7f6918132235d9b36917d7afd4b446193fa74e23 SHA512 af9a45cba4bf51d1892ba35e5f34dc0389e14ac6e48aa302fa85f3c46bc4d628c59968a5bf0cbf7a746af82ce653a941895cb2a6b3130428f00e590423f1bbcd +DIST thunderbird-102.15.1-ca.xpi 651364 BLAKE2B fd5cc9068ff4f2c78b9ca85e8bdc2c8a8781ed8c8702566745a64321c62f68966835d4f488a5bbf9b82740b58b0e4c0de374aeba689a1c491560997d60cdd52e SHA512 d4659aea9e55ae7fae8d95d87f34678914238248e5d639cc6ed50552e7051b0631ebafc8ed951fc915eec3a242059118686e08eeb5ab194eb143f599f1625f2b +DIST thunderbird-102.15.1-cak.xpi 651778 BLAKE2B 6a0b52611748664dc5e76fce295078608ebf48e445fdab34233884e1f5119112cdde9f76eeba2859d8550e81db98afe3be37803f2474f05f4c68c5b3f2f0e401 SHA512 94b07990a48f0d56a3ff7d0c908f89b5298627082e48f1f8797ee427a5b1df17206a75aa08d8cf7e7066f481ec15e0529416319413648507bf5e41daebad592b +DIST thunderbird-102.15.1-cs.xpi 728623 BLAKE2B 0a1d3f14dd07199076aa30997744c8c437bb302d60969933b4dad860f14beda909c68c9a9bb95ad35ea710ced8962ad1ffddbec26e8aab4966a69595fe3f98c7 SHA512 a0ed8751da41f727f01396cce0bf89939a02a3f0884342ceac019f365f8d789b882414a21bf5707b1a76d4b3577fc2f81bbc26679407bcef2edaf0e74b536eeb +DIST thunderbird-102.15.1-cy.xpi 705574 BLAKE2B 1abc8453de2ae18d3e06070e7e338c6665dbc16e946479ea2c1677c2270cd47c9dae7c088beced54b799fce6ea63e9913c9365f265b743cd88955ab50c8fe0e1 SHA512 1016a71112f02699871259bd1e805e93233419c3695e6d29d0ef683de317dfb00523260330f4c20a6f10ab8503e1ce53f8bb67cb12045381f5190a2374774470 +DIST thunderbird-102.15.1-da.xpi 685254 BLAKE2B c26401930387a314d1de1a912b062a92e06c053538eb9f19e04e8a1f21ec684f068b0f0c1c8670ab583731309a853bbc2ab559408bfbb08251dbf97971ce5743 SHA512 6eefa771ba941bd2867f4e97f18e3a23bf2eac5d65a3f470a128b0520345d8ec0fe95fa28c804bd1c7dd526b2bd7acf9dc74bd9c7c4b3bbfc7acbc8560697392 +DIST thunderbird-102.15.1-de.xpi 717943 BLAKE2B 4912dfd1b4029d846e7b89d873cbfde045017274dd11617906d5ecf54b9fe62099f1fe50b1a4f9a8f857c2cdfea7855b4207eeed7ff6f43a754f2011dc66add5 SHA512 c6c1c5e3b86f2ee8c4df0da0f6e614ae0ae0a41024b9fee700a18f78b54f3307a0898887fd31f03e0710f0a85f68d264323f89c6931bb418b2d1dd6c26e63fe5 +DIST thunderbird-102.15.1-dsb.xpi 737082 BLAKE2B a155e313088013e9019a1028696a40cb3fbbe7b772241d2acbe1ebcc6e0e8c7a7e15d8f6360c12ebb548f6cc65dc05fb0c449ac835b7b4748aecb5b27df930ce SHA512 0724f6c0675b62e1966c968aa42a74962ff8f719b853107485ad228e9d2360f9d169984c1f620c3a7ac87e83c5bff34d03072ed56445cc214546969bd08300e3 +DIST thunderbird-102.15.1-el.xpi 840811 BLAKE2B d835412a2612683676b468f31051bc5308f3431d8c800fb15b9100b68a54d6fa97f2b02b2506877a560c85ae108d098676d49c3fba3fac7c2dd2cd1448e8a567 SHA512 8ac0897fab426746bb920d4b1b096fda6e8ebde3102a1dbba48e6aebc832a1dce089e1047e0b9158d7b5608ba21bcb88768c9eee357e175886cd2fefbc1d41ec +DIST thunderbird-102.15.1-en-CA.xpi 659093 BLAKE2B f531b11f7760e65c6b596a5df311bd6b31ad753a8fa9bb14c0394146a93ba0e181d0c7c2e7f2c19d4fb90aab03871fd54953d8afbbc56ad839180835ef255c45 SHA512 89c4a4d7046e095623d93da4afd5616598e5f8a6b0c2fecab66c3d6b3478997392ac28a590236cfb82e21be1168f8eea93739d9652986a55d5509a7431a61137 +DIST thunderbird-102.15.1-en-GB.xpi 665007 BLAKE2B f61c8e68a039b680b46c575912d61db9f32875f22e01e926c0b013ad371f2b0fe475ace75a6203c73e6a60626640b3ee75924f78a31f7979dc4e23d06b51318b SHA512 e200bdd90b58bcd79830dacf920adba1e5a2827b42b7ef9a47f5dd73544556e730f26bd295be2834659a9535f4845f4069eef4d3914dc49223dc6990ea5a3546 +DIST thunderbird-102.15.1-es-AR.xpi 717272 BLAKE2B 6640d6c9cc9e6128de266866a03fe362b62f4f56b60c59c6f097e89d54d2973b834a68370eaad4ecb53e1e74215d9fe31a523c5ef32dac93cee3f0dfcd2dec8c SHA512 14b68bb72d5537682e75a4b023f7b5357edb945f313ff4b0533ff5fcabca707a905a32a4c6ec641f141afe6cd62d51543cc5139ae07ad82b7b764a14f81c03fc +DIST thunderbird-102.15.1-es-ES.xpi 677479 BLAKE2B c5ad2697de8de20f9f2130fde852ee6894c69c14e7e640c62e855217c21132365c06b4f04773c9e923e182a140c26e5a6f68ac01c57f2cf32e0c09bf8b9a0971 SHA512 fa4618e7024861292749e51de3f93a42f1ed6aebb5b67a21ae9c060f604c196b566b7c0a01056ebc622f1eeb629491cf3f6e22fd307db2196873ced525f73a19 +DIST thunderbird-102.15.1-es-MX.xpi 719706 BLAKE2B 1f09522dc3e920698c31c23ffc54ae1797e144546d023c0d0da925170b458faf62a4ef0407ad428e55108d381eaa6904548f32996b8f7680f3403e386a605917 SHA512 25a898a51e4911621bbe7af5399db087e4dc5d0e5903eb903e5b84c7b96c3408463dd9bc250ff8ba11dd6ae2027c61f270d98b14a4966f5da7b653ea69ec69b8 +DIST thunderbird-102.15.1-et.xpi 676673 BLAKE2B e0e2516c326bd6c40a6edffea74805221dc40faedf18615d24e61293f8aae47bba7554dcccc8e21cf32325c30258cc1164d84eeba04830d85982b63e18ecdeb3 SHA512 aaaf778ce76a62a4dd5f0efbe22d00be32993f5a0928ea587a6ec0abbcd51e922cfae76b3dd368a76a3be086a2c2f1ee3f379308d3deee0bc1452f6731ae2602 +DIST thunderbird-102.15.1-eu.xpi 701827 BLAKE2B c4a2c96f2b93ee9b01e843d190064e1c4cd891408e9b9e145b0a24ab95622fd16e2a50dbb766e2ef360501f9cd15ec07aba275bbe341114263551050cc9a7213 SHA512 0a963e08253884e8db2db12eb877b9b207e0399379b4ff6e553374abc5acf0e5f5f5e87eb2af564e181715b11d0ddfbd96b9acc03f28889e77033bc8bdc6bd73 +DIST thunderbird-102.15.1-fi.xpi 693484 BLAKE2B 3d469fb18155f453fb66ed02018224f03d5dacf2c637d6036c280981a6bad0fc75c494e1bd64cf9e349e87a5a60ce3c1934dc30ffe22cd8147bdb91911e06a36 SHA512 a3a60da468539fcde731e0dedf92c8f7b364b7af8889f29674cd379c6918852aad171ad1d9337a746bc00393d165fdb76ceca9d44e56434f759714808f17c095 +DIST thunderbird-102.15.1-fr.xpi 730314 BLAKE2B f6f0c4031d8e47aa2ce32cdda94ab897fcb3ba664ed06f61126474313af69b15f58a7a6daf3427dddb62721629479a9cd61b7c5f1c86e49cb27fd737b8db93b6 SHA512 efa266b25259d69bbaae5ab5220379472d7edc80e56a5c08492239a0965d15ccf6fb30e7d49ebbe84368ebc5771f43d98a1b7d10c701a53c6839850dcdb6cc7a +DIST thunderbird-102.15.1-fy-NL.xpi 711990 BLAKE2B 3ab27fa0a7c0260a458c23acfb72de41378f275d09347fdd360c780dd5a19ab5bc320b9cb2c3fdb39c8d4884b14f8b45be27958334becce3c9c6676e19187231 SHA512 f24caab4df202cdd054199354b3c85b808be12108614367d0bce6f1fe2785944f4c6d6e79345eab37e7448f7de1f41597b648744fe1a1ba5fe19ae65ca03b3ab +DIST thunderbird-102.15.1-ga-IE.xpi 614535 BLAKE2B 5b4118bbea2519082eecf1d7460ec6e970e973a53ea008972634713d6a4a88e9e0819f46afc54e7e0db239d1101dc48d02221c3a51a85638cef1439b432b3079 SHA512 2066b0d3a2c89d467bcdf142e467c7a19051655e84f2d255d2b507a0953f4922e821ea943b4c02f1f872c4b2e43d455b06fbf8f97e81b81187a9339a695c335c +DIST thunderbird-102.15.1-gd.xpi 643572 BLAKE2B 2ae836bfaa35c22c5fda145c9e396c2d50c83f82090e0884b64b05987d147294d12e0f35d9a54d3e18ecd347ade7ccfa2c2dd9ced6e9d1ce52de7f4eb1dd503d SHA512 5d504b7dd7a2bf1cc4ae9ec6aefb2fcd495f4f2befba36d3b03531f33645b063e528000fb7ceff0eb20224f44c670a756bb1c43bed761d498f0502f5cdafe690 +DIST thunderbird-102.15.1-gl.xpi 672999 BLAKE2B da34bc56ba8166f27383607ed5f0c32e1738a18bbe460ce27d98439f980e0599f39544038a20beb8b3a79a6d642e8ef7406abc64ef1ed7325d5798cc144aadde SHA512 89c2a5631d87694c61f7697244e63c2815defeca38074edd9d345c1b979ef1c5372f81ab3c48c0348275a5201b222428fd2f7e1e061d5d5a505eb2e2221b2bc7 +DIST thunderbird-102.15.1-he.xpi 676367 BLAKE2B 01880923abf8720ed907a85618c166dc22b43c6af02865feba711eea01dbd497ffbc375d61909e3fe4f75cb6aa0d695d47deede8463394ac1af615235e78e161 SHA512 b5f7019bbadba185ab5494f6340397d674eeaadb0c7a8e3187cc8ca8078707b6ccf032b0b8050eb710c60634c434819a81118a9fdf24b9284837959864e09b4b +DIST thunderbird-102.15.1-hr.xpi 677717 BLAKE2B a47008b76ccae630724fdba63023b5a97ea6e4d9d2cbaf01268dfb0d3861e97174755db21dc44e49d88a78140d026ec58855748fd70342489e5452d163dc77f6 SHA512 7c4c747b1c035ce1b81ee7aa68ad33c02f77ec7d75f404113c7b1fad8617a26a0098858fefdeb68dcf102f61fcf312b388ec595f40bad85fcd9a51c773f73c6e +DIST thunderbird-102.15.1-hsb.xpi 736538 BLAKE2B 03da7718115841e84b7bae4175670565c99dfdaba953297b464cbb6f9c12c9c71c0e7ae6115c1ae719d66340c86dc357502c34939fc89eaaf3d001dd1a227bae SHA512 f33150d20f87bc812cd63ac9c84c1938cd0e81061a3c9dce005ce3fc7e19b83d536bf8b86d0018e1550bcaa231f262a54d00555926bff815a67afab3576e3d2c +DIST thunderbird-102.15.1-hu.xpi 741199 BLAKE2B 575814969143a0af0d388eb379845cff32e61a8e21692b71fd82a59b4c117f90d503320947705ae1a98d95b6c19fae312f910be3cc3b0ccd403d934f049a0c58 SHA512 6b6a786f15d3462e90620f66bb23a4e70a74fc56cd66ea4cf54d3085277bea9c5b502c9c72ec7848ceff7d5599ba9c06626b242b23c8eeb3c63a5cbc3a22ab28 +DIST thunderbird-102.15.1-id.xpi 653190 BLAKE2B f28f3b64dbb22d0eb9684bcc54596bf089fa0db7d7989f7895a79d4280bff2b72db9d44d88af11170fd7fdf29af741efa9b071a94095f665edeffdf5462501ff SHA512 04dc8f6f32f07783a50924aa26b3bd6ea7c157b08ce78c3b1fb83a58618bace56cdd9f385addb0922b1739fe7bbd2bb9260303526e8e33b57636d02a9bb4555d +DIST thunderbird-102.15.1-is.xpi 706391 BLAKE2B 1e6752cf0e11aee1461252cda0087d130d6a192e6b8cf27add604e01a09548c6962d1ecc254ad05a63508658fcde3b47ca331168bf989ae7db9df28c8c65f5b5 SHA512 9a0e5d8c3cc4aacfe8046167ed896e83d3a39e9bde3a2409e714e48c879ce8db11207dcfc9404cb95d2aca8d3d2245b211fbba6e45ca3f4f2b0c1dbc8e8f2337 +DIST thunderbird-102.15.1-it.xpi 639986 BLAKE2B beaddfbb045bd7af0820d49d6f31811ad5ef733804fdcc3fcec984260639da4770f74c9a43bad0f4ae03e51d2e0b2c7891600de4927bdbd81388d0b0c5879e02 SHA512 6bf50cbb9485fe318b34e8edf9e7d34b5b0d3f5b55e6fdbc245a68c393a7060f0d6e0d350fe17ff8bd402b4e3256be024dc75f845a22158a211260353165ec2a +DIST thunderbird-102.15.1-ja.xpi 781906 BLAKE2B 785a3e2d23b5c3d4514cee520e66e6f18148bda015af58a117d494b27a5ffa38ab382a6a02375c03324ce00faa68e6c5aa5f6e65a74e8b1ef8e696afd6085f6c SHA512 b187be58c8388fb18b7c728c9460585dea16d1c67449d5af49a64e63e3d9594f37c5de5c64824a015fa90510070ebaaba45bb4437ef63483dde742ce32261152 +DIST thunderbird-102.15.1-ka.xpi 769800 BLAKE2B cc96ecde197054094643f3e276f52b44cbda5ebe571e17ecb5e5a580d02ef039c06a39ad784ed6f80703e9515b38753a4c972167edc9f9ea469077383afa265d SHA512 746b18753979ae39f7bf14fcce3357393a0219f980bf703c48cb8a1d95ff185ed73580b6080ca9b7d923b1d53b18f0f409da8e4e39c3db381c15a8a20e204b38 +DIST thunderbird-102.15.1-kab.xpi 702701 BLAKE2B 249868f0187f5176bc92fc8f0cc65034f669365fb94b2ae4b9e192887e63fa5ad56b805be78aa6356632e542f1e6d78673fe610d09cd293c394f3a277aa3b705 SHA512 8362fefad1900254010f02714bc4cd0eb475b15494065bb6f27e30e1adf243cfa8f5f43514f1d975446f4de1327f0d3d46728a7bdaa30ad803e004374af6a833 +DIST thunderbird-102.15.1-kk.xpi 810964 BLAKE2B 47ea299ba8773971c860abb87d8f1a7de0099a4f60f85ab9938473df04c8d60749e610762e2cdc7ffaba0af5726f18ca6f8cfdda26c5004fc0e9962bb042fd51 SHA512 07203b2184d59d78ba3b9c4ccaa021882ddea70de5bd551fb68fab5b44fa6e386803fd3aa62aae5f4b5fbf10ef836ce63e1de44a981d6da42dcbb3c738f86e4a +DIST thunderbird-102.15.1-ko.xpi 716819 BLAKE2B c4de13706da0c97d12afc71005faf411dcf5fe816a3ea605a869547031592bbeb319d0df516dc1e5146c7023d04ccb3ad6a28b382cb8c35201fdfdd5de25ff6d SHA512 7ab6de78bef723ae99a057e22776a4a5accc4fb228d34e99bfbc01d8b3ed9e6f61bae0e4263c36ace98859d30f68c0642db41118ed85edbc4a04634d03fea305 +DIST thunderbird-102.15.1-lt.xpi 690853 BLAKE2B 9896ec2467806923e08892538d94b2491d1930402ef8ee5f9a27d669c1710a52d912934e53d6db1d12c266ebb7464a0514842c78edb551a8ae5ec5e47b6bb0dd SHA512 f124f3fe430d4fbaa2444a9d84769e71e75d7a56fb64f6dc84ee843b6469f5f21de2b3fc9e447e290686224d1f0fe4b09e16d095daa79848aa60b8a12187479f +DIST thunderbird-102.15.1-lv.xpi 617765 BLAKE2B d3d594bfe7f0fc5f29b307217b4bea238f3e1cbe2e7509fdf1b977a75f50b9ca30cccff06bbb51ff4688cfb010fd13928e78e96476aab53eab00f5fd75d725b3 SHA512 69dc32327888e54998d8b1bc54c5d26fe5290b92da32dc887da92a9c7e40986ecbf08eee1ce93eb4add61f6538b0bf4fd7c9c3e6faeb834c25d9587faa5c8e71 +DIST thunderbird-102.15.1-ms.xpi 577756 BLAKE2B 8a6d3df6fd6a55cec005b8acf504383bc2b28f91b8314a2350889a8618614bd1fa7bb8abc49be8f2f595f771d603fc016d84e3a777114f54872ff1be018cbd4b SHA512 568c2f3a77f37f20abd4f48ebd1d92aec6e18d26659f48f3ab2e27379472a2ba173543b2dd575add58e9854904303ea9bbba483221815988ea6e23b098254f1a +DIST thunderbird-102.15.1-nb-NO.xpi 662681 BLAKE2B c4c3a070438959a0bb74d80ff53468b8332657293af215cba5614ad37db5096ae73f151d1abf6a3d42e9b014abb0c06ed361582f2454fd1d8d0b68e11ad21932 SHA512 e6496610d2c15b23a1ac13505ff1a25645f2c1ea0b684e0d1617752a12763b6ff602064059baf3697fde94002222d39d3b380768c7d5b9b13872e6d50bc86ad9 +DIST thunderbird-102.15.1-nl.xpi 703274 BLAKE2B d235f7a8bfbf4301d71a87057a555ef68b4d0f858438f23aa3ca38d13f93eddec121914c9c974b81e06ca310148974ce2227b19f461594fb66c0ca34c94688e4 SHA512 b1b71731274e71104046b61ab182b3bd1ea70c95c2dd3ef421af4defdf1eed4053f6d9089182fb15b382d2d4c1d8dc60470e3361395bded9919777d34f332083 +DIST thunderbird-102.15.1-nn-NO.xpi 672831 BLAKE2B c8b260ab0e221c15f389299b0987ad664f72e401a0c9d0791a6a2aaa427ab2edb2afd8dd695658f0444ccfc01a8b6c85326bfc04e14a28f4f4c08faff2c83a14 SHA512 992691d46138431e1ebae809b65eda62f2258c6ab6ddc0268fb87126f9fb98f7c9cdb727867b3e9f67a427e213cb6a05a4da148f42e0fa20879d24109722ea0a +DIST thunderbird-102.15.1-pa-IN.xpi 668030 BLAKE2B edd425371e2b331057fdbc0f93c268aecc7fbbe541764d3b1f324b79efd51839704bcb7ee87c14911a15912365f1ff280205a46cffc767416ed621a0932c7ae1 SHA512 6ee25091e96ba2fcabdc7a2f39a2ed6036bb603d2e5a09dff3e2ed18b76e825fa2df5d0fa0979bab9bf701320a61f0ea4e9dbb29d6003511b85a4e09f7b3273d +DIST thunderbird-102.15.1-pl.xpi 716228 BLAKE2B 50658910592a1efec6c32769b896277b8272729b09f44e69bc1c9492acd715dc6662fa3c7778b70f59099c024a56bade96106eede9530647dda5beed4275e1fa SHA512 db87ee0f7b6f717ad59e77475a66c16d90841a3fd0aa0bec44d531ddc5f1dc5659a8c817a3f7b98bf0b632d299b60334cb32c5974f6f20549130828ff168c1e4 +DIST thunderbird-102.15.1-pt-BR.xpi 711150 BLAKE2B 9cf8f74ad72f7c24689faa8d0be9dfd052ff7c8232f85cfe1b27713fc836eaedfb7cab07dccea686c0960e89f97e15616f37e21ae0a56490f8c434e4664ff728 SHA512 1611bcc3dcf6e6ef9fa7386ff2e2872d92b4e0729c6e818b9500301dba6b392bf7e363b6971872f7eb2af2753360836ac9766eaea5ae87772e13be2afd5cb47f +DIST thunderbird-102.15.1-pt-PT.xpi 686909 BLAKE2B 1e6aa88ade8b5cf6ec79fa066052e57349541798679742097708570750f58802e7afc201117280cbca3f52ec88f5145e39ab926c053cd1290a06023aaa890fc2 SHA512 181b325075fe6a4db8b4e90873a58fefd4865784b951924ec9441d651b332e696d9c8072a1f58dc73574977f33911322ec46f32fc758a6b86f1b5ecb729dc75a +DIST thunderbird-102.15.1-rm.xpi 701680 BLAKE2B d218f082e22c678208039d99533b93f28d296f2ec197760f8793ef0c8b46290f42f61b3a0630a0b918637a12d7f21f236ddf57c03ee0d853e0c1dcd3541d82cd SHA512 3aea6ebabb22ebeaacbcf88f8ac1b53d2eda9f8db87585053132539bead2f51eb44b0b3b013d33c5b7159af36ed6962890ead4dc7f0168688d6576356d82641a +DIST thunderbird-102.15.1-ro.xpi 661281 BLAKE2B 99c1342f9f88df433a9051e74bd80697da4b946385ed5f04b239fa626e5befd5c9ce4f5f1e627ddeb69946d2292c0022964dbbf68b170941a162603d68918022 SHA512 5bb737ae504ecfc32e3ad4698a6edecb7f79b875e062d920cef9f7a16aa05a0a71e793c7b9d73ac6b743f1cacc109e106d9fe834ded8ee913b12417281b34a88 +DIST thunderbird-102.15.1-ru.xpi 827219 BLAKE2B a13e621caecd51e3730d70cc148494d580379f44532d47aa94b0bf315d8ec2c4039d95a5ec3fb60c2ce1da65f4fb433231fee5b53fee4b6bbeb7529c35b8241d SHA512 f3020601f570c8701e353927a2be59d40bf50d71fe9b426fd110952031b8616b5bf87619414e03cface953c29e2025c01d7efe0f494224d4b55221d97f730371 +DIST thunderbird-102.15.1-sk.xpi 740979 BLAKE2B 46a9b560a9bc43a34874dbc4b5bc3bcfcb91e805b5530c1a136d63feb4f83cc1ee00f72e5e02837d1e1d7a0e880427f4d26f6d135fd400be5353d27120c06c05 SHA512 74bde4af466c79e3e38d83de25ce2d075a65e5fd6978f1c665397149ba976c6dce9706a713c4ec222e98881d05335655a6ae23460b3104cc58d3a8a2b6b7704d +DIST thunderbird-102.15.1-sl.xpi 704056 BLAKE2B fdfaba4b70c990b1560429c5b194fbd71baa5ec711e87dec35d56801c1b75a79b2887c22d5c7f07d2372c77344ce565843856503c613ffc920d2cb8914f261f0 SHA512 41172887970bc116fd6138f0618eaac235ebd418af479a5c82e8712b5926106e666f003ccb492c99bff289361749e691d85ebf461cac91a99601bbfe9c1e6a6e +DIST thunderbird-102.15.1-sq.xpi 726033 BLAKE2B b05a720a6bef04dea2dfd53bb29584a3e8c844c857b14a50458efa9c53a58d0e99b9e11141aa5ad968b289592ce61696d071c993470cf52761d7ad32231dc010 SHA512 f3dffbc82d01603523aa6b6b91f3b29bf81579a12d2a418cb53f5cd4efdb3b509338dceb2b23b298d73aeb8f3b405c8518e15889102c2f716776fa62134d416b +DIST thunderbird-102.15.1-sr.xpi 720554 BLAKE2B d529ff1c639af2987e2549ace727912879affecee0a8a812e172a0f33c2dab9dbbe3d2c3d6e9f68921ae6cf111dfd6379caee01779ba1c9a5aa891bc0d059b43 SHA512 634383b60937fb98e8cd5c6fbcd3319e34c3ee14ef448b934fb0338ea4c974e9382990ff55040c1e52a8198f8c579b950ecf1c7d9b32b8b2675ce9d6a5f2570b +DIST thunderbird-102.15.1-sv-SE.xpi 706951 BLAKE2B 01d25ca940b46eb8a6deb845b750986e6ade89abfb6ae0589a4aa2914fc69a109441fa050b93a7d2b3bdbe7757d6cc9a1fa8739e1d455e6c9f8386e6b04b2b31 SHA512 8df9fd9112b964b36098e74dd82128aacdf80eaf4935dbd63ec68a84ec413ab90314fa9b83b357641e6bfaecd64f1e48b15c8f57ea4ecb630848024a0e44a952 +DIST thunderbird-102.15.1-th.xpi 758235 BLAKE2B bc417c8626c70cd09ac841d21f4843f4a841f3d1a6677389abc5dbbb357965590eea362c0931f78a09474db7024272f77fd37b68c8217aee93c8acbf9bc25cf3 SHA512 70349b7356dff8737e0d8158aa09ee9bbfe569738319603740c260fb1367fc352bc5924b90ab44b8eb6898328fe914d7a0ee8d74b4b1836699c85b58c195f7f7 +DIST thunderbird-102.15.1-tr.xpi 720174 BLAKE2B 04e9ecfe72639f91920e018bd0b9d3c6d28822479284e9fca6a107bb233bdcf6a65c02eecf33c0468d12ddc633cecf74e840e4ea11f565eb8aa36b32d1582946 SHA512 7e890b6e764571eaeefb91aa5d986758fe106bda640369a13bb408ceb4035e0f02ddc1aa2cc6caea04a8eefb400c138939e6c192ea78510f681081625495601c +DIST thunderbird-102.15.1-uk.xpi 818661 BLAKE2B 0a802e198a906a65e8b07332860901826ab726af4465cd650820516abf209989cbe07ed879f4cb2027800a56b8f8298d7ad4d167de17bd2cdd6a6293832e67d8 SHA512 516d905ebe38d4e065cd627f78e3bff6424d933023cb42cf44550c0c13f56b549eabc84d62f1239a67a4db53eada15341e6aa2ecc454a898045b441549bdc025 +DIST thunderbird-102.15.1-uz.xpi 593010 BLAKE2B f292a57be02dd6123a76e6f40cdd2c27f3f6dc814cfbfd420f649c3ffb6dfc5f21042b272f91b043b5ebac42669a56f8a9d1d21647f38186a666fb220618b023 SHA512 8e51e998595076771fa39a5f6ebd0f4438c6ebab974ea498820c40694f56fe1752fd5e4016f2d25db307b380935ec32534d5775757f4dc5211539e6319220fb1 +DIST thunderbird-102.15.1-vi.xpi 745660 BLAKE2B fd33ea64dc4d08530ce19e440dd5bac20c395d1ba9491b0bdc4c0d704fff53252ba7cfba12236bb41dbb6a372bfb3f1965e213f9cc069f964e4e3ea936e613cd SHA512 3f521beeb920cff979287022ace2320f331b7c6a1a8f8d22c7c15418884e9dcd2f9a73ee4444c5aac85b90339c6b340362f83d7f5d26ef9b48d97d5b04913aca +DIST thunderbird-102.15.1-zh-CN.xpi 739885 BLAKE2B 9bcb263aca4a53dd19ae030f8dd8174377154348c0de7e3ba221e6b88acaeaea23aee5c2712e3accc2b15601844192403b1c5d4c61d8ea38d4e9cb3d50f8e32b SHA512 56554b81fc3be72db18ebdd91f3ece0eade91b939ca290390db15ae5ee217ceb9e4300f42dc33e53702ac6243dd66c9564a26580aae88f14e371fe4158a75d05 +DIST thunderbird-102.15.1-zh-TW.xpi 748346 BLAKE2B 6924d29f27ecdb829b527a57bbbf03c17961a3de259fcc5338a50c8fb1935b6a8650d337ba2eddea733ec1e7e08a22ded153768e685edcd901cbc6a21020fac1 SHA512 cdacf57bc383cffa7b8f0c663427ceb68ec4d155bb2857ef12143e8ea5bb123d7783b12bf772e84880862bd61da46022053c900206fcbff010bb03da110ab712 +DIST thunderbird-102.15.1.source.tar.xz 504786376 BLAKE2B ca3689e3884aedca7287616e7af0b24c2e340c87b8e00242a5a3f7c2585e1a622fda9b42423491909f9b15a4b29232d3edcb141e6b0ca69fd13a92fae1a48751 SHA512 2c96b9cae7acbf354a6aaf7a7987f40ffddbcb8d05a579e6782afbf9c685392e29b274460e7a82426f41f604cec06cb96139be45f099121603ffe434ec8fac06 DIST thunderbird-115.2.0-af.xpi 542155 BLAKE2B 0d59b01fe620890230c2b7ad9b4256ae18666ba95cb559ac90870bbde3f1dd69ed746493d419e7f98a8fc0e2a7b007ba3c2eea8c3d7638270893084734078b01 SHA512 e444ad83e092e0714f5100e68908256d019cbb64843d90487b3a104ddc24427fed2e4a4cdb6b51c3007534f2dd00077a1c53e9d69870db1abe49fb4d1c180f33 DIST thunderbird-115.2.0-ar.xpi 654727 BLAKE2B c709aff1a06d128878343f7909a6ef1028e68da409b4bd96392c14783d606e57b02e5ab4eb3dc1ea943f825d22311fbc5dcc6a81c813a99d8047f5d81e213d28 SHA512 3e92e6d6c397fe5b326d434d2a6ad7630c7af7f470084bbd5948b46298a8c25b24139bfd1107ab2827ce89d87ead826be4cd3afb352504b75b109c6e121a0bf7 DIST thunderbird-115.2.0-ast.xpi 561118 BLAKE2B 0fce35581098af8d6a616c75ce0d67249b42256dc28b82c9f443333bf7f7ef4aca276bd8448c01b21cefbd9b76c0b1f74e7c1c1c046647046dabfd9004c042e7 SHA512 65d6390dc2f0c16c6a975ebc5fc41b77d3c8a3f7e1f823baa7546edb803a7ce26e011e4c2c678667c9255c15a5c976858917e4981317c15a9f5470a548272397 diff --git a/mail-client/thunderbird/thunderbird-102.15.1.ebuild b/mail-client/thunderbird/thunderbird-102.15.1.ebuild new file mode 100644 index 000000000000..20088fd5208f --- /dev/null +++ b/mail-client/thunderbird/thunderbird-102.15.1.ebuild @@ -0,0 +1,1190 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +FIREFOX_PATCHSET="firefox-102esr-patches-13.tar.xz" + +LLVM_MAX_SLOT=16 + +PYTHON_COMPAT=( python3_{10..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:16 + sys-devel/llvm:16 + clang? ( + || ( + sys-devel/lld:16 + sys-devel/mold + ) + virtual/rust:0/llvm-16 + pgo? ( =sys-libs/compiler-rt-sanitizers-16*[profile] ) + ) + ) + ( + 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 + else + # This controls the backend of the bundled librnp. Choices are "botan" and "openssl". + # RNP Upstream recommends to use botan. In Gentoo it's preferred to use system-librnp. + mozconfig_add_options_ac "+bundled librnp backend = botan" --with-librnp-backend="botan" + 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-lto + + 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 programs for extra features:" + optfeature "desktop notifications" x11-libs/libnotify + optfeature "encrypted chat support" net-libs/libotr + optfeature "fallback mouse cursor theme e.g. on WMs" gnome-base/gsettings-desktop-schemas +} |