From 1f6d51a43dbfcb87ef81da70c688d354560e846a Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Wed, 2 Aug 2023 16:50:29 +0100 Subject: gentoo auto-resync : 02:08:2023 - 16:50:29 --- mail-client/thunderbird/Manifest | 67 + mail-client/thunderbird/thunderbird-115.1.0.ebuild | 1319 ++++++++++++++++++++ 2 files changed, 1386 insertions(+) create mode 100644 mail-client/thunderbird/thunderbird-115.1.0.ebuild (limited to 'mail-client/thunderbird') diff --git a/mail-client/thunderbird/Manifest b/mail-client/thunderbird/Manifest index 69514677f88a..e0f634d08fb1 100644 --- a/mail-client/thunderbird/Manifest +++ b/mail-client/thunderbird/Manifest @@ -7,6 +7,7 @@ AUX thunderbird-r1.sh 2896 BLAKE2B 140047417b24e959fe6388c4913457f8e3e786158b739 DIST firefox-102esr-patches-10tb.tar.xz 21740 BLAKE2B 46da143f4d2ef474542752b7648cd80faf52332dc1b315fad6474dc2d1cb60848852f3a1f3e96934b50247f4c9add94d4a5d0d279a848f7d3b959d743ad98482 SHA512 6a0e9661ce30786e5480d3a81efe7df67f550da4b2fa5e71d4cbfd191320c975bdc1a4a9971e7df366e79242c89e58cc951d5a7058452773b354edb20b7f60a0 DIST firefox-115esr-patches-02.tar.xz 16688 BLAKE2B 894646baafcb83860dc04a160978cb4f59dbba1102a8864d519938425ea3e0c06b5481f9de94593d71a3c7e84d5491ff671f2dd94701b2fe79145ae7d0181995 SHA512 e24972289b8782d5ee8e873b186c29b3f14e31888880b8355946e7b70ebed453c624f20a354972d727ffd0c93043153850ac7844ce81e57f8e6a78980081efd2 DIST firefox-115esr-patches-03.tar.xz 17924 BLAKE2B 2b086761cb34c115c8e07f33f3f569c7c31c0e61565eb792a509b089220ff42b1e676641a09c057718a74c6fcba6be053c9edf39fa063789cf773d756fc374f4 SHA512 a386826b3a9c4736d9cb5192b17509669fc71308d2879b6a266201d2d571dc3b4021260784bec3117d1f68d508436120b5aa9ee18d01af84f67da58df7e72b2f +DIST firefox-115esr-patches-04.tar.xz 14608 BLAKE2B 78143b2ed2f0c71bef84c26ebbb9f29912e6d8bb2f513cf95f5d97203efb556cb339bbb1f61666300786eb5b1f93294816481a0396bd8acc497c9f51b138376a SHA512 f6b07b9f94a79c766b864c4f73044dfd6aea5faf16e742202ca78f4f6e0399a71fc3dcf4d40d4dd67d3f13612c26a5e1a5f845e6892901c0ee6168aabf131f79 DIST thunderbird-102.13.0-af.xpi 556871 BLAKE2B 35f1ee32781f79d722255e22b9cd1a7670bfc4e7655d944ca11406caca058cb178a74aa0731e2b1417ac736320096ba2a460ce0185257e8e75122ea9cffef10f SHA512 fb6891e6cff7ec6a85d4ec50b4341990bdbde7da8b32527d9849984a09bf3260b5cdff0900ed396295d5e3d1a120046e61f545b1fb1a024a3b459da18983210d DIST thunderbird-102.13.0-ar.xpi 666810 BLAKE2B dbc9981c7729684310be6c7423ff1dba2fc672128d9b970f63a5a8bc1b3f4cfb29efccc4b7a9f9c2f6b7ac09ab54a11d7b4d570ee038a614589add31691892f3 SHA512 7d51c10e2b5965f25081b08e58283d379ecf4ff9bae01ccf2b0f80d6b0457ee80e1f9588cce2d0524d776e44766d3f7f449a0d883f3871dd2c9bbce8cfcdb994 DIST thunderbird-102.13.0-ast.xpi 572288 BLAKE2B 001b8888b08f91d7f4c6bc246db288d297b506fe8e441ab19a846eb451c6d3b116996a1107f0c1074fd1e033c4b5f87ddaf5a09dbd3476ebc469c91552bc4b7a SHA512 d1b2e675380c8511c587229a3b8bce1cc19e24b5fcbbd8d778e537d8e5c5614dc3b8b810e781cd5ef03314bc275c3ee76b6ea83df907283781c79c4e85a58a9e @@ -267,8 +268,74 @@ DIST thunderbird-115.0.1-zh-CN.xpi 743079 BLAKE2B 75ec327231e651d4a56717f2c8750c DIST thunderbird-115.0.1-zh-TW.xpi 746784 BLAKE2B a69d56634ca3fde61041cccb38d836dfbe21493f2f23e39ee3db7091306de2d70da70d44ed43adecac539c8cb251c45684b8afe6f86287dc67beffa0ae43aca0 SHA512 9846a0b9067ac694bca75827c45f8133d787a4278f2f3808a81ec0efb9acbe089aacb71370d91a1eb3df27aa206b997915d0aa9fb8b0bcfa936e16499020a5e6 DIST thunderbird-115.0.1.source.tar.xz 535105316 BLAKE2B 0efe711ed744ceea6dee940df2ffeb9cdae3ec301691bb3c4c2b9285ee68f72606443221da137236384239c5cfcfc7707adafb51ca0122f734ea4422f5e0d6b3 SHA512 9a53024790a537fb012d66e683248e82a9b2c2a4db6fc90d1e1d3c785c28e9d65f1d110c33dcbdad63f8f6ecb3e5c6a526c0028c3970125022ebe384506d4ba3 DIST thunderbird-115.0.source.tar.xz 531139876 BLAKE2B a3eaddbcee2ec24e3ab8e6f51e1561fc8de66de206ba1c4403a1aa1c803f37ea8da15c4a296516685b125060dc19663e47a5e8161d8a7ec6d65474d2c17a5e93 SHA512 2370a8e0b5ad2bc71bcb787cc93d31e5bf91bee9a4126c8677210e05936a726938b5fcff9b83c2ef1f509c1cadaa58638ba2399682308f32326a054496ea7a23 +DIST thunderbird-115.1.0-af.xpi 542152 BLAKE2B a897aed328115666f6ccbe5648a33fb623f0b6df6e6836e3bb7d53f7021d48a1da3006b24963099bc7ed2d5daa21222123cc434e8bd629dfbed9b7ca48293815 SHA512 2a6c2b928abfac42788b71982c52822f96112a6b850b9fc7fffe299a0a40f750fa51c6bd31c962ca3e2d7a2079eb112e41b04565224b6128e61b89ac7b5f1aac +DIST thunderbird-115.1.0-ar.xpi 653727 BLAKE2B 4d9159049c8829a016debfaf3f42ca040ddebe19dbc59f91b763f1a2d3940b74f1be6a13f314ca72dd29ec08ec3c0e9c80511895c361506173506f6156f8d851 SHA512 c163199033a0cea3d91d5f6c4ddd4ab75cff5addb0e29b30ba8726d49d3a2d7b199c6c5853196d502d4296dac959fda79035ad52a99ddaf6c90b05d1ddf75d01 +DIST thunderbird-115.1.0-ast.xpi 561119 BLAKE2B 27850a7533514ad8f36bf121609147f43b5010aae1cf438b6d458f181ac110124fd11d16065b5cc172ce8028ecfa2a4802893f78909a2a3ec481754834dbd88a SHA512 a867b6af4926140ec1e83cee458f4cdff3ba2fa11daa8ef63af435a928597cb029576a5051240e913b7a5cdce3640fa5f5bc652ef296f4c5cf4eadb9d1791352 +DIST thunderbird-115.1.0-be.xpi 693603 BLAKE2B 246bcb2a3c4731f97fde9049a2788cb8e2fe817eeb29538e4519804f6cad3793a9ace87f0144e32bbd8f73c3022198330b1479b4c998e9057a7cb9bc6458cce9 SHA512 b77b0fb42f60e067845bfe0f7a5e81553d335db2c4970d1c4367dd8d9cea49a50c97944f7efbcd2c784b96840f7904c8d268d76ce932f0dbe21d028032b56ba9 +DIST thunderbird-115.1.0-bg.xpi 680214 BLAKE2B 865193b50a352394a5e06333b0b1708438c3ed73dd85a4673e2f3b793d783a9982edd3e6571e2dd4ed4ec8133ec868bcb596b6c4f95f3f41821e92214c644d3a SHA512 db86ba00e83290d3b3b8917dfb5d058ad7b6b296a77779f2a127fcbf73874e141ccae802766abc4deebb36e1e90b42da53c0f41fc56461df15b37b27c63c4e7a +DIST thunderbird-115.1.0-br.xpi 625653 BLAKE2B 2db17404ad3e2229c6c39eaa85f49930223f880b1c4d3eb61904fd373b1bc81362acd0faf26be17aba6b11ae0529934e57efc594d6868787a75c4188c510c701 SHA512 d53e8ac98c948b372fabf076f09057027f77c8f28b7c6b59a9963d77ddd78fc3ebb366de64a53ffb336f137053d595de98e3ff6bc3984d222721f8b9a3b84034 +DIST thunderbird-115.1.0-ca.xpi 655110 BLAKE2B 299e1c7f12b0c99304e093d3bfa6794e62afd6edc2a5cf10d3d655cd96b37b11384839f3a3260ef70521a0caf3195c71c83c0572438271f88fb0a6a385221a3f SHA512 2ab224b594b05517d791e431483d8b012f066fe9de6a33374e4575ee68468c4f1cc2fd14828526810eb661f4be06f7b02ac71926d72b3cabec86e0f8bfba8308 +DIST thunderbird-115.1.0-cak.xpi 657067 BLAKE2B 69d0eb7a38403bb2079833674c20422a1049391293b4d11900de42d42dd0498da0317524036968b2496c2f3e9766cd39ab0346dcf33bcd69e85f5a13c736fec2 SHA512 731679432225edb7e7b1deaadd1ecb470137d112bd667ddd9d5dc571f9ac492c9c9a570d9d77c90f9fd2d140b59c836e6b6f86670a6d803e375f8885b1412ad6 +DIST thunderbird-115.1.0-cs.xpi 732968 BLAKE2B 7b933952eeca87b7246b5d4b22cdf95a290a3694d21985f99702be89cc628093023338ecffda603243051ed00bfcc2224d3d9d39c9b723e0f59e706bcfc223b5 SHA512 f02f8ea4844e5c5679ddc490b1a92bcf35e3560430a64a97a109fff80575a56a6fa56c72ed00bb51259918cf0764ddb6e0093dfe6d735163b9f382cde67268f6 +DIST thunderbird-115.1.0-cy.xpi 702394 BLAKE2B 1da0b23aa79edc8664c8ef4dc4bd9084d22e49d43d942eee84118bcb7045df528756afac10fcdb8c503f145edc1c3a46bf85351c0404660ae114aa3cf516016f SHA512 cedffdef1d4b74a91206ac1cf1012c4c86fa595d149520e2b2f647a20fb960a961de28ebaa8a5b94592f0addef5d04653570f50451cd7547a682aa6a75cdf62c +DIST thunderbird-115.1.0-da.xpi 689917 BLAKE2B 79b51329de2d035987b3c0f805561b666bb3b48d5c4940859407381d4baed706550afbb5f4c999ee631920327cf90c7c3716a0ecc1b8f04d01699cd5aa026a01 SHA512 946f93a589e606d80b03ffd0341095d80753cc90f416639604017e8d13fd6b89464e9d714fe1220f11ac9a9f96c43e10841ddc9e645ce99a9d6107e957468fa1 +DIST thunderbird-115.1.0-de.xpi 719973 BLAKE2B 72b28f7958b7794d027170cb25b2fb17dc20e0f8877c12f1c7e65cfc8f37a27b71e50e61aa7abbffccfe88e5f4822169e5e7dcdb0c94262c5e006bf644cc2fd9 SHA512 f016eb5d9812c8422cfc607342dbd39188be4465a84025cf7274f1ab92c9aad0d3cbe85c443d28124fca1e1bb0f9494815829e2f94b0055f68ec5801bda7e014 +DIST thunderbird-115.1.0-dsb.xpi 737054 BLAKE2B 8615402d2b54f60acf2832c1a72e41c5877a9485b6506c1c843f17e8c7de2cd42da54294c9c2baeb106666ab96080fb2c312ada92354bab45b5081169bfd127c SHA512 7797ec8baf7589c7a58b61f804d43d27ede3ed7c334317e432bb4bc8c8b0229356e1ab01c7961b74dad17f10c2560d5c1d4c9967b2453814b08a008fa3869cf9 +DIST thunderbird-115.1.0-el.xpi 836150 BLAKE2B aa2b06eb6527cd053e8ff5fbd6652211cf1dcb6bfdd2a00284f963f1279b7cce5d726893873800caeb0ba57d57579096760e2715def8f2ac9946cd8834f703dd SHA512 a3e7f873f2044ccbad6d2a9534040b7f2914b81be13b636d32ce1d34a938ec54b19ffcf571dbcfd7453f0bb8be1fa2d7fcc851b7a016a34c9e734c8835a34bbd +DIST thunderbird-115.1.0-en-CA.xpi 647625 BLAKE2B 0e33fef396e696c9027c70dd47b5771f55e2746920cce2004a86785ddb1d0a66152767a89ec7fc91e5db04779c82bf61e5c5bb82cb6ddba85fcc493ff359d859 SHA512 30f69867afce10cef4f7191e35e45ce1cf35899794ab57d770bd912cfd7960b3138f144622435b4f2dd3198071f543da37959b94e7c34d854dff0a9909b7e07c +DIST thunderbird-115.1.0-en-GB.xpi 660650 BLAKE2B 181fa7c609758f96fc69af702d9e41700743cae6329bf4665fc15c52a7b32b5443a367b8ed51a760d28672950a5210faca516699690a9805aa8b2ad0694f461c SHA512 1fd27d0ce2f3426b783ee6bb509f44c8c74acba161aa473a7d6bb338d4619da9ae0e75ecaee1cb444cda30c9de7396313184adf5fd836d51893673e887d7bc2e +DIST thunderbird-115.1.0-es-AR.xpi 712180 BLAKE2B 2c73797f893165ad597d36957d06cada5b7dae0b47700715de589bd5a16a08c9f67b4136081a2d535eeb33f9cdc3213c720635a6ab985cfd3670d10509c7dc55 SHA512 c56483daacfb5090c23e1a6eeccb31caac27c69ac2f43a899dc328d534dbf2f0f6169f8b2fab17167154c0053b7ccd01ab8ab93491536c19bee230c58c593a2a +DIST thunderbird-115.1.0-es-ES.xpi 674787 BLAKE2B b73d948080e65c2d2f98ad6d04d3e8423046eb47bb0ef2d1db7a5bee48e6bbb99dc039c8b5f7ee71f696ce2685e1a17ae42cdfb2ffd402107c5db68ac9384161 SHA512 52ae185de821a1c36382ab7baf8d49870e1170433bd8a429b83abe85d0e02d25d0f241c8497ef9260aebc082fe837ffb38e03b2cc79b6619c74946300fc66c07 +DIST thunderbird-115.1.0-es-MX.xpi 709234 BLAKE2B 082f2a89f32aee48e34c6c061a0a4c4604c04f96369ec5ad001d678da119ef9ff382eba7732fe6a2ab051adcf35cb9f63c5857ad17f613f4aefaf3d1beb79264 SHA512 35b1463b794f6c3ce7177169227aa0805ca50cea441c06c7c0e730226e8ad9c8b13f4c9c6c22be12a7d3670aeb585df10f4d3ca0417f7335b78ffcf62a75194d +DIST thunderbird-115.1.0-et.xpi 670926 BLAKE2B 4af68ea4c1cf524e0e9c90b3b6217b563db35bcf893103b5a5a1255a79f246e1ac0e383f7c23e0c40da2ed715d47dada5b8b4bf108d34107dd7263e9c2d6bddc SHA512 d10a779bbcba23646a1cda28a4310cd14996dae8ec1cc7e407674ddefe1e10274640d4f434cf49acf38d19f4ed7b7b23009dde36fbab0f26d209e65c784e6585 +DIST thunderbird-115.1.0-eu.xpi 691243 BLAKE2B 8ab29fa38615fb036be2ca3934bf9f42019edf5178711b4043c1d0cdc61eb23c03197f082745e78483c733e931b1c773f03afcf959a0a9bd39e6938f9885b7c0 SHA512 3333aabac9eb115a9f9a06c4c2694a19625c73a56dd41d584cbdac89a08b99665f44a6ea5de2959def40e79f1889502a0b4df05ad441f0882b03332439563f4e +DIST thunderbird-115.1.0-fi.xpi 688939 BLAKE2B a44498ac85396fbf7ca55d81a74a9946be6f5c75c7f8b85ebffb42e8da0668f0ea6937198e2711c69152d85dfb3bd8f7e1934d4826d3992183288aa9b063b588 SHA512 c9721d7fc19e08bc8c8ee95cf10f977ba968633267bb243b00d3611379473d4d2259f11bcfed4624ae39c03c936166fdb345b726609d439aa702ef9a63100d43 +DIST thunderbird-115.1.0-fr.xpi 724400 BLAKE2B 96eb0282ad4b583719aaa83783cd42cc7bf4f33f966531cbd7e64263933457aefd381d890eff1929604d8aa2a8088ed8e684c77e8d3593492a491f3ab496bff5 SHA512 2c837c008d1f195f6993dc6ef048c7c59f41fc02a0d2c4ae906681b23593fbc9526ad629281e25566ed2959e502752c2c01127bacb479cb0a1551b306375d38d +DIST thunderbird-115.1.0-fy-NL.xpi 706995 BLAKE2B fa83f1ca0a95456ab277ee731ea12c9da1c19b32f0c1763a2b467480f72c57575305a74707e17d7e34136786fd356498e200ce08411190bb63b298bd7b301371 SHA512 6a16d477290cc3534ee5e80fe4cf8c16404ed03a16fed1b490ee4e5c87f1148a1be4821d7d383898b9a99764ebf96bbb3639df5bed85eb6ad4627939d23700c0 +DIST thunderbird-115.1.0-ga-IE.xpi 600872 BLAKE2B 338a3ca16eaa11e8d6197885d256c0fd148e9383307fbcbf84c100918a8e1c7d111e45f83bcc28dbec3ba1c5af5729c30152aacb0ff89eafb73c4e8aad0b7f57 SHA512 e3f2041e8f17916b535ce9c50ca471f2673f3d486ec058f84abe84c83c2e235f136a756073b944381c241c0627976b18cff77977a05f23d33a52f48fdc5f5732 +DIST thunderbird-115.1.0-gd.xpi 702046 BLAKE2B 1b93a180529906d9d448c10bc5837c743c90b7be36713eca6b27dbfb1ce44da3b8fcbdd1e5e978df7064ef5f554e7ff22e1d27f9c7d7ecd6961c5db9a71cbd2e SHA512 be949220fe337873a8af788c5107d2afdaedfaaebc57e6a10d1d6114608f32d726f0962f80053d076594d7f7ea4a96cd22a158479526d7948efd546c19a15dd3 +DIST thunderbird-115.1.0-gl.xpi 704525 BLAKE2B e5f614d710057112e5899538f8be9aae59be28b2024daccf676ad29bd7e4ee4eb22b47a878674daec97204e774242b12837d01c8655b3548fcd0fc703a272037 SHA512 81d54df92a32ae9bcd1e2b3e7fea67723858faa944e160a853f67bf8d0023db4e92f78c2c2093d091f5b036d9a57ab0f2f67521bb8c48187ff4ba861a484567e +DIST thunderbird-115.1.0-he.xpi 666525 BLAKE2B e2e88c3b03459f289f8d29210f39c2f7fe66996d1de9c6b2209055d390a492f01435fd3cd74c12470b1b4ed4064a0ceca4938baf1f283952893617a9d3a3b2e5 SHA512 4d7651ea299987bb2f024496ee07c5b52dd5405c583f672edb3f4d5c50f36332fc4a464d24a461e948e9d6c2b3693877bcfdc37449c7be76d2d586dcb6afca61 +DIST thunderbird-115.1.0-hr.xpi 673866 BLAKE2B 6b4565362a14fc704f68ec6d13ca5549c4808df29abdf7be2c0ac977c1476624753bac2414246105ca5c8b5c77b7b8f0aedd30edc1725e4a14622226cb5cdf94 SHA512 58b4a720c43ed978fd941ad26d85742cda7a1af119833912f354c85b5f281b83e9a29d2876f21f7bc51839ff8b8b9362f7900509c2c548cf7011829e39c6cd62 +DIST thunderbird-115.1.0-hsb.xpi 733587 BLAKE2B 6180d255020354dc0c189a5803f668ed076e2c4c6c3bf621100daefaeab46545522e8f70f166d75de8c47ad39a0452297e27b17c3e0e926cabc51dbbf909ce87 SHA512 2f00d3630f3990eaa16b71eec7372bfbfd59bae4fd31dbcde28fecb81c097f6704fa4b34b8ffacd0f3210dfec62c37e9c2ce85198ac84a822fe33321bea42f96 +DIST thunderbird-115.1.0-hu.xpi 736555 BLAKE2B 7ab0eb079324062ae73a6ca96d09cd37868364e1bbaddd58fa4974bc0e5a42c6610710f390ad554902f5def86c40d3786a48b9a6f51f4b0194bc1fbb3a03daa5 SHA512 b8dff2dbb6b9e38bad282480d4c347eba035ce616e47e6de4a472ec6881d9845ae9ad3a5d0a6cdf5060e3d7de81b631b05e994dbfbe3b973229d9fc84338c245 +DIST thunderbird-115.1.0-id.xpi 641649 BLAKE2B 9275671fcb84bc56b9c271189f4d1eb82072f47b39f98aa29fa4ed3f565630c008fea2a35da544cb18b33d2b1494aacc297c86269467d18417cff7319d34e2d2 SHA512 68bf40a00971ae48a8607786d1c9a71dbadf98abf62eff0c896bc8dcb1c84a316111e1d2c763ab6eabf8796c03b35d661efc1ed7b2bd7936af46a9066c0c1a0d +DIST thunderbird-115.1.0-is.xpi 701297 BLAKE2B 7e4d94b547ccd00a452706509f4d9678546fd53d514d9af28c9dc0aacf7a6da42152be12c703101f0850da124d523eae9ec8774ab9cc0c6cc8f564220e7b8ff0 SHA512 5cb58b0a59cb8409a579d6e7c53d8ceea3d88b46d7210c767b7a7a4aeeb50423510d80faa66a532c2c345c1b9494e2905b2f267e807b0a09770dc1b736c55555 +DIST thunderbird-115.1.0-it.xpi 642642 BLAKE2B 4b4d329c179c4d69419b401af7183ba4433476bd2efc614562fbf51a1e66c438d599ebcb99489acd7c325784f2a91e9ca7ac761251ef54d64dadff1932d2c6b9 SHA512 4b1c189928a0057a46f77ea7e0947a991b47dbe0fc1397ad44ffc1001345374ca432869725045f24be1e2e90e27adcc629dc4864c6230efdf7573079e269a73c +DIST thunderbird-115.1.0-ja.xpi 780159 BLAKE2B 55adf6c6741523a5321f05f930b6a0aa7979c9b75e47d24dc43333448b1fa6c3095e6cfb99abcd4bd102a85af01de0dc1707c11c641212b11b92836f1cad0d1a SHA512 62031caaa8014f2a8028a32cac56c0968b0dcc07a2db92eccf07efc5902099e1d6c6fb29b6cc4a8c5033b6a507db14c987cc65b0d5c399a68f8eb4332fe1889c +DIST thunderbird-115.1.0-ka.xpi 762781 BLAKE2B 636389ec96c5d3a5d9b86827ccd376254e29940249034f3db76c1b8da57f2973f8ea6407e2d8455c6c68c29877a1153937579044d8ebc3b86e3916bbb6e00df3 SHA512 2b5186d687934bc4a47a90e0a42e35afbaf1650817c6fc770b65693c62ae8cb4ddb721ea6147c4f1e720dd4e8657cde078df5405c99cac148408c68ba904186c +DIST thunderbird-115.1.0-kab.xpi 698061 BLAKE2B 3edf58db950a2be3efc7fbe799282c82961eb0963b5a7250e6c0f6e80bf7e2abbab57da40f42fa6b8db9857907f7c03dfff616d5a4b6500d071934c995a4b441 SHA512 e18a79d7dbf7cd65f7ffaaec49f355795a5b4e6ae27cb3d9bc99539980d250a26561cdf8f1c502752c30805b1c577450e945bb6a10458573f6cecf028e03d54b +DIST thunderbird-115.1.0-kk.xpi 803988 BLAKE2B e54f27af467908ec2f2b98a54f4c601ef6b16a96f96c5818b3e0861fa46dcedbd6d9e681c7fc2a952f079089a3fcd9494cbe066699922ae61ff821518449a5b5 SHA512 a9afc0b1e7e98afdf541a40585491b8f0f8f69e19fc6d5a468a489bd6c4517725b94f7e55a97f3d7f6948dc1a4228af52979455e18317903f96cd8afec439e8c +DIST thunderbird-115.1.0-ko.xpi 711237 BLAKE2B 784612f90daa0af3e4bc8049276a1bd7c8359323d1e4ad4b759a8f09d08cc74a88cde6af2f823f95e2a2bc8e7da8f9bbfda8491550bd7117981939258de1b774 SHA512 ddfe05abe6d3529f125fb1f54502aaecce2e322c2682f587d713520e09edbb10c17b6c08919d1472298eff43f09e73bdf691b4e46b07b689f5a164fee5238c57 +DIST thunderbird-115.1.0-lt.xpi 679135 BLAKE2B 996771f87fe2d19b485389d696f96d92c84cb480fbe674a6461baec30b1d80192dae45f3e42a5246948ca2900e57f431f6fef660f44a77d9abc8bad8903ebf53 SHA512 659b90a4c2773e3108cd9ce6547d31adb53e5b324ac9e627cc0880735e949e6db7a9b6bddbc2b8116140bf96c766534c39fc8883e768859bdd492e238d55b0e2 +DIST thunderbird-115.1.0-lv.xpi 604644 BLAKE2B 5491efebb0af64c750bed17f1e328f3169814f129fb5f8eb1b027fe3ee7f3ffb5ce16a47a0af775f814569a4d87b2aeb82015293ada3aae3c318e6553ee798ed SHA512 5e5de68905ea1a6a8ed95cf4a7db454cc5504a9962d3aeef163d9674eb1f4c1bf8f516d6e695f95a6f7fe044931e0ef0fa5235747d255f1011ff2be0b7c8e79f +DIST thunderbird-115.1.0-ms.xpi 564864 BLAKE2B d0c52063657924c342a50a9c5a2e0a3d8b781699e9f2d718478eb0e71fd5193d63f6fb61779022a64d57727abc97ff38af37c806d31e612822f992cec7848e4e SHA512 0e38c0d782dd5fae8d52bcc020c17be91e0f01786319a252d9c851421440c7e75b2d458a6336e8d8a38368d2d0751b9004703f68da285eb53f297179d3827d6f +DIST thunderbird-115.1.0-nb-NO.xpi 653021 BLAKE2B fc34efab73f77fed76a9d341e08838949b4e0a42baedf31303e5c5ce8a965803b96b5a5063baee962f37a28515b3a06478cc559f3bb9ae0bb7faee4a45afc76d SHA512 c8c6a908a043cbe4b0914c8803e89a07b4458c42c64c9284ba0d37d1bf619665458140435c40bafc141a763879537e0a7726beab966a97360395035250f4138c +DIST thunderbird-115.1.0-nl.xpi 698602 BLAKE2B 66ce3842bdf5e517b17e692a24a48412717e013948903492a968074cbfc898859b47c6a491f1719c093011e90df82983900cee3455e9118409d9504cc1b1ec95 SHA512 7ae4c771a1a9c5ba1db689a08ae88f485e9a856e680817d6a930f9b3893c41b2d568b048baeff02fce1850a46f3e0dc94c1756829c2ca2a798cec1d6f16a9a7e +DIST thunderbird-115.1.0-nn-NO.xpi 671658 BLAKE2B 6c8c1b130ea53055c025b94851aa14747930ea34c14bcc9e42eb32dacea9cd02a6e0bcfb3da625ad914459bd701cb9d82103d9a2298568e592e3f43e9bf1a08f SHA512 87dc8d20b7882bb9c40b2f50112b13104b407a26ed24ab15b230b5d99e354dc880be3fd9e180ab5e3ec5c91c19e3f6bc5e982ef16ec1d10382df7a621316abde +DIST thunderbird-115.1.0-pa-IN.xpi 654948 BLAKE2B aaa544a5137dd0b59ca51530db509e0cfb18b6645c9f67b9148d8d25c6fc6c9dd13ffe42ce3be77e01588a61c4d41bbea3eecf3a63ea92ba98dc607916004964 SHA512 17b49ac92a26092e658a1b1e42e202b3942c1def84a9ce5426a89047b902df08c2627df9c62c147b91b27f3d752bca46f9e8caf11aea0c1b8592df84185b30a0 +DIST thunderbird-115.1.0-pl.xpi 715584 BLAKE2B 4f0a3902c9bbe65fbddcc2ba782981e0657b706e262adbc21e823e9e16fb327f6a6546acd281c5b4e03c3ca0c0054be7a09fda90fdf84293a6102a81eed4dd33 SHA512 b8f75f310b860dba55502d37ea3debfbce36841ff31e98bfc28bf7aa957080c163ffde1f4c58be69078e5ef80d77370ad435c87087beb2b87e87112691aa6f22 +DIST thunderbird-115.1.0-pt-BR.xpi 706360 BLAKE2B cd63317c8079390cb0bb767acf7e52caf4becc270bdf0e9fa01c79f9a198d18e33c88b06ecb9111e7c178160950eebce7611bcf36c1c873a806e34beaaee300b SHA512 30f2462c67056383c93f2dc6c588e9fe93a868ac67a4269da8526ac04cc23fe28df62ceb16b8aea7305ebae3b649d3b02e1e6b10d405224395f9f61c5d2aac9c +DIST thunderbird-115.1.0-pt-PT.xpi 686943 BLAKE2B c864a3ffcb7fda36cea67fd3e1271afca5c4eb7e2561a4aa1f75a781782007760eedf2cdbab2b5b1f02c9d245cf7b19c7bd9c66363bbe2210cb12783f9f8eb99 SHA512 b985957e2cd58b013df18fba62c4eecfdeca1d317d424fdb9260ba227c6842a4a8dbdffb58009a933d127466b649f9cd9a65b242f750ddd3683ba134461dfc38 +DIST thunderbird-115.1.0-rm.xpi 703120 BLAKE2B 0beaaf957b8be74cbfea2c7de4520ce60a98d6dd3ee2822e348f3949ee7586c4ad8172c930b3e6c618b2d14d101dd2f0513f1f346db3f1f43b5b658ce1a57ab2 SHA512 2ab49a92d6eb260fb2e076ed7624b86c64f683298e919ee4c5cc91f3cb54b3919e199b115a40616fa8bfdfcb606700eddb2e74925b406be6712d02399cb0f394 +DIST thunderbird-115.1.0-ro.xpi 650361 BLAKE2B ccbc67392d6e860e63bb315c55895a81efdf5fb05ceae9d47554e24d3cdea382d9e6c46fd87ac2e4f926a8fd175f22251544a8afe246f6b3223dca268c1716d2 SHA512 23e7f607a85b6f7678eeb01f3bad8aaa196f4aca32fb7b12a43385ac8009ceb5288687fe5c141af149639d98cf5df7e42700a7bc9ab04d0a7c9c87b4fd720dda +DIST thunderbird-115.1.0-ru.xpi 820491 BLAKE2B 5872ab00d433364c0113501fd6f4ffc0eddf9a98db713da6a9b7e33508d90ea0a11d63605bd8b478ae24539124a732e0279234768b2381a8ff61956f8faa3161 SHA512 acc1bb107d5944c5c291a6cc14572498140e74e2a3abe0e38cb2f9d82a4e8898ff5aab0d5f986c106ad180d3d0a8388aab8abbb23ae439a81133b86fa080d01d +DIST thunderbird-115.1.0-sk.xpi 735985 BLAKE2B 293f76542b82a8c099c0c59d75d973c8fa68b74e45d6efade4dcacbcae16139d85d062d8c9b87e7524577c69b6a516e44e495b32ae3d5746c4c8b4e14b0079cb SHA512 9233d480a4bd763db3c5896469626fed52c270dedc3c30a191b1a9fabfee62a84cb96d778fedf5700d6b21d89ee67823ae8ecbdb794927822efd35315158341b +DIST thunderbird-115.1.0-sl.xpi 700231 BLAKE2B 7b94feb009c3456636b26830433638806b523df2e03537b0113791ae06c51a0f44c962ba56c1a63943a65aa2959299bf650df62d244844a85d0f0edc1548ec59 SHA512 173d19883d9660ca84ee7910a41354cc9a9021b2613e7c2103f639e508fa3c61c22e7f6b8ec49ec61263240873d954295ca05aac132f70bc782958e599f45f7a +DIST thunderbird-115.1.0-sq.xpi 716531 BLAKE2B d39c52fe1654dcd6ab2e6cd82cf7b2def942480f1f31a99b6bf81071a91a553ea8239703db2b634e614875712e69ccbc3be00d4b7e516dec68c2dfd49918649c SHA512 f074da8f3466348d3a6d33211f849c20c53cb9fdbf5958c49a658d4f04e00e5ba9b231a8269fe919b7d6fc6e2adbef904d68948d973943dcde72c500e6e28ad9 +DIST thunderbird-115.1.0-sr.xpi 739109 BLAKE2B 0b504aeeb49b6be9e12b24751279c9e286e7c8550fe3bf46e3e4bd22b56d91c92300f0395d86e8d3b31563f79acc736f1d1dd56bd0f6a80a2a79f12f20817a82 SHA512 518b68dc70ea3b62ee87a94f01758c9f28812aca433b34a2d4ad5654c41313cbd7ab5d01a7e7619aaa774c3896ed20d24522fbd1ebe79f3576ea630a214e0e10 +DIST thunderbird-115.1.0-sv-SE.xpi 702026 BLAKE2B 142eb898307ddb041b6013715de6242f7877bf9449ae23abf59cf11ad28b8b5286e7f05706a19d13dc75a6e9a919665f73c9897ed4da9d437985ff26e9320efa SHA512 4c3d36ba2427e058df76129b541cbc71347c315c1dc0b9bcceda3534df89866a7dc9c28cebda707b0f345fb38f0493741611ba1775c52e8f86f94da5e90c2c4e +DIST thunderbird-115.1.0-th.xpi 760811 BLAKE2B f579fc1394f4242f2b130f5ff3f71b3973b511f74fd62be00c902a5ce342718eb5b4a5f1b9ebea5f0bcd2721eb0cb8c0da5b4ed0d84919fc9c6daf0905bff75d SHA512 f87ca968a88a524ab4cbce68aea9e36b77a26693185da9d764d1d6e9e829eafd60750edb0acdf956e8b78e607eea16a1c687389ca848b440c11ec232bfe57d00 +DIST thunderbird-115.1.0-tr.xpi 714066 BLAKE2B aa6ae5385552ba78bf7e3e0e72c3d45c3c0deaa00bd888ebafa3e0996feba1f9b6d82d3c661e6b1f0becb01292a9ea967744cb863951dd90a82a0c8e206102f3 SHA512 4a8865293a1e85b99fc6a414b0c978a397f891338f1ffce4e492f612978232f4d3bcaff303e18270f250b627e7d8c90ebb3d5d8219354d636d08fb492970dee7 +DIST thunderbird-115.1.0-uk.xpi 812675 BLAKE2B c0376e3412422e38304a0efd8243ce706461560593beff059b1ba7ab82b0cd23b42b7a55fb256ce928fc0f6d913fd0b7d14cc60fae1c764b338e81e84e0ac2ce SHA512 be1d4b17ed8c0e374df2abc588603b341be0bbb3416c2856bb58da2e047de5b531fa8afb76b62b424f6d9cb962072477c3ae7a7f0842f0e9d048792853b9dce8 +DIST thunderbird-115.1.0-uz.xpi 579109 BLAKE2B 1c266efe1f3e80e7edae0b315c8092454dd23912f9b9facf01dc928014828d0601356d2dff25f9ad9ea1fa0f154d2f7e22f8b68dcca48d99f9641c034b0ab3c0 SHA512 4fbdf0f19b568d9a3dc2ebe8628b9435faf6e66558d248f11f18ac8bbbfba7813a67addbc941cdd217682a568874878f919f47a4d491e59f7f1b8e27db63b069 +DIST thunderbird-115.1.0-vi.xpi 741663 BLAKE2B 2da0d0b7bf7d7a67d3af3eef0d4d63c4762f47d6221927cadd5dcff33cc9e867544ad7ff6689fdf2fa5266958aa743104e5047f07c433af011a88bc35938d0d8 SHA512 ba2bef97a9fd49e1f16b6c56c509dbba56c4041cb1d99fe1e15d5c3e3f80a3359219a6bf25f454a345eeb5a602168d5afbc8ca0cdc9b4e867b54db17a6b473ca +DIST thunderbird-115.1.0-zh-CN.xpi 739794 BLAKE2B cb528aca23ba476c67225514fa81be4d93b10bee9c76b2df266e22d4599ae550b32b56befe25f2a4f7b8694b43f325a0f746b43fc002c02badd6682b341d0151 SHA512 86fb5511ef1a84c5604c7f8c846619359b2c41af4739cb7aedc10156d5602d5c6f576c5ef53e98c6859294b96b4f80b44c695eae80ecbd7c212b2c141a8e73db +DIST thunderbird-115.1.0-zh-TW.xpi 743421 BLAKE2B 93d4089b90168914f8baec939441d06d8ec6a4799f03baea3580e0c9b40ad0a3ea75e69aece4d35064919cbe9dccc9932cc267bbe6311f3a885e68f21284d30b SHA512 b07b78a826930b26e457148f0ca073a8ad92c9f4ca7f4ee735150d72b1042399b129c67ddbfe5700a944d56492cb5b6fdd9193cd6809c71ac774fe0a72db4421 +DIST thunderbird-115.1.0.source.tar.xz 532785608 BLAKE2B b9fb972c6002f511b6e9bfd585fc235f1fa016597a74d96dff5e2d376a4a1534c3fd2bdf2a114940d44fda902c5d7d2f2d2a8f5de3ca9f1bd3be8bd6d16d0ed2 SHA512 da03935d9f7f9a531877b91e93815481aaa49afdd6d2a68308c59235202a2743afdcbad5604d5d889580936b08382a0773123477778049a47ac6202b2b84b80d EBUILD thunderbird-102.13.0.ebuild 34355 BLAKE2B 54785ef915866d370066db41b3f8fd3126582779271df87d42df3eb8443b074f283aa72e0a2469ae433ae9fef6a5b04baec11de0445cb3c96d093862d12cddcc SHA512 a821ef4d942801187bfdbadfde0771713dcb39bb487b47998578e5700a91c90e5fbcd0f3ac0809487d18afd08139279d5e7bb99c610273c6484171153f2bd54a EBUILD thunderbird-102.14.0.ebuild 34357 BLAKE2B 1bc1fa2ca21197c62513d7ac6de55da86b533f93ef5086cfa2c94b02523191a3fa589d4d8a357b62b50c9a71671361ad2bbea678381316856670dd3f88690fc9 SHA512 39916e3c109ca2ee3f9f867abc40acd7762f3608eab2aea13935e4cfaeac1bbced4550b71eae3544b8a31800a724e3b9c7d58bb58c6e6084ea08a3803a2b9662 EBUILD thunderbird-115.0.1.ebuild 38497 BLAKE2B 9819db27ce7c898d4d32531704ca4c489bef89df367d6e8fe2ab40c0554cb6b963e2e425bb8440ae0538518f9e4fa7509b6478d934f80cb1058c6f2f66d2223b SHA512 d57378ed2ff8dee597b90ef0db70fdc7cb75bac0f4afa24601c40d6aa615322857fe3c88d42e6ecbf0fcdc0dfe8918b26f5ee9a8da69b1e8cda92ab049644045 EBUILD thunderbird-115.0.ebuild 38497 BLAKE2B 3658925307c55d9bf53ebf29b0c66bb2c4a7a49236954db3cc6b7c6d77eb3d3351769f8cc2b82153d2fc8fe39ff5908a130e8265145218ccf246d60c77f27d2f SHA512 b639c3014ed9961537922881493d478f64834b267bf7a47f7bf6b294f91c96ce24779c1d85b24ed461de3bb29b888d84ef1978d4ce8d3f7d06a1e7f6533fe751 +EBUILD thunderbird-115.1.0.ebuild 38497 BLAKE2B 4efd8570ba026f6906387b1563a1f7a93d8a6638e4209199b639a899b5c1b493957dca116cc05e490ccda9323d7aa0b639c4a2649e5300102e177b05e48bc66b SHA512 cf372fc7afbe675481410241d2d2095a4b981ef03dce223a307cca0f382e16e6303c934326743095f57aae3c75d2e08cae1eb82511f4ce0800f8a9c68befd53b MISC metadata.xml 2448 BLAKE2B 3685d528d3211fb49b23b0fb05c67269f1b4466bef7dd6f2d890803961ddc1b1c0d8bc06b2d421c17384b8a3769bac35236f6af07059c0cbf9e694edec8b1dbe SHA512 d9a8983f34c9691ed1d0174cac3c7300995b9f7b877c09271210cc3f2a27dd20d9fbee0c99c1f6c987ab9566eee71a0624d2d68f97c84665c1c500ac8f3ecfb6 diff --git a/mail-client/thunderbird/thunderbird-115.1.0.ebuild b/mail-client/thunderbird/thunderbird-115.1.0.ebuild new file mode 100644 index 000000000000..fd50827dc69b --- /dev/null +++ b/mail-client/thunderbird/thunderbird-115.1.0.ebuild @@ -0,0 +1,1319 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +FIREFOX_PATCHSET="firefox-115esr-patches-04.tar.xz" + +LLVM_MAX_SLOT=16 + +PYTHON_COMPAT=( python3_{9..11} ) +PYTHON_REQ_USE="ncurses,sqlite,ssl" + +WANT_AUTOCONF="2.1" + +VIRTUALX_REQUIRED="manual" + +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 linux-info \ + 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/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" + +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 +X" + +# Thunderbird-only USE flags. +IUSE+=" +system-librnp" + +REQUIRED_USE="|| ( X wayland ) + debug? ( !system-av1 ) + pgo? ( lto ) + wifi? ( dbus )" + +TB_ONLY_DEPEND="!&2 + return 1 + fi + + if use clang && ! tc-ld-is-mold ; 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}" +} + +# This is a straight copypaste from toolchain-funcs.eclass's 'tc-ld-is-lld', and is temporarily +# placed here until toolchain-funcs.eclass gets an official support for mold linker. +# Please see: +# https://github.com/gentoo/gentoo/pull/28366 || +# https://github.com/gentoo/gentoo/pull/28355 +tc-ld-is-mold() { + local out + + # Ensure ld output is in English. + local -x LC_ALL=C + + # First check the linker directly. + out=$($(tc-getLD "$@") --version 2>&1) + if [[ ${out} == *"mold"* ]] ; then + return 0 + fi + + # Then see if they're selecting mold via compiler flags. + # Note: We're assuming they're using LDFLAGS to hold the + # options and not CFLAGS/CXXFLAGS. + local base="${T}/test-tc-linker" + cat <<-EOF > "${base}.c" + int main() { return 0; } + EOF + out=$($(tc-getCC "$@") ${CFLAGS} ${CPPFLAGS} ${LDFLAGS} -Wl,--version "${base}.c" -o "${base}" 2>&1) + rm -f "${base}"* + if [[ ${out} == *"mold"* ]] ; then + return 0 + fi + + # No mold here! + return 1 +} + +virtwl() { + debug-print-function ${FUNCNAME} "$@" + + [[ $# -lt 1 ]] && die "${FUNCNAME} needs at least one argument" + [[ -n $XDG_RUNTIME_DIR ]] || die "${FUNCNAME} needs XDG_RUNTIME_DIR to be set; try xdg_environment_reset" + tinywl -h >/dev/null || die 'tinywl -h failed' + + # TODO: don't run addpredict in utility function. WLR_RENDERER=pixman doesn't work + addpredict /dev/dri + local VIRTWL VIRTWL_PID + coproc VIRTWL { WLR_BACKENDS=headless exec tinywl -s 'echo $WAYLAND_DISPLAY; read _; kill $PPID'; } + local -x WAYLAND_DISPLAY + read WAYLAND_DISPLAY <&${VIRTWL[0]} + + debug-print "${FUNCNAME}: $@" + "$@" + local r=$? + + [[ -n $VIRTWL_PID ]] || die "tinywl exited unexpectedly" + exec {VIRTWL[0]}<&- {VIRTWL[1]}>&- + return $r +} + +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 && tc-ld-is-lld ; 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 + # Update 105.0: "/proc/self/oom_score_adj" isn't enough anymore with pgo, but not sure + # whether that's due to better OOM handling by Firefox (bmo#1771712), or portage + # (PORTAGE_SCHEDULING_POLICY) update... + addpredict /proc + + # May need a wider addpredict when using wayland+pgo. + addpredict /dev/dri + + # 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 + + if ! use ppc64; then + rm -v "${WORKDIR}"/firefox-patches/*ppc64*.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 + + # 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 ..." + + local version_clang=$(clang --version 2>/dev/null | grep -F -- 'clang version' | awk '{ print $3 }') + [[ -n ${version_clang} ]] && version_clang=$(ver_cut 1 "${version_clang}") + [[ -z ${version_clang} ]] && die "Failed to read clang version!" + + if tc-is-gcc; then + have_switched_compiler=yes + fi + AR=llvm-ar + CC=${CHOST}-clang-${version_clang} + CXX=${CHOST}-clang++-${version_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, + # AS is used in a non-standard way by upstream, #bmo1654031 + 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 + mozconfig_add_options_ac '' --enable-project=comm/mail + + # Set Gentoo defaults + 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-tests \ + --disable-updater \ + --disable-wmf \ + --enable-js-shell \ + --enable-legacy-profile-creation \ + --enable-negotiateauth \ + --enable-new-pass-manager \ + --enable-official-branding \ + --enable-release \ + --enable-system-ffi \ + --enable-system-pixman \ + --enable-system-policies \ + --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. + # bug 833001, bug 903411#c8 + if use ppc64 || use riscv; then + mozconfig_add_options_ac '' --disable-sandbox + else + mozconfig_add_options_ac '' --enable-sandbox + fi + + # Enable JIT on riscv64 explicitly + # Can be removed once upstream enable it by default in the future. + use riscv && mozconfig_add_options_ac 'Enable JIT for RISC-V 64' --enable-jit + + 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 X && use wayland ; then + mozconfig_add_options_ac '+x11+wayland' --enable-default-toolkit=cairo-gtk3-x11-wayland + elif ! use X && use wayland ; then + mozconfig_add_options_ac '+wayland' --enable-default-toolkit=cairo-gtk3-wayland-only + else + mozconfig_add_options_ac '+x11' --enable-default-toolkit=cairo-gtk3 + fi + + if use lto ; then + if use clang ; then + # Upstream only supports lld or mold when using clang. + if tc-ld-is-mold ; then + mozconfig_add_options_ac "using ld=mold due to system selection" --enable-linker=mold + else + mozconfig_add_options_ac "forcing ld=lld due to USE=clang and USE=lto" --enable-linker=lld + fi + + mozconfig_add_options_ac '+lto' --enable-lto=cross + + else + # ThinLTO is currently broken, see bmo#1644409. + # mold does not support gcc+lto combination. + 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 + # lld is upstream's default + if tc-ld-is-mold ; then + mozconfig_add_options_ac "using ld=mold due to system selection" --enable-linker=mold + else + mozconfig_add_options_ac "forcing ld=lld due to USE=clang" --enable-linker=lld + fi + + else + if tc-ld-is-mold ; then + mozconfig_add_options_ac "using ld=mold due to system selection" --enable-linker=mold + else + mozconfig_add_options_ac "linker is set to bfd due to USE=-clang" --enable-linker=bfd + fi + 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 + mozconfig_add_options_ac '+debug' --enable-real-time-tracing + else + mozconfig_add_options_ac 'Gentoo defaults' --disable-real-time-tracing + + 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 + + if use elibc_musl && use arm64 ; then + mozconfig_add_options_ac 'elf-hack is broken when using musl/arm64' --disable-elf-hack + 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 tc-ld-is-mold && use lto; then + # increase ulimit with mold+lto, bugs #892641, #907485 + if ! ulimit -n 16384 1>/dev/null 2>&1 ; then + ewarn "Unable to modify ulimits - building with mold+lto might fail due to low ulimit -n resources." + ewarn "Please see bugs #892641 & #907485." + else + ulimit -n 16384 + fi + fi + + if use pgo; then + # Reset and cleanup environment variables used by GNOME/XDG + gnome2_environment_reset + + addpredict /root + + if ! use X; then + virtx_cmd=virtwl + else + virtx_cmd=virtx + fi + fi + + if ! use X; then + local -x GDK_BACKEND=wayland + else + local -x GDK_BACKEND=x11 + fi + + ${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 +} -- cgit v1.2.3