diff options
author | 2025-02-08 09:55:47 +0200 | |
---|---|---|
committer | 2025-02-08 09:55:47 +0200 | |
commit | 887f7fb71a4e111e66cdf14bd331ec06c03d8608 (patch) | |
tree | 9c0b50f88dab2c7efa0a537f05fb554a56aaddad /mail-client | |
parent | mail-client/thunderbird-bin: drop 128.5.2, 128.6.0 (diff) | |
download | gentoo-887f7fb71a4e111e66cdf14bd331ec06c03d8608.tar.gz gentoo-887f7fb71a4e111e66cdf14bd331ec06c03d8608.tar.bz2 gentoo-887f7fb71a4e111e66cdf14bd331ec06c03d8608.zip |
mail-client/thunderbird: drop 128.5.0, 128.5.1, 128.5.2, 128.6.0
Bug: https://bugs.gentoo.org/948114
Bug: https://bugs.gentoo.org/945051
Signed-off-by: Joonas Niilola <juippis@gentoo.org>
Diffstat (limited to 'mail-client')
-rw-r--r-- | mail-client/thunderbird/Manifest | 261 | ||||
-rw-r--r-- | mail-client/thunderbird/thunderbird-128.5.0.ebuild | 1163 | ||||
-rw-r--r-- | mail-client/thunderbird/thunderbird-128.5.1.ebuild | 1163 | ||||
-rw-r--r-- | mail-client/thunderbird/thunderbird-128.5.2.ebuild | 1163 | ||||
-rw-r--r-- | mail-client/thunderbird/thunderbird-128.6.0.ebuild | 1163 |
5 files changed, 0 insertions, 4913 deletions
diff --git a/mail-client/thunderbird/Manifest b/mail-client/thunderbird/Manifest index 8a17dba44e5a..3f5a95ec183a 100644 --- a/mail-client/thunderbird/Manifest +++ b/mail-client/thunderbird/Manifest @@ -1,265 +1,4 @@ -DIST firefox-128esr-patches-07.tar.xz 18856 BLAKE2B 44d0ddf11518c7eef0a96de4f475a6ae1535e43e5bf89b8f61dc95330f28d6a053d08e6a183cf71432107256c83cd6ee6f742b235ca82babe4dd83698bf80d07 SHA512 60b4f18f5d91fc25f86cceccd561b55f167299908fbf2f9d7d69a8ce299c643f0b538d613d4348e42dd17c3812e4fa315e15004614af1f40fbe2adda417a1a81 DIST firefox-128esr-patches-08.tar.xz 17564 BLAKE2B d904b74fdae2e76866ded11de5377a7b6883d35996b358ae3419ffb7da53b04b2c7d4bb10d48998a8318a84e8221de39955289cb33a8f278c131b4af2006be62 SHA512 344a2d04dec679cd8ed714dcecc9dd5b56696803cee9267e7c0c45c439d78728e7eae674bb5f0a64f2e5802dc59c1ec25f1703885024d88bda8a02e2b3e0d69e -DIST thunderbird-128.5.0esr-af.xpi 530351 BLAKE2B 9acc5f6ff8550ea7e8ec4b66eb2d8b1fa5e03a6b1d57284ccc660f0b644ae57b100810a5323a7095e8cb715f7a2658cb6b699bfb78fc0277c0c34b4e547a710d SHA512 53dc9a9acf7eb2690f4c87f9845cdca3ffea5ba0e7fb4322048fd28a819d6dc7aa22be8eb7f2da069535e9c44873f3141176195e86c03ca2673ea886f53ed9a7 -DIST thunderbird-128.5.0esr-ar.xpi 686986 BLAKE2B 0bcff3b9818f9fda817411e6dfd991bc1e7cabf51e0796c83cf2b56855f26954089fff42ef9eb9435e88f01ab75295b0e49c03b3c7cff10bf1ec634d5108de31 SHA512 495b539e3458da7e643d210d6d4171bd9b2eacf1aa1ea7a65a7ce3b9edee503e71f5955bb44d0721b75e9ef54f87ca72375820d19542912f147dec75fd313094 -DIST thunderbird-128.5.0esr-ast.xpi 561056 BLAKE2B fb337bc98db615a407b23ba82cdf72413fbb4267c40791fa15e0e3742fedb44730ab93c7b69cba76c8fdbe0b4217fd7a7f88b54f0d5b7591d2b548ece9b15c78 SHA512 b9795142448137f46823d6468a31bc2c8527657bb8ab51eeacdb87d4edb9d24795fa5e4c6b0de3c46c21284399f9abe05271900f019317af937cec1addeeeb64 -DIST thunderbird-128.5.0esr-be.xpi 772992 BLAKE2B 712aa5e3b6b90ce3951fc44405485f077f14b65981f8794a3af50a683057a356e5f8bf1f160b877b6fde46172f58dff66609147a6af541cc7306c71ca9596db8 SHA512 65c3bd401c119c4bf5f64ac70ea836301a732968c095de0a34646546a1f02efe32a88f37f0882459086165517b1ad485c7baf478cfc8f5bb697fe98f33dab640 -DIST thunderbird-128.5.0esr-bg.xpi 812325 BLAKE2B 5bb9ece3032c650665b5459690e2f4971451dd91f567e0fad7befd223980d50a8dbe04105e110bebdc1d7e8d56dfd17e87ed70a6759e87ab89b6ce4fd732c5ee SHA512 124d1bbfce7eb2e9f7f940b40a8111a7458e1a3a62a550f99380c8e9de0546d6e9a6b6336bca30f54add6acf2b6819fcb2850a1979cdae6df41ae4410f401b29 -DIST thunderbird-128.5.0esr-br.xpi 655128 BLAKE2B d02bcc8259032269a0c07dec22e0d53468e888ab3f9157b76b24d1ecbd15377138cb3e9f7db240b38ca62b67aa08fa734f780634f26089597b54fcf8293384b3 SHA512 83484a9094e3a996e13fabcc1fa440fb1c4b0ea9adc129fbf099a2495a1d2fb4a3e21e54dadab30b786b9a975cf99fe3b53468cdaab0251c69d3826c699a1ef9 -DIST thunderbird-128.5.0esr-ca.xpi 711079 BLAKE2B fc175acd0a21f22f9170b869d972537c26f24796b66ef95de4b364eb3018b2320bcba3009c7a05eb20e1975c806b940c42c5cb877959eb9dc2bef016c145eb24 SHA512 d9d614b0d75bc0531cbb0739fbcaaadc26ec97853bf584d07ceaaa29d77678838f43702ea62878f8d146c17cb5ff020cccb3a5b4ac6c5074fc790ea9cedaf865 -DIST thunderbird-128.5.0esr-cak.xpi 672198 BLAKE2B 3a8638ab7eb2fdb04472a266b942896badf27a2a764af83a2e31305a3a4021816df00eb3d976fe3997a9ee6b5fb0752a8576ef5b83db4e28ac1a6efcdc595d1e SHA512 4c9c343466631f29f1f1c32eaca6bcbc7eadac32b633387d5918bd9644fd0d82449c73814c254fe6ee3d935684f9b14312676da2b4c051eb2bf5e57a3fd7342c -DIST thunderbird-128.5.0esr-cs.xpi 791610 BLAKE2B 1935e0bfe24c2f9bd993d619a49b2b10df48a0f7d83787b2473369eaa7180f59653cd6e38a908b6bb75bd6137f5e2db85c88824a9140883a5548411723ab5507 SHA512 897877870dad29513c0efe962dd55eadc9535d61d610586bf9c43e8772fa03575a141ac9653d302f3e371319362831dbc9206673515547659b939908b73bf187 -DIST thunderbird-128.5.0esr-cy.xpi 756816 BLAKE2B 79033eb79c2f2d1a06d9f9faa502fb083c25663cbc312284bf44a12c925c0c9706b9608b0be00a6dccc70a3bb85256d3c93a1442cd9fb0aa5a28de1f750c4998 SHA512 02229021b3360fe10e661a83c4ad015881c577907ff8f7422720edefed229b6fe03a1ee20df2a824a79877321167c28b973100d02abaa04bd6de252c64a2137e -DIST thunderbird-128.5.0esr-da.xpi 740058 BLAKE2B a27b3fe97e4cd511cc2a546d40bec3226fa00c86c29e57b2f311dbcd17eb4623e9256e5d9c3971f5fd49f5d30890f843dfccff1bd2cda2bab366601ae0fd222c SHA512 277f9afcaaacf9eb866fcd5dc05fe04a5a94200fb76d3ad1aa7a5b2322a963b41391998d8c4850e9947b99c80d200bbae5b9d32084e5d1bc6fee2267b61b41c2 -DIST thunderbird-128.5.0esr-de.xpi 772209 BLAKE2B 185dd86b68a2da15ea86b911b2aebc6584167da476a3bd1fa9e959290f69f70e1654950a86c3336041108069b8eae3432dea39a9925499d49fa8326a8392e15a SHA512 8d40e5fd0caec6431ea3efe087e5380b13e891544e5e262edb417787f88c4881ed920078fddf6ccb52d2602e355f48f4a04b277607534309952cc962a7da8687 -DIST thunderbird-128.5.0esr-dsb.xpi 790370 BLAKE2B 7c4349a14f84a7be2c84c18b1ff9d1eea1916b64250ba4bb6f37b7491d9bb09d93b1bc19292b01add899cfbbd203253676ae3677aef68a0cd767e572fb0c9fd7 SHA512 d53e828a20e2de21980e497e5f1ae36eef5097bffc1ce4d62a62d6ac7463308e9ab65dbabc5905874c3ddf4f474a6e6836cf756d09ceeca0280aa52960e04329 -DIST thunderbird-128.5.0esr-el.xpi 895923 BLAKE2B 0be00b93d4558f746a3fcd1f4d77756273987ba7a7a31d77ac55f56d46f81e3cb8eaaf7f2e685be44bd3f6833ebeb7c8d8a74fe3d5ef4e712a28e62fd5d66c06 SHA512 0c77cc86bec4f8b798db55daa4d8c426eab2f417200d74ca2c9d4061b689fce2d88f921e3f4896f4917e37f0dc5a3b53e9716eba437bdc088ff65e930645d108 -DIST thunderbird-128.5.0esr-en-CA.xpi 705215 BLAKE2B 7f29282cb82886e1306251566ada7b43f23f39af60bf5328bb9760443962b3e4acce7f39a74961750414e9ea079d0f3c57c6f4783f6d4f685c0d08b138fff6c1 SHA512 5224060e611d899eb492b55958d436e7d5e7930d967519e2dbf80a7c0c6f7b6fc4ba6e1c53ac0156e8fcb86e0f37af38a0a1a6bb48a106cf36f8b3de1609db99 -DIST thunderbird-128.5.0esr-en-GB.xpi 709688 BLAKE2B 464e2804800a3dc7b8268b402c9d255713f056db1d2d0ebb153c98d7faa5e28802f956fdce576335a9b472ce76f9fe96128f76b7c4d32f1a14fdd8ca1bc3189d SHA512 b680aa9cdc4d1179bc0b0da869043842c1abd9a696b05d24f76eea79373a66a2497046ff07c1f43373d71a28efd238a96fef463b1c4de7ae0b085bdfb31ad051 -DIST thunderbird-128.5.0esr-es-AR.xpi 765756 BLAKE2B 7d274a6489a2616e2f1808536722817a11fe0048f4c93b5b6bc994a333f87db85a8666a6841c40adfdb5ed682bae7f67ae2f2b96787caf907e0382d2b3484392 SHA512 45635ca51aef8e514e1b34f31e7d85ff07a2b169f3bd29e329f093a68110e822dd05675626e5d961355cfec99b89dd3a7cc432fb2b1a90eaefa0cadee5ca116a -DIST thunderbird-128.5.0esr-es-ES.xpi 733785 BLAKE2B 23e75d0c77f24013c6a17337e1b73d3d9bf1d628632cd361b60acdd77242057a56c11ee50f2ffebc0806095a7fd886ef37e64d0afba150d4c540886e7416858d SHA512 3fea33e325904ae5db375fca4b84bd7fd9bce2a9db9ffaa778d919e384a43424bdf1f0ff6fe1768f5413a7457a5db9eef6ae3e7c8ae878171a900cfa40c04c10 -DIST thunderbird-128.5.0esr-es-MX.xpi 749784 BLAKE2B b9b51d7c3d21fa009a65acaddf0c844a10524e99defd9387797ea2450e8a20ffe19f521207dfd42d71bb6d62e3a3c7a54157da9106aff88672997b2a80c86cef SHA512 f41e4e374db535eaa8edf1a0ff67941690f58fba24186e07954f30393c7b3a5c24e18df71beb8b9af98393d9c1b0e6f161be59c2b37ae685a3f8ce0dd2781980 -DIST thunderbird-128.5.0esr-et.xpi 696776 BLAKE2B 6f41b573d2df2784e82c216a3f482698dcc59a667d4508e4cee3ba371626e1bcd924acc784bf609a2f85b18bc5d312e90df178d004901e0e3b3c7f8288ab2011 SHA512 cef57f9e3f16a09a973aabadd73181ca0661366ccc951ec68b081ec477643aecfa2ed4801d569860c4c30ac7b837ea07cc077df5ef29336734be5b71376fc1d9 -DIST thunderbird-128.5.0esr-eu.xpi 740306 BLAKE2B ca209367087e3c4891532fda772c6c8e431b57e33d8aebcef26e36498d45221677fc7276351538e3739a17dc3df63a05e0f322918288c097c67e5c1a9c9c8e96 SHA512 d612f6d922c18b276b0d7204a367563880fe410eec911edc9ca885c941ee503eb9734d16211f45041ece597dbfb9ea275ce4d726f81566a46f37221c090cd938 -DIST thunderbird-128.5.0esr-fi.xpi 738932 BLAKE2B 6f8cd071a845f81f3ebeecd57bf163b66f5e559ac585d99f763f836313b7de869d099ada483039f8e120dd43b68b198864142b91695f74ecfa03f4a3215ac3ce SHA512 de3857547e7ad9261ab7f292395c998db6dfbc163d82073ae8fda9f49bb29646a53cbbb9bafe30edfec1e592fd55a900c42b762b12cc46815bcef5df576cd0aa -DIST thunderbird-128.5.0esr-fr.xpi 777366 BLAKE2B 7abfac7d9284a319001ba8f52e5ab9bae1bbf7ff390eadbfc724a4039318f51ea521f6413fd8d6dd0efea59df5c2a48447fae5abe45f757172dbf0767563311a SHA512 78e92d88a9f858af5b99dcf312b6e8d08ea058ff731d3ca54a5ac08dd5e7e475899324f1c2a4d047ebe447721c16757c650f6c67755aa434ec4651a85d889262 -DIST thunderbird-128.5.0esr-fy-NL.xpi 759930 BLAKE2B 6679249ab2f4583404d11ede703d5326324773177bfcbd8824756a77f50b253c237bbf94e6cfb987b1bd97873ea0d9aad19cb3bcb69788f59b511e862372eb59 SHA512 e5666cddff99b559da7239de8571ac9f5b8f145c3d890b3bec7a673ca30312cb89a27c7684f4e14fec0b6bff6872bb169576892f21364de08f58de2f3f29f027 -DIST thunderbird-128.5.0esr-ga-IE.xpi 616370 BLAKE2B 93d0aa8873eeeb2370519ab65f262e1403c7ab6ac10091070b6143b2e1c6ecd3e24d651868a78d996887b083e36370caca9832d87818db3ab7e8051e63fdb7e9 SHA512 52ee03469b4cad6b2e610cb10f8b648a3e072a414360dad9b22101b0098313031e5e346bdc4e3a8a1736f356fe5288be939cd1d12ead8217cd535b21f72be899 -DIST thunderbird-128.5.0esr-gd.xpi 729140 BLAKE2B b734186fc9ac7e82cca224534ada1c39d5203d5f88d4a4b2e6649f67d995d506733b9506c93a27df58df124f29636841ee053d552862d0dc4c15df0fc858565e SHA512 54f668f9a480b53b6909525e683589f95f8d4ba51a4d85bf70011d80ef4225605b3fba26b2c722b249c9efcbda519df155025be9ae7df9d73cc627d5eae535f7 -DIST thunderbird-128.5.0esr-gl.xpi 742178 BLAKE2B ba026bc4ca3d769c36a509da64eefae6adfc1bccd4dc28a861bde513a42f8e29f901230cbfc89d36ec67bcf0fa65092972c220e3c56d2c47e8a12370a4053273 SHA512 428757d7f1d326bb7db92d833a1a682a9353a6dbe22e1c7fad6b90769b0cdc515bded53c2c4ccdc2d17b3a8d36e0484e85782afdaecd49c9fe85ef63c8e09fd5 -DIST thunderbird-128.5.0esr-he.xpi 703449 BLAKE2B 41d0e4317bddee2eea5b3265cbd1dc3ed4984efb54f650e5c32935e5f0601b324c2dbab7a4a68c6f2f50831d71e6db2bb6836a7bf12aebbb467dc2f5bc0b5c7b SHA512 09eda7809f69292236a9e2bc8d270734af7f2ce8c922b5050c982c7dcaabaf46b6ae172a3eb7094298407741a34ffddd1ba52ea50e5a41bc7ea18c272f355a14 -DIST thunderbird-128.5.0esr-hr.xpi 720120 BLAKE2B 7f55fe2d024664d72a727795ed442f06ae6ef3a1ac82b04b5520cd61af84988b4062cf35de9ff214bc9b215bf090db6e7b7647b07fc665b3b20b334b5ca64849 SHA512 1936d093e37fe1b4bfb94240f231b938674deca55cee33691531d9e11ba0892b1a8e4b687371eb5d9a9d1dcfb2f84bb5ca6e9bf2600e97243373be909fc8760b -DIST thunderbird-128.5.0esr-hsb.xpi 787750 BLAKE2B 0aadac53c786f42d706f3c5c8af9addaeb1a22cd707e9656996c4711179a85596caf95a1616cb9a7229bfc3f759b8283a02cf614b5a3b4865397d75bba2de10c SHA512 e91fb57d82c42f0ba123464650f43f83ec43c4d18321fbe9200828b0f842f4743d8a7e1451ad85cf16cef0c581d9ebc620558a279db33dd3f0d6ba8630de9fef -DIST thunderbird-128.5.0esr-hu.xpi 790232 BLAKE2B a62278a31d39f3253e4de51738ba3ea76c5984deec8217a21f916d0795a9dad02a66e206df845399c733dab7accb1bd6e10b8ce91796cf55f33ff33a72d8757e SHA512 a2a790b3d325885159f025007d747a00d32c212a31b946783cfc89cd3f899a5ac9285d69f099ec1b3c449ab7b34506d9e664ed0d1732aad3a1911983cb244487 -DIST thunderbird-128.5.0esr-id.xpi 710328 BLAKE2B 14eb7be38883b8bb8a1a755bad836140ed535615ed705b3d8eaf919389cc3558eef34607ad46eb6bf3c4c9e48193b21ea82fb9ed2b91060f8da85106478f21cf SHA512 ffd20753ba6d3e588ff373a9d989169963634b69e5f45ab7fb8afe1222e2acc6e278fd85c9542fdfcc341e857f1fb8aa640d3b1df53096502c64a6ee5a94c539 -DIST thunderbird-128.5.0esr-is.xpi 751189 BLAKE2B 34196fed2963f769ed594fb4f11530c432959844b1c99ad23810aa9053f6c0c0a3b7b51f2935132c877c4c167b71e7c012ce7349cca84303fde3a382eea7ace4 SHA512 b7c9e3b6e05bbf71b0220c60f6d3fc494aa0d912567057048fe30d7194ede7d8be7d10e015a307c1e90f68070674a8be21bf0be5ef05e008bd9f4bbb8fe509b4 -DIST thunderbird-128.5.0esr-it.xpi 697097 BLAKE2B e391d713ebcc6351c23d58aa638cbf2654640e7568645d010cf6984b3ec518219337f8ae460a2e8b42ae9c675248015e6e56c7603ffb01bf561fab9681f1dae9 SHA512 1455f0c7525f5bf73ef6f23aa6cc79f010356017b617e878443477a6903531423610540c913e66922cb91c43d4d54c83d65bdba2a7dfa58fb8bfea77b95bc39d -DIST thunderbird-128.5.0esr-ja.xpi 817724 BLAKE2B e46cead3eddf054093641f2fb36d1237966491403c044d7c1c770510fe3befe12b80860c262f436db4c9571e68b09712751723a8ef92ad0cc1f29d00910619ec SHA512 95e35bcf147188072b02cf8728d611efb84c0b64e10f5e3bc04040be6ebf8df471cf237615fc38c68de8149f03c56802bd3c1fe4f6da238f3b4c875e2e741ffd -DIST thunderbird-128.5.0esr-ka.xpi 796715 BLAKE2B d9f31df4dc2e741ecf9c8415a49f67ad31a17155dd65e02fcd40b6da5ebaf083d91c34bf83769f8dd322fdb7260358e934b8a78fc24aa0b015e37238c9de0b3c SHA512 90b87fcbf08449102130df7e39e8c6cdedf5009f0af221f98aeda87ec3748e1e90c972c111f4188cdc77bcac99291a245bd718765604fb11afbb182bb36a84e2 -DIST thunderbird-128.5.0esr-kab.xpi 735477 BLAKE2B 21f3513331db2d486853e7e2855d1ecf92defbe387e3f5af196643907bc3a9126abbe50d72975fee8efd665911fb14e39a6a5fcf62a4224acb8d49af115bd75d SHA512 48160ddf97c9524de221474f5ebdac2a90d1fbb3b6f599e45bfeca192b89f65ac907ca33999f23abbf3cf4a4b7720c67d0e5743c73cc8048ee20055cd7c81fc3 -DIST thunderbird-128.5.0esr-kk.xpi 865514 BLAKE2B 91200efb052caabd1487185553de69b6018ce2742a6c703333188cbab49df0bf4487f8f26d68810f4b5ef0ed6a64dc6d01cd962d9af345d468094a6639c38f27 SHA512 34e959175eb5863cc90c58c5a003b600844bf0acb590ba5af317a4069b7395a36dd45a7bfcd30f5e7c823c58340974a6094aae24efce818e90f2af40a75bffc2 -DIST thunderbird-128.5.0esr-ko.xpi 762643 BLAKE2B be9bc064944399f977766cb304dec46411ac945b03d37121711dd318ceabd6c939792171ff437eb44888b9f7764b662b4d8a97a12d33defb1bd83412c9e55fdf SHA512 41715c1959e4f6e922f42ea4e41bac6acae6f9e293fd6c1e3fb9274e2b2d821a9a177533727d33544f1b63f5e4f9a20d3dc49dacdf63cd9f7ed4e863c5f33af6 -DIST thunderbird-128.5.0esr-lt.xpi 701412 BLAKE2B 6333eb7793aea6418f22266375f564291e3d97f9a9426567acf137213c4593945baf91799fff3616de31d21a51fe584934a08eb429f9163c8c8da2c45b1d509d SHA512 b30bd733412c85efbaa78e3a8a380e0379bb6060ff36a9fc6d02ee8cd4005eabe4351b97e5742626185c4bf22fc901a18ae6a41b3d7986bf3c2b08bf006d3702 -DIST thunderbird-128.5.0esr-lv.xpi 625982 BLAKE2B 6c9c66ab777a196952b52a6925c5a41706c36083d69eba1d8795f910da5e782d729dab909e4dd8063846c5322106837b2b92d0cf474453edec8118cabd99082d SHA512 c42f8342384f4d3521a6f2bf352c6fd7e33f9efb5713365be9144f3ffe3452c95fd2861735ab2b0b7c7175f2799dd47433f91dc1ec10bc9241b9ee88e6425413 -DIST thunderbird-128.5.0esr-ms.xpi 581576 BLAKE2B 87e439d4c3ed3bb158aa40efa5bf9f65d62d6cffaa1b70fe9793d5e954270368ce115df6a7917c07240744a5da13c318c9d285b1016f9c9eb2d2e3b536c3e168 SHA512 6429586e01f65cda33b316465c67f47b6620409171068bee6c20e478bff571c3e84fd0e64b2dd70bfb853a4c0de25a98da76f5c8e0581d3c42f5827b79c9f9b5 -DIST thunderbird-128.5.0esr-nb-NO.xpi 708562 BLAKE2B db83a3937ccdf9892acaacfe43eeed431bd9a9caa18b67548e51dc6d9bff070a62b854f0f6cecd95cda463e4112f8827a12e65705614d001db81e878dee963bb SHA512 1ba398a72982bcbc26fbed402b4c13828ca21a5c439014489ebd22858c0b03b5a5d9a9134bbfde3657fb7b618f60a4ff71919d9e41dfe20b1ba43bccd1173f47 -DIST thunderbird-128.5.0esr-nl.xpi 751614 BLAKE2B 8fd5974d028c305f572fd0d59abbb383039ba90e972830dc7199aa9fd752f26ced405187e511f6e76c1e20273c309fcc54395c407cb3b002c233d71032858b34 SHA512 0e320d39ff82d13c21cc99743ef8fa44fa3d809a287adc5e928f27d63873dba239ca0b9c734d8b1b4d13f43ba7db52dcf6f5f752974997232ba9bcc63f9c1ae1 -DIST thunderbird-128.5.0esr-nn-NO.xpi 729658 BLAKE2B ca264e70b4192dd923d4293cecf1cb40d41da9d682041ba8e9b9f4b1a4c14b34b15eebe07f764ed4ba95d49d9b6e50b11cb41a2911a795efe0f5667497801b00 SHA512 83261113c60145cb67583b9760d2aa639e639dce889fa64a5d39d686c4f58b53389b68a29f7b0c13a8e1eadc5f335cdfceaaf7ed69e6956a4b7960c6026f104f -DIST thunderbird-128.5.0esr-pa-IN.xpi 688140 BLAKE2B fb4064ccc8959136bb34760e5ac59fc65ca01a402bcca7de082be4c2323da0fa590532fd8ae1bed576939882425b6bf0717a08572055d5b3cc876c65aacbb5a2 SHA512 023421c6a2e57f2a5f32416ac174bda5210e8c2c7ff681f3d5cb29cab5498d2a3929efe7969f2c6f71daed22b689b758d3e3bb1b5ea56656fdc3c10dc6ec5f77 -DIST thunderbird-128.5.0esr-pl.xpi 770781 BLAKE2B 2e7e1307d1f9cb85ad48bf551517aa61e216a2f1306bee1810b0d2cae62c9dee9518e7c25ce6813572d162e81f3d3770e06e1cff775402a0324066d327e3888e SHA512 872381484d4ac166080022af38d1a33d97966215607a64cd4f2df88b8357eae961a9d1e2ddd71ef78dd90dab5d35523aac65a9ea5cacf6e2fc05074f17f5d28a -DIST thunderbird-128.5.0esr-pt-BR.xpi 758847 BLAKE2B 06cadbe89004117ea21ec5eb5042491f6204755a904b6bdee507058c149d826a38a7b4bdfd7e8539164eb8a0e297deae75d4f7f04e1153c8a0b641b9076efbcb SHA512 09c5fe1b13ebbcdf01c6166fc8fd387d233eb7c2b64dc4fda6db0a6849093d8482615483f2eee0544e8c1db2e22319616eac9b600d77987447952ba8ac0e78ab -DIST thunderbird-128.5.0esr-pt-PT.xpi 752026 BLAKE2B 67498c3a84b797ed6347f26290c79efaad9caa650fb2019b7b301d199eb7c509843695dd91effaf7b77c6829bfee2ad8bd5b417e2bc1fd5ba019a41a37a5b31f SHA512 3d6ae68ab6746adc9c5c20c522ce515bfbae47d1e4678b7e69a0f367a492e07221ac7e3ce889e62bb499cc71cbdb976f8e6f59a73f442fb2c35abcbdbea493de -DIST thunderbird-128.5.0esr-rm.xpi 754446 BLAKE2B ef5c4e987d3b278088fc267dfacfac0523fed60e8a4c657306da071eee79d15bf1e9fe10bd7ddb0dc9e245f2809f6ac148b2d10032159950fcf6cf7fcb59ad9e SHA512 9b848d3185d91fe59c3e3fba4f438ce8e417199a0118e8c6144f670aa86080777d2917267c37137a0807255d88838a419ab6798719d9bda71a45d198210d26b6 -DIST thunderbird-128.5.0esr-ro.xpi 670228 BLAKE2B 2af2cae7ef0f095c8250bb918e87863b9d6e4df0a1ce8e85f7e34a2e729f19106159fe633a72a5911dbfd52aeadc5ca4d5c272ded9685cdf0f02de838d3346c3 SHA512 7c1a69b5bb81e46f31e0edfa947367211a70f518a98890ecce86509cb19689cdd3af8e9c9fa356c0577ad34340608f2aca08fbb66507aef6453e205363962f9f -DIST thunderbird-128.5.0esr-ru.xpi 880798 BLAKE2B 56cc9968bd14d7b9b8d909912ac3895d9d146c4a8b35b53616c402f53dcddeedd41607b31a16a39e8a21b0fba22f4afc9492bb6d3bba974327c9048ad4f24aa0 SHA512 87d4899ac1b6ebf4b78f0583920e6038cc639263409d173cd8cddb7f0fee2f0a5ac33fcb02197b81eecf4b19f8c9e287f23008771fe283c3f2e59bf5bfa890d9 -DIST thunderbird-128.5.0esr-sk.xpi 792221 BLAKE2B 9378ed3b730397aa29678230d6aa188718173125d1170aa894e16c302c37df96c5c4e7d655c48cd4008308284ce7b071cb922b4421d97bf3ead0900b1c00e6e6 SHA512 c4587bd9484047cff5434052fc4e168b86b68f51bfe926b49fc6008ce21531cf6dfef0f4315c58e5e3757c5f651f4b95c385403cc6cfdd3655e3842b477133d6 -DIST thunderbird-128.5.0esr-sl.xpi 751650 BLAKE2B 39085ba3f54b3228b21f2cbe73b0f98d204045375f815624ebc0c3f366ec1d02b69f0bd80a18feeecf43686b648f443ae51c069f6e5be3287b9b9dcb6ee47d5a SHA512 ede871661fc6ab45c9fe99a58878386fd183137760bd820d2df5189219a5fe1bdddaafb9c60a794cf6af617d78f0bdfd80629546dded280f54f1f80a15cbc9f6 -DIST thunderbird-128.5.0esr-sq.xpi 774998 BLAKE2B f224d82e8380670bf08ad5a91e5b767105460fad824d9bef844cf06797ec37c188f78db58f7bdf21417a44b06bdc6fca9a351a4d345eef3ad23347e72f51365d SHA512 ca1ecc11733d655f1f70abb396ebb721c8d3e2163c6408ffd4007c0b163c33d758c92db66f5957032445c9242c295f36f0af26abef6c49d9159a309c7ee45131 -DIST thunderbird-128.5.0esr-sr.xpi 771753 BLAKE2B 4b8abbf773465662da651782abaec4610d4cf13ec222bbdbe695437096e0aaf2150985fb3195b0e586b17c1e4453b3fcbfceb6fb31b20c67ee1ead7e40ca5f39 SHA512 205595572298fe1b802fd46b9d1cfefdb2d28db31fa71bdc715ffde01bc8956489c1237f5f3512d963d043298556bc4aeb72528edc5b434126e1ccee72a0fc84 -DIST thunderbird-128.5.0esr-sv-SE.xpi 754940 BLAKE2B 315d0d89444fa5c0757002bb77e2bf0d2ce063c7a67924b331202675248013f71401931dc837e0b3127d5d1cb3c9e3c63b9f5bbfeba9ea77abd32bbf710ecad2 SHA512 eb0d42e82d48127c2e4ff03cad6b54440bfc3106487406daf3ce6568d4884d065393703f2ebf7469dbe08bf20fd913b685dcb54f49fd053628cba2888361e6ea -DIST thunderbird-128.5.0esr-th.xpi 819693 BLAKE2B 14b200b2d2a47e8659db606adf127424d4f2ecadb80f9616e51ef195869fed683673c364a94d61e8c5d9af3bed35bbc1cb738edcb88bc12575d7a7ece57868dc SHA512 ce16cb2f8b3f23ed4fbf8732e21d608bb78af4c7760d16fa458260e70c8eb64b93eff579130c5a3dd9daaa71fc51389f88839a69a3366224226921f399c91f89 -DIST thunderbird-128.5.0esr-tr.xpi 765550 BLAKE2B 9a0d07affab58372e5396160e4bb4e184e139807f08acc7fec7fcdd0adce67198036262822675967e33d841184f5a000cc932d38e7e4d7f388ef217fac7d238b SHA512 68a93b2b7158a724b17e06fec1e62271ef0b0375cff1f2258e8e65eab29ce8c3de507d2213a566ddea0326ddc835c66bd92954672cce80cb668044888334cf76 -DIST thunderbird-128.5.0esr-uk.xpi 871379 BLAKE2B 611f5a546b09dfe84aa7782fd33cbd0cbb7609e959e26f7ddeb541ea922c338312e8b19a275cde9c9f398ae836ee1a98cb5a79450248a0803225b83fa6607121 SHA512 bb4e3ca4b698d9d0674a7ab096b3148f4741d8ef695ef287d0bedd2fbd4acc673eede95eef8419b3723552537655fcd5779c2f7ce53db72013fbfe704ecea82f -DIST thunderbird-128.5.0esr-uz.xpi 592622 BLAKE2B de28c34e857a8abc9af98aabe80eec61f37da934c7ecd5ca8480188e89eadf411642207eed66ecf895ee910d027cd25444577ac174cd160d6b52a2fe7f9a7466 SHA512 bfeb43cdd5cb57d03df66c16a0b5ad841a45785af3c39b65e0277e9adacdba57e82dfc82ae4842727ac9c826a972e6289acfca752d1af9f4b68564bcf20929e5 -DIST thunderbird-128.5.0esr-vi.xpi 794035 BLAKE2B eb1bc807cde185c90477f619aa93273101ad62f44e98d282fea4b3828f06b55cfa1e56a7f46a04b52048c8ee6d1add1460402164c685934e24c2cdf2a7c82e99 SHA512 8fea85a9c3172b7ea4dee2b1aa4d79fe14f21fef7e83889669d94f9902aa803c7b1775d34b8ac9f12e0e1cb045c3120b1fd71e97a26d34314e440cca04251803 -DIST thunderbird-128.5.0esr-zh-CN.xpi 794062 BLAKE2B 89ca0af506881a6e5b2d089db7551be0b85e73b5a96ed7b8ab93da57914f2714955da084cf50c081d2869aa1ae2f0ea755d960b4af6f83bfceebbb68f9688e37 SHA512 278b742b60e7e5ec1ca3e2c3cfb0fa28bc5d37a067b607579629afc40a672bf008f69a8d112d32c533421fab2f4488afd0995ff4d42f74d6f702b137efac6023 -DIST thunderbird-128.5.0esr-zh-TW.xpi 797336 BLAKE2B 7aaf362ff7e01cd8891571800d0424be58ec27af730cdcf1a30bd24b22358cc64f9292f18e5ceb8f3d2b9f474296f913d7faba1bc35448555ed07c9503b85bf4 SHA512 cbad9528c2f815a7356ab0b396ed6a382d43d9b7310f82bfd1fb358a5d1dbcf54d4a1c97a7149b58895e9fd006f59abb5488423d228c604d3ce38ad352b3a53f -DIST thunderbird-128.5.0esr.source.tar.xz 677426000 BLAKE2B 9dfcd4f0337f3dbe07355f0c52ca42e9701c5b0d4bf81c69c8e7165e9e9826d6c9a3e0419b667982da543e8b62bca3c4dbe8666b7f889bcecb668059a1fe16d0 SHA512 f035028fb18a8a60150aa0168a0d02485276f579e8a816e99896f70989751ff71e54761dc6be74244a931c5b26c7ed1d6bfeb4ae6ca9cc536ed77df329f21fc2 -DIST thunderbird-128.5.1esr-af.xpi 530348 BLAKE2B ec809f88dd16a61f96bb190ad006346a4bd577939cf4759fe1ff2f87648581fb2050677faba3db5542989d4e2599ba239c9ebd52d3e83847c5b5190efdf9dc4a SHA512 be414eb2d703621a5e6fb4a4c9463215bb73c2618a17b1773509457e364118cad4633000874726785d183118ab54031bf5ddedac4f3b40bb6f766ceff16625c2 -DIST thunderbird-128.5.1esr-ar.xpi 686984 BLAKE2B a1aad0b086b3241fcf848c00787fc7c2b173fa26a172ad81a947429fbc873372c9f483d06689699225b515fa17d965b851a75331cee346cbf35ebed17025602c SHA512 8b31460f62279c72697b3425d8cb4fbb4463f28292410755872a460bcb3ac5bfdb938b64446fd3b52f3de9351aad04bb8a7d6a29c9e24a35b434c24ac3bc4e49 -DIST thunderbird-128.5.1esr-ast.xpi 561053 BLAKE2B 4b63fceef75d494ca8e1442fe8c692fcb7ad7dfc65a61cd0d4b0a98ebdce1e67f70f277f774eb76ff8494d57473de9525dbe8546d1f2105f6f4aca6fd81c6773 SHA512 e489a0f4aa62598bd467f786a595faeebf3ace3416e33a997912ca5fa6387c3b45ac023b2eabe7195a3d6071842bb7da2d21e518e171d60fe3a6ea7703d6c0c6 -DIST thunderbird-128.5.1esr-be.xpi 772989 BLAKE2B 3282b3980f410b1d125593e23232fa3645a75ca25452f74da407bc52b034983d9c0b9e5665bbaa23bc354c41a4e3cd2c74fa5aaa465346120979e0df381de27d SHA512 9eb937644e1614138410dc6fcad08f6e7fa33d02dc40eb36a17261bfc5e5b438638edaf47fbeecaf2832c5ca900c3bcf59146710353adcd3701f6598eaaa0139 -DIST thunderbird-128.5.1esr-bg.xpi 812322 BLAKE2B 3f3801b210ad79cdd31e2ea455365292579261cd42c319d372e15b708ffdaa0a48371709c501621c16a2dea33490a99eb07cd862266f9b73833507ca06a1ccce SHA512 4114df87f32d4adc34be64ecc42ba7c6ef4bd44e2d877600309aa7883a6bded0bd7f3de97cbf1806c427cf5a221484bf9b3ae430cb5d8ad19f772a402e9bf74c -DIST thunderbird-128.5.1esr-br.xpi 655126 BLAKE2B c7adc3dd907e6d475f129aa155d150c8dded60691957b278e7bcba603eec4bff3d91de4402c74a95d9ff3dc72bfde98c15d9d2e27d61b10647e84611de007278 SHA512 e98603951fb3395aa7339f163be3078834d209da60bc392a1868b256b1247a050eb54104e489979d934e793844c0c8812a94e03ee070aa3a16aa6c5910170137 -DIST thunderbird-128.5.1esr-ca.xpi 711076 BLAKE2B c63c6c67b558cae52dc1e575d9fe05cb70161a25210728204012ef3a3f388f6b0bc3062fbe2dfb050c92e2d454009a731cbcf5ca6a38056b3895a031dcc8203d SHA512 08a7a9e48fd02eb515519dbbb24932df46bb27b29adc88d90f6da8280ad1fbe2e0256d2d339cf22dadacd60a3000d7b24369db11c1abe72df59d352ab8cb9ebd -DIST thunderbird-128.5.1esr-cak.xpi 672196 BLAKE2B 9999ae99b06534504aee7a7e28982c0dae4af40211d81df66ff318e6c63b11b874baa7f60d87d3cc171a0244d7a900f810f1e8e21e87204c8b3f23b5d0fe5d5a SHA512 30c835ab48300ec3cfa36cd54940394e081c3abda4bc8b6a26d33d302ec41f6702e36706df68728b31f04c52dd437f8e81b404fee8bd5d1921870149d0dc8c84 -DIST thunderbird-128.5.1esr-cs.xpi 791608 BLAKE2B 51841ccfc39e515c1e1fec1df4da3409f6f0f388a55d9a2ebeca48b973874b5c2a4b9436a9a0c6fefb130cdae846dcaa4d16d4fd938807a3297d8c6cd451aaa8 SHA512 6f1ba23f005d3b9682cf999366c7f3ac7a065021211441f0106290d021e70c2c2a51617357bd454f4095fb7fe6906e156148e75d6789be23ce3599505f3d2454 -DIST thunderbird-128.5.1esr-cy.xpi 756814 BLAKE2B ec4b7a8692c944b4411dbf226f24f79e797bc0ad1c1167ecdbbba2012cc3d71033853e5ca5f9778927fddd8e80f176bd6f3b9019da535bf3ba1968d4c1828292 SHA512 0bbeea98091e4746b705173b11131afcefecea5be94030ebb205bf09317389cddf8bf2005b2b695a9d4aa7772c452466e304f5002a9f399aea74929f1039d162 -DIST thunderbird-128.5.1esr-da.xpi 740055 BLAKE2B e70a4e1427e5453197b2c8a81f50f33cf41bdba22704c67ccc522984f4de712e390ddcafdc8114df3804e614e25deaa330052892909eb0501f3d020cffe2279a SHA512 b58f9458cc4976121179223814646bd2df67e7359aeea508e6b48e65cb03fc51408e60932b9d12955aca60539ec1159fd878a0d5cea4098f5e909ee16856ba2f -DIST thunderbird-128.5.1esr-de.xpi 772205 BLAKE2B cc8b611f605b3157b4eb4ec94fa93325188358420caf9a9cabd8d378f697fd64bbcfe820c6626b745cdf099f75a9debb8d65704524d5243a40e7846b1a391887 SHA512 3a0f1dfd873d6d7e1e5359f8a104a750ba2e2ed2ba4676bc20099afec8fb405f7c9b175f01cc396549f279e101d0755a44a185660a4dde6376d9ffbdf47c8921 -DIST thunderbird-128.5.1esr-dsb.xpi 790368 BLAKE2B a5f025cad42cf5699e618bf205092e76f064d23ddb87c9a0ad35a32183095df98ea2f4174ed360f53f2c3946d73432dd6133036da60ecf3fcf9116ca9bb60d91 SHA512 d7e8d254434acf0c8aeef3bf50f5e84c8b8c942e2cfd7b4465b895bebd0644667cd30423c0173175b7a28bf163faa139b2d16a028ae97487ed01405210eee5a6 -DIST thunderbird-128.5.1esr-el.xpi 895920 BLAKE2B 4c1c5e69124f698668446e58a4b6c2e0465044c4ff35d34bdb98278e98a162700d41af558e5a843bb7be3dd81876e6a42fd3dc66b7e27839f9dc22d84d1be342 SHA512 2a8548e43519feaba21acb51f0d6bf7c36fa6dc3c48267a0a8ad1ca2527dc4ff1a782f1678e28d5e3d247e50650e940506635695919738433095c7d388ac473f -DIST thunderbird-128.5.1esr-en-CA.xpi 705212 BLAKE2B 408922b2d54cd780be413f79af1f6c0008eaed5da1ee55f985c80767ea99894a59870ee301d5650477c862047296e0fdde113ff6089659221c2937dbd8ebbc2e SHA512 448f6520deb90cd3126ed512ed50f61052bfc61161376fe7eb22f6bdca13ed873f277e541129e006d458f1922bfadcb74fe4d45b220c3812a64efdf07ac88a62 -DIST thunderbird-128.5.1esr-en-GB.xpi 709686 BLAKE2B 0318845bf29f47f2937a38b2098c24039d6734a2935aa489a0501827913390256cc5bcc155457294cd174b277a40467cc11f768c1b0e0a20070cf5f7a4de110a SHA512 7b936594612374ffe8a96f5e282d78826d77624fcb631ffdc6fd4e7f23b5fea66582182cd1dc7d9e72864dfc902db945ebca7c08dec870e5e7d039e862630a58 -DIST thunderbird-128.5.1esr-es-AR.xpi 765752 BLAKE2B 4a1b61f7f169e3b06fa181dc647866217197a9d6fa2270e0f1cf49505905f7510cc5f36b311ebe1cf75e04cc800f29a1465cdb33814cd319defd6584926fef42 SHA512 663d79051bd41dad4e13e3e22c8d4d511acffdfe4f250c8a79c6276704263bc9ab009b81dbece7911fe6397ab0196f150c3a877e0c6dae00534bfeda0e80bc95 -DIST thunderbird-128.5.1esr-es-ES.xpi 733783 BLAKE2B 08c17a6bdd052cee4db9fbe82f405ef1b385fccde086b655fc612a271d2fc9382d7de6debd3117392e0c66dd5050ebe032e04c8360d6a8c005b42cda1c15f5e6 SHA512 4cf0163687d29b56d4c7f1f7fc2bbeb3d8bae02ab86bba992b4bf1e5dbc77adae44b159e9b179bcddf777cc2ff1f196d7c9eccb120d59eede9d324287e5fb037 -DIST thunderbird-128.5.1esr-es-MX.xpi 749781 BLAKE2B 822f0121590f5459e0cc113c43e6447c2144aea54c28543a7ef17de963406cbed695fa27e76e1e7b79637aae7e214c1fd783ac387a4e3badff44a12537d84e1b SHA512 64e2555d32526cb01abd9ae8d6d75a41f0f8ea9b44cf3642e0199a1a476c8ca896fd6777745f6b3670eda6380038419692ec5386c4eb14717bb8e0f556c17d6c -DIST thunderbird-128.5.1esr-et.xpi 696772 BLAKE2B fb0c92df40ef682d97206bf307421b3e29420ae436dc0b55a6cfccc5fc93f72060a5ffff8eb7b876c840b03709f052e174a51e56294ba10593ea186f507248d9 SHA512 2f5ef8b31c3d5629f19644dfa1387df0f0224353adc720c25d2e947f4ea7b8c56e78f64b197242a448336729f0188e98fe1a0b225491dbc5a754bd8c175a69d7 -DIST thunderbird-128.5.1esr-eu.xpi 740304 BLAKE2B 7a52d32458d432de3b5006aeeec9dd649c36b6b956221a172a77903df06b42b10ac5696570f52e07394e36f4cffd065f88db4f6b246dc53a3feedfa40cea727a SHA512 97a7a09bc06a2fd3b68f571f87e183a7596e98b3684235b339d53e2c39f58e1dc8797905f6662b8c9b518a6d0eb6bd05200e0c2ca5f2a3fca13f64f3ec81442e -DIST thunderbird-128.5.1esr-fi.xpi 738930 BLAKE2B 2e653f54d2e9bd8ec3c3b65340be05dbc1c23dcfce39f470d6bb921e14cdb09405a892a4b6632f27a71c35329be4c9bb35035f7ba805a81f1c66e255994bd237 SHA512 e595dd127e1f83358af4a189a2f4dee1348fbd7f0ea1d0bea2344595a535433289c4c097c5d43186ed1c0d37cc180dbd67b15ec2c8cc09ecfd4588b7c943afc8 -DIST thunderbird-128.5.1esr-fr.xpi 777363 BLAKE2B 569d01e77c14b5b649e0c7433a23cee3eef8ee5beafd9ac0ccc0cfc0df65ad211fd84223ebd52c3851ce876bb30055a6106929be7daa358820e5a0fcdf9e08fa SHA512 bc0dc068cf0f42df5c006b01cec84d09abd7a51a5c965ddd424aeeaf365c560ab15963a0c15588773e517742eb80e979b7098335049678ab9d26a42431b20eae -DIST thunderbird-128.5.1esr-fy-NL.xpi 759927 BLAKE2B c4ec6bef6b7b5895b0fe5c866eb3e7c495bdb685cef3cd0f999054894a8aacd4267f1a7f043b2a92fcb30966b4ec72171a221f73e7ad8020efcc31179c6a58d0 SHA512 7792036b5c61907b456b9bf2f07283c35fc98c3657401000c1e356971ef715f2c1301b7ecc21c3711c79580e002d43497f82183197c86ae4cbc2fa937c12bb04 -DIST thunderbird-128.5.1esr-ga-IE.xpi 616365 BLAKE2B 2401b5a75838e6732944ef3a01df98cc651fdb8fa4067684b48f7b01c2969f2f5fdc227b0c22e7d4abccabfaaa736ccd689214604e4f9794470323000f3366b8 SHA512 7cd34d062dadd047e048cc41b91f28981f15e9ce79c818373aa0875f6cc48ce67c5c330a09885d001d0f17e3e651f91c472d44064369ab0ef553dbc4dea4d126 -DIST thunderbird-128.5.1esr-gd.xpi 729137 BLAKE2B 2dae90aaad1de37992dce0b15d85548cc28bab44f5bdc4de33ae1bfbd899cb961978f428bf9070c8d07e062dfa5d3d9bbb8cb25146ce37b1b625c3898ab2006c SHA512 c0d4e52df16e091bd88d335fe11f06b3b0ce1b4b3b60eacb6c854b2311d62b4acf6c02eaf4fac9079d4c6d7f7e7b07b6696e1ab0d93b1bff64fe0a61357090a9 -DIST thunderbird-128.5.1esr-gl.xpi 742174 BLAKE2B 8d854b1f7f79326e0283db2f1d66c504393e360381a2870239b3c3bf63e6744244f99522706414972b3c365f0dd600a7b5430d9338aabdb37131810b8e430099 SHA512 1e1da814eac2c042b73ad144a7501eccfd8304e43c47dcdeac5cdf579922e9d48f94314ac63e5da7cc6e38c5e81fc61a7303c89c40633ebdce91ba1cfa78e9f9 -DIST thunderbird-128.5.1esr-he.xpi 703445 BLAKE2B 4a66140b68c7b500c08fbc321e93235c432318db0ec902a69b209b4a4665b550923cfdc83eac4fa662da59428ec45c332b015cc4311fc1dd241611ce8272da22 SHA512 84927255c98a65fd5f1feb7e3177503ed1782ec1cc927e043577ee867639aaff20a52e1c5a099b987484e455b9202cd86b6759a25eddeb38d1ccd72f57279fd2 -DIST thunderbird-128.5.1esr-hr.xpi 720117 BLAKE2B 429559a75eb24e0783b8e3eb40bcfc126448bbb182edc298054ac293e87a1a83d9007bfd62211d5d6c777b6a04ef80b70ac564c791407e1553ec8c5cf7c185be SHA512 a04237261e3b077daa027cb2c1180514f97cc4e1ccae192467c1ab3dd5f69c2e91217f786b1da565bdd09a0660fa62ec504907a5604d00bbd48d5fbb40b91db5 -DIST thunderbird-128.5.1esr-hsb.xpi 787747 BLAKE2B a09df22e4d1d0fef6124a7ff9f2068c02d5d42d3ef2a9b7ea4cec0cdb6df63fcf86c66f444fa6ba6f845827bc1a411c4f51f75f740cc523b659be831383517e5 SHA512 51f2f360aee58c41ec4fb027bb47dbe9e2485642dac8dd2a8b0f48d63d4e436631882d4d3c34d59ed1fd3f98e5f943273df89070d456cf007ed04e62a4433c94 -DIST thunderbird-128.5.1esr-hu.xpi 790230 BLAKE2B a491fe64ad28e1ab159dcd2caea201d02652728e314776713c56b0a7e6720721cce1970542baf4ce44d1eecf90685e2e94cb0c924dc63ec3c22fbe104351677c SHA512 cb356fb454e01b1cf0b089c51004f2c46d7fd34b0117a58167c9a2ea00984edf578d15b600c47c5fa4ae14d38b3bba8dfcea8a5577ab7e58d8a2e563dd10c0bd -DIST thunderbird-128.5.1esr-id.xpi 710326 BLAKE2B f36fcc4d0c1cede2e154635e5ee0d0bc2780fb8f4ddbc7b9d7cbe24e0103102b41c15da7a6fbd33172db4920c05f101132869bc2ab6cdfe1e92a0cd62d67d6cd SHA512 074dd5616003b0648898a0fe83067a8acffd4744e1c1fcf75ff7eb6f0d672b1b1753fefbd196d00daf657ca1de3f8cc72e728468ebd0d8b059b689f3d5b43a20 -DIST thunderbird-128.5.1esr-is.xpi 751184 BLAKE2B 86da30310ca63b31e7e913763e63f28384bcefb935258e64e1e38bd8089274d2a92715f8b810ea330d0bc7987adb89b2a522ef856cfebc18fbddb17986e663e2 SHA512 99d23373fa3497db72864826a6479e5f3d51491b4c70330493eed4099d2cf3304d29bf4f990b1e632f9fa596f9529090183a1e1fc030701c14d1dc00998c32c5 -DIST thunderbird-128.5.1esr-it.xpi 697095 BLAKE2B 02d08e5a69ac119c60f5e86b383fbc64fddad584466fe2be4be505ada532ffcffd89bf97c9c5619b6d5eb30632596eded87bc40074e9a960fea27bdc452abb50 SHA512 78cf8ccdca5bad8601485a5289c41ac161441ca4822654459f2f0bca2fa6ead0e8127520af27306eb13ee190acf17bf5aac06754545ad33ff7ea813688949361 -DIST thunderbird-128.5.1esr-ja.xpi 817720 BLAKE2B 8216c31a914ae5b99af209b9bcb1f29bba0d4b0e81b138cb7ced101b007a169e71b0bdd1e203747a71d90a5df5319b261669b0bcb2750882c616d6b284a57e73 SHA512 3e9517643b0dbbe8a398701324a6a47c07645fddead2a23c0d83e74042b7d740b4dd1fbad671b440a26b4dd12004efe9e25a13f77ebd9271fb5ebf5c6e052ff8 -DIST thunderbird-128.5.1esr-ka.xpi 796712 BLAKE2B 7518e87996cd237f60b347dd6e346b66d88c8347860af97ec69e0afdef5815479dc7ce24eced8230d352ebc29cef13f30903a5b4f8c1f269d08089b369caadca SHA512 43a6b372f774e2588c6517e4e1154b6b50cbfc120ab757f9d02a0d6e69feb00e509b0301adca7655c364f81a56a2b29091e698a608a62e24e678687341f63e40 -DIST thunderbird-128.5.1esr-kab.xpi 735475 BLAKE2B 123ea4bc1323ec6af3ed4349723464157ae37582009a953368028d66cab4277f7b7eb00101f0652b9f78108f4b313809b29c45897c184db56bbaa998bbdcf37c SHA512 b82858da374d83998d8008ce8b981ef855d1d1cc0ba7930f9e065620857ce9222e26806ab1e9f5192427e185d721035c989742fc71a2892faf2d5932f3f0555a -DIST thunderbird-128.5.1esr-kk.xpi 865510 BLAKE2B fa57b127f1299a9fd82f9475084b52341ef1c4aa82aa7bc6086a4dbafc57c8d65a053e9b9535c413d7d3e24b85bbdcfaca5516ca67a33fb09892753735fd512f SHA512 588203c0ab2bc1e94933d31db3a7ec2942499fb51a9583aacd4e45c416e5f2456f17e4fdebb3bc5a1196ec75b92fe1a7d5956da3eec60e0e33d47d2f833b5a2d -DIST thunderbird-128.5.1esr-ko.xpi 762640 BLAKE2B eb8802292a8e0cb0460da405357c66c1e5da80d646c3d2382b34bf77f3a1a03f60171645cddc3a7fa57ab0b8bb17bfe55b09b4690dfba7ede87ff4562863c1cd SHA512 5bb7e696f5b392e2b085339c65ad2c31a415f4deda76bffb2216c32a86bab08696aa17e75e04a6557c427d6dd71c99305e0a73799ed14a30fc184c84191212bf -DIST thunderbird-128.5.1esr-lt.xpi 701408 BLAKE2B 6c6d1e770fc3b9835ad6c1faf4c73be8ac1adaf5008552a88686a5f2055378244bc50f1d06d8f7264edf0c9f5519cfb47b6bb875d9220a5ea9d73252285d2825 SHA512 03f66473edf86a45fe4762881244a4cc859180ce40ff8aff1601a63338a0f60c5d3134ce7eacbd0b02e2a37e0efab1a72a17a9d63e85de699df8fcf295f48e9b -DIST thunderbird-128.5.1esr-lv.xpi 625978 BLAKE2B 29e7bb28993c7833c2ecc8bd3138cb485f74682ceabc44999dc77bb2226040cdd764b55cd460b23378d097672f47709f6f8049f67707fc27401a5046ddccb3e2 SHA512 251c713e5068a00a6e2b9c540f33e3e40294f7e112df9b88758083bfa3697c6d9a661450168b4d87369d2f7e504d148adbcc8f8bb74166afb58d36eb1849131b -DIST thunderbird-128.5.1esr-ms.xpi 581572 BLAKE2B c6f9fb5c25543c67b9574d58f9b0de7582f4a63b6feaa00cd39ea82d46d291f4da1e496cff2382011df4db53ee8b47af9c0da2e98a5f6c78d5a85dacb90f1a6f SHA512 4e0e1b2413ae4f840253f27fc53c2426ba28bc1594d2a64a44a70d537f0c6f58bb179d72214282f7880a7f7ec38f2dee69f443b52ede6c8cb52e8573495c77c8 -DIST thunderbird-128.5.1esr-nb-NO.xpi 708559 BLAKE2B 2a5931af73ea8179f1acc3a0f84ba157933afd35d74453d26ed9d58771f941196faf4d1e8b9a0d0ab580555af4a3d671380d4c8a24febef726a75621a6f1f7de SHA512 162fbbfba540ca7509e86c724272f259a8473dbc3747984b52a4660cf29714401954d14fe491fca4fa5a5e38f17e81e7b83a35122f7dc6c4004d1479c9e95a3c -DIST thunderbird-128.5.1esr-nl.xpi 751614 BLAKE2B 29699da4dcf8b890d7c7d6b425870c3d868db19db212dd8954ed3514e4b210648fcaeada536f9781038b396f492d670da85747d34382befb43663e05f46fad5c SHA512 6336c26f686cddf0d53a7f7baf2ecc1f48729c8d910e45e1d8c1b262e0e39c978f2503332f4c14465768e2ef170fef3c682230c4badf59787b3ee901e7a989d0 -DIST thunderbird-128.5.1esr-nn-NO.xpi 729656 BLAKE2B 19d69640e6880b0bc961f0413541d72a922e5f10901ac334a84d5ab2972ac2c97eb4a3984eabfd0e1d848e63551f75a184c183b916abbfa8b522c5c596b30420 SHA512 c5b55240a735d1e18856d662cf879951731247239bcc86e47dbbc94b85a3db920584257f6a49b880d2598f16ba0e05ecf63d80c0702c7ea169927403e1df5937 -DIST thunderbird-128.5.1esr-pa-IN.xpi 688137 BLAKE2B 1c7b53142113d527c34d64c1a511b73c22a793317bf2ebd81a72c080752597ea565a4cdecff4e5f9be60e894997ca94eca7310a3f381c55f0bfd5f215d29cc1a SHA512 ed7372ccae0666e330c341700abb697486c8a0e0a054946452f798d679623f1fe7b2a83e3ecfa1c40420937eee22b5b49c24130fac2d822c83bd2ae88375b6f5 -DIST thunderbird-128.5.1esr-pl.xpi 770777 BLAKE2B 65eb8fd550f5a091ace2f85812748b1ee86ebc846518aa36c7141ab03f45c525203e96ca9b5ab81be9e7037ce716d9059a430f9588a4e0c360106bcc81ec5a19 SHA512 7be207c39e0f4bace08ad90fde2dc499a22d5273c784e2496297528263fcb0e11094ed6de540538908b7f4b3c129eb267063c0e76e01af4708090ec1c39f5867 -DIST thunderbird-128.5.1esr-pt-BR.xpi 758844 BLAKE2B 88d79a4a9d9ae8d714f374b0aefaf9dc8d21967a9b15842708e49b67da14ce71a1130c0d90e41cc4720cb1d5f0836898daa3fdcdbd86a287fb03c74622d61e48 SHA512 685ac0f22ca9341d4530141264ae225853a7542d7f1576575ee675cd507c691c2e24cc0a1cff0a868404f31b4b97f69f062df147096af0c7b1d261e39f87447e -DIST thunderbird-128.5.1esr-pt-PT.xpi 752023 BLAKE2B 3dbcbf4570fef237498889a551f58c9b500c5b84bd9b0abd1f3afd4b26540634ee5e6588923261e32c2152cc616ef5158a93ad1cc5e01e0a2076d0804b37a422 SHA512 e37a72c46b4d9549bb1f491729716694261484504c445baa3183a3ec33fc6511471b05f080575a3c2ebeefbb982749c16bd935eb1df5fa41d09e4dd822120fef -DIST thunderbird-128.5.1esr-rm.xpi 754443 BLAKE2B 4aace4ae4177892653452281a9f115d344f261dd101721ee817133d1604cc780fc733bca1478d1fd15af4dad82465a8f4c2df4b51e0ee2bf146bf91c73a80a8e SHA512 02646f213b51661fbceff73c713adb9a204d93a8ea492af994b50b2ec8d043bce06a98efbc0ef0efec98d2543ac11a8c6d18871d5c0839cf2adab39328eef37c -DIST thunderbird-128.5.1esr-ro.xpi 670227 BLAKE2B b057edb4d9b04621c9dc375756cdde0cefc2cedfb372120429b13177975fc008fcec5b1bfbb8552150d09f44704fa09f963bbba8dc82a67852f460c3a69860d6 SHA512 834a5352e95f91332fd0e0fc16fba71266f0f8ba4aff2b0925f6f5da47951317ec6b4a5858a9745329ab63049fb8b386313d94086cf5d8af20a1fdff2262d5b1 -DIST thunderbird-128.5.1esr-ru.xpi 880795 BLAKE2B 94cb72fa18a0235feb3763643b7714c13769841b9d0691e8e7d34b30031846f902e5c5a7efb91c8ed3a8ff4e790d90d7fffc06285dadfd68d460f3d8121d0277 SHA512 fd0656c33ae145a870490407e0394d2c5acc080727443f00414765f89e5a0609c0781eb71050d8415e951561461c1bc4e534836532c7bdea8c54e6aefb46d3f6 -DIST thunderbird-128.5.1esr-sk.xpi 792216 BLAKE2B 3b5aaef538528533b03125f70886e22d554a1887f82af67926485ac4deb717f363dde03759b2dace05b0773cce09aa050ca1e4db3e67e5e3d6fe4960dfdb0e49 SHA512 8e09162f135b8211f21a360b9170a027b54d17fc2d173b5cd198de683303dcf023f068d8d45cdc3b4f1f16afaf83029065daf8389a6f88ea4135d7afaeb68790 -DIST thunderbird-128.5.1esr-sl.xpi 751648 BLAKE2B ebe45093cab74b46ccb5f24e362f60b89fa8dc69c03cec0fbc5014adcbf7a12e051026734ced73d4c2af67385342900a61ad5667442d35b132c587f636c1510e SHA512 f75425a0069c3ab47b58076b09efaecc7dd1b8ec39cde2d680aec67c565202d91dc7cccdd9cf39d9dfcb5c58cdfc36aab8019c6aebdd22b8a3b0345a6b11c5be -DIST thunderbird-128.5.1esr-sq.xpi 774995 BLAKE2B db469d0299a787461affbf213aaecd9360193af60dfb38f1ba8dbf114992b51f9a6ffe8deebe0307320e449641ef978cd71b748f69e5940fe1e39cf4891cafbc SHA512 ff6ca769df3c2b73dd0676917e4d3913823804f22cca68d1974dfde73c91c19b9f7f9c73bf0141a3b1b5eccf361966267b85ffa4e5681d68dd654922e0b4ca0a -DIST thunderbird-128.5.1esr-sr.xpi 771752 BLAKE2B 02e08e5fba69a7d78625fc44b335d47c509f09bc54531a2937ca8b7e62628eae03c02e7402bf35108144bd95f90d2c5b16fb6a3d4e3c8e073bb3d65976c57072 SHA512 bd0ad23fe3d6f586689b677706eda8244ec6a89922fa756829c80a0e0114ff2ea35693344e8cbde76bee43d485b1e8db5296db28be7232fd39250fcd2850ff2e -DIST thunderbird-128.5.1esr-sv-SE.xpi 754938 BLAKE2B 9449273e387c510f6005e23a7bbda11706b4f8e5587ea1027739e7e6f8f3e1f8ee7514ffd818f310a62ab6da5db78e4cfccd81bf02a7ee5cb1ba1be7eca4d145 SHA512 b8752f1f76197a60e03bedce4c5e6b4d2121311e8b24faea8c667636f1d1d74a7aba536a430ca63d6e057ce00e39afb1a74a80509ebb249a44c40c3401bb2728 -DIST thunderbird-128.5.1esr-th.xpi 819690 BLAKE2B 1992c458ce17adb627f47662e30fdb12f30ab8bc1005f436c4db635ceac25d02097e96c5f9b05bd0f6acdbfec6cc4a88534305f9c00fa547683ee47ac1185d96 SHA512 c6778ae4a5fbbeadf1e8d727bda3824a6430a588cf2c44cd920806f57d1f7578a854c609ded93a17f57b78cad10ff33c51bd0c152ef1080e6a4bd0169817e6e8 -DIST thunderbird-128.5.1esr-tr.xpi 765548 BLAKE2B e69eeaebc32e230d0a92814e2f6dfaf01389f7cc33fad129ced6ce7ac270028cdf7b4a0c22d3bcf1d289fa4260d8684da6d1d5b566eaee46b691c85b321e4b46 SHA512 e77a92ab670e56b51aadfa9e7b9d7bf3ef88e7c3d44f2e996d6406104c5114302a64b0277ad12f468df83d66560542878e7ed98204641cdd75e7f92e7c4f90d6 -DIST thunderbird-128.5.1esr-uk.xpi 871375 BLAKE2B 6f0cf1220428325a5a730177f96d3a04fbf35bdab12ef49a6b8e34441de60616239524388ed1c7e47f33374747e4fa092ec75a75e87655e7ac10df574a822246 SHA512 3db374871fd3f7698aaa010302ab676c7ae1c6e4bd2094e3087515a7a9aa5d022af43fd8a372cdbeca62a36468e20e1d35f052640af740673c5de985faf885d3 -DIST thunderbird-128.5.1esr-uz.xpi 592618 BLAKE2B baf82bc6ba47555338be08475adb0588c4934e754f1389ba5a1cabe2f3dee9db822dba79475bca94d84685e3f7af6a6ed9c69ee0daf8317dace8f846500e161f SHA512 3ef76a1a7c135db4a7995d479739807ecf8bf5a1b77b6673fad5406cb1e903bb49c10c062939941c692e9f4b2c6fe4650ef17910651c81ccfa2d827282530a9a -DIST thunderbird-128.5.1esr-vi.xpi 794032 BLAKE2B 0ebbf0c3d3b55881d89d1b7caa5fada14833a90f88ccef71625b80d7aab368fb7b2a5b136ffe048ce9c8c969bd3948e05749fc8cdda70dce9f3a45f3d9fabde7 SHA512 3024bc7f56b5cfe26cb8297c1163165a7827e227a5ed5a72cb2de61e5cae868dce6f2674fc8c4c2128ecbade6f3aa513936b4ccbae4135c66934d0f46786e753 -DIST thunderbird-128.5.1esr-zh-CN.xpi 794060 BLAKE2B fa0f838e68ea27a51371ccdaab279bff130759e34e83581881f22d569139c02e1e8b36c18b809b93d4de827fe8f09648370642b53f734030a326ca6f0355d44c SHA512 75cec7ad9ee4ea5752cd19111a23957e76052fb4cc97078557e495718afe64c98ad1de37dd83e77b523c66e780de85d3318130e62110171467167a754439c303 -DIST thunderbird-128.5.1esr-zh-TW.xpi 797334 BLAKE2B eb72fecbf3bff04d5c9daaead2a539fd540f6008e24f52b4c0b0ae0eb1115d4ed15bde3d801d5e40b1f92812780f6516015369814a9e4adbf93bc60a402dd018 SHA512 860d5328279195bd70dd91ee8f4bcd6ac8fdba413fbb2a4fcf6020955a53fe9452cbf6105e2b2583174d49b519bc9f3663e1400d77ed7e365f0ff6411486da2d -DIST thunderbird-128.5.1esr.source.tar.xz 678670780 BLAKE2B 8f91be4b015f1258709c04deba847e958716888d0d6cbb7b57ffc4528076cb2c9553e3efd3b4423046a433a486daa96b00768390ea0fa2547ff47ed4898da919 SHA512 1dfa0752a1dbfc4d7516beab13e188aa40c145f2eb0554441ecc4dff739cc862c15fdfdd8c0cc026d010ba3caa57d6168da35e484c04989fb6c81f5c09215831 -DIST thunderbird-128.5.2esr-af.xpi 530350 BLAKE2B 78c79e8b168f137426bc12938c4e8f669538635e369d86c745098d07d958699a120073c2736341f4842fc827ee11667b8893831b19088c09a9c4161af08e4afe SHA512 26898351b3b7d27cd3c990a6d17b6f28eaf70aa2736166705ad5034f233cca4701d9e4f27389e698db29d7ba461e9fb7d976ced5fbbfc2d354502e2cb61bc5d5 -DIST thunderbird-128.5.2esr-ar.xpi 686985 BLAKE2B 27a7872965258cc920e9c30ccd79cd2ea219c32b48480798c7392523ad5072c1b40f896e7f43a21c51d9a84fc6128676b42b0204b085e4529608598f82432cdd SHA512 43a8eb7122432805cf16a636a4ff390ec04ca14fd4cce9dcd76f853e65caf955d36fcdd3577370a2b8ecbffad29aa0a41c0ad92fa1ff3aefc6a4cddb3ba1e69a -DIST thunderbird-128.5.2esr-ast.xpi 561055 BLAKE2B e66c6c16c1508f24202f061843aa2d82bd9d5b2edef0adb208b9afdd292daa2f928557d34750693f28b459275095fdf6bbb7d4c181429cbf870ed6cd0d0e7688 SHA512 2fbb37d6611a4abcd4a84648683896c8f1de015c12afc33e04b17e2339a29dac6317033f31175694869ceec65bee8fa07090d756fc5851da477d5141f501572a -DIST thunderbird-128.5.2esr-be.xpi 772990 BLAKE2B 348ba443f2d1820481f6e5bf438544ed2dc9ebc02d1dddad180f40146a433bc0df300b6b580f879b0b1defbeca536c2764b85a39486a78c2f7156a16bfa46471 SHA512 b967ec35e454b0581da25088c1db7267533461a09e824d533a0df214e43cad412eb6d413ffe7cff6bbf6840269a3fd9758bd8d2c8072c14372a1381a6739b9c5 -DIST thunderbird-128.5.2esr-bg.xpi 812323 BLAKE2B 420ea917ac83c53e0fd8d4395f4af376aaa5f84836b0aa63cfedb882872f306eca4c29cf1656b0cc535a907743ff1597f7b6b9c5eb00074912176a1ac403aff5 SHA512 4c635e21ffef0f81b8446aec87f583c419128be400846143ed2e142f9233ee56f50ac87e1e41096c6409c9be08f712963fa9e9d87db326badd3da3908ed71335 -DIST thunderbird-128.5.2esr-br.xpi 655127 BLAKE2B 35780a67972c8393625e43759c4986635e08e3fde1816bf56566690d20aceefa0519b960634e861d591189e61a236c2d1d53cd615bf8aec338e7b8d31a0a8714 SHA512 601ae7ca98b76ae4cf5d12d5ef8519741ca1d6788b9231b421a21ec87017c5ca91772dcca127e30ef9222ca49d831209f4dd03b3fc0d17805a588d921f97016b -DIST thunderbird-128.5.2esr-ca.xpi 711078 BLAKE2B 82b9d5d7031a66e658992434e9522534437d6e72d9e509c3e23bfdfc2952162738ef6738c6610a16a660a726fec2d4828c5a9daffcb08c7d9ef58f634c411798 SHA512 2f0e00a4f4fc9d2d38a099a30b2d6cfbe3f2301075de481604b482e73e5f23b5c81eb36f600e2b0caf6b3c1a3388adaf963040677d6dcf4b175b7272780f66e1 -DIST thunderbird-128.5.2esr-cak.xpi 672196 BLAKE2B c989a4d4f49258da61b8824ac17c3b2ef460ab726346799254aa88417a17909279b26216812e756f8b1512919b84288e968e40403dcae8853bea04ad46aef370 SHA512 a81e9d2037aa6f1c6679f9f956000c5b539185dcf6723db5f63622cbcd47e7db1dec2d60120bf83207d5c1c789cf8cb40b43fba2aee794dcde7a57ef4bbb781b -DIST thunderbird-128.5.2esr-cs.xpi 791609 BLAKE2B 8dfdb3530778018d924015d59bfda12edcc88c0416e6cbc0f502b22e1ab7ef3687b70345e867083b11fb70d7fb97e9d769efae73bced78a3ba02e3fd11c16be8 SHA512 f7774873e38c2f1a18d7af07f368227d4f9c1b4814d14d310157f7298a737bba9c5cc676ae9c768c1d62019870d813e11dd292955e4436c804840f99df24a4e9 -DIST thunderbird-128.5.2esr-cy.xpi 756816 BLAKE2B 11ff55ce797925ecc589858a2f686f6600ca9968ac77aaa9b3de36d683ad11ed5620c34b81063128afdd959f767ebf8c043c2b8ac263edcd234036b1c5977305 SHA512 f784a7821fc9a03a151062bec2b51c8d8c4bcbba4145895df8fe8f2c5988eb3eb026d1d4a355cc51b3457628097bdfd578aef5f1a8720ab6cb4a4a5ad05af628 -DIST thunderbird-128.5.2esr-da.xpi 740057 BLAKE2B 2f8fc6939499959ce780bfaa0261fc3885784f0d4bea34830d67bf1d95e2ef8c805a1013bc72b6fceb44aa980ed9454834dc10d7a5722df1380b3a94df9a927e SHA512 4bd3aaaebc23628afaa23052a83a63d36f38990ed6285c450c0009434a4a8ef066bb7f1f4a31f9ab2d5f106720ca9137903df0d1e6e6c52310d6a8e0e22dff46 -DIST thunderbird-128.5.2esr-de.xpi 772204 BLAKE2B fbd8149adc5867b2f7290973358714be2591fc5afb35e509d9a876db295cf8fa59550d0691f0f4ba33c36c408940dbd7ca19c5624d601fe8044973564ea85ec4 SHA512 6f80c58ca097e0f1e77fb6f362d7954abfe6d8e46b0021d4003e3cb4888c7dd96df1ed29a5bec806062669552b4877c33a4831d37868d9f1c51fc2c0a8899fdc -DIST thunderbird-128.5.2esr-dsb.xpi 790369 BLAKE2B 1be4aad6ea99cc6bb9c7a67e0f17a5809a21e026f9014a78740cc516cae5aa30d04f379d7f999b1ffb10fd3c3e79e147e3bea1ac9a47e8c54dfaec6686e21f05 SHA512 fa7d27f609213520532abd299e6d498563ef177c3aa6a3737920f69de614e7861f6894d63cfff49288489017bafa1fe1ef2d8695fac182e881526141a7c5419b -DIST thunderbird-128.5.2esr-el.xpi 895923 BLAKE2B 36aebb0891eb53199aacc1e1bcf436fe36aae5ab0022b9a3ea35f36830c84a68623f6774a217872429b2a07bb0a3eec4cb1a77f1474397ff4d476f56d3ceacb6 SHA512 6028fd57f8d2017b4d170dee5b0c715cb6522a93cb939dbdb239952f2d43cbede762d94e013d1ca9721598c7d6c04c677a78a296cd394d508bae2eeda0e36d80 -DIST thunderbird-128.5.2esr-en-CA.xpi 705213 BLAKE2B 228fece39282a4f6e1016c13c537a761ab00110c1244b172b6f976abceb8f591c9eac755f1352ee5a8923452f7bec359f8c803512214ef7760a34aa205d6ed68 SHA512 470f4422cc6d9ea4baf4b402a56b7386bc29295d378ffcfd501f946ef3c6bd595a1b44ed67a1cab0ae64e31185e577fdb21e98b8cbb403684f757160c36a6e49 -DIST thunderbird-128.5.2esr-en-GB.xpi 709687 BLAKE2B 1f41941eca01c2413eae7f830b0894f06ece348d2e02629808bfc06d9ba66a1547009b1fdff372b121ad356405cc4fbac7282982c32983a5a2885d6f3f4256d5 SHA512 f3b04ae32c4881fa7e6d2fb6924a4417f7e0ec49699e42c630300ff7be246814d8dfb6031bca1ff9841dce1fa99628935453d5b59fb2605b00e98ec19e7ab1ed -DIST thunderbird-128.5.2esr-es-AR.xpi 765754 BLAKE2B 84b62cfe9305698553ca423523eb3e1ecd7c06585a04ee938fb371ec4d15ac5743c2c97ada0bed48815b4b94426e7428c2b5c3ecf7ec8dfbf6f3ef21f376607b SHA512 abd71dc6f85430dd67b01839aac3355a529b738b7adf94a58440eec147f948f629e639fb0484d47add2817425e821ab566a2481ab5314b8af0b570de3da64b39 -DIST thunderbird-128.5.2esr-es-ES.xpi 733784 BLAKE2B 21d72b0bbecc3e9f7d12588675093a8bdbb3a789c92ed457541cdab3584be6b3c5c5e01caa9d368712f323f0221266f1fca63fd83cfcbe83cffb56147ad849c6 SHA512 dd5c861b3a44d3a4f64c90c1e0c9f8b8242df62d22525decaa74518d2fadf228668a1ae742d3fa55d18062b3558cb3db51bd4f8d4d9bbbd1e9b93dda8603bd5a -DIST thunderbird-128.5.2esr-es-MX.xpi 749782 BLAKE2B f5d06f932d76af75c088c4f36c31d8350281825c33cf0de608a1a0ad5e0b12d61b7de38b7cd5e5626bdc7cdf21df87c9ac9c1ef225eee4a55f66bcb31f97ca00 SHA512 7db2c88e575c15182039a7b664b11f51903223024b0b356cf5f46fd9f0808be007cefed489b757f9ee949709e19995d0b9fb2075d730103b6a99850beeb43e4f -DIST thunderbird-128.5.2esr-et.xpi 696774 BLAKE2B 7e1c7e8d063e8cc8b7e9ff7c1db086836bdac420362bf89bbfee58a57bb9c9144fa31da57e59d1b1020eb7e51bf9691a52e8a9bda27584740d68644ebce20a30 SHA512 2660b238fb4c7203b2502f7a511877eb73d10531c286363d0831fa3290797723137cd93ad013a781698455779728caed082469fb9d5c55073f2c6c5715fca150 -DIST thunderbird-128.5.2esr-eu.xpi 740305 BLAKE2B e45902eb59c9d43ff4b7d29d111cb2edb471ff57e04a3c02a0d75ecf8bd35c855ece88b08c7873678f3e8e8b384f754eaa6c54b6e56a464319c44e47d4b8a067 SHA512 18e41f83f4a0c1daa284d6d637e57ce2f282ee85817306c79473cdc6aa8c10c87a88fbb4470cf59f116057790323cf96114880d77b8ce0604db77b878949141a -DIST thunderbird-128.5.2esr-fi.xpi 738931 BLAKE2B 9f98ab9b4d6526d4081f46ead47f396a3750582e22828f3d32ba2f9844067c3e4f77a272de7e944e0053c1561f9a89331290b8acbc5eb3f399401778767cf0dd SHA512 bec2372a6131d8c753176216184ea00a3b7cf6cb9d09e8c0b56d0cbe58f1fedd8bb948bb672b0c68e89dbe19bb7191ee6069ca2697cbd5c4877dc10614a3887f -DIST thunderbird-128.5.2esr-fr.xpi 777365 BLAKE2B 4ce55cea3413a228c67a96adb702221c8f312dcfc986215fbb100ba00f63057e2c7ab9bcade5fc7c48b5676cffe7666fc161e61794b6af738ef32539d35221fa SHA512 b12c687198d92033be620360d4aaea6f3d6861764470215c36b9e2e574972829959cfab9783b388dbae0004ee02884c30abbacf91cbdc88a52fdc9b36570be1f -DIST thunderbird-128.5.2esr-fy-NL.xpi 759928 BLAKE2B d0b72042e58f66eef030028b4bf227995eb77b93412b5c895fa1c50c4805888698b50982d6f729a626c1b087cf7ad9f9dd64eea4d71374e24fe7368e5a48b996 SHA512 3915302d69e08569d8142a05b0bceedfba779fe3c3ec1d37be0897f63f794d14f5d8764dc3b3addaae58ccc44e3e056e97703f7707f98c383b8a4b032b58f43b -DIST thunderbird-128.5.2esr-ga-IE.xpi 616368 BLAKE2B 58e42a03ad3bba2fd60d69694cb2f59b0639581797c96c32ab042317b2e873557b221fb9a8fdbc4e190c9ddfe48dbd912f385d058fc9e5e9463e86738446cbc0 SHA512 dadc86451a95e751f3da901a34ae5bfc12f23d64799389c998f39744849ee55960271a9a1a96e8a6bbc9fb5bc29441d1ced84d25629ee3963cb25136773fce83 -DIST thunderbird-128.5.2esr-gd.xpi 729139 BLAKE2B 12fc76df9bc58f5744f99f6d06588feaacc7a94f03f73dc8535e06926739378b877188878ddca8c21fdaf5fd72150d99b9b73897c84276a29e8070b65749cc45 SHA512 45f409d86ad4cd3dc6293e09e9729ef951f50643d1a7654c02bc5cc34a799f22f45bf835d7234fedd1e6cd0c4b02126b591f315a684b479a4caddbcd18e87731 -DIST thunderbird-128.5.2esr-gl.xpi 742175 BLAKE2B a09a56f3224cb0f3137e6fb10dd0a34e04a54051fb9fc0717d6c4661eee3d72fae8c69d44822c1d20f6349fd1eae32c478f132d52933a3bafcf29ae23eb784ee SHA512 e7291b71fb9e7661aa0e9ecbaec656858ae153e28aecf542530a06694bc823e899a333b344042abbd561655a9858c958c2cec32fb2fd3e8ec2654b3508824b2a -DIST thunderbird-128.5.2esr-he.xpi 703448 BLAKE2B f8ad589bc90131224c725058bf743d1503993ae3dd6c921c9067bb0fb1e18933e9f5cd81eb11831314636888ca651460e40727a77972781d4d7f47823aec3326 SHA512 983fd05e82f235d5559b321d3a9365d4d9d7aac57203bf2d1291915961dc489510aa3cba3adf43fe503ba3952a88eedfa71f8ce93e53cf5a5e20da71e19b457d -DIST thunderbird-128.5.2esr-hr.xpi 720119 BLAKE2B 70a5cc2ab288197b297583bea9d749edb263cea563ce09414e7640b56e1947474225e1b771dd3199c2a304d74ba9dd35155bd456d09a32937f07ce65581f18fb SHA512 51f3b757bc7c64e68733b4f88507fa80396c02324017bda7b86bd33136a274c21710a4b9274f1fbb64812eda52e471de1a53d80fb854c63781852389602ccb1d -DIST thunderbird-128.5.2esr-hsb.xpi 787748 BLAKE2B 8bb48f541ac3ef3439d137701e789c673caeb4f09cc67c73eaeb08de475fed9769804832ad6597f1817691f26fec86a7ac5928b6c5a51efb6a0d06beae3aa34e SHA512 7f01d3abb1127cfc3abb863f2fa67fe6606d5b55af4d8adad739614c5eaad7f48a808941a5fc4702cc2032ff2d06b9e062d5ff192310c528a9dc3972e17e40de -DIST thunderbird-128.5.2esr-hu.xpi 790231 BLAKE2B b38f36fa3792d70c7951d9d9ace4db86be9417897e83758ec86c4cb36216e6c6d7e825f06542697f766f75b5f9e33ebb33fe998c6a38baec94541bcdbcd924af SHA512 4b09c324d68407ec195a64d033b4ae7e51b3761f4904cb5f8767599815b2802a5056c150193316bf8e0a6eae21c8eb46a074d1012bce129af33507dddf29882f -DIST thunderbird-128.5.2esr-id.xpi 710327 BLAKE2B d50b871c78f99b202d28c99275e03c1aace4468af05f6577d87e40de22e5ecc80d15c88129a3236e0b926a5b85a396ece8c2a3c5bd476f7fbfdccd6eef11b9b9 SHA512 1f2a39ef486807a9de859f65cedff5ee9abf8713abd5438ac6da58589783e10c5ef3f32ab1a374c53b79163b4238f01568c00bfe92d8de7e590f7eac0f470afa -DIST thunderbird-128.5.2esr-is.xpi 751187 BLAKE2B 9d6f5a27ceb539f7b6411dbc2d651280435a717cbb81838ad0b1cce636a83649a3160acd832559bca0ce9d475849a8d3208e7574e23ecc6df8c5732889c31bd4 SHA512 c12135ea63903579d6521e2b140cbf92c1449baa1e56d67c51b29d2843d7ddefcbab686d25cd71df5df7f52d72366c7a194b65b4bafcf9f7c0814feb0d0b71a9 -DIST thunderbird-128.5.2esr-it.xpi 697097 BLAKE2B 1992fa23f6b91c2a784777e61c7e67bbfd35a84e997fa7b1c7465b136e5197c4f89a98a8ccef871a74c91e7505a521dae7f51a79238ff4a78316035159eb10fa SHA512 c7800713e93a14463dd3383166a908fcd0891b7daf49097f4987d0848da9dbe75c0d3e33caa9bc5b187ea9e0cae7725daaa80d763caddd9cb9f2140fdb4ba4c6 -DIST thunderbird-128.5.2esr-ja.xpi 817723 BLAKE2B 6ec76ac7a42e00e6d3ac042d14f9262d2c45abc84ace74478a08fc4afda31d537b0e3625915537b87f652ed68277ac4af824db7b934c34a1d79825cdb73ea250 SHA512 9ba860573a1ea14921be07728f1f9ab225baf58cb90fd7d5a576649e0b305ad84e4572de84ab8e556864581822bef8eeb7a25331656bfb788be193bf15af7495 -DIST thunderbird-128.5.2esr-ka.xpi 796714 BLAKE2B 197193ce27d734b0145a13adb02c895084f1f0c7e81633b8fcf890e6a12cc10cc25d8a5f908acca59c381f4cfed7dc777c0de7f04cf4b442f1102cba67dfb1aa SHA512 7cdeb1073af116acb22745dbe2b6c0924212a33f403bfd326971fc430a2cbd460201a673afdf3b80d18381ca83ec0db6375533fd14d59eab6557a7f6a40b4892 -DIST thunderbird-128.5.2esr-kab.xpi 735474 BLAKE2B f13e11e823db622934941d0943bd8cab779139d7bcba50429222c7a42935947240345b83d40b7ee0a7f4f224a1471955689c71517afee24400d21b8283cf2434 SHA512 22a45f54271f74b3ad6f27412f0f76c226698a93027bf438fceff28015591eda6574c3b92f4fd62225015089e8e90134cafa0953a1e93d9b058974db57ef10fe -DIST thunderbird-128.5.2esr-kk.xpi 865512 BLAKE2B 64c54248c410684a7fea2e1349f858fe4f59da5aeac8c2eca5c7734c0f83f600298bb5521835e5e1c3234e26b03c098bb6c60a195ad9aabe3f3cd6ea6382ed0a SHA512 7e86a9e8e809fe4163743971945bd9c8c5930383261003094241eeede42f834125fb281fe6c3a556c37486f0f8c69128820abb8f22752b9827a47b9f1617fb9a -DIST thunderbird-128.5.2esr-ko.xpi 762642 BLAKE2B f3a38ff807d1c948e0300c1ef659f12b2d1e7843ac1e45949603bf8e2ebca88c6313dcaed128ce059a2e5fa90e3571146736279f1ed9c6d9cca5616eef0a56c3 SHA512 7f84df22490bfced0999478c3944ed199e223eaf11ded342a0193ee8d112fb54c82a9596ed8d3d693a98e310a440d6b6725cbe4af8f36b005e4222d0f3420617 -DIST thunderbird-128.5.2esr-lt.xpi 701411 BLAKE2B ee51a6bcd3d1ffcf25d3bff7d311171ecfcb2afb4eda11a97a53bd72f83a4fb0a41be657c0498eb0b96aa28fc8e4334e3b62b3174331025e68821663e5e7dcf4 SHA512 7981a0b240cd8fe42aced4587563a0da30ec35c8ed737d3f424a5f3634266505d345a100be547ff563fb78ed4a517765bbd049e6338de470dfd6f1a9db0bea33 -DIST thunderbird-128.5.2esr-lv.xpi 625981 BLAKE2B 6fad1fad86dfc661394e8734d5c3c93d668cce50358849c1500e1c063de83f7d34e364f9a0a7e9e7596352780faae9947f3288c6a0930f8b8de147cfd7949165 SHA512 99c88ba45f6ec3a69514671df362f4e8f3a0dab9676f0484ea68fcfe0ebace02e971ad88279087a7fce7627fc3f4460d3c8de5f98923da9ea554a3e059cf9957 -DIST thunderbird-128.5.2esr-ms.xpi 581575 BLAKE2B 80cc5b7acdd1376c033a806db9b95349fd980d7cdb418c15d34099ed87c79a49c035af3b4cafb081a9661b28d24d4bb9a74e82dd8eadadaff9be524e00428cd4 SHA512 cd338556365ce583beec84e982b5b9222a8ec26e36ddc619e2a7a3f3ed0e7f187880c91cd576aeeac1b368badcd4856a507c1ae69445f4b3a3aa822c69082799 -DIST thunderbird-128.5.2esr-nb-NO.xpi 708561 BLAKE2B 5502ca4daf1b4fd74e98ed666157d42bc9ac53e5962de012cac14ebd879063c7642138a92905c5b513a0041b79162e3f09f1703cf91d1a80426ca94831233244 SHA512 14501fc7c3a95ea975f96f970b0cd17b0d9c6a00d7d6f58718848922d01aa363b20026e1f48c22ce14458671d8c070a91aa8adbe79971bfcc50bce98671ec3c5 -DIST thunderbird-128.5.2esr-nl.xpi 751614 BLAKE2B 6d85397f712e8b028de0cdae60886c3060058148656c1518e092e3f227bd9642ceef8ee6c849a33a7a9a5692b8b39dd1d69fd2575cf63478304ff8105563ac5d SHA512 4f8766aca5b9c36028bf3fa156961ef8d93edc040717c29b2d1889b680eccc201ba21010bfdb9c83d6cbcc017213f1062b6720c2e8e225feea88cea6029ec651 -DIST thunderbird-128.5.2esr-nn-NO.xpi 729659 BLAKE2B bd52a29dcc102e2caba6344ae93ed4686f210209b5cc30ff7caaa95d99ea23991de60065ccec7af84056955bab80a52a11a487bfa4486badc1863d0eae2d3cf0 SHA512 17bed73d6abd99d6f642ba1a2fb9319ee6828011c60ef185f9d711299e030ba6840cc8cf6cf5655bf4f2d74ab3bd35b8c3f3a699de162671183b8cdde6b872e3 -DIST thunderbird-128.5.2esr-pa-IN.xpi 688138 BLAKE2B bea45460600966456bd158a4901ee7896e67995c4d15485bea0495024571aea6d668675a5904b6a5605b4be7d8139f35d6657836048ef27abda0e8e5c7d8d032 SHA512 921b84e30b9183a718540fdeec7edc05512e26724b4b90e61ac559a7b8baf48381015bad1978d60c9ea8bb2d50f91b87d255d9cfe9ccbf90aa0311420d74ddd5 -DIST thunderbird-128.5.2esr-pl.xpi 770780 BLAKE2B 82c89bfd9f66168a0ec9e5d050078e377c4d11870dfdbe3c61f21b11b921a1c551e785b9d784be081ea7df7233a34c8edd5bfbd4aa5b00eba3a009c3a4b0c7c5 SHA512 6e7528e84881267402a865db2e426d3fc8f07038704f46b05bcf834776c5947ccebdb1f2de9470b0def40cf8eea9ba1b91d3e74471ea087c8dc4cb297f9dd159 -DIST thunderbird-128.5.2esr-pt-BR.xpi 758845 BLAKE2B 1fc493a31795ace3923369a29df0d74544a10b90db117188b8d69022a715297edb871742bae1ca03c0f975cf87b3a73854d880426620c8107e2c6e56d73dc117 SHA512 c21b75fe6a20a8ffd029d578f251a9aab924ccd4ae85d2b1e352b378f7d0d3c8a7542408197547cf4e9b9fbd6218bf5e2930ac1206522445d7ea4cfc29212cc5 -DIST thunderbird-128.5.2esr-pt-PT.xpi 752024 BLAKE2B 50e2d1781eb74c06f8e9d62a22ad1e3e7d519788da0dae089936579966014488a516db87bafe21037005d9ab846ec6a30e4bd2791f4e90ac23eed38117d641f3 SHA512 a8269fce1289fed61bde66f0c4c6d125fea031c881e8a6e6f2fdd2a4a5a4b71130d14fa52f0b8ab8b3e19935de7adffdf04c7516efacc9e67b7d5661863abd52 -DIST thunderbird-128.5.2esr-rm.xpi 754446 BLAKE2B 27ebb2ef921f3022c1804ec3b1409aa5e1abf8459112f066d86dad1a3c68e48566639d28d11a134d5b95f5e4fce91056d03577cf7120434e1557720a9cc3fdaa SHA512 4141051a0309d9a31c37ae660e2da0460701098093af1293285c774fa2c5908a24f16dce85fd3dfdf32394072ac112b98e6c8717a140b4e0630f258eefb2e728 -DIST thunderbird-128.5.2esr-ro.xpi 670227 BLAKE2B b1e176b863a448bdee5495e43b3f19f2b2fb214b0b39b4b8ed023382e1f91f61656a116b4feb927d31b51933e0d26da4738699629aae3ff1b1e77d4817886e11 SHA512 7c30e12fbba1d50c95cd1be2efdaeb8befec5086df31a6b8152e26f3671bbc6a2f810e765dd49b0b3213633cc3da16a045bbafa48302eb1ec22fae683f377201 -DIST thunderbird-128.5.2esr-ru.xpi 880797 BLAKE2B c304ce15e1cbc29169617c15cc4a7c077e0cf6687e6d5431826c3babb675899d4bcdea1adf6adca21cb7fbf87ede39ab44473327828c8d4a3c9a4db50c133ea9 SHA512 533191408dddc5647d4fcc679fd9a6c35d85ee8cb783ba27bc70c82e9ce86b1779f39411665c528449c2a87a47e01759ee30aa8dedd01ba75674eb954d53f59f -DIST thunderbird-128.5.2esr-sk.xpi 792220 BLAKE2B c32364e73b5afe15c7f221e383f51105408aa63cfa97d40bb9d7ce15d23132530ea92acaf5de4eebb32dec5694fadc07d1720c84eedd9eee361f73a6ccb36018 SHA512 209510e7c2a81e9f4e0a8108c4183814495693d685daab38e43c4c1aea0d8da6aa0d7f82cc59052f2b214e9021d15cdf32a00f4953eb3550204ccd9a0b992c89 -DIST thunderbird-128.5.2esr-sl.xpi 751649 BLAKE2B 00b911a8a80004915978e128a3357c1278558913b71c88f836281cc9e6911b3bc7e27854256a72518acf19681b516c283c57be435a1fa4da7b04aa676e9e4344 SHA512 958086f57266e0ef3b23e87ba00e4abf0439490f36f20909bbeafc52aa09240e8a2c92e100d9f6682ab0607b2338d97c4efac3e30de7713ba0f78d80a476c633 -DIST thunderbird-128.5.2esr-sq.xpi 774998 BLAKE2B e7506409ef7749023393ece0ae2ad39b8743e46caf0a37b1b96f91a795fdab1b42019ccf3597dcf15d877bd56b23a9f4249abd102d9882bdbb0433ea82030fdb SHA512 1c24d524d5d24522625dbf188e1ddce210e010782aeff9e5307a29ec5f3c37884716f71e23c995120b2972f1a916e090b8eba870753556ece71e56a9bdc2d9c8 -DIST thunderbird-128.5.2esr-sr.xpi 771751 BLAKE2B 7df3e2c7e93a625eb3da198119fc00129705dd87d5baecc6352df46d9d8ee857db1099a936ab0bc9a38bd90504b230a9d36fbbf88816274a9a503e3a4ed585d4 SHA512 5ece48a1d570ca786491fdd5ce66b6705212f3003d762a554df2679fcb3b1e0b80bad3542bd89048dd172a7c04136a633a3224e259de3dc000ba6b163574f623 -DIST thunderbird-128.5.2esr-sv-SE.xpi 754939 BLAKE2B cac67a27b2e9db5cd3311cd6c5b35054bb77b4f0ec0cda5b355c1fd30c8184eff2140873da3d4338af56a841bc59a98bfc127752dded3b36da7f0faf7a158a14 SHA512 d5d2d828e53d2c6f23029ffef9a7bb55a44c30a9e71309bbbbd95d8dab43cb863cdcab6bfb3bcd804ad71ac3cd716b1bfa691677f895305acd0421508d02428a -DIST thunderbird-128.5.2esr-th.xpi 819692 BLAKE2B 7b8dc11120387c6eb0796692aab196e6aaebf052c60a19e2c33b59a8a9546b62d80de285539e9a586bf37c256a1d38c83d65b6717b35dbd184db47fba78e6d52 SHA512 220fd2d22028e83a216b7d24c4a9b4e97b0d49eb73f4ad89185dc9afc4a0a2361af7ec2d7054100ce37c8bc121815a0d164c65bc7a0a2dac88ebf6036afeae5b -DIST thunderbird-128.5.2esr-tr.xpi 765549 BLAKE2B 1c2a07acf012eb8e499cfdf9fad9a9e7d1dfe7190337a4caa7f49a2671b66726119b9a4621cbc7f6bcf5741f18c3e4644eb4af84097c37cac3793af13b4d765d SHA512 dc070219867392f7ada37765743a8fe2353738604a7af0a12e17169103b7afa9bbebeb8a18545b36a332f637025c6d966acd70b4ccee87cc7834491592b146c2 -DIST thunderbird-128.5.2esr-uk.xpi 871378 BLAKE2B 6c736615a368a72874d4db2575aa18716f2822c0e26022f4380170b140edd36da6cfb7a8c198e38fcbc9468cc04a94908415247544ea99e29c74c0b9c983f57a SHA512 10df2ace0e3f58e40013598e7e9330faf072570c7fc357188ad95280fdac9049e612d5ee13d99e4103304831d6b220e401f99a1b520e88682d69d64a5720dd85 -DIST thunderbird-128.5.2esr-uz.xpi 592621 BLAKE2B a85e1630a03d1ce8f0c6f54eec9bef24c49849363f418817ead14a658448de8709f2438077390678d129a8dc4218cffcd9d1e2d0daf2cdcfbccc3e090709ab66 SHA512 62827e1cc174e23322670eb4cc6b48b40753a183c17ac801b36613a5c0db0c7f15870fc2cee9917855781349fd627d8a0050a38ed0e2241a12bd85b73120b4b9 -DIST thunderbird-128.5.2esr-vi.xpi 794034 BLAKE2B ae0d1b8b7c780e421bc567d8ad35972c1083c959dcdc33c41fd39e836e42b9709e95ca408a6e4220248975fc898f68f8143e260462b339acf77a776c797ecc39 SHA512 fd924b279e85096c35707d53519a4aaba150944242f0ab86f313703a2c8a7a07040a466c93bff82793023ccb8b2a39a51277f197d8da42e9a430495000549dca -DIST thunderbird-128.5.2esr-zh-CN.xpi 794062 BLAKE2B 7690a4514b2ffb7fcf2fc1d26b149ffc7f82d9b7ebe97c6e144f6ac684b2a3e08f00044a3237233e0d17db44dfd58d4859efcd93101f16954bc0027c9700f175 SHA512 fa77d6463508e0da35852625072326ee95d2bb66cc8a184c99187c7facc05a642b3097c6a03ba19e10a793c5f4bad51c6fd7adb3c44ccb96cbb06adbcc625f4a -DIST thunderbird-128.5.2esr-zh-TW.xpi 797336 BLAKE2B 78b896488e71b1db7990409fe178ec2309d050a7c1b20c9b1e8276fcfd893c59ea4cb77b9241198e54e0d3f34aee8de53c540f2ec9a75cc1112d0f24a203ff3d SHA512 fb6e0c3cfe49494d678252b7d0eb8ef6d19a85502979c3c6965da76cae2c1f8dc1aafa0df1a15c39c9a26f0ecb4a335acdf4d6539a2ed0b35a625eda84994f62 -DIST thunderbird-128.5.2esr.source.tar.xz 674696420 BLAKE2B 3dea8ca8a7eb1e155e50a3a476d8b448c2e810eb347731efd078e15227073fb31c43eb8456678df21d834702085f3470248c51929fe01ed8c02735aa64364739 SHA512 cbfd4b1a7245c2a2f6ef9b2cf69d95a8095eba855755d00fd397351b21ad504733084d6f41801f4114be7015332b8db65e5290bec45f5321efc753412b9acecc -DIST thunderbird-128.6.0esr-af.xpi 530348 BLAKE2B c291336a6e9eb40b1b8a3f2e64406147afadf8da89c4b479c5030af834899790eb33825338e779691cbd3182825067d49b195ce5b89ba473fd73cf84ce25f1f0 SHA512 b8d4efe5a31aaaf8d1fda0fad64e92014fd9c989a3335af79947d4cba9f49f8c243723ba71494f092c03b14a3df4b51c9e6ecaedf0fc0439df3f4dd870fd6cd0 -DIST thunderbird-128.6.0esr-ar.xpi 686983 BLAKE2B a3c3474888b6a5e0600e11412fe9bedd7992789c730baabfc4043be47c971a46e9e3b8d7b6140f89daf38b7ebd1ee83e3a71c52abb55570702c0c8f99dd42c71 SHA512 cd7d41f5267cbdc6e0c7a397c8340c06cce3a213e6abb63b06e5bdaedf9dcddbbc653691cc1086ba63f45d5b3bea8dbc4e845292c5a5bffc4d40d8c7c735fbae -DIST thunderbird-128.6.0esr-ast.xpi 561052 BLAKE2B e0a15a2cc6e271182a124261b5bbe394856d8d9547ab23f780cf1dfdbf03e99f02948586b966205dc60bcd71127eaff1a8e65c12c49a530a669b2ec211de9295 SHA512 c57ec7f29b3ff3eff8e94d56be6292cde5edef45e951ae2cb702c54ff9e48d2cff5a3e5dbd8203bc2f6e315ec2cf1050068c0c3b7f642c2ff72dd2d6c49d4e19 -DIST thunderbird-128.6.0esr-be.xpi 772988 BLAKE2B 86cbe59197929b30c6dbe7e359e67d262adb39d0b63b9d7ed8e228e85034c231080ca9a3ce3dd8d00d9f7cef4981c3fdb1e3753d9f2808b1b83cf3e0114a1cde SHA512 2105943491510503cd72a6278c60a6c99c9a70352a1698f07e81e7b618a6d5e77e0c1918c26c582e5538429707dfaade269ed1fa8df6de954d1f59432362ad5c -DIST thunderbird-128.6.0esr-bg.xpi 812322 BLAKE2B 682041133e3a33c1b517e8846031a9d5c16e4e5d457210bc50aa3d454df319841cebb39bc3582e3281699e7a952876af881d2b07eaaa717f5c1671787b8f9848 SHA512 5765cec6046cae25a11517582b3a254a0e1d0bbcc7fe1ab34cf48b865b34584e598b8548ccc92ae5082c9c411f6ee096a4c758deebb619f1261e66c74c35cf52 -DIST thunderbird-128.6.0esr-br.xpi 655125 BLAKE2B 906f6fe6c588e3be0d8103db89910b47e248ae1c2c8026feaedbd0b94936da456bafb247b4cb7a615abf8934dea7e85639bd0e31b9b3edcc19d87e5ee0a6cc1c SHA512 8227bc3393dfcf8f55f4cd861c64333ee9b75e265b13ed867c4d8eef70c8d92ee8e7408655deb3dc16d54771ea382328ea8004c2a73c7cbe18a723ae533210db -DIST thunderbird-128.6.0esr-ca.xpi 711075 BLAKE2B 3ede15dd28ebfa6324faea3c7dba21e37a604e5d4de5f4b940b1e583ec37ce7ed1246b84f3480d0720b2478a700560a1aa2331daf1ed0f1a8560420b6e8e2c20 SHA512 967d2f507303d1271845abb2d4ab7c558c6a1b9d9cdb647d59f9e40e922bc6c22203970c6b512a447ee6d494c13cc4af0198c9a863bb205e1edd485e98a4742d -DIST thunderbird-128.6.0esr-cak.xpi 672193 BLAKE2B 5407232e5309171c30306bc8a191dafccf6ea5dc4e0334e78703c03c169bd0328069aadbfee31d53f8d7169f210dba4b55c95b4afcb1705de83ea09ff9f35a94 SHA512 c33f22f1313c4ba104babe4bd162ff9d8483b71f2eab2912888e2a1dc65042fa8ee890749a82a570c9605efaa1d6bb874b2fee6daef1941a36fe491edd02c73d -DIST thunderbird-128.6.0esr-cs.xpi 791606 BLAKE2B 0f752dcaf1a9cd1010bf79f10638ea65186660c05b1985aceb97bffe700d6bd166571563fbeb8d2933cf998dacf2b3053b931a49e36e8295afe1a5a913ff2639 SHA512 0d5bd9a69f6314b67745775c58ec8653c2369a5cfd7306af8395d8792230247e518abef5d1859378e52609e963dc645e934bf6b18c3abae4836014792382ba37 -DIST thunderbird-128.6.0esr-cy.xpi 756814 BLAKE2B 8202561c2f83b73d6f73103b3ca759f740be0e4e4dfc8e4e73a59537db26bee7570c54db587876ffee76718c94f5a6ff97c25c80347b4352c6c8b9b0f94626d0 SHA512 315c9a888ce877879a1080c19520315eb7be2b5cf8c0d30f9cc49c382ed97a90bb94caa19d607ebe96d7f97b43f656723346ad3580fe110510fdaae455aa9d5e -DIST thunderbird-128.6.0esr-da.xpi 740055 BLAKE2B 4ce399c01054949cb0a695f4387d155d7de9e5213d09c71ae5ecc838445c95bddd79b7a564ee2be3ca5c3be2859406d248decc0136ee45148c9b5193b4550221 SHA512 c2871fe936a23fac5f7b876d41dd0500de6359a145d8a4ff11edbd25041623960172af552632b2501a165b1aebc4edf4b88eaffbab70dff2b5e1a9fbcc3d9c75 -DIST thunderbird-128.6.0esr-de.xpi 772205 BLAKE2B 69d3eafdd716b01eeaf71d349e90e354125ed1447519598201bf7437cfa3bd293db1308f65ec5e6c41d1a4b7fc8e4f609325c46af0b46b8207bee827ef0b3318 SHA512 b1a051755bf2b3918386e2b65ce3e43f3b504024d1916510c8a71ff5068e933b0c729c4b1e823d4ab8aa0509e2e187446b5dfca1d6d315e7dfba92df364919d3 -DIST thunderbird-128.6.0esr-dsb.xpi 790366 BLAKE2B cde948d8738ec82efb0a64c3ea30888985424fdadf2a3a4fe2c51035cb033b545e63b78c18238f00bc3fd1e0e2bda541d8643c9b7fc98ad090c2b4b083d300f0 SHA512 d0740b71e3c381f740ef7bb1a4f3fd84ac3dc030b5119b58db5f008fd82f3159f1b19e48f92ed32b599052ab0f8f49a0523d74dc371ed888d76bcd80b208f8d3 -DIST thunderbird-128.6.0esr-el.xpi 895919 BLAKE2B 35ab6d658b40c485be55da4f6f573a28e35425a2c5ef3b48547df41f2902024b7e4c2c1bc2e4dddce110cc2388408c719da1d6820d82d3d5e3343a9638f8a3a7 SHA512 2a119aed7b83de6a2ac7341d00cfe2889bde0ccc6a74b2b25fa8e3542238c13111a31daec13390090af6bcf76fe1baded0065c040a83e6a5dccc5f390e3b798d -DIST thunderbird-128.6.0esr-en-CA.xpi 705212 BLAKE2B 469e87f31eeb362c0862e07c605ff65037582fbd8436e0fec16ee9357631775066eb09c9527ddc88a754de91d5b170af7a45750bf852a5a6c862fbafd22348d8 SHA512 fb0c861a9f5dc2e2d59dd48c42fd500e37f625dc232cbd5d3e6a23ee0d5cd530c96484436f52ea9f7532b71fafc9c6811d36a7a2f89cca407bc1d4a4b8d86314 -DIST thunderbird-128.6.0esr-en-GB.xpi 709686 BLAKE2B a76b720e9713b146d20814f59247ee86f6e1804495aed6a2683715d48697c5999279b729a289e7caa7d9b23f3ae9d4f4239c118657111f777632c8b2e23b5130 SHA512 400383b2d1808bceec7c3b8a1cfc4fc4c56ec49341145d9a9def64b6f55f99311efe56cefa09fe037d78ed04b355141abc66e0ef048348f614a00efd02e849de -DIST thunderbird-128.6.0esr-es-AR.xpi 765753 BLAKE2B 9d45331b8dada5cf0d152de94e353b24626ed1e90808d9f81ae620ac97f369ac6643683437721df2721febbe1b05c337812dfca9d0d9c7739e6e175ce1776491 SHA512 963c88d801fb1092a4cca94be64ffb8f467b9dd3fafb3395c7b25bbc377fc9186df086502f25f621f2c43f26ead345234d9553cba5e29e2eb1c332427c4fbde6 -DIST thunderbird-128.6.0esr-es-ES.xpi 733783 BLAKE2B ea67a4d36e8b51a47edc15defc62e598b0497a52dc5a20419ddcbe44ac41a3e8337eef6030e301bcd6a1a3bf4f65d4c21ff3718017855e1616545c18426b5b2a SHA512 6bf64be7c04df40c531682b03f282856f020bc7910ef3a1a4b01e83159506f6afa4085fbba1d5af2c92ded46efb5f36ddbd4fa9ddc4c6da140eaf52af220ca8a -DIST thunderbird-128.6.0esr-es-MX.xpi 749781 BLAKE2B 4c7fffe3db1a9bc4ee3092474024e8fdf754769601768c5d2d2cac2dc24b4fc1bcfa68d5948adaff0e80dbd18d86ed23a85f9c9eb440b5fe840e81ff4e2f6802 SHA512 70b3104f5c44973d12ca155f155989c944df23f9c2d9d637561a4aebb19db244426ea982b1dda4b58dcdf0c69e575e75b3ad4f451c1203a251622155ae6d7e12 -DIST thunderbird-128.6.0esr-et.xpi 696771 BLAKE2B 212c18f86b802ecd4305e143148746c868f7269a2e23ed3fe407f38fbc8c6c3c0966e29a327a49431a83b8f5de20bb5711c5c70d4ab73875e131631f94c530d7 SHA512 50ecf804139e5fee2b92dc1bfdecf676d0cd3d3ad74cf9a49f23233e4211d8d5dc562911a87080db76d5ec8f3213d626793394220d94d0646567b1c91f135ddd -DIST thunderbird-128.6.0esr-eu.xpi 740303 BLAKE2B 8d38a900abf02c3b3c9c288d12569cdf638a78c413a2314e473b399ff4aa93f65b3cd47096cee1285241756de8ae3b65ae1848f2c5a1723d6fa8f745fe600c1a SHA512 3eff3d9ae78f416f2292cce32a82ccb1e54ec32c04efc0deeb2fc1bf9d7e0e2aace59607f0275a57e4081748dbb93af50fe345c13e8dec22a6d0d3ca94116e2f -DIST thunderbird-128.6.0esr-fi.xpi 738929 BLAKE2B ca5110469fb6cff237bdd87757610453043d776cbdd5f80c2b575eda5b336b93230263df199df097334f733498c8ffa15c5f89d1faee7a277fb89bd10eb6751c SHA512 3cee622136e2165184ee7cb43e453483c95d617afba19b49fdd25d15d6050ee7bede17b6b6911333b82a30f07f55ebf49b3c8d265a803484af6fbae111bfb799 -DIST thunderbird-128.6.0esr-fr.xpi 777362 BLAKE2B 93d577d3980bf35406e82db368cab3b58bd5f0d8b527059f1f536bd78fe6374b6ca31c586ba1b4082fe3e775810a28566bd3a7e8c0c79b94970934be0639f7cb SHA512 a29311c5849c371402607a92cab485394b648bab8c753f619a1c68505f50799603c533da42cde4c2a4c208cbf33e9b5596093033d0d665c84112ed7e0b525be1 -DIST thunderbird-128.6.0esr-fy-NL.xpi 759927 BLAKE2B 24d6b2550e335a461976a6536c453f45c01c8486f4196e720e3e0f66501ae9c55fd97529249a86d981e661c8c76d0bfe7819270b07d80e503ed105604b22ec7a SHA512 73904123c62bc4669aa4a4b54059d3da74b12c03a75c5485f72139319c307caea47f58e6626e5b450de5d1f45328099de85999256b90d72977789e14c45290ad -DIST thunderbird-128.6.0esr-ga-IE.xpi 616367 BLAKE2B 64a6426046876c74375a443af2c8b59e01756a95343d16e5c1c08bcf5b999c9d2b301e91a9f1c8c3a221d2d7e41457761e735a92a45484b90b717e83825e8963 SHA512 4375d6cb7db6aa07acddc73610f791c069ecb88e39685b0443f4f2f5b1c759f68f503f052ac959608248a8b1fc939dcc851d2c3619a61b95c792401f457700cb -DIST thunderbird-128.6.0esr-gd.xpi 729137 BLAKE2B 803cfc378293b448ad41f82af290708623c7920f65b86aff855e7e0e0783d2906db8a2005a2f83c688d283eefb9e85fa3c59306161790d4718cf40c5a9d6ab8e SHA512 878fef6be1be5e68f570a9845a62080c69cfd1ff7fe265f63806900e30bb72d0491300f7abf777e57c70e211c47ef55a4de5cb7beb2f30efd318264da139bfbf -DIST thunderbird-128.6.0esr-gl.xpi 742174 BLAKE2B a4f66a7999dd4c94ff8d81fd0638f32d591941d7d922d2d2f8ef8160541833d748289db233b9032768f1f84cd41c3924c08ea6cc70530df983f1a7f3d2d29269 SHA512 ca1650451c1bc9815637201f4fe6f835d20ead6fd869dd65f1fc1740f40c5bd4770d18b9d33f1fe2bfbc6af1538a7feeff627a2daf39f7942b506c54f545980a -DIST thunderbird-128.6.0esr-he.xpi 703445 BLAKE2B 691e73f8c75b5a3880320c164af4325b6cd9f4f3456067cddc51a094687f3f3b675c1bdeeaca81485bd90e1416bd22de4e116eee75b9a69f17d7e6346d8dcab2 SHA512 380cc758eb9ae27186e07d27ce38f875daf0a8cff17da511e984a8bd2d9b9f90cde973f574672d7b2845b38095e3beeaddeec2e9e907f7f36aee1e9b4d90f36c -DIST thunderbird-128.6.0esr-hr.xpi 720117 BLAKE2B 3ad821fbb006242b1f8350f182121fbe80aa089c270c82f8e36107d3b58a787e5f654f1b3a6e9be1003f5640a427498003cdaaf58128169f510827f42e6a9f72 SHA512 e75c85d1428d3abf930764d703c2f36e4815a03c946c4d102672ce748015d8a3158f2d72d9d306aaa9b5767bc2b9be91afed3b2b1fd9a8e66cd149364654134f -DIST thunderbird-128.6.0esr-hsb.xpi 787747 BLAKE2B c0be155089507c003fccd23333168137290cd18027f1d912f51b9be9bc49780442303170d91deadef2828d2ae5cc717003f5e116bfb4d65e8207e0ffcf43968d SHA512 d9e7b5aa7442d5b1f95fa06c379bcc23047836f191143b1c3b42d7ff76a5c89e493602bbccc0a3b5b30ae4abfa661581aeecea495d98ecbd6abf8247aca4167c -DIST thunderbird-128.6.0esr-hu.xpi 790229 BLAKE2B da5b291250605f6ed4ab574f22c4f30c0ea7e9e110ecd8e581bd81a4117497bce7f3d88acc302a02ec99ab1248bdfcfc82fb93aeef3080a7e929d1c60e1b3f17 SHA512 de2972fa16663da66bc7ece9efd8d22a0625a35fe009d5c6ab60cc841fcd9cdb9afbe39c0fad6b8a2aab56ee36f221676768b6554800d8c728a39d4911276997 -DIST thunderbird-128.6.0esr-id.xpi 710323 BLAKE2B ed29d48c4e4fd40b302f71de3d72f5bedd0ca2df92fe3b5f49f38f4dd557cbf6144d638f4ca98aee47f1bf16bbd964e0b65387b9935ad11739db665b88031787 SHA512 455e198b66a91d033a29d7e61f8af887ae672a8064b771af944548001ec989de2d41a07edec7eb0acf4a3e8118567d14ec0be67570e3d40ab05c7ec25fcd9b98 -DIST thunderbird-128.6.0esr-is.xpi 751185 BLAKE2B 9814f174a21085819e25e96a45f37026ebb6b6e8675e2ca7fccf5895d0ccbb2a379d868d6538cdef089e29fc86a066d0a3a3f499c848f05d0c91892818682c21 SHA512 f602e41899166e92bf68001563a4817a5884b95899ce468f074907adb2e92d3dc76ff76a00f7580309744e05bb4518bdddd5c4ea506079daaa6329c014f815dd -DIST thunderbird-128.6.0esr-it.xpi 697093 BLAKE2B b8398d2af10539f191a811b2920556637711e6455bcb1dc281fb9e7da840f46363f083cbab7a90c428c4b04bec0a76d42b7219445dae0b4a46e39a0f72f58dcd SHA512 937f1616f8a0dbb2c6c7dbba027efea7c7a452c9a2691b2d03ac114b1484bd8f51eebe5cc907f56779fb00d839d1b115e11de937fa6b0be434645656e9add71e -DIST thunderbird-128.6.0esr-ja.xpi 817723 BLAKE2B 290f46202d0c1c739049b9f2335bd7817fe1120b88b66e4d86d5fcbe208c3c7e76984d9e92add20fbbaad9a014d7650cc0039c59df32ab8f5b43529f282ef8b7 SHA512 1ef79f1d840b887b7a0569f6d3c7e97eb2322616a727b477474fe669e4bc5e655b7bcf5acbea8be4894e7b2f0e33829d8181517fc4e551d12b7a44f9dc575fa2 -DIST thunderbird-128.6.0esr-ka.xpi 796713 BLAKE2B 36a4b12099b9abafee286179ed3cd5c96186ffc366b3822b1ce5df75606ce8062a5dc4649fd55b7658f053353fbd2b7bd863fa0d5eebf8524b4394d1a6434b8c SHA512 2058f912ad4dd964d661d031fb97e2f3c120188e3467da12dc21b89169f1525b4909dcf8b64b2804e6cbfb56cade85879a8666a98768b5b117e1b8ce073540ce -DIST thunderbird-128.6.0esr-kab.xpi 735472 BLAKE2B e04f17eca5213be8b60da7ca75bf446e1878e50fb26f0453480808e6a59682219cd6431735c07fe6fc6ac06a754c0d687d14390d32e6fadb7193dad87b13ae02 SHA512 6f221da487dda45b2d8da905a545c60b98cd40788d32d73c7a2d752738b3b8ddd653ae05f2e8a6323a12dad5974584b8b4c73687eb6300c3daded50178006212 -DIST thunderbird-128.6.0esr-kk.xpi 865510 BLAKE2B ea80f0c5831df3850181eb72db6254b62f86714018d817d604706103aa1ae0617984bdc361295a33f4decaf38382245f4e1bc162e077c9f72d01308e6eb22cd9 SHA512 8ec4b88ed4fab840e0040e10fd8db1d4f332de956e970403b538cb7f2563b0a34737c7c1cfc6acf1f2653b259cb1b0631c8b88f2c64e217d618d3659116673cc -DIST thunderbird-128.6.0esr-ko.xpi 762640 BLAKE2B 11a9acf63f72292d1ee08844d9a0d6d62c04229a253cb18d2469687be1d8af31bce1041e03f5c563aa8c49262d8bf8d2f84216bed29ceac283774e35bc3daddd SHA512 e747dcbcdae386164028a2454a8c4c45419f01d087794f75cdadc09a569e1aca88435f39951ad53ac7b000c3a1f5ce1e522670a94cd937ce8bc6723e0dd76f19 -DIST thunderbird-128.6.0esr-lt.xpi 701408 BLAKE2B c79670b1dff56429825d7bbf50519a6f539923c4e5b17f5ef2edad2c0c3dfc9a48b9d07eed69b52d73ea4aef6c60bf04fcbdbf0855c16a90a6aee920a033d2ae SHA512 78d990650323399c975e41f2fd8f3b7449d34c64ecb93f1c0ae9fe290a1610a354278ca8952ed4e380507a6637203cd24c67d36a9241f7fac811dd170a0cf9b4 -DIST thunderbird-128.6.0esr-lv.xpi 625979 BLAKE2B b6e83c16e4e1daf417ba1dc14c9ce098f9f9ccb82f46fd1c708bcbd4e6e1388809d192364fba3be1c779a2aa947299ac1be2328254c6f83bf270a130c3bf3d3c SHA512 31e3a42b02084293e4728a659abd94ccfc17e97f11cebfa1a52f4a6b0220132ff8e562a16ebb2ba9643c5e358427f37479f6a1e09e0414bb236b65242ff0c7d2 -DIST thunderbird-128.6.0esr-ms.xpi 581572 BLAKE2B 7ec201f640f936ca5ceff810014cc647f4ee59cd137e8ddb300822091998aba85f4332a967eeaca80245e4d10646cbff51b506be8eb6b6daf4d98e73261dc72a SHA512 876e48c0c68cd7f8fe5a001f44a507fcd64288944bfe9c7c84d1103c44303f57b34fade9ed17da73514a724fd203ac8438af3a61c551cfbb324811b4dde5e4fa -DIST thunderbird-128.6.0esr-nb-NO.xpi 708559 BLAKE2B 2d380eca9b21a6e71b8837ab3e66c6b390fde862a60ed7f70c05028ba2464a59e0e8a59b225ed9814819a06c711ad5342abcc80c4af8e7da956808c4dca3af5f SHA512 99d52606674fd115ba9f5699d797b7019c5e443d8273cf04a91e6f76ea4978606efa6ecfcaf7357c5b0c24a5d949a0ec0c44642ed71ef311f388c016d63eb862 -DIST thunderbird-128.6.0esr-nl.xpi 751613 BLAKE2B 5f01f7da5eb447da566a2c6b34430ef3320caa9dbb9987f500412e47ef15a3191962e3495be111eac38c4bedefae855fd4e101f3edaf4c1f82e6a2506e07601f SHA512 00369570b88f4387f11eaaea1ed0337143b4c2d252b0e5a6d0352c5165c9cbffea1b9580f82f5d6b402adfd1627b637caf107ed47c56e071d5377fa69ba56314 -DIST thunderbird-128.6.0esr-nn-NO.xpi 729656 BLAKE2B 3d255bd5c1179ea1026f12ca772fcf9519a891098eebaada3e9bed1a86c3fbded912e1b554998dc5a405be98347dbef03fb6c4d02bc13acd4ce973e47882e1da SHA512 e98c72b7e11d520f81a60f3115d23cb06812dd5fcf65e61087338459b5d79180b8136b3bb0ff0fa1aef8483e686839bc358c0d9bbce58339387be57c03de68a2 -DIST thunderbird-128.6.0esr-pa-IN.xpi 688137 BLAKE2B b7cbff1b6239564419616ada453c632e9b4c80a4053f86605d472493be0bb4dba5ebbbaf51289835b187a598a64518c90363b394015a7b6f9f460c336925567d SHA512 929f478206ceb94b6a27f7a53738a43e844f200a5ef6e061c3170710a2b5b4bfb12e9106e0306c5f5c3b4bd6d857d6fc3280cd45b019397b9aca290e3af01131 -DIST thunderbird-128.6.0esr-pl.xpi 770778 BLAKE2B 8fdf8b0101e3b73e34a821f4fec508da4f915c0aa96ec91020ed14f5f9fdd3c3f5e19bfddbeae4a831280a3dcd0ff4597c8b843d99cf926d35427d95c27fa11b SHA512 26a2d2cdd1bd21d7e15348849ad95a4f33bf317ac31d8c76b447e4998e0e187a1f87e54eeb5654758054a2b2f5aa89eb3d409de4239447d3167838ef69395d4a -DIST thunderbird-128.6.0esr-pt-BR.xpi 758843 BLAKE2B 054860421a300456ed5436f31add056cdecd7153ab453dd6c5c6dbd5da8d85d34197c4ddb1cd56fe880b3912cf32bde45c87f1883c3c9f567e9485c86f8d8e33 SHA512 6bf1231fb8c18082d296a9dc9a612047c2f615a6cf47228b64d3d7eb131fc3f60eeb74d5f47c3313d8d19d979c13ae28ba196398a48f38de1a4470b9ee1075b4 -DIST thunderbird-128.6.0esr-pt-PT.xpi 752023 BLAKE2B 2d49880e82a8627f9a3ba311970c2b266071668024886dc6f0a34cff218bd4aef184398e962d93bd59e359da35b259c24e7d4e2f2df042dde5257e1aa392451a SHA512 399a966c6c0151826d9b55d517507d2c039bed846b288621339e416f3f86cd700e86b55c3edd4dc15412fe2aebd5bf7064e6217b30bfb7f63a19e78297ce9459 -DIST thunderbird-128.6.0esr-rm.xpi 754441 BLAKE2B 1747b723e17d56b9418aa070d19e6afa8b67d22188bd77972d0ea08fb4bcd089c7bcd6da572136d15aac1b9b2c9ce498bd5b96d78a3fd208d222b534811387b3 SHA512 767ba60cede87c497823cd75debc73dde92b6185cf1641e9755ccf6a31e1396ecab99d7b35b25eed3e3c25660bced9ef05b3ee3b2a383f42b29e4ddfeb4a9357 -DIST thunderbird-128.6.0esr-ro.xpi 670225 BLAKE2B e00d61a68be5d70eac9958026d4636427eab5cdc17d5525f21beb3d72fa4901cd6a3de16da2ed2dcf8fd47b1f06ea6f9703e01a1ce76c2b92accb29ddc1c4b87 SHA512 304993ef19990310b9cea9f1edbd0bf26bc40de36b29a0cbfc0bf34e5ccfac9345e63fadf1f98d6534a7d1fa66d89d2a1157eb2cfde18643d3432d421b02108e -DIST thunderbird-128.6.0esr-ru.xpi 880794 BLAKE2B 6230944633c584a6d5996a6f44b0af1df179921bf023f2828e4f690e835f6bfc8a005edfa9a2115b13aeb855de92a93a0e5789653d5e2ca91b78006cd70b7d27 SHA512 004a59985a3b68da9b5b57e5d67f84e4af231d9d79cf09a9b266e926634c098743877ba4496bcbba831929331fad41690dbe2ffad5335746f2863d98c908b464 -DIST thunderbird-128.6.0esr-sk.xpi 792218 BLAKE2B ad6413e15cdb86122458566a4912f5169ea3d3346f498d29a63c887db336a1e028ec25d8a68cbbcdd70380c9329e42721d72052380d7e44910c5b287afe1ec13 SHA512 f809469dab44d024d6fee4c094f7682ce875bc53e45a1441d9656df2691931fa2a8fc599fc14986295cd983062e1455485ce4e0259c46231d34296afe833d268 -DIST thunderbird-128.6.0esr-sl.xpi 751646 BLAKE2B 761b4950ba7ea9a23fa93edf7e192471b99ead7cf0477f930dd7f7d3aa54e0287311aac2e7ba67ff92087680115d3deaa3231807dee7846c44d9d9b65e2a5f42 SHA512 9daa2f3460586204f33ecd64a30482aaa5fb31f0d6a9e53a44aa361bfd1ff802363ea0c5109a089086e8978fe16fcbc8642494a36e294e7c1cef4562118f020e -DIST thunderbird-128.6.0esr-sq.xpi 774995 BLAKE2B 9038ec651e5048352747ccf3abe5a84354c9fc85b009de3d25e75325f0866ff8881170e933954bd5ad4e8e4e527c2cd6346ca229b5f5c82054332c027204ba5a SHA512 75cb0917997d6eec80560ce0ff45d620061586e5740ad4b8b8b7e4196410f9fb1542f95e8bc40ee7d9c8aa741d909c0088f5338df66c1087431982237d2576c6 -DIST thunderbird-128.6.0esr-sr.xpi 771751 BLAKE2B f147bbff81508fab41a398430879b864bd335db873e8a4b24272913d461de0e4508c583194ba9e970a8e82f685166c40d8ebbd31953c1d94dfe46f07ad5039b5 SHA512 482ddf1d352e2851387de67afe5fa1cf32253d7f0034a61eca799cb4a863dda192b0d70a31e91abdc1245d7e627a676793c2abb0e1dc92f72bd9c0f790201dd9 -DIST thunderbird-128.6.0esr-sv-SE.xpi 754937 BLAKE2B 913bbfa7ec2208053f363d6ced46914107d6e2afe1eab16b1719719fb565af43baa5ad7b3adf860ebce8a5b9ac9c13d7f965ca9375555cfbee9b3c83a7c74e4e SHA512 de455beba43db7aa97dedb9e4b8aeacaf4359a88083df250055d08ceb5e93e30d8f306aa3c7c9283124c8876040a2d0de184eafdd430dcc94f0ef36de7ae08f4 -DIST thunderbird-128.6.0esr-th.xpi 819690 BLAKE2B d5d561d777cb45f583b24eb72a8ad628281055cffb1fcb6204b29dbee5adb0017f51b44f0dcc7d81a805bc9ab8f0f10f8b2b1e9c7b41aa595c78974f228cdfb7 SHA512 1b1e83f1a35a1bcb2e3ad084c922b89d5bf2ab90827eadb315e60d5868dec0fe93b26951a36ca2301083f7878d51c12449abb6292888735a99cf5b20861fb01e -DIST thunderbird-128.6.0esr-tr.xpi 765547 BLAKE2B bc5772e4e32eb5b5dfdcd8e5b1158d446145a13c822c1fcd453d475a7d4f732d80be17d9ae88e55cbd70723115dbe7cb3dee4f6496295049b1a8f93cfbdf6176 SHA512 92366cf98ed85f114aed2489e3a4d92d6d51949c24c73b0928c3b964edc33134be09e83daa697ab91285c7a46b6f9c8a299eb1545edbdb182bb084fcf753d4be -DIST thunderbird-128.6.0esr-uk.xpi 871375 BLAKE2B a06e5f41409af4f6c3a62011e54c065d73e4819880d77d4d552d307da1bf8d6dd42314fad2d85917a705f03ea9d8281a76ad4ec06792e71c80a7fb19fa16d9bf SHA512 39e0b2819efe5b7716ce986e9ee362d2d367089f138836aac70b11a4e47ca3043e411e1fa7b7ffa5ba9c85a7422206bd765e43e884b729cf8115beefaec72e87 -DIST thunderbird-128.6.0esr-uz.xpi 592619 BLAKE2B 66ccc9ed026eef75e1b14cb5948a2999d4dc77fb428f9624970d2ffdbb2b8cc4cad6a3b95c5649d745f6ac61363650f996fd43f4c60fae38a443c2752e815333 SHA512 e44844d875378e9b325918fa56470921e782950515f467dd366d20fc6dfa05284e68b60e72bea0c6e0e92b776fd43f07090a63bfbf2a20e0a956bb048ea302aa -DIST thunderbird-128.6.0esr-vi.xpi 794032 BLAKE2B ea5a6ceff2a399cbc0331fdbe8ad401f0d581f036a6cc9c2f274fcd885c85e2f61654d58e5a6cef361d912eae2b8642ffbb809c51cec9604eed1adf2e931fce4 SHA512 1d4954a691c24b8a097c111c87ef476fcb03ee38eb35429c1b77ffe7732fe24c136f20a8f6d707476471a640a05e3099e8156d2b2ab6c07ee0af5f9fa6d24f89 -DIST thunderbird-128.6.0esr-zh-CN.xpi 794061 BLAKE2B 35c330a426b5c6e39a6257ebdf0f3382b80d73867792663089e5da3fa69309141b0783ba09ba90b1e9ddbced6774637a29a658d1ade289f65801ea73cb78dece SHA512 4448164c809d52efe1e5406117be01bd582fd75c08a59af5f54bdaf885e86e1753ecd69bf910396c70e6f7f6cc9c201bea65201dd99c55942f59bb8fe3926374 -DIST thunderbird-128.6.0esr-zh-TW.xpi 797334 BLAKE2B 517c72d488ae48839959083bc29b19b966bb3c91982f926ed73f2693309677476336650afa63a6c9f8bb1c8e4e335dbd7626d71b826d961a370af851519649db SHA512 6171c002769eb847d96a693440bba6f7246f033357dc22da93858a1a70833aacb28eed95e21592f49652221895fa1ecbefb91d0e24f29ce01d0fe216fdd5fcea -DIST thunderbird-128.6.0esr.source.tar.xz 675443868 BLAKE2B 5cb17164327a222bcbb70f1ff4f5da36e130866e7e4d7c4122d0ed7ad83104fe84039d46b7d638fd4bc3b8cd08e9ca3d7a400f0970014e510b26b6afcfd3c11d SHA512 a561eac0bf0b8c72f3337ccebcde9099c342d1b31ce2b1f31096f1f805a195c49d627cf726cd56d41b21ec292d96fd577e8f226fcb24d8b13e0d773fc334b073 DIST thunderbird-128.7.0esr-af.xpi 530351 BLAKE2B 665e3c36027491ec674b4d11f668de264b9e7fdb476930dd151a7df7449759be5768986ac83ad348f6a9e1495ce34faea05a3647e31503a0a531c5ed35dbf516 SHA512 18dd42b98b74e951d624a868c89ae9713d5e5b1e991170506a880d2ab8ddb22e834b11a42bf9ab01c2664742eb503afcfbae93dc6baf3c0c2b5ce1322e545632 DIST thunderbird-128.7.0esr-ar.xpi 686986 BLAKE2B 4b219c2ddb940ea9363f86167d1d94acb68ebb280a17c761d8a54b09dab85939f4fe861b82c6ffc90b79be061b85167b35e9e96abde1ebb5732d82f59f9e426a SHA512 f9e314831d230b1488b64056caf22a410f4e883c50e697746965949775333f785ed0316d0baac1df460c33f7724eb93a8e0784d7ee99d5fc9513245552f7749e DIST thunderbird-128.7.0esr-ast.xpi 561055 BLAKE2B 14f2c12ee192d153d665f3637352bc5b5964661ff96db6d4c67a07cad2bd7650f3e2ce2fc687c92ea3480edd4fc5bd748f7c10d08cf8fd19f5cddba08b12397a SHA512 4a68c5a10b38496c654d27e4ca82c10804f739ab526e6644509a8dbb09928c1a2d2182e003e79a4276a92bf62ebe6195c292662acbc3e21f633eb00abeaa843e diff --git a/mail-client/thunderbird/thunderbird-128.5.0.ebuild b/mail-client/thunderbird/thunderbird-128.5.0.ebuild deleted file mode 100644 index c55dfa0083d3..000000000000 --- a/mail-client/thunderbird/thunderbird-128.5.0.ebuild +++ /dev/null @@ -1,1163 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -FIREFOX_PATCHSET="firefox-128esr-patches-07.tar.xz" - -LLVM_COMPAT=( 17 18 19 ) - -PYTHON_COMPAT=( python3_{10..12} ) -PYTHON_REQ_USE="ncurses,sqlite,ssl" - -RUST_MIN_VER="1.77.1" -RUST_NEEDS_LLVM=1 - -WANT_AUTOCONF="2.1" - -VIRTUALX_REQUIRED="manual" - -# Thunderbird will have separate release and esr channels, matching Firefox's rapid and esr. -MOZ_ESR=yes - -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-r1 multiprocessing \ - optfeature pax-utils python-any-r1 rust toolchain-funcs virtualx xdg - -DESCRIPTION="Thunderbird Mail Client" -HOMEPAGE="https://www.thunderbird.net/" - -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[@]}" -S="${WORKDIR}/${PN}-${PV%_*}" - -LICENSE="MPL-2.0 GPL-2 LGPL-2.1" -SLOT="0" -KEYWORDS="amd64 ~arm64 ~ppc64 ~x86" - -IUSE="+clang +dbus debug eme-free hardened hwaccel jack libproxy lto pgo pulseaudio sndio selinux" -IUSE+=" +system-av1 +system-harfbuzz +system-icu +system-jpeg +system-libevent +system-libvpx" -IUSE+=" system-png +system-webp wayland wifi +X" - -# Thunderbird-only USE flags. -IUSE+=" +rust-extensions +system-librnp" - -REQUIRED_USE="|| ( X wayland ) - debug? ( !system-av1 ) - pgo? ( lto ) - rust-extensions? ( dbus ) - wayland? ( dbus ) - wifi? ( dbus )" - -TB_ONLY_DEPEND="selinux? ( sec-policy/selinux-thunderbird ) - !system-librnp? ( dev-libs/jsoncpp ) - system-librnp? ( >=dev-util/librnp-0.17.1 )" -BDEPEND="${PYTHON_DEPS} - $(llvm_gen_dep ' - llvm-core/clang:${LLVM_SLOT} - llvm-core/llvm:${LLVM_SLOT} - clang? ( - llvm-core/lld:${LLVM_SLOT} - pgo? ( llvm-runtimes/compiler-rt-sanitizers:${LLVM_SLOT}[profile] ) - ) - ') - app-alternatives/awk - app-arch/unzip - app-arch/zip - >=dev-util/cbindgen-0.26.0 - net-libs/nodejs - virtual/pkgconfig - amd64? ( >=dev-lang/nasm-2.14 ) - x86? ( >=dev-lang/nasm-2.14 ) - pgo? ( - X? ( - sys-devel/gettext - x11-base/xorg-server[xvfb] - x11-apps/xhost - ) - !X? ( - || ( - gui-wm/tinywl - <gui-libs/wlroots-0.17.3[tinywl(-)] - ) - x11-misc/xkeyboard-config - ) - )" -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.101 - >=dev-libs/nspr-4.35 - media-libs/alsa-lib - media-libs/fontconfig - media-libs/freetype - media-libs/mesa - media-video/ffmpeg - sys-libs/zlib - virtual/freedesktop-icon-theme - x11-libs/cairo - x11-libs/gdk-pixbuf:2 - x11-libs/pango - x11-libs/pixman - dbus? ( sys-apps/dbus ) - jack? ( virtual/jack ) - pulseaudio? ( - || ( - media-libs/libpulse - >=media-sound/apulse-0.1.12-r4[sdk] - ) - ) - libproxy? ( net-libs/libproxy ) - selinux? ( sec-policy/selinux-mozilla ) - 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-74.1:= ) - system-jpeg? ( >=media-libs/libjpeg-turbo-1.2.1:= ) - system-libevent? ( >=dev-libs/libevent-2.1.12: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? ( - >=media-libs/libepoxy-1.5.10-r1 - x11-libs/gtk+:3[wayland] - ) - wifi? ( - kernel_linux? ( - || ( - net-misc/networkmanager - net-misc/connman[networkmanager] - ) - sys-apps/dbus - ) - ) - X? ( - virtual/opengl - x11-libs/cairo[X] - 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/libxcb:= - )" -RDEPEND="${COMMON_DEPEND} - jack? ( virtual/jack )" -DEPEND="${COMMON_DEPEND} - X? ( - x11-base/xorg-proto - x11-libs/libICE - x11-libs/libSM - )" - -llvm_check_deps() { - if ! has_version -b "llvm-core/clang:${LLVM_SLOT}" ; then - einfo "llvm-core/clang:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2 - return 1 - fi - - if use clang && ! tc-ld-is-mold ; then - if ! has_version -b "llvm-core/lld:${LLVM_SLOT}" ; then - einfo "llvm-core/lld:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2 - return 1 - fi - fi - - if use pgo ; then - if ! has_version -b "=llvm-runtimes/compiler-rt-sanitizers-${LLVM_SLOT}*[profile]" ; then - einfo "=llvm-runtimes/compiler-rt-sanitizers-${LLVM_SLOT}*[profile] is missing!" >&2 - einfo "Cannot use LLVM slot ${LLVM_SLOT} ..." >&2 - return 1 - 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}" -} - -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' - - 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 debug ; then - CHECKREQS_DISK_BUILD="14300M" - elif tc-is-lto ; then - CHECKREQS_DISK_BUILD="10600M" - else - CHECKREQS_DISK_BUILD="6800M" - fi - - check-reqs_pkg_pretend - fi -} - -pkg_setup() { - if [[ ${MERGE_TYPE} != binary ]] ; then - - if tc-is-lto; then - use_lto=yes - # LTO is handled via configure - filter-lto - fi - - if use pgo ; then - if ! has userpriv ${FEATURES} ; then - eerror "Building ${PN} with USE=pgo and FEATURES=-userpriv is not supported!" - fi - fi - - if [[ ${use_lto} = yes ]] ; then - # -Werror=lto-type-mismatch -Werror=odr are going to fail with GCC, - # bmo#1516758, bgo#942288 - filter-flags -Werror=lto-type-mismatch -Werror=odr - fi - - if use pgo || use debug ; then - CHECKREQS_DISK_BUILD="14300M" - elif [[ ${use_lto} == "yes" ]] ; then - CHECKREQS_DISK_BUILD="10600M" - else - CHECKREQS_DISK_BUILD="6800M" - fi - - check-reqs_pkg_setup - llvm-r1_pkg_setup - rust_pkg_setup - 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 - - # Clear tons of conditions, since PGO is hardware-dependant. - addpredict /dev - 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 - - export use_lto -} - -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} == "yes" ]]; then - rm -v "${WORKDIR}"/firefox-patches/*-LTO-Only-enable-LTO-*.patch || die - fi - - # Workaround for bgo#917599 - if has_version ">=dev-libs/icu-74.1" && use system-icu ; then - eapply "${WORKDIR}"/firefox-patches/*-bmo-1862601-system-icu-74.patch - fi - rm -v "${WORKDIR}"/firefox-patches/*-bmo-1862601-system-icu-74.patch || die - - # Workaround for bgo#915651 on musl - if use elibc_glibc ; then - rm -v "${WORKDIR}"/firefox-patches/*bgo-748849-RUST_TARGET_override.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)" - - # Workaround for bgo#915651 - if ! use elibc_glibc ; then - if use amd64 ; then - export RUST_TARGET="x86_64-unknown-linux-musl" - elif use x86 ; then - export RUST_TARGET="i686-unknown-linux-musl" - elif use arm64 ; then - export RUST_TARGET="aarch64-unknown-linux-musl" - elif use ppc64 ; then - export RUST_TARGET="powerpc64le-unknown-linux-musl" - elif use riscv ; then - # We can pretty safely rule out any 32-bit riscvs, but 64-bit riscvs also have tons of - # different ABIs available. riscv64gc-unknown-linux-musl seems to be the best working - # guess right now though. - elog "riscv detected, forcing a riscv64 target for now." - export RUST_TARGET="riscv64gc-unknown-linux-musl" - else - die "Unknown musl chost, please post a new bug with your rustc -vV along with emerge --info" - fi - fi - - # Make LTO respect MAKEOPTS - sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \ - "${S}"/build/moz.configure/lto-pgo.configure || die "Failed sedding multiprocessing.cpu_count" - - # Make ICU respect MAKEOPTS - sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \ - "${S}"/intl/icu_sources_data.py || die "Failed sedding multiprocessing.cpu_count" - - # Respect MAKEOPTS all around (maybe some find+sed is better) - sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \ - "${S}"/python/mozbuild/mozbuild/base.py || die "Failed sedding multiprocessing.cpu_count" - - sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \ - "${S}"/third_party/libwebrtc/build/toolchain/get_cpu_count.py || die "Failed sedding multiprocessing.cpu_count" - - sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \ - "${S}"/third_party/libwebrtc/build/toolchain/get_concurrent_links.py || - die "Failed sedding multiprocessing.cpu_count" - - sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \ - "${S}"/third_party/python/gyp/pylib/gyp/input.py || die "Failed sedding multiprocessing.cpu_count" - - sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \ - "${S}"/python/mozbuild/mozbuild/code_analysis/mach_commands.py || die "Failed sedding multiprocessing.cpu_count" - - # 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 - - # Clear checksums from cargo crates we've manually patched. - # moz_clear_vendor_checksums xyz - - # 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" - - # Configuration tests expect llvm-readelf output, bug 913130 - READELF="llvm-readelf" - - tc-export CC CXX LD AR AS NM OBJDUMP RANLIB READELF 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-disk-remnant-avoidance \ - --disable-geckodriver \ - --disable-gpsd \ - --disable-install-strip \ - --disable-legacy-profile-creation \ - --disable-parental-controls \ - --disable-strip \ - --disable-tests \ - --disable-updater \ - --disable-valgrind \ - --disable-wmf \ - --enable-js-shell \ - --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 ; 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, since it's not activated automatically via "known arches" list. - # Update 128.1.0: Disable jit on riscv (this line can be blanked to disable by default), - # bgo#937867. - use riscv && mozconfig_add_options_ac 'Disable JIT for RISC-V 64' --disable-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_enable rust-extensions thunderbird-rust - - 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" - - # Increase the FORTIFY_SOURCE value, #910071. - sed -i -e '/-D_FORTIFY_SOURCE=/s:2:3:' "${S}"/build/moz.configure/toolchain.configure || die - 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-x11-only - fi - - if [[ ${use_lto} == "yes" ]] ; then - if use clang ; then - # Upstream only supports lld or mold when using clang. - if tc-ld-is-mold ; then - # mold expects the -flto line from *FLAGS configuration, bgo#923119 - append-ldflags "-flto=thin" - 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 - - 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 - - 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 - - mozconfig_use_enable debug - if use debug ; then - mozconfig_add_options_ac '+debug' --disable-optimize - mozconfig_add_options_ac '+debug' --enable-jemalloc - 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*' - - # elf-hack - # Filter "-z,pack-relative-relocs" and let the build system handle it instead. - if use amd64 || use x86 ; then - filter-flags "-z,pack-relative-relocs" - - if tc-ld-is-mold ; then - # relr-elf-hack is currently broken with mold, bgo#916259 - mozconfig_add_options_ac 'disable elf-hack with mold linker' --disable-elf-hack - else - mozconfig_add_options_ac 'relr elf-hack' --enable-elf-hack=relr - fi - elif use ppc64 || use riscv ; then - # '--disable-elf-hack' is not recognized on ppc64/riscv, - # see bgo #917049, #930046 - :; - else - mozconfig_add_options_ac 'disable elf-hack on non-supported arches' --disable-elf-hack - fi - - if ! use elibc_glibc; then - mozconfig_add_options_ac '!elibc_glibc' --disable-jemalloc - fi - - # System-av1 fix - use system-av1 && append-ldflags "-Wl,--undefined-version" - - # 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 - - export MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE="none" - - # 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_lto} == "yes" ]] && tc-ld-is-mold ; 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 llvm-core/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-r1.js gentoo-prefs.js - - local GENTOO_PREFS="${ED}${PREFS_DIR}/gentoo-prefs.js" - - # 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 - - # 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 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 exec_command="${PN}" - local icon="${PN}" - local use_wayland="false" - - if [[ -n ${MOZ_ESR} ]] ; then - local desktop_filename="${PN}-esr.desktop" - else - local desktop_filename="${PN}.desktop" - fi - - 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:@DEFAULT_WAYLAND@:${use_wayland}:" \ - "${ED}/usr/bin/${PN}" || die -} - -pkg_postinst() { - xdg_pkg_postinst - - 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 -} diff --git a/mail-client/thunderbird/thunderbird-128.5.1.ebuild b/mail-client/thunderbird/thunderbird-128.5.1.ebuild deleted file mode 100644 index 9624126ae0ba..000000000000 --- a/mail-client/thunderbird/thunderbird-128.5.1.ebuild +++ /dev/null @@ -1,1163 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -FIREFOX_PATCHSET="firefox-128esr-patches-07.tar.xz" - -LLVM_COMPAT=( 17 18 19 ) - -PYTHON_COMPAT=( python3_{10..12} ) -PYTHON_REQ_USE="ncurses,sqlite,ssl" - -RUST_MIN_VER="1.77.1" -RUST_NEEDS_LLVM=1 - -WANT_AUTOCONF="2.1" - -VIRTUALX_REQUIRED="manual" - -# Thunderbird will have separate release and esr channels, matching Firefox's rapid and esr. -MOZ_ESR=yes - -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-r1 multiprocessing \ - optfeature pax-utils python-any-r1 rust toolchain-funcs virtualx xdg - -DESCRIPTION="Thunderbird Mail Client" -HOMEPAGE="https://www.thunderbird.net/" - -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[@]}" -S="${WORKDIR}/${PN}-${PV%_*}" - -LICENSE="MPL-2.0 GPL-2 LGPL-2.1" -SLOT="0" -KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86" - -IUSE="+clang +dbus debug eme-free hardened hwaccel jack libproxy lto pgo pulseaudio sndio selinux" -IUSE+=" +system-av1 +system-harfbuzz +system-icu +system-jpeg +system-libevent +system-libvpx" -IUSE+=" system-png +system-webp wayland wifi +X" - -# Thunderbird-only USE flags. -IUSE+=" +rust-extensions +system-librnp" - -REQUIRED_USE="|| ( X wayland ) - debug? ( !system-av1 ) - pgo? ( lto ) - rust-extensions? ( dbus ) - wayland? ( dbus ) - wifi? ( dbus )" - -TB_ONLY_DEPEND="selinux? ( sec-policy/selinux-thunderbird ) - !system-librnp? ( dev-libs/jsoncpp ) - system-librnp? ( >=dev-util/librnp-0.17.1 )" -BDEPEND="${PYTHON_DEPS} - $(llvm_gen_dep ' - llvm-core/clang:${LLVM_SLOT} - llvm-core/llvm:${LLVM_SLOT} - clang? ( - llvm-core/lld:${LLVM_SLOT} - pgo? ( llvm-runtimes/compiler-rt-sanitizers:${LLVM_SLOT}[profile] ) - ) - ') - app-alternatives/awk - app-arch/unzip - app-arch/zip - >=dev-util/cbindgen-0.26.0 - net-libs/nodejs - virtual/pkgconfig - amd64? ( >=dev-lang/nasm-2.14 ) - x86? ( >=dev-lang/nasm-2.14 ) - pgo? ( - X? ( - sys-devel/gettext - x11-base/xorg-server[xvfb] - x11-apps/xhost - ) - !X? ( - || ( - gui-wm/tinywl - <gui-libs/wlroots-0.17.3[tinywl(-)] - ) - x11-misc/xkeyboard-config - ) - )" -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.101 - >=dev-libs/nspr-4.35 - media-libs/alsa-lib - media-libs/fontconfig - media-libs/freetype - media-libs/mesa - media-video/ffmpeg - sys-libs/zlib - virtual/freedesktop-icon-theme - x11-libs/cairo - x11-libs/gdk-pixbuf:2 - x11-libs/pango - x11-libs/pixman - dbus? ( sys-apps/dbus ) - jack? ( virtual/jack ) - pulseaudio? ( - || ( - media-libs/libpulse - >=media-sound/apulse-0.1.12-r4[sdk] - ) - ) - libproxy? ( net-libs/libproxy ) - selinux? ( sec-policy/selinux-mozilla ) - 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-74.1:= ) - system-jpeg? ( >=media-libs/libjpeg-turbo-1.2.1:= ) - system-libevent? ( >=dev-libs/libevent-2.1.12: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? ( - >=media-libs/libepoxy-1.5.10-r1 - x11-libs/gtk+:3[wayland] - ) - wifi? ( - kernel_linux? ( - || ( - net-misc/networkmanager - net-misc/connman[networkmanager] - ) - sys-apps/dbus - ) - ) - X? ( - virtual/opengl - x11-libs/cairo[X] - 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/libxcb:= - )" -RDEPEND="${COMMON_DEPEND} - jack? ( virtual/jack )" -DEPEND="${COMMON_DEPEND} - X? ( - x11-base/xorg-proto - x11-libs/libICE - x11-libs/libSM - )" - -llvm_check_deps() { - if ! has_version -b "llvm-core/clang:${LLVM_SLOT}" ; then - einfo "llvm-core/clang:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2 - return 1 - fi - - if use clang && ! tc-ld-is-mold ; then - if ! has_version -b "llvm-core/lld:${LLVM_SLOT}" ; then - einfo "llvm-core/lld:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2 - return 1 - fi - fi - - if use pgo ; then - if ! has_version -b "=llvm-runtimes/compiler-rt-sanitizers-${LLVM_SLOT}*[profile]" ; then - einfo "=llvm-runtimes/compiler-rt-sanitizers-${LLVM_SLOT}*[profile] is missing!" >&2 - einfo "Cannot use LLVM slot ${LLVM_SLOT} ..." >&2 - return 1 - 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}" -} - -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' - - 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 debug ; then - CHECKREQS_DISK_BUILD="14300M" - elif tc-is-lto ; then - CHECKREQS_DISK_BUILD="10600M" - else - CHECKREQS_DISK_BUILD="6800M" - fi - - check-reqs_pkg_pretend - fi -} - -pkg_setup() { - if [[ ${MERGE_TYPE} != binary ]] ; then - - if tc-is-lto; then - use_lto=yes - # LTO is handled via configure - filter-lto - fi - - if use pgo ; then - if ! has userpriv ${FEATURES} ; then - eerror "Building ${PN} with USE=pgo and FEATURES=-userpriv is not supported!" - fi - fi - - if [[ ${use_lto} = yes ]] ; then - # -Werror=lto-type-mismatch -Werror=odr are going to fail with GCC, - # bmo#1516758, bgo#942288 - filter-flags -Werror=lto-type-mismatch -Werror=odr - fi - - if use pgo || use debug ; then - CHECKREQS_DISK_BUILD="14300M" - elif [[ ${use_lto} == "yes" ]] ; then - CHECKREQS_DISK_BUILD="10600M" - else - CHECKREQS_DISK_BUILD="6800M" - fi - - check-reqs_pkg_setup - llvm-r1_pkg_setup - rust_pkg_setup - 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 - - # Clear tons of conditions, since PGO is hardware-dependant. - addpredict /dev - 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 - - export use_lto -} - -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} == "yes" ]]; then - rm -v "${WORKDIR}"/firefox-patches/*-LTO-Only-enable-LTO-*.patch || die - fi - - # Workaround for bgo#917599 - if has_version ">=dev-libs/icu-74.1" && use system-icu ; then - eapply "${WORKDIR}"/firefox-patches/*-bmo-1862601-system-icu-74.patch - fi - rm -v "${WORKDIR}"/firefox-patches/*-bmo-1862601-system-icu-74.patch || die - - # Workaround for bgo#915651 on musl - if use elibc_glibc ; then - rm -v "${WORKDIR}"/firefox-patches/*bgo-748849-RUST_TARGET_override.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)" - - # Workaround for bgo#915651 - if ! use elibc_glibc ; then - if use amd64 ; then - export RUST_TARGET="x86_64-unknown-linux-musl" - elif use x86 ; then - export RUST_TARGET="i686-unknown-linux-musl" - elif use arm64 ; then - export RUST_TARGET="aarch64-unknown-linux-musl" - elif use ppc64 ; then - export RUST_TARGET="powerpc64le-unknown-linux-musl" - elif use riscv ; then - # We can pretty safely rule out any 32-bit riscvs, but 64-bit riscvs also have tons of - # different ABIs available. riscv64gc-unknown-linux-musl seems to be the best working - # guess right now though. - elog "riscv detected, forcing a riscv64 target for now." - export RUST_TARGET="riscv64gc-unknown-linux-musl" - else - die "Unknown musl chost, please post a new bug with your rustc -vV along with emerge --info" - fi - fi - - # Make LTO respect MAKEOPTS - sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \ - "${S}"/build/moz.configure/lto-pgo.configure || die "Failed sedding multiprocessing.cpu_count" - - # Make ICU respect MAKEOPTS - sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \ - "${S}"/intl/icu_sources_data.py || die "Failed sedding multiprocessing.cpu_count" - - # Respect MAKEOPTS all around (maybe some find+sed is better) - sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \ - "${S}"/python/mozbuild/mozbuild/base.py || die "Failed sedding multiprocessing.cpu_count" - - sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \ - "${S}"/third_party/libwebrtc/build/toolchain/get_cpu_count.py || die "Failed sedding multiprocessing.cpu_count" - - sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \ - "${S}"/third_party/libwebrtc/build/toolchain/get_concurrent_links.py || - die "Failed sedding multiprocessing.cpu_count" - - sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \ - "${S}"/third_party/python/gyp/pylib/gyp/input.py || die "Failed sedding multiprocessing.cpu_count" - - sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \ - "${S}"/python/mozbuild/mozbuild/code_analysis/mach_commands.py || die "Failed sedding multiprocessing.cpu_count" - - # 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 - - # Clear checksums from cargo crates we've manually patched. - # moz_clear_vendor_checksums xyz - - # 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" - - # Configuration tests expect llvm-readelf output, bug 913130 - READELF="llvm-readelf" - - tc-export CC CXX LD AR AS NM OBJDUMP RANLIB READELF 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-disk-remnant-avoidance \ - --disable-geckodriver \ - --disable-gpsd \ - --disable-install-strip \ - --disable-legacy-profile-creation \ - --disable-parental-controls \ - --disable-strip \ - --disable-tests \ - --disable-updater \ - --disable-valgrind \ - --disable-wmf \ - --enable-js-shell \ - --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 ; 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, since it's not activated automatically via "known arches" list. - # Update 128.1.0: Disable jit on riscv (this line can be blanked to disable by default), - # bgo#937867. - use riscv && mozconfig_add_options_ac 'Disable JIT for RISC-V 64' --disable-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_enable rust-extensions thunderbird-rust - - 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" - - # Increase the FORTIFY_SOURCE value, #910071. - sed -i -e '/-D_FORTIFY_SOURCE=/s:2:3:' "${S}"/build/moz.configure/toolchain.configure || die - 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-x11-only - fi - - if [[ ${use_lto} == "yes" ]] ; then - if use clang ; then - # Upstream only supports lld or mold when using clang. - if tc-ld-is-mold ; then - # mold expects the -flto line from *FLAGS configuration, bgo#923119 - append-ldflags "-flto=thin" - 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 - - 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 - - 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 - - mozconfig_use_enable debug - if use debug ; then - mozconfig_add_options_ac '+debug' --disable-optimize - mozconfig_add_options_ac '+debug' --enable-jemalloc - 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*' - - # elf-hack - # Filter "-z,pack-relative-relocs" and let the build system handle it instead. - if use amd64 || use x86 ; then - filter-flags "-z,pack-relative-relocs" - - if tc-ld-is-mold ; then - # relr-elf-hack is currently broken with mold, bgo#916259 - mozconfig_add_options_ac 'disable elf-hack with mold linker' --disable-elf-hack - else - mozconfig_add_options_ac 'relr elf-hack' --enable-elf-hack=relr - fi - elif use ppc64 || use riscv ; then - # '--disable-elf-hack' is not recognized on ppc64/riscv, - # see bgo #917049, #930046 - :; - else - mozconfig_add_options_ac 'disable elf-hack on non-supported arches' --disable-elf-hack - fi - - if ! use elibc_glibc; then - mozconfig_add_options_ac '!elibc_glibc' --disable-jemalloc - fi - - # System-av1 fix - use system-av1 && append-ldflags "-Wl,--undefined-version" - - # 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 - - export MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE="none" - - # 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_lto} == "yes" ]] && tc-ld-is-mold ; 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 llvm-core/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-r1.js gentoo-prefs.js - - local GENTOO_PREFS="${ED}${PREFS_DIR}/gentoo-prefs.js" - - # 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 - - # 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 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 exec_command="${PN}" - local icon="${PN}" - local use_wayland="false" - - if [[ -n ${MOZ_ESR} ]] ; then - local desktop_filename="${PN}-esr.desktop" - else - local desktop_filename="${PN}.desktop" - fi - - 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:@DEFAULT_WAYLAND@:${use_wayland}:" \ - "${ED}/usr/bin/${PN}" || die -} - -pkg_postinst() { - xdg_pkg_postinst - - 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 -} diff --git a/mail-client/thunderbird/thunderbird-128.5.2.ebuild b/mail-client/thunderbird/thunderbird-128.5.2.ebuild deleted file mode 100644 index 836f831a1a59..000000000000 --- a/mail-client/thunderbird/thunderbird-128.5.2.ebuild +++ /dev/null @@ -1,1163 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -FIREFOX_PATCHSET="firefox-128esr-patches-07.tar.xz" - -LLVM_COMPAT=( 17 18 19 ) - -PYTHON_COMPAT=( python3_{10..12} ) -PYTHON_REQ_USE="ncurses,sqlite,ssl" - -RUST_MIN_VER="1.77.1" -RUST_NEEDS_LLVM=1 - -WANT_AUTOCONF="2.1" - -VIRTUALX_REQUIRED="manual" - -# Thunderbird will have separate release and esr channels, matching Firefox's rapid and esr. -MOZ_ESR=yes - -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-r1 multiprocessing \ - optfeature pax-utils python-any-r1 rust toolchain-funcs virtualx xdg - -DESCRIPTION="Thunderbird Mail Client" -HOMEPAGE="https://www.thunderbird.net/" - -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[@]}" -S="${WORKDIR}/${PN}-${PV%_*}" - -LICENSE="MPL-2.0 GPL-2 LGPL-2.1" -SLOT="0" -KEYWORDS="amd64 ~arm64 ~ppc64 ~x86" - -IUSE="+clang +dbus debug eme-free hardened hwaccel jack libproxy lto pgo pulseaudio sndio selinux" -IUSE+=" +system-av1 +system-harfbuzz +system-icu +system-jpeg +system-libevent +system-libvpx" -IUSE+=" system-png +system-webp wayland wifi +X" - -# Thunderbird-only USE flags. -IUSE+=" +rust-extensions +system-librnp" - -REQUIRED_USE="|| ( X wayland ) - debug? ( !system-av1 ) - pgo? ( lto ) - rust-extensions? ( dbus ) - wayland? ( dbus ) - wifi? ( dbus )" - -TB_ONLY_DEPEND="selinux? ( sec-policy/selinux-thunderbird ) - !system-librnp? ( dev-libs/jsoncpp ) - system-librnp? ( >=dev-util/librnp-0.17.1 )" -BDEPEND="${PYTHON_DEPS} - $(llvm_gen_dep ' - llvm-core/clang:${LLVM_SLOT} - llvm-core/llvm:${LLVM_SLOT} - clang? ( - llvm-core/lld:${LLVM_SLOT} - pgo? ( llvm-runtimes/compiler-rt-sanitizers:${LLVM_SLOT}[profile] ) - ) - ') - app-alternatives/awk - app-arch/unzip - app-arch/zip - >=dev-util/cbindgen-0.26.0 - net-libs/nodejs - virtual/pkgconfig - amd64? ( >=dev-lang/nasm-2.14 ) - x86? ( >=dev-lang/nasm-2.14 ) - pgo? ( - X? ( - sys-devel/gettext - x11-base/xorg-server[xvfb] - x11-apps/xhost - ) - !X? ( - || ( - gui-wm/tinywl - <gui-libs/wlroots-0.17.3[tinywl(-)] - ) - x11-misc/xkeyboard-config - ) - )" -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.101 - >=dev-libs/nspr-4.35 - media-libs/alsa-lib - media-libs/fontconfig - media-libs/freetype - media-libs/mesa - media-video/ffmpeg - sys-libs/zlib - virtual/freedesktop-icon-theme - x11-libs/cairo - x11-libs/gdk-pixbuf:2 - x11-libs/pango - x11-libs/pixman - dbus? ( sys-apps/dbus ) - jack? ( virtual/jack ) - pulseaudio? ( - || ( - media-libs/libpulse - >=media-sound/apulse-0.1.12-r4[sdk] - ) - ) - libproxy? ( net-libs/libproxy ) - selinux? ( sec-policy/selinux-mozilla ) - 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-74.1:= ) - system-jpeg? ( >=media-libs/libjpeg-turbo-1.2.1:= ) - system-libevent? ( >=dev-libs/libevent-2.1.12: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? ( - >=media-libs/libepoxy-1.5.10-r1 - x11-libs/gtk+:3[wayland] - ) - wifi? ( - kernel_linux? ( - || ( - net-misc/networkmanager - net-misc/connman[networkmanager] - ) - sys-apps/dbus - ) - ) - X? ( - virtual/opengl - x11-libs/cairo[X] - 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/libxcb:= - )" -RDEPEND="${COMMON_DEPEND} - jack? ( virtual/jack )" -DEPEND="${COMMON_DEPEND} - X? ( - x11-base/xorg-proto - x11-libs/libICE - x11-libs/libSM - )" - -llvm_check_deps() { - if ! has_version -b "llvm-core/clang:${LLVM_SLOT}" ; then - einfo "llvm-core/clang:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2 - return 1 - fi - - if use clang && ! tc-ld-is-mold ; then - if ! has_version -b "llvm-core/lld:${LLVM_SLOT}" ; then - einfo "llvm-core/lld:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2 - return 1 - fi - fi - - if use pgo ; then - if ! has_version -b "=llvm-runtimes/compiler-rt-sanitizers-${LLVM_SLOT}*[profile]" ; then - einfo "=llvm-runtimes/compiler-rt-sanitizers-${LLVM_SLOT}*[profile] is missing!" >&2 - einfo "Cannot use LLVM slot ${LLVM_SLOT} ..." >&2 - return 1 - 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}" -} - -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' - - 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 debug ; then - CHECKREQS_DISK_BUILD="14300M" - elif tc-is-lto ; then - CHECKREQS_DISK_BUILD="10600M" - else - CHECKREQS_DISK_BUILD="6800M" - fi - - check-reqs_pkg_pretend - fi -} - -pkg_setup() { - if [[ ${MERGE_TYPE} != binary ]] ; then - - if tc-is-lto; then - use_lto=yes - # LTO is handled via configure - filter-lto - fi - - if use pgo ; then - if ! has userpriv ${FEATURES} ; then - eerror "Building ${PN} with USE=pgo and FEATURES=-userpriv is not supported!" - fi - fi - - if [[ ${use_lto} = yes ]] ; then - # -Werror=lto-type-mismatch -Werror=odr are going to fail with GCC, - # bmo#1516758, bgo#942288 - filter-flags -Werror=lto-type-mismatch -Werror=odr - fi - - if use pgo || use debug ; then - CHECKREQS_DISK_BUILD="14300M" - elif [[ ${use_lto} == "yes" ]] ; then - CHECKREQS_DISK_BUILD="10600M" - else - CHECKREQS_DISK_BUILD="6800M" - fi - - check-reqs_pkg_setup - llvm-r1_pkg_setup - rust_pkg_setup - 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 - - # Clear tons of conditions, since PGO is hardware-dependant. - addpredict /dev - 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 - - export use_lto -} - -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} == "yes" ]]; then - rm -v "${WORKDIR}"/firefox-patches/*-LTO-Only-enable-LTO-*.patch || die - fi - - # Workaround for bgo#917599 - if has_version ">=dev-libs/icu-74.1" && use system-icu ; then - eapply "${WORKDIR}"/firefox-patches/*-bmo-1862601-system-icu-74.patch - fi - rm -v "${WORKDIR}"/firefox-patches/*-bmo-1862601-system-icu-74.patch || die - - # Workaround for bgo#915651 on musl - if use elibc_glibc ; then - rm -v "${WORKDIR}"/firefox-patches/*bgo-748849-RUST_TARGET_override.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)" - - # Workaround for bgo#915651 - if ! use elibc_glibc ; then - if use amd64 ; then - export RUST_TARGET="x86_64-unknown-linux-musl" - elif use x86 ; then - export RUST_TARGET="i686-unknown-linux-musl" - elif use arm64 ; then - export RUST_TARGET="aarch64-unknown-linux-musl" - elif use ppc64 ; then - export RUST_TARGET="powerpc64le-unknown-linux-musl" - elif use riscv ; then - # We can pretty safely rule out any 32-bit riscvs, but 64-bit riscvs also have tons of - # different ABIs available. riscv64gc-unknown-linux-musl seems to be the best working - # guess right now though. - elog "riscv detected, forcing a riscv64 target for now." - export RUST_TARGET="riscv64gc-unknown-linux-musl" - else - die "Unknown musl chost, please post a new bug with your rustc -vV along with emerge --info" - fi - fi - - # Make LTO respect MAKEOPTS - sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \ - "${S}"/build/moz.configure/lto-pgo.configure || die "Failed sedding multiprocessing.cpu_count" - - # Make ICU respect MAKEOPTS - sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \ - "${S}"/intl/icu_sources_data.py || die "Failed sedding multiprocessing.cpu_count" - - # Respect MAKEOPTS all around (maybe some find+sed is better) - sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \ - "${S}"/python/mozbuild/mozbuild/base.py || die "Failed sedding multiprocessing.cpu_count" - - sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \ - "${S}"/third_party/libwebrtc/build/toolchain/get_cpu_count.py || die "Failed sedding multiprocessing.cpu_count" - - sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \ - "${S}"/third_party/libwebrtc/build/toolchain/get_concurrent_links.py || - die "Failed sedding multiprocessing.cpu_count" - - sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \ - "${S}"/third_party/python/gyp/pylib/gyp/input.py || die "Failed sedding multiprocessing.cpu_count" - - sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \ - "${S}"/python/mozbuild/mozbuild/code_analysis/mach_commands.py || die "Failed sedding multiprocessing.cpu_count" - - # 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 - - # Clear checksums from cargo crates we've manually patched. - # moz_clear_vendor_checksums xyz - - # 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" - - # Configuration tests expect llvm-readelf output, bug 913130 - READELF="llvm-readelf" - - tc-export CC CXX LD AR AS NM OBJDUMP RANLIB READELF 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-disk-remnant-avoidance \ - --disable-geckodriver \ - --disable-gpsd \ - --disable-install-strip \ - --disable-legacy-profile-creation \ - --disable-parental-controls \ - --disable-strip \ - --disable-tests \ - --disable-updater \ - --disable-valgrind \ - --disable-wmf \ - --enable-js-shell \ - --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 ; 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, since it's not activated automatically via "known arches" list. - # Update 128.1.0: Disable jit on riscv (this line can be blanked to disable by default), - # bgo#937867. - use riscv && mozconfig_add_options_ac 'Disable JIT for RISC-V 64' --disable-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_enable rust-extensions thunderbird-rust - - 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" - - # Increase the FORTIFY_SOURCE value, #910071. - sed -i -e '/-D_FORTIFY_SOURCE=/s:2:3:' "${S}"/build/moz.configure/toolchain.configure || die - 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-x11-only - fi - - if [[ ${use_lto} == "yes" ]] ; then - if use clang ; then - # Upstream only supports lld or mold when using clang. - if tc-ld-is-mold ; then - # mold expects the -flto line from *FLAGS configuration, bgo#923119 - append-ldflags "-flto=thin" - 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 - - 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 - - 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 - - mozconfig_use_enable debug - if use debug ; then - mozconfig_add_options_ac '+debug' --disable-optimize - mozconfig_add_options_ac '+debug' --enable-jemalloc - 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*' - - # elf-hack - # Filter "-z,pack-relative-relocs" and let the build system handle it instead. - if use amd64 || use x86 ; then - filter-flags "-z,pack-relative-relocs" - - if tc-ld-is-mold ; then - # relr-elf-hack is currently broken with mold, bgo#916259 - mozconfig_add_options_ac 'disable elf-hack with mold linker' --disable-elf-hack - else - mozconfig_add_options_ac 'relr elf-hack' --enable-elf-hack=relr - fi - elif use ppc64 || use riscv ; then - # '--disable-elf-hack' is not recognized on ppc64/riscv, - # see bgo #917049, #930046 - :; - else - mozconfig_add_options_ac 'disable elf-hack on non-supported arches' --disable-elf-hack - fi - - if ! use elibc_glibc; then - mozconfig_add_options_ac '!elibc_glibc' --disable-jemalloc - fi - - # System-av1 fix - use system-av1 && append-ldflags "-Wl,--undefined-version" - - # 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 - - export MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE="none" - - # 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_lto} == "yes" ]] && tc-ld-is-mold ; 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 llvm-core/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-r1.js gentoo-prefs.js - - local GENTOO_PREFS="${ED}${PREFS_DIR}/gentoo-prefs.js" - - # 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 - - # 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 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 exec_command="${PN}" - local icon="${PN}" - local use_wayland="false" - - if [[ -n ${MOZ_ESR} ]] ; then - local desktop_filename="${PN}-esr.desktop" - else - local desktop_filename="${PN}.desktop" - fi - - 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:@DEFAULT_WAYLAND@:${use_wayland}:" \ - "${ED}/usr/bin/${PN}" || die -} - -pkg_postinst() { - xdg_pkg_postinst - - 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 -} diff --git a/mail-client/thunderbird/thunderbird-128.6.0.ebuild b/mail-client/thunderbird/thunderbird-128.6.0.ebuild deleted file mode 100644 index 3bb5ae06197e..000000000000 --- a/mail-client/thunderbird/thunderbird-128.6.0.ebuild +++ /dev/null @@ -1,1163 +0,0 @@ -# Copyright 1999-2025 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -FIREFOX_PATCHSET="firefox-128esr-patches-08.tar.xz" - -LLVM_COMPAT=( 17 18 19 ) - -PYTHON_COMPAT=( python3_{10..12} ) -PYTHON_REQ_USE="ncurses,sqlite,ssl" - -RUST_MIN_VER="1.77.1" -RUST_NEEDS_LLVM=1 - -WANT_AUTOCONF="2.1" - -VIRTUALX_REQUIRED="manual" - -# Thunderbird will have separate release and esr channels, matching Firefox's rapid and esr. -MOZ_ESR=yes - -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-r1 multiprocessing \ - optfeature pax-utils python-any-r1 rust toolchain-funcs virtualx xdg - -DESCRIPTION="Thunderbird Mail Client" -HOMEPAGE="https://www.thunderbird.net/" - -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[@]}" -S="${WORKDIR}/${PN}-${PV%_*}" - -LICENSE="MPL-2.0 GPL-2 LGPL-2.1" -SLOT="0" -KEYWORDS="amd64 ~arm64 ~ppc64 ~x86" - -IUSE="+clang +dbus debug eme-free hardened hwaccel jack libproxy lto pgo pulseaudio sndio selinux" -IUSE+=" +system-av1 +system-harfbuzz +system-icu +system-jpeg +system-libevent +system-libvpx" -IUSE+=" system-png +system-webp wayland wifi +X" - -# Thunderbird-only USE flags. -IUSE+=" +rust-extensions +system-librnp" - -REQUIRED_USE="|| ( X wayland ) - debug? ( !system-av1 ) - pgo? ( lto ) - rust-extensions? ( dbus ) - wayland? ( dbus ) - wifi? ( dbus )" - -TB_ONLY_DEPEND="selinux? ( sec-policy/selinux-thunderbird ) - !system-librnp? ( dev-libs/jsoncpp ) - system-librnp? ( >=dev-util/librnp-0.17.1 )" -BDEPEND="${PYTHON_DEPS} - $(llvm_gen_dep ' - llvm-core/clang:${LLVM_SLOT} - llvm-core/llvm:${LLVM_SLOT} - clang? ( - llvm-core/lld:${LLVM_SLOT} - pgo? ( llvm-runtimes/compiler-rt-sanitizers:${LLVM_SLOT}[profile] ) - ) - ') - app-alternatives/awk - app-arch/unzip - app-arch/zip - >=dev-util/cbindgen-0.26.0 - net-libs/nodejs - virtual/pkgconfig - amd64? ( >=dev-lang/nasm-2.14 ) - x86? ( >=dev-lang/nasm-2.14 ) - pgo? ( - X? ( - sys-devel/gettext - x11-base/xorg-server[xvfb] - x11-apps/xhost - ) - !X? ( - || ( - gui-wm/tinywl - <gui-libs/wlroots-0.17.3[tinywl(-)] - ) - x11-misc/xkeyboard-config - ) - )" -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.101 - >=dev-libs/nspr-4.35 - media-libs/alsa-lib - media-libs/fontconfig - media-libs/freetype - media-libs/mesa - media-video/ffmpeg - sys-libs/zlib - virtual/freedesktop-icon-theme - x11-libs/cairo - x11-libs/gdk-pixbuf:2 - x11-libs/pango - x11-libs/pixman - dbus? ( sys-apps/dbus ) - jack? ( virtual/jack ) - pulseaudio? ( - || ( - media-libs/libpulse - >=media-sound/apulse-0.1.12-r4[sdk] - ) - ) - libproxy? ( net-libs/libproxy ) - selinux? ( sec-policy/selinux-mozilla ) - 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-74.1:= ) - system-jpeg? ( >=media-libs/libjpeg-turbo-1.2.1:= ) - system-libevent? ( >=dev-libs/libevent-2.1.12: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? ( - >=media-libs/libepoxy-1.5.10-r1 - x11-libs/gtk+:3[wayland] - ) - wifi? ( - kernel_linux? ( - || ( - net-misc/networkmanager - net-misc/connman[networkmanager] - ) - sys-apps/dbus - ) - ) - X? ( - virtual/opengl - x11-libs/cairo[X] - 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/libxcb:= - )" -RDEPEND="${COMMON_DEPEND} - jack? ( virtual/jack )" -DEPEND="${COMMON_DEPEND} - X? ( - x11-base/xorg-proto - x11-libs/libICE - x11-libs/libSM - )" - -llvm_check_deps() { - if ! has_version -b "llvm-core/clang:${LLVM_SLOT}" ; then - einfo "llvm-core/clang:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2 - return 1 - fi - - if use clang && ! tc-ld-is-mold ; then - if ! has_version -b "llvm-core/lld:${LLVM_SLOT}" ; then - einfo "llvm-core/lld:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2 - return 1 - fi - fi - - if use pgo ; then - if ! has_version -b "=llvm-runtimes/compiler-rt-sanitizers-${LLVM_SLOT}*[profile]" ; then - einfo "=llvm-runtimes/compiler-rt-sanitizers-${LLVM_SLOT}*[profile] is missing!" >&2 - einfo "Cannot use LLVM slot ${LLVM_SLOT} ..." >&2 - return 1 - 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}" -} - -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' - - 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 debug ; then - CHECKREQS_DISK_BUILD="14300M" - elif tc-is-lto ; then - CHECKREQS_DISK_BUILD="10600M" - else - CHECKREQS_DISK_BUILD="6800M" - fi - - check-reqs_pkg_pretend - fi -} - -pkg_setup() { - if [[ ${MERGE_TYPE} != binary ]] ; then - - if tc-is-lto; then - use_lto=yes - # LTO is handled via configure - filter-lto - fi - - if use pgo ; then - if ! has userpriv ${FEATURES} ; then - eerror "Building ${PN} with USE=pgo and FEATURES=-userpriv is not supported!" - fi - fi - - if [[ ${use_lto} = yes ]] ; then - # -Werror=lto-type-mismatch -Werror=odr are going to fail with GCC, - # bmo#1516758, bgo#942288 - filter-flags -Werror=lto-type-mismatch -Werror=odr - fi - - if use pgo || use debug ; then - CHECKREQS_DISK_BUILD="14300M" - elif [[ ${use_lto} == "yes" ]] ; then - CHECKREQS_DISK_BUILD="10600M" - else - CHECKREQS_DISK_BUILD="6800M" - fi - - check-reqs_pkg_setup - llvm-r1_pkg_setup - rust_pkg_setup - 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 - - # Clear tons of conditions, since PGO is hardware-dependant. - addpredict /dev - 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 - - export use_lto -} - -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} == "yes" ]]; then - rm -v "${WORKDIR}"/firefox-patches/*-LTO-Only-enable-LTO-*.patch || die - fi - - # Workaround for bgo#917599 - if has_version ">=dev-libs/icu-74.1" && use system-icu ; then - eapply "${WORKDIR}"/firefox-patches/*-bmo-1862601-system-icu-74.patch - fi - rm -v "${WORKDIR}"/firefox-patches/*-bmo-1862601-system-icu-74.patch || die - - # Workaround for bgo#915651 on musl - if use elibc_glibc ; then - rm -v "${WORKDIR}"/firefox-patches/*bgo-748849-RUST_TARGET_override.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)" - - # Workaround for bgo#915651 - if ! use elibc_glibc ; then - if use amd64 ; then - export RUST_TARGET="x86_64-unknown-linux-musl" - elif use x86 ; then - export RUST_TARGET="i686-unknown-linux-musl" - elif use arm64 ; then - export RUST_TARGET="aarch64-unknown-linux-musl" - elif use ppc64 ; then - export RUST_TARGET="powerpc64le-unknown-linux-musl" - elif use riscv ; then - # We can pretty safely rule out any 32-bit riscvs, but 64-bit riscvs also have tons of - # different ABIs available. riscv64gc-unknown-linux-musl seems to be the best working - # guess right now though. - elog "riscv detected, forcing a riscv64 target for now." - export RUST_TARGET="riscv64gc-unknown-linux-musl" - else - die "Unknown musl chost, please post a new bug with your rustc -vV along with emerge --info" - fi - fi - - # Make LTO respect MAKEOPTS - sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \ - "${S}"/build/moz.configure/lto-pgo.configure || die "Failed sedding multiprocessing.cpu_count" - - # Make ICU respect MAKEOPTS - sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \ - "${S}"/intl/icu_sources_data.py || die "Failed sedding multiprocessing.cpu_count" - - # Respect MAKEOPTS all around (maybe some find+sed is better) - sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \ - "${S}"/python/mozbuild/mozbuild/base.py || die "Failed sedding multiprocessing.cpu_count" - - sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \ - "${S}"/third_party/libwebrtc/build/toolchain/get_cpu_count.py || die "Failed sedding multiprocessing.cpu_count" - - sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \ - "${S}"/third_party/libwebrtc/build/toolchain/get_concurrent_links.py || - die "Failed sedding multiprocessing.cpu_count" - - sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \ - "${S}"/third_party/python/gyp/pylib/gyp/input.py || die "Failed sedding multiprocessing.cpu_count" - - sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \ - "${S}"/python/mozbuild/mozbuild/code_analysis/mach_commands.py || die "Failed sedding multiprocessing.cpu_count" - - # 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 - - # Clear checksums from cargo crates we've manually patched. - # moz_clear_vendor_checksums xyz - - # 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" - - # Configuration tests expect llvm-readelf output, bug 913130 - READELF="llvm-readelf" - - tc-export CC CXX LD AR AS NM OBJDUMP RANLIB READELF 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-disk-remnant-avoidance \ - --disable-geckodriver \ - --disable-gpsd \ - --disable-install-strip \ - --disable-legacy-profile-creation \ - --disable-parental-controls \ - --disable-strip \ - --disable-tests \ - --disable-updater \ - --disable-valgrind \ - --disable-wmf \ - --enable-js-shell \ - --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 ; 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, since it's not activated automatically via "known arches" list. - # Update 128.1.0: Disable jit on riscv (this line can be blanked to disable by default), - # bgo#937867. - use riscv && mozconfig_add_options_ac 'Disable JIT for RISC-V 64' --disable-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_enable rust-extensions thunderbird-rust - - 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" - - # Increase the FORTIFY_SOURCE value, #910071. - sed -i -e '/-D_FORTIFY_SOURCE=/s:2:3:' "${S}"/build/moz.configure/toolchain.configure || die - 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-x11-only - fi - - if [[ ${use_lto} == "yes" ]] ; then - if use clang ; then - # Upstream only supports lld or mold when using clang. - if tc-ld-is-mold ; then - # mold expects the -flto line from *FLAGS configuration, bgo#923119 - append-ldflags "-flto=thin" - 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 - - 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 - - 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 - - mozconfig_use_enable debug - if use debug ; then - mozconfig_add_options_ac '+debug' --disable-optimize - mozconfig_add_options_ac '+debug' --enable-jemalloc - 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*' - - # elf-hack - # Filter "-z,pack-relative-relocs" and let the build system handle it instead. - if use amd64 || use x86 ; then - filter-flags "-z,pack-relative-relocs" - - if tc-ld-is-mold ; then - # relr-elf-hack is currently broken with mold, bgo#916259 - mozconfig_add_options_ac 'disable elf-hack with mold linker' --disable-elf-hack - else - mozconfig_add_options_ac 'relr elf-hack' --enable-elf-hack=relr - fi - elif use ppc64 || use riscv ; then - # '--disable-elf-hack' is not recognized on ppc64/riscv, - # see bgo #917049, #930046 - :; - else - mozconfig_add_options_ac 'disable elf-hack on non-supported arches' --disable-elf-hack - fi - - if ! use elibc_glibc; then - mozconfig_add_options_ac '!elibc_glibc' --disable-jemalloc - fi - - # System-av1 fix - use system-av1 && append-ldflags "-Wl,--undefined-version" - - # 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 - - export MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE="none" - - # 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_lto} == "yes" ]] && tc-ld-is-mold ; 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 llvm-core/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-r1.js gentoo-prefs.js - - local GENTOO_PREFS="${ED}${PREFS_DIR}/gentoo-prefs.js" - - # 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 - - # 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 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 exec_command="${PN}" - local icon="${PN}" - local use_wayland="false" - - if [[ -n ${MOZ_ESR} ]] ; then - local desktop_filename="${PN}-esr.desktop" - else - local desktop_filename="${PN}.desktop" - fi - - 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:@DEFAULT_WAYLAND@:${use_wayland}:" \ - "${ED}/usr/bin/${PN}" || die -} - -pkg_postinst() { - xdg_pkg_postinst - - 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 -} |