* [gentoo-commits] proj/musl:master commit in: mail-client/thunderbird/files/, mail-client/thunderbird/files/icon/, ...
@ 2015-10-31 20:16 Anthony G. Basile
0 siblings, 0 replies; only message in thread
From: Anthony G. Basile @ 2015-10-31 20:16 UTC (permalink / raw
To: gentoo-commits
commit: 8af36917f9a21448f7c75a92f55e778dbd30984d
Author: tt_1 <herrtimson <AT> yahoo <DOT> de>
AuthorDate: Sat Oct 31 20:22:47 2015 +0000
Commit: Anthony G. Basile <blueness <AT> gentoo <DOT> org>
CommitDate: Sat Oct 31 20:22:47 2015 +0000
URL: https://gitweb.gentoo.org/proj/musl.git/commit/?id=8af36917
mail-client/thunderbird: initial commit, bug #564586.
mail-client/thunderbird/Manifest | 84 ++++
.../files/enigmail-1.6.0-parallel-fix.patch | 38 ++
.../files/icon/thunderbird-unbranded.desktop | 9 +
.../thunderbird/files/icon/thunderbird.desktop | 9 +
.../files/musl/thunderbird-38.3.0-basename.patch | 25 +
.../musl/thunderbird-38.3.0-crashreporter.patch | 358 +++++++++++++++
.../musl/thunderbird-38.3.0-fix-bug-1130175.patch | 33 ++
.../musl/thunderbird-38.3.0-fix-bug-1130709.patch | 227 ++++++++++
| 30 ++
| 503 +++++++++++++++++++++
.../musl/thunderbird-38.3.0-fix-netwerk.patch | 37 ++
| 33 ++
.../musl/thunderbird-38.3.0-fix-u_int64_t.patch | 68 +++
.../thunderbird-38.3.0-fix-xpcom-blocksize.patch | 31 ++
.../musl/thunderbird-38.3.0-profiler-gettid.patch | 51 +++
.../files/musl/thunderbird-38.3.0-queue.patch | 28 ++
.../musl/thunderbird-38.3.0-sandbox-cdefs.patch | 22 +
.../files/musl/thunderbird-38.3.0-updater.patch | 43 ++
.../files/musl/thunderbird-38.3.0-xre.patch | 37 ++
.../files/thunderbird-31.7.0-gcc5-1.patch | 242 ++++++++++
.../files/thunderbird-gentoo-default-prefs-1.js-1 | 9 +
mail-client/thunderbird/metadata.xml | 28 ++
.../thunderbird/thunderbird-38.3.0-r99.ebuild | 398 ++++++++++++++++
23 files changed, 2343 insertions(+)
diff --git a/mail-client/thunderbird/Manifest b/mail-client/thunderbird/Manifest
new file mode 100644
index 0000000..c4b837b
--- /dev/null
+++ b/mail-client/thunderbird/Manifest
@@ -0,0 +1,84 @@
+AUX enigmail-1.6.0-parallel-fix.patch 842 SHA256 9ece63c5bb90357908aca8fbf36be5c228a0da4cb3ca75192235eb43d2d500e8 SHA512 099b594c2e27b788890c4c176e6e3be9ea09e455de99389893b429594d0d96fd57d33ecf5678fa417cf9c6b9119c352b72a891ec38254132c5768936ee21d077 WHIRLPOOL 5ac72acd4eea2a731489c814254cf918465ccb4d107bb9112dafd10c72ede9209012a9a00a89a200b8227f56ba627c3349e67c54306d3a1a73dfc6046b9ea037
+AUX icon/thunderbird-unbranded.desktop 228 SHA256 6d6857476dc288d2470211869b3ad13241f938f2995ae273831fefefdeb64fe9 SHA512 c118873cd701f3582d18ebf5c9622b4c593bd9bae51079ec3daf9fd54aceb4b1406f2de20cc08499ced752cc7b4b2183de6777693c5e6853e47714a4df2a6e4a WHIRLPOOL 2df96beec8c941dddeb5e60d6c811f2456453e050e94e3552bcddddd0e951bfa589b64980bd9756e55a2d98611565d092d26d1d2d171b5651a7431ac077c5bca
+AUX icon/thunderbird.desktop 218 SHA256 9e801b52b5f22086d38c3609dec28fc709708a5be1101809c68d17762bd596d6 SHA512 0cbe132759012c0da6f81f37d4ede62d2f4138f0d95e590da6259d7593ad858de28467b393e5d6129a6d37d61afa9b078df0f5a8b6a259189860653c44350a72 WHIRLPOOL 96425123ccc3cbf656c841dbd58812a76802a76b4acf4409ba171792ab0b1c120dc75dea8541a1cd6a2db1ab7ef32bf29477ef7670bf97adacd2e353bef042fd
+AUX musl/thunderbird-38.3.0-basename.patch 964 SHA256 2a6b7d13a2c587b7d9803875190e33e6cc535717fa90eb2d99ba4735bc2c738c SHA512 fefcc3caf21aaa9345bb3a4ac7c5ac961589fbec145eb16a7bbb7e0d53290b4f1c1f006ca35d94eccef5d4f02615570127f0c629d2605a48a9f05cdb6423a827 WHIRLPOOL 4075cfa892bb5469580b6b5b299b5e40c3f200770fc0e0c990b8eb9bb84ee06308cf179440d05aa4b7a46891564115fa619094ec7674e870a14f19fe93d45e8b
+AUX musl/thunderbird-38.3.0-crashreporter.patch 15239 SHA256 5d7aa652994b31d555ce2f50ee9dd3854f422d4f954d294e2e1465943c61123d SHA512 3e9fee642c1de1a4a4360efceb45ab43de48b3f6bd004b4a94e3e90e65e5e2ebb16b102082580e3798be223cfda7322749423deee42e129c42e00bbb8b5cde63 WHIRLPOOL 1a9ff12e9a34660f1824570f898c302ee9747778d16915c133d71528f5bff36d60f51302696facba8f2a47ef8e6c2cf93d0f58f83de845c78c9a99a038c0ea6c
+AUX musl/thunderbird-38.3.0-fix-bug-1130175.patch 1055 SHA256 16bf8227641dcc63a79b3393bd067dfacb6d8706f53398db2b74650ea6cedf7c SHA512 2f5487a81271a6cc3db292069852dd15a9aa0dbfc5cadf094f6b580b71e5e5298a22163874eba9091ef5b20aa79e10563ebbadccdc6178fd8aeba28ceb1b0561 WHIRLPOOL ff312fdbd693fa57fe9320613e4398d9920cf9f9b02f936acf0ff750e7ac5d467033508580bd69f97ef2936011ff7562b4bcd2d358d63d2654996da9645a7648
+AUX musl/thunderbird-38.3.0-fix-bug-1130709.patch 5555 SHA256 7c305042fac52369e51bdf3dc95fdce5ee270e972794690f4307f74cc29f8660 SHA512 7783594a7028c826eb116f6bde89debcd56e52c0054d363f0fbf7f292cdfd98d2a810d31f7f04aa05a9e4888058be036566d8d1938bbeec30dba4a79af2f6c71 WHIRLPOOL 2f3661e65bd8b59a2f20f01bb00828e748fb2b6f84a27ce4178b8829f9c41538b57966e53e6b80da529dca38c478ae550a03b5a8bb2d0f203c888bde3d6643d7
+AUX musl/thunderbird-38.3.0-fix-cdefs-header.patch 1106 SHA256 43bd3ad81cf2e681309e5af3ba46c07bb56d3e36315ca68b696d7f0a65c94721 SHA512 0e7933b45ccf20d12b5a641d4bd1557b6be0013eb9ddf1c53644a468ceab3dce496d426e67c2d2933dd37479717488dcc8637642f42bdce303503852774073ec WHIRLPOOL 8f4b042c1d347344db55119cd51666ca368bf1679fa0fde25cf160badfbb6383b5b20038567471580299e1225a1fe6470f404204167ab02ca830b615f0e918cb
+AUX musl/thunderbird-38.3.0-fix-fts-header.patch 17736 SHA256 700053d6824ac5bfae372d78b0128fcff8618455b0e9f7c143e933f7a6c46162 SHA512 7ec67c0a93d1975cd02631f49fe932007cc9886eef556cb1434592a736ec7ddb916c18496d3de703db7c524d7c99758885414fb77289fb12d4ac1a4639171572 WHIRLPOOL 8086f87e1fe03f04279be404ddadffa09410f77b682b0b045c335e37fa880c64269aec38ec62bdcc2875ee4ab02178dcd68e10507b9ff746f9b3535852b66d6a
+AUX musl/thunderbird-38.3.0-fix-netwerk.patch 1258 SHA256 3c78ccd0086b3ab8728ca70c5802fb1cf2b40aa678e37dbd3e0c338490000680 SHA512 27900bf9ea30fd3c27457a2feed408c2cf93fead434c18f510a4faf52a18d3f983a5646d7ebba33af21162626188a79b3b388c1c2729520d495d055222dd0601 WHIRLPOOL 7562d20907cf8fd845a1dcdce7c871848890f46277c375b0bd133c5268cb3816e8f22c19a7fcc254eba2e5691e488709c05a52c033f88e5e48e2081c7c445290
+AUX musl/thunderbird-38.3.0-fix-sysctl-headers.patch 1055 SHA256 16bf8227641dcc63a79b3393bd067dfacb6d8706f53398db2b74650ea6cedf7c SHA512 2f5487a81271a6cc3db292069852dd15a9aa0dbfc5cadf094f6b580b71e5e5298a22163874eba9091ef5b20aa79e10563ebbadccdc6178fd8aeba28ceb1b0561 WHIRLPOOL ff312fdbd693fa57fe9320613e4398d9920cf9f9b02f936acf0ff750e7ac5d467033508580bd69f97ef2936011ff7562b4bcd2d358d63d2654996da9645a7648
+AUX musl/thunderbird-38.3.0-fix-u_int64_t.patch 2797 SHA256 55069b63a833ac17fa04305c025bf06acbad1491b57185e76116d1882e076022 SHA512 225ff666d177862ab2941550c615db7c165327b9456b52aa03e215930f26d4e26d8d0471a2c4ec39fef4d23f8d108eac6acb4b84de02f6fc8224e0eb47460534 WHIRLPOOL 628ad13febd3fc8b90b38df2e8b795fb4440bfd7e77d8949e6d65d5508860eee8f01cd6e5a8f779305d985f9864ac443b6341d63e8e2458044d2f2dbcb086016
+AUX musl/thunderbird-38.3.0-fix-xpcom-blocksize.patch 873 SHA256 46b44eea491c48ad7eaad4e5cc93c56bfe6cca5083d933fe87cbbb52301d66ef SHA512 5cd436932d184fe180cc5f9495f72907cfe6cc14d29d2c5e9a50de59dbb60b88959dbe74dfaa756c7b22614e0240a57b3c9f8f682d7df7acce19842aa8c2c58f WHIRLPOOL 4ad3274181815e851da974114f9d4343f93fecf10242cbc69e7f241afe4e9b28ea5a71c42f5c6354107038077c213478474353c8214a36cf93c76393a061d5c8
+AUX musl/thunderbird-38.3.0-profiler-gettid.patch 1555 SHA256 5098cf2e7d3a8888640ff7229202014aba886c4d254c72c5a35969beff04d193 SHA512 4140fad5b64404516ec40bf1cdb385500e3e88a6899b1c9831c72a4b1ee0c8d817da087f5aa81a39f25a067f1a8db06ec213325ae7de72f8944cc820f0fff4f9 WHIRLPOOL fd3bd1fb9a18515e48b77e5800b617368881cbf0ddb0bdb33fe1449db0be1e154e56f34ac7d045603c326e4b457635e63ed08818ac8f479220014cd406551e6e
+AUX musl/thunderbird-38.3.0-queue.patch 1295 SHA256 907c02cbff0788c1bdcd23b003817e1633276947208287965e7af3d559c39f2c SHA512 61609fc6d40c1287f189aff7595583746adbaf1fe1f2c931b9e33added6fa64503d849ae8b807759989e05a670f052fe310e299b103e2c20bb1fb9d3772277ee WHIRLPOOL b8cd310f2162c2141f065f1c48634d57690d519d8c7bc318efec4af637a8161a9d027fefd3f99eb596f85eb96fc7d1d15eb30881bb205211e9cb564b5632e8a0
+AUX musl/thunderbird-38.3.0-sandbox-cdefs.patch 1030 SHA256 963079829868acbd37af55879ff0cda83b33b8b56f55ed8ef21880c980d02ec8 SHA512 758ddefdec6959430a9aafe775729ffbf4322143da6bbbc2da38e3ffbe81c898df27d095b868abad26d52bbe942911a64e0ab9f38a31a1f3d8e19314ccca8615 WHIRLPOOL 0b1b12cb6e18bc643861d738225ca0892de04546796c7eff7d3ac0b446773198c1f516cf5f4d439c046b1c757e185a19613c69dbcbca417e81fc6a0bf5d24526
+AUX musl/thunderbird-38.3.0-updater.patch 1344 SHA256 5f07ba110fcc1ee39e352af94786428d4e2c8c7924fe3a337942ffb572da0229 SHA512 56ebff8aaa054ae3a8e9859e77cee5c0b94867d5565399594d89b76f21a6eb1bd6546a878a259229d59c6eed9458e23c64da07c337a43c677cce1bc1d00d2a62 WHIRLPOOL 8fab4d24141c139cac5ac3779838967089d6692e94a2963b85302f619b74c8d53e83d14c07d3b9a0322a941dd90925495eba6c45a35916e6791520f67cac5dd9
+AUX musl/thunderbird-38.3.0-xre.patch 1569 SHA256 8656634992b8f6445f4c5f48f656d0355c2b26c1777a8ac95f39ef1ee3757c69 SHA512 f5f676531c71394be7d60ab45ae7e7073029477eb80cb85dde8e1c535bd50d86149f0f8282d198485155efc25bf13afdc764fa9d32c854a4bad45371f59348e6 WHIRLPOOL 72053950adf40fd21966eebb6d0a082f5b0ebb20452f1042645070b549440273b8fb144e9f2fafc24f8968a98cf293f8d227c5a04c7d62e6074a37d2f9654345
+AUX thunderbird-31.7.0-gcc5-1.patch 9670 SHA256 c43c3a1693176e986e1e7316bb368ea76e2cef15c1e0f70ddd54050d7b143f0b SHA512 8794f81dcd5ecec5b97cfa3f1faf7e0df080618ad982385c28ba7d49714fcb6b03692d88cfe0f30d0d563c6a13174f944a09a4c335c5550014bbf2b1b193b5bb WHIRLPOOL 9891bd52c23a78677d6181e59e2a854c79a11d56e7a97fc6475d48d31d564be4892afe204339cce757522e2aaaa264cdc121e4a887c7fefed394894bf1f37289
+AUX thunderbird-gentoo-default-prefs-1.js-1 426 SHA256 b5aba51045c700ae4d465e079f3e776600d4950806212f7c2fe1841fa25cf9d6 SHA512 b40e7b4789b7f43c382589f7d0eaa6043072bce86ab79fb3dda4800e9ab6a43af11f43b0cb3b6ab1c71d887aa1cf9356ac858f0a81dad013cef5b8a4b2107983 WHIRLPOOL cc3535e9a710d55c5386db51d7bd6ca24f6b36685a54e42d049a806fe99fd0b08afe7998d1478036bfa306129616778b8ac1386e14649646fc0a7ae4d37b830d
+DIST enigmail-1.8.2.tar.gz 1604159 SHA256 1d2700799bc52aaa8e8c9f7a0f5111281ff9fbdffc093cdff070657d574eb2a6 SHA512 51eece988f466aeb4a343719a86dc7d95ec41dfc3ec7e3d8d2f360528675c605f8f2154f10aeea6ef82ed87c784f1d13bfc978e052a9ede0072b5137f6294b11 WHIRLPOOL e12a703899e0e4c98adc58b5f4bf1f74e24a2cf09c1a706a6edca6aca06140041b293f23e6e5b05c507177b4148533ebc3431fb75592aae07d791a899ba2c45c
+DIST firefox-38.0-patches-04.tar.xz 5572 SHA256 501bd1cbd0ac7239674df4f7424e0dd57cab9ede47e18af0c99a8b8e04aa5ccc SHA512 311d494ba2a4219c88eea651e617aa776d6aa8ff68092302b76e9ff4e3e348c7197ec583923188e39973b7bd14f94df19756daf2495d9b0fe44aeaa3dcd19100 WHIRLPOOL 6605eaa0b80c97d2d5d23a23f7b8d92e7ed875787b932adf14622eb3fb5f5ccdebe8a094d78b3518d874b8819724af94100fd1728074ba4a5c426bbd91eeb722
+DIST gdata-provider-1.9.tar.xz 80812 SHA256 8e60960999c752c49d6414d14c35c2d0cc474d4a199ec99e531453d4d60bc5a3 SHA512 b1411b0a8614eb5e9fbdc0a41eb5ed38e8d4c90832e2a356fd0412b554af46bde4b766b213d9da3cafd85206da44d333354c9f6b469c95ddb190fa04fe14a54a WHIRLPOOL df7451e55f937c604d92faed82a16bddd6ca87a7c03981324c5409ab5824ac1c631ec767f10eaedc6f7128cd1f9001eca599c848d39e116d9722f26811b01092
+DIST lightning-4.0.2.xpi 6637618 SHA256 d2d4985058dc2755243fb60a7869cf07e835f871fb098ccc2c7faa5d07f63ea6 SHA512 f73afe1e4ee0e822102226a39f657fdcc397dd4bdd3824d9b793f6fab667fc70eb5bbee48cf088a5c1efe229ac8d564bf36c8998c2e10210f70612d380b7e2c9 WHIRLPOOL 7488b49ba36f385552951eb34c36098af522161ec9784cc10db5659efe002d415e5df13ae11b9eba06a1fa329e85f75adb0a025b8cbc71814f3f7195e6b4ad77
+DIST thunderbird-38.0-patches-0.1.tar.xz 684 SHA256 cd2a347b72a104e72d38e56bb92df3464e8820485119b4114dbd0bbda131a808 SHA512 52c83af301be959e861dfec55b3c4bc60035387c606976bd29232c4cba077230edcadef242491e699fba10027d0408dd4f33fa320bcf96727afe149166ca02de WHIRLPOOL a378a0fa1b152f17681a5e389662fedfacd45a137b224f038d3c98ab4a024bcf9e753fb2fe018cdb7126fb710ee8baabdf7882540450ead2985070d0d1f12eb0
+DIST thunderbird-38.3.0-ar.xpi 475296 SHA256 e3d72a91f7e644bd3d3bb31522f5d9a12bf14316cd95ada0dee700ddd765db38 SHA512 90b255c1b9fa89f63ac0e9908c29e964453c53c186189f82e829eef5c44df57b2f3d6c0eb6c7ae71276bea8ba4c4d43648df3837d802abdfde8d698a9c66ff01 WHIRLPOOL ba3e1eb35c25676d0fb4678a4473ae1df44c08197002cb8773608eafde40d70a5cbbfdf3f510baa239cfc2930e35bfeb8bd7f77a15661e3f5646ab8a8a69a94b
+DIST thunderbird-38.3.0-ast.xpi 405872 SHA256 c78b3457825cd7e20094f2f162e1d2a9afb371fe7f7a53c8a2c948121d22c381 SHA512 50ec174b68adbfe3142c96a234f9f57848f9d0c1719edbe9648812d5cacb84bbd3f19ee32a90c5642c4489a3a9a538c90bf9b15d27a2398f6876ad3449168f51 WHIRLPOOL 8e8203d10a01356ae6f589259e3c857aa089879d76c7813b802cf5b3246b382ead32f7e0db9a0bdf9c58e8a7e4ea2f15f0a47326dff7aabd729dd21b84fd50fa
+DIST thunderbird-38.3.0-be.xpi 442452 SHA256 4a4219218cf0ddf3b46da27124ba13e7b8e1ddcf2a0698f16e114ab572948a4a SHA512 17c9de46c2f5cfdfd7f9214241519362c4763569302780e591849a727d47a0a549147d9f6d915f33f1b094fc8408c6685c583abebb99ec0023ad2d10b26e7186 WHIRLPOOL d996be34081c970b867caa630bbda675c26c267977ae5ba418c152b7734dad036cab6476920badffcdf8dd86ee64023d4c0d20583fab8f465d6d58767cd61eb3
+DIST thunderbird-38.3.0-bg.xpi 506124 SHA256 d3a259e1c1be845c471e7678755b8e33ac0f896231a406a3a50e92f5a17bc2ee SHA512 23640ed1409e6f0aef7543f55de5798f2a763629b16af66e1e0fb51cfc3a125e8b5d7bbf6a52e818e1b9d6b821249927c37767dd35cb4274aed38664d5941aa4 WHIRLPOOL f0d315e3ebb275b58d88efef8d8ec6c7de68f5495814afa5eaba0d9fccda17414363c652cd592f6947fb08c35a590cc36c9910c67f1e2e1ddbc719928d163ace
+DIST thunderbird-38.3.0-bn-BD.xpi 560626 SHA256 b56ae358e7b69096d914a0dab48eaa1c3d9b1a78aeeccb9e45fd0f5dbf361294 SHA512 08df8fa6ffd5063154f9009a330c50b7a02663dd89148364523146c015880396524907b9abbef6d4af8588fa0745eee20036c4b98fff395be4e4fc18eaa021a5 WHIRLPOOL 76838d62486813084177c837f072c398a369538282a7c92816788e641868758d3a1c79c11a013c2af2bdf82f1fb013fce7508c1604a43da2d8d68c47e618aa6d
+DIST thunderbird-38.3.0-br.xpi 449767 SHA256 62aa01dc67b2dbab4a3966fc77c9e6e146caeabbcb9aa818d90a6e920f750ac3 SHA512 6e647fe1d365774fff98e2d85b62c098425163452df5e9656b9cea81d21cfb12d901cc34804863aaf25837103796474e9b1ac1437c998933da85bd6343f034c4 WHIRLPOOL ead867be3b50f4344def66596be7bd2f3c9975bfe618a315b5abcf95ff4fe0d2f04e6550c779447bf492adda60931f26dcc575be9f707b0a4dd1a16d06c6f974
+DIST thunderbird-38.3.0-ca.xpi 450325 SHA256 cf16841892fed72ed9c590d78e6bb93e7c4057f8070821b0a927fbd767ae6b9b SHA512 06ca1456b8f0e6689e2b434adf67f2150b6d6fba37a6eaab3b8474eec45aa53dca5c9798a01cc2014b3f6dd6b6542bf163c0e71ade17553866591c91b20aa746 WHIRLPOOL 77c043ab01ce644eff0180501424be3c0ced0f07f38b6859457dbfff02f61b973ec9493e5f9e1481a0bbb5e4bf0ed99584cfa595c70fdf1fa2ce483413d894da
+DIST thunderbird-38.3.0-cs.xpi 448724 SHA256 4f0cec48206a84694e97e64776d26fc0eda5baa1b019b596af3ab1fe05a3c788 SHA512 7ce571fbd4e8b72088ac86e2e9da60ed65ed7914b5497f359b3c26165ee6e1a917e382204c21238d37bf5193dce776dc388d067e6a2a067c64f499276ec548be WHIRLPOOL f6df14c1ec74ad3f52402eee8f17a963d4a534d5a2f4c8abd1f8c928c7cc67d60fd874a0ec480bc4fd9517b42bee64da4de36f671a0fa1bf944c32c149047843
+DIST thunderbird-38.3.0-cy.xpi 434848 SHA256 96b695296966a61760485210adf967cda82f562290492ca4d34a435966925dc8 SHA512 08ff8a853aff2482e41e9a0c3db0a991213a076984c325f90ea590e2caf03a4bdd776660dc094e13808b00bd979e4b7974c976beff548f9c245232293d3ed18d WHIRLPOOL f47f0b3a1af75ff96968852b4e59ccd03f804690d94922ba7b64fc7fbd0eb9547a71ed68ed7d8048edd3e1d96d4f9e9d44089cd837ab9a036c9db402e3d8dddd
+DIST thunderbird-38.3.0-da.xpi 425828 SHA256 908fb80a392d1aeb835bbf5e213f6dd62c9c1611b268641a50ff61dba3c4084c SHA512 bed405929c179c8a3db4729096fb43773659d222a592542f5dfd2e9ba403b406e178a13f5e5d3943864307413cb91fab600e948f3b824ff7ccc1eaaed01f4dbc WHIRLPOOL ed06a01e48d59e745801ab9ccc4d99e4f785a30162ed921a96f816b5310ba13e88afcc3732c24df767da1e595e4639c73d0662ce738e2e4bebc1ae96d1aafc0e
+DIST thunderbird-38.3.0-de.xpi 429877 SHA256 a488ed7de074380ff02db8fc5941375f27579a41e2ee3c63d61f43e18ab88664 SHA512 cfb454b3aadbc7844b2e3b4e15d52229e2bb3910a68380f42f00ec89552e64717900428b3fcb0f4ee543969978506e9295d491be4a3b026a2f862f676e2f9d8e WHIRLPOOL dc901b29eb6b3f4c9f0e9d1acba4121259c2996c685f97a4289b613b847bd5f2fe31cdcfb342b40fa08cd2208102f43fc2bef4bc05b69180598c9eea63dc075e
+DIST thunderbird-38.3.0-el.xpi 493490 SHA256 99b9b14ffd11b5a07aa6d89d947a73f378a113574ef53680c1c6992a8406292a SHA512 9f5ef751f5d503324cc0fcc8fff19751e23f6018bb19fb24c10db64496ad8878dd807661048d0d9675764b8a845698f1e5bd5ad919f312d338c476ffb47be545 WHIRLPOOL 2afc8b68eb53a80b10eb5755c556deba001a428bfee25ada476a17166f1d4405f04d29ed9a06b885a7e918808a85fb0e58c081379d390ba743bb3d2479f4f325
+DIST thunderbird-38.3.0-en-GB.xpi 416572 SHA256 1bf89952a3b876fffda0d94cd291a90a68dbebd55d286de9cf9ea87c7c241420 SHA512 852c10422e547a11219d38442f810df7989da323b3792bc07cee5dcccca20b6a80440b6e89c12fbadf65922afe3d34e4904ba8a08ade2f874682d4108593d420 WHIRLPOOL 6bbd6bd59444c0f3dc14823ceed05921e66649df179bda7c9eb760335c4300171ac9d3c6d0b1a717d1e05bc93d741af5377272ee3db4d6e713d524fbd3bca2ef
+DIST thunderbird-38.3.0-es-AR.xpi 442641 SHA256 021493ea03343e7563c69ef78dcef55c2cbf32d3024d66b4ac50b3c4588414cf SHA512 1afdaa274acf1762b518ba08c6cf3606b4d9a875b83606be71fa1db421efd3257bc1c99650a7697ece697ae51319278ef3e90b8043d97f1397b653929c550ef9 WHIRLPOOL a2802d37c6ba03e9e31e60613d5bcd98142b1f08e021e4b3c61c3b824578d4185297f8bc919f8ee283eef66c116b632791e1a1336d477b1822ed43b0e4680aaf
+DIST thunderbird-38.3.0-es-ES.xpi 376067 SHA256 fe97ee27daa33aae86e51f4f6ea16d703a4cdce713c550c6fef35b72730a4fa9 SHA512 f66d669752554938926c6827ba0d0a05e862be76b8cdddc2249c4d96dd65cd1244a17c69f9a49dc8ae6e9b65d3020f1e065d62177d4f2745a812fd2f5fa39c97 WHIRLPOOL 8276f1a3adf617ee3e97739137442031d295cd15710271640cd1400140b282064fd912869cda390ae0e6020518b628b66bf2a4a586a8eb15a31167dc9df20283
+DIST thunderbird-38.3.0-et.xpi 438262 SHA256 7bf5963dfe145dae28f9b7f8b62cd97039eb4b165a00f64ba4d4c654b11c40b1 SHA512 717e3fedaad0829c62aabeff09f9b085616a8d6c8d90a724b56691f1e8516cc33f295bd45065c553f9475be0f9e51d880c912d911cf2b31844a7b47dd96e95ed WHIRLPOOL 8bbe35c58aa5cf57a1b51d132fc84511b4e65e8ed7ee2ffea08a7c5f665f6a16133d7029a06922b854639f1dd90e019fe17d5c203b911e1bf30b2c34bf61f971
+DIST thunderbird-38.3.0-eu.xpi 434837 SHA256 e12806a8e1808e6cdba0db393fb444e17144599bdd3634530b89549dc55281e9 SHA512 6a2ede33f69dc8b3f42e5775c0a10bcd51afd898d331b302c27db32ed5c50294e0bea854aecdd3736a3a9b5236c72a6033ca168ffd87f548684e7c9998d89089 WHIRLPOOL 29f740e5ebca181b53863388462b1a77abf4f918af9fb9706c19fb0afb71da8e993a73a8b34f9b1becf5d709bd848667baa5827217d3d444b4c5119865d4065d
+DIST thunderbird-38.3.0-fi.xpi 438889 SHA256 b12b8b0d3ac1d051e33c249add1baecacae6b9e71365f7604d82f2775e725cf1 SHA512 804e4459a9228ccf50ab90b0f9f8fad529a1c8bfe39059b86217e7ff6b3eca328ee5f51cfb520c8061e1e6e599d0c741dd5cc3739be710a2401bce9e64505807 WHIRLPOOL fe1a6916105e5c08b257be4da08aed245f41657918cf6fe40c07866728501d119fb05aef0557375748ef7d708e43086ef327d7481e9068d557ad2650c76ddef4
+DIST thunderbird-38.3.0-fr.xpi 448227 SHA256 dca0f3d8019dfdd3ce0489fa77a06d2d5cb39aa08e0ae3d16bb44ab630f75375 SHA512 ef7cc666727bbe07d62b67fca2ea1dc6f4c7b916c395c857ca3d8e761de9c86d114ceae553d4294ccb1b9c8abc8c9c4f59d6446273b54d6d5fbdd41e8ef1e447 WHIRLPOOL 0a8933e31b39d9cb6eb5d9e21c39d7627f00a80d135c450e318d2a1a6dfe28f7ae2f0cd3d9c5551ab002835784c8c2e4c2a7613f5ccc56d1751ec743fdb04073
+DIST thunderbird-38.3.0-fy-NL.xpi 442162 SHA256 efb561b34d258448ca28a0c54c681272436198e9f5bc771994b05b005116422f SHA512 53401a86a8c990b0c456520382a7dea41116346c2eb4ae458ff402315fd1132dc2fc5080c15b29a4e0c29342b60a314f854eaab9050451c3fd5d32037dd3b949 WHIRLPOOL 372316e36a5fc73681f80eb38bbd62bfc53578d52b7a669992dfb6efcea105fab5658f1f9843b4f07bba5ab4f282159cdd1429ebaf6e90518e4739cd5bfbffc8
+DIST thunderbird-38.3.0-ga-IE.xpi 457412 SHA256 b809cb068a54bfdd08016a798623653ab3b045a3df1e259e3ef29db6b16a61cb SHA512 e6c6f1c0efa1d010cfb20ffb1379d2f2842e2fc26a10ccccc98a55b3e289ae89e33a374b8aac6ae5da6cb181b279e686661e6cf044b698376dc5ef739c184abb WHIRLPOOL de5d32a1d2700e08e32506f0f36fa0260f340569fc86f2f6facc9c720d62f1ba7ce2c8ee95c2797fbef16efaf7364ae3e4c394091019d5e1356794c4419f991f
+DIST thunderbird-38.3.0-gd.xpi 456317 SHA256 66243be7f539ca8dc376ecd5e9cd221b660af2313c0e13fe00c6c6cbbb20d2bf SHA512 657b01e22b36998d49b823a91bbd8a3e6a48f334d1a331c61c0917a0060e55f9fb6b95d83fd189b9fb765c0c0a7f4d0b63001e678161be66600a38e05caf9208 WHIRLPOOL 68d2e5e7a1e5b19483519cc3388f49e8874caae22f477adcd7174466b2f9b29b58cd33d34c5a90afa657b9f39779366b9294fd3f5a114fd2e1a0e248587763f9
+DIST thunderbird-38.3.0-gl.xpi 457839 SHA256 28870ca3614baddd95288000e7336503ad2e62d31b04c33394066d5d52443e09 SHA512 5ee1aa5b6a5ff105b83d9e2d6d2208f52b40a82c79fc9b885c27547969c813626d56398f9c8388c1e75665f9ed0d996d902b885233a7948ba5bb58930cc6ac76 WHIRLPOOL 2399a1afa00f36b96c7a62f760e1127c5b571237116ff2def7e75179dbff5c39889e1c8275c25376d8845798aec31d3807981ab44cb3a956cd62c1a01cc99e44
+DIST thunderbird-38.3.0-he.xpi 485867 SHA256 c74aae3a9048e60669292095c1c446f3806e73cee14d10cd0aab852c9bf19066 SHA512 416c4040be002b775b56253401fe57a04b4183c64ddf378dc30c140f48c5bff95d60377ccd7ddc1f6467726a1fbe9674dff2f4a402c882b89571c2406345aae3 WHIRLPOOL 55f1f9889fafc128f8f453aa21f87021720b1ed60db0340c1f9c9db1ee6428ac1be571e95ce7606c3df1f63056906a54e67a28ccd91b9c755246fe6cd958bdb3
+DIST thunderbird-38.3.0-hr.xpi 440420 SHA256 fc6ae694a971c7db823a1809ebdeec91231080e57caa0ff1ff05945a07755c66 SHA512 f5f8ed7dfc6f75ac4b3458dc19c395ea5ecb66f8a9cc616732e0a9949a231012fab0bb18b2d19a7b9b46655a1b265d0ce6c158604543c0501081184a60fb265c WHIRLPOOL a5b5d7d28cc61f673e12c8ca26ca30c291061e279504ac48ecab01835af96cab2ff6ce3fa1d4e50dc3a40c084519c566b9f7a0a4afbc62c63cb30423519f7307
+DIST thunderbird-38.3.0-hsb.xpi 456451 SHA256 3f2ea2b3ff1b662d09b3d4d2d611ffaf2f6dffba7cf6b0599587b61355012141 SHA512 050b06c03673cd50a4e03d03104da1f829ef5c286cc1e6d714c068efc41ccce54c47e7b202486202847246648711b5dbab515f39a2cdd5256915b4bde4c6270c WHIRLPOOL 636b7a65c84ea3ed89bccf0adf27e26c8ab855a997a208bb3c338977c0067631ff2201e50a30e9856f39427025f9fe465556855303d9dc7e9f91d587d93a717d
+DIST thunderbird-38.3.0-hu.xpi 457988 SHA256 ebeb2ce1192b5baf8a0a6061cb1dd8e44bd11418a65d2dc118141d1219104407 SHA512 2d80c86219af7ca84299458afe996fedac7989ffcb0e941573be6af9c79428c97ef0d369a8a9b8c5a3f7eedc461f18d5269993e40b62d05603a4b0c247c98fdd WHIRLPOOL 332aa10af78d8c7733363d4d5ec2f07e7ea6e226a01ac090b1f08236b043afc91ade94b4cc89a4cad7ec98f35b43cfd5de616ab5a38c389a48b84f0d13a8ac7d
+DIST thunderbird-38.3.0-hy-AM.xpi 500355 SHA256 b36e1bb1b3bd81185a6ff3f330f04e44a3f51278d900971faac8205b73775323 SHA512 5106d19bbd3945e9b7fe1f03fe33c37e950d56eb267d23924c2a34c8bb99740543fd65dfd610a2ba4980d9de22b91e041d8efb2477e4a5d98925d7f64b9a6ca3 WHIRLPOOL d6e11b114ac8fdb804a33d5296824d0d3d157978f6baec652eb8635b2166a56fd90bbb7ee8a0a711c335c47884fe486bc144c7daf3f5369cdf58b618c92995ea
+DIST thunderbird-38.3.0-id.xpi 483187 SHA256 952d1a2a5ba664e5542448d656e37f410d0da60f0d45d88bc128ffff3a193d34 SHA512 827608b9a954746dd5b056b4c9be2038f261502f91f7b9b294475bf0f6cc5de4eb6900ffc12637d19cd343cafcadcd41bef7cf3ab49a562551501dc2e58f6209 WHIRLPOOL e6584fca44cbb4e8f13df811a7b74433d1974be2d4803ecf813182d29b52919328a39fb99b4b2eb49179788b996ccab5b9f7152af9c358e87299c9333fc2270f
+DIST thunderbird-38.3.0-is.xpi 443008 SHA256 f97a4ad94f84bb1601d9c1b283ac84e33d191e5f6abbcbe1d6790c93c700c261 SHA512 90c51b3358c7154fd3482b97663046b5f1a46c05b4c63ee51a703c5ae830f192162c4db60f0cdea18ef4bf39ab210b7b5b0851585d80c8a1a7e2d93e39f10006 WHIRLPOOL 0373852acb7ba5b4f2bc78f296c851f4ff50bee839cdf5dc3c49540d10735c2b0e0d3e8456683e18fcfedfd096e90829af473fccbdf08f7ef8f9c531efd3d600
+DIST thunderbird-38.3.0-it.xpi 369024 SHA256 fe0461ac92410b68f6d2d506dd9ed5e85d3adcf090acfe02f88c9aea977f53db SHA512 b407c0909d7fcb290493369e89b3b73bc6e9e544585d46d3d0209591b6e010aa23d36ba4cabb1a18704035b82b5deb0b96209f8c67194ca57263b21444e9f773 WHIRLPOOL 85060b61bbc17a4407263d9ee158c06d2ad3d34de14292c6e40e851339ce2f02d6661deacdd6a8db727c44d535b6fb6ab147f995a704a3b59a1cfff2ad9b879b
+DIST thunderbird-38.3.0-ja.xpi 492861 SHA256 2aa5e04e9d6a2c10e410e8dcbc51e2d2c093f0d5dc573b3cdc21e37facafb6d6 SHA512 59ab736984ccf9a359fb619a03932a8043f2ed2d9a6349b56e966e0f92a3538c9bb1581eb3b5bcf32574fb8991c9a27030cdb82d398e10ebebe4c2e5d9969709 WHIRLPOOL acb9e0883fcd569679427a7b972783c0050976a9347fbf7955eb09bce7ff2e830deb833cf6cd9e9991760519d43b6f1d34418a7690bf697b3fe6a0d82e5f184c
+DIST thunderbird-38.3.0-ko.xpi 454852 SHA256 ed9e84328318cdac30e605a8be9c609bdb44828f4c288cdc4af141669ba33008 SHA512 a54a6c633a47d7c80e6add9bcd4115f72a481fbad1265e6f916515f6f7a1f4634ebaa91c0648564e856061e31373029946c2040d7264c5a50707e73acb3f135d WHIRLPOOL a14e4c927be898b64e81fb2436f8e0a97e95386d7b9b4512b405cdc5b27e11a4228e3e5e6e76e43b93d0eba918ef52a9017be6d22b6f2fb7493305f8b3712d67
+DIST thunderbird-38.3.0-lt.xpi 454572 SHA256 cab27cb9348180a19fdf32cdb67e03e2d98af10f39a3a158c495a72fcb9544f3 SHA512 970a9313056729fc5529563995970a475013feaaff66abf0c83519e22eb8af9b5840118065eb86b0985a02f59d480a0e82b212b2d04e149a92948d61adeb5847 WHIRLPOOL 27b96dacca7f79e31d242d9bbf38d360f968eb95062425c5744b48fed5fc5a078e9c667b1be590c1f225631a7a1dd896f8538a2a1659081777e7ec9ee701c4c5
+DIST thunderbird-38.3.0-nb-NO.xpi 434340 SHA256 62d9c3bc2d0a19384a5df220b9b6a190aeb8ee6ce4327839d08ad3a09b0f5b7b SHA512 dea037909c64b50c6c85e3a6109e391d766bce18dce226f9ecbffdde92169a2531dcfa8552230de9274d037a853d59b20aa570a0f286774c10f4339e4ad77207 WHIRLPOOL cf61ccdbb5acd2c0c4091c92c8c401cafd58377f88a907501c156b3d94172235802e665c0dec94bd70b2341aa40e3af4ed7f4ca85cde6b2095fc512bebf7ff0c
+DIST thunderbird-38.3.0-nl.xpi 435108 SHA256 ffd7ba1110afc8096d0c316a5e4fb55b26f9d9f689705f795b00d3c296ceb5d3 SHA512 af6b7c28d9a35653b312986d6a1ca20ddcb9ccd921e4d7ccaa269b7ce21365df1b4b9bfcaacf2d104d940f8f07e8808e465a98362b7feca58798e7897a17da22 WHIRLPOOL 023009ee0fe9be0b0a05fa85dfe03a541de634a30423db0b265e03081437d0acb511d50b870e564e5c91d3b0a92e032d68bea4852d2f9d439e547d7113eb83b8
+DIST thunderbird-38.3.0-nn-NO.xpi 436623 SHA256 48d4095cfdd47fa876c17a13592be4c4b31f57709d770ea8cefa9293e54d8f87 SHA512 5557db58bdedc70cde8e48f9430cbbdc3784ea0865bb30eb50ce481649b3c053234a9b55d23d263d15becdeb4c5f643e4a2048405fcf0874e5011d5a5560e038 WHIRLPOOL 841fca18e18438841b387174dfecb35e43c1749853f6aca0505780bd117aebf9f98745e8bcde7078cedc86b0bae5de049791adcfec690ac5685858ac4b0cf9f1
+DIST thunderbird-38.3.0-pa-IN.xpi 530461 SHA256 78d139e9894b9ea9913f921d78ee3b8894770c08ad32c8530e32782439a36383 SHA512 75089034db5b778885581ab5c816332db5f7e1ae06cb16b656f4d59c934a8a110e0d8ade56cb1ce4dca8e419cc13b15587e2cac3cf975a720d758540dc166636 WHIRLPOOL f36db6260c4b8246aeec8506d3a58bcebd6b3189bb9bd3bbd87fdd8549f8b5032dce8d731137287bd0a441206315463531f04c3ff6a484c6c595f19f401ddb60
+DIST thunderbird-38.3.0-pl.xpi 411509 SHA256 8805fa13167f5fa509f44a31729e39800d8f022224cd86012bb18fc19ac21815 SHA512 ae4f43cae1dce1e42704c0a30746d4410562f3420302dc92598896da5ef1e3088e36465f50f0c98e37f7e7b7e3f35211a2d96ecf417da22f8f021f34174f0ab2 WHIRLPOOL 7bc311d1a8dbbf6a1ddd0bd34d3d1b0ef537151aba5cb184589e9ca45acdb390c78bd7015cd82e87841b5a24a3abdb0c89d5345a0fa952ececbb390ed0135278
+DIST thunderbird-38.3.0-pt-BR.xpi 443752 SHA256 c7e4582522489eb8149db41c4f2c7f7a4d3121f4f5bbcf136e456ece8189d975 SHA512 ced022729b7dfada5fa3d006aabb6c61de78971af1c709833ceac29389048dc4d17ba00c6eee3c1d11471be1b73245ec8ea0f5bc698c10e93d3b5f049506df46 WHIRLPOOL 17c997dec400bf4140db75778e7e588c5545f1cea1e44e2f2a78bed47c95f2f5d5a58d0f690c7b36d2741d889ce1374d96daf9cc2e3e56d982cccdf96211d2fc
+DIST thunderbird-38.3.0-pt-PT.xpi 442064 SHA256 639a3b6d32be9dcc8d2f2eb8a2cca1cdbdb444ef00b10b76aa6f8dc9035e5b4e SHA512 01d2f964efdd4cdadca3269b549aea5f019a8765c994c168f601d1e59c762cf6533a07e4f76603ba9afbd8e64e04516756c57f73d59d046874583af6571b3a99 WHIRLPOOL 6ed3be4069e2cabb77668e003094cde50c2dd84fb83d2084f989131896d37e6db8050fd50e91c998a5a25471b8cabc4890f805205bf28128bc4fb254dff9f0a7
+DIST thunderbird-38.3.0-rm.xpi 442112 SHA256 72be95aae125d50fc9565c8bf40623040e37c5ca511d0f0a38f3924ddf48c845 SHA512 9ac7e7143bacc674ec37ae22e305149cbf97cee22b78a9ec0975ca21b6edf40da01dd7b4aac4ef6daa34ed6346e0801d4197e92bd304f6d1e7e7b7207f0eaa08 WHIRLPOOL 76c895ccc8dc476033e678aa7336b178cc843288d4702da43f8e02a4fd175ea17453080dd7e214ccd57563e83fdb95c6a882550f591a65f51c147033da009e3b
+DIST thunderbird-38.3.0-ro.xpi 448349 SHA256 51a28a8984e070e6ca886238aa834ebd9bf845c536ba44407976db7c8bd0ab04 SHA512 2ebb5fc1d35e1031311b6e02b8641cc8df47fca86661f67ddc8bb68eac35835fbbc842ef2d24b872ce199f67d4015f57d61644a8122ebff142bef87b7dd89454 WHIRLPOOL fd1afdf5c1c2c859c7cdd35f7fe89ff21677182d359159f98194852dfa4af7c432a63a2717b750b08f8fea3e653f9d5db73580a1d67dbbad349d7981e0c375e1
+DIST thunderbird-38.3.0-ru.xpi 437591 SHA256 2e16abf3a7f2c133b8ee8a078834e81f141143cff35306056111830252e435b8 SHA512 3def67eaec198e986856036b7b56333e2d24adeb329cdc6315e9bcb96174cfb1065209ad36a57566582717eaf807ac38fed3a732e1b9078c3b8ed56e160e247f WHIRLPOOL 3137a69f50f91a4b6bdb542cb39b494238931debac32769d620eef21190f62b9432b1cadcf73adfbc242eab20a6bd5413486649cd0b53f43b664c16112dfb340
+DIST thunderbird-38.3.0-si.xpi 535341 SHA256 0561d311a4607e9db41d913fdae19dfc4ef9d0135d1b6bbb4bec8ec60617256f SHA512 b0bfdc267113cd30ce9e16551e8785aac6fa03ef311aed4918240b83c9607c42daa32a395c4c1ba2d77cc5634c7eb415a956c71349e3cb48d055e3da73b536ab WHIRLPOOL 947375e0e53925bf9b209a33cb69befa58317fe5f5746dd6e6d1d6a18d09d9feb70d0ff9f1a211a2ec2c7d3b2caf3e73e82f2b97972b6bde32ea5992d7f4e999
+DIST thunderbird-38.3.0-sk.xpi 456606 SHA256 5c937a4cc87299365991743f791d89a7ea11693f93a538659715f3dadb7d5b0d SHA512 b5edc13a4664656bd808256d2a6185197d412a82730f33b8a5275405a2f9100e11e7d089be19e13ff6954d8e82a6fbf88cd789f35764259cd33634dbaa0e8563 WHIRLPOOL 3a4ac12502bb2c993165207b8082033e50fcbd862e3e6913505489943acef05b782067f4e931c3a0b8f03170ed254671c29c24f81a078c470db1de14a1490d90
+DIST thunderbird-38.3.0-sl.xpi 437847 SHA256 a5d64faf18f4e05ecc68830ad7623bc378d30ab041d4fa65d9d15970c552a628 SHA512 aa1f915202c66b6c148b743e63bc77f5739dc4af6bfeed1a0a3b6a42a29044bf8fd23e6f6f8bd9d322b5a7d6ae83b179852d5f6efdb602ddf90b5ff1e3d1bf0e WHIRLPOOL 551342d803f216ba9fab8af6c47e0a92bcd948c4537bef0050b3773df70e31d8ecab7caf6bebd4659038a552842e211ecb61ebf4d1cceb0a3ffdd314daf2aa9b
+DIST thunderbird-38.3.0-sq.xpi 446897 SHA256 f82cbbfed792a36383a8a78bd66b499de837dbbf1c0386a579bb602db31400e8 SHA512 3ac6605fe5c4fe8bf938b65a6cb0413117aee3773a09262b2f5ed15f7c67f16f9c67d023c3df03e9413acd5666fbb05ae63a8e84fa66ed25151f1dfc3da98d3f WHIRLPOOL f1f3946e64afc3ce326c94449a207ad0ff6a8a01ad831c304f7fbfc01b4c5ef6c5895992303012ac41687e7ad190e82bcedb4c28954c48fdfcb71f1c022766df
+DIST thunderbird-38.3.0-sr.xpi 543314 SHA256 2fc3d2fda47c02cc3299e42a178b329dd43d3e09cb1b79be85a490deac77302a SHA512 c32d8300728b998c58a5e13a1b0311aa56bb3d51b07bd142b5421c121812fd940d2ad33a5050382e5f7ae5ae8c75f6337a1cedd3e0368ccdf37743dbc8415f1b WHIRLPOOL b3a0b009e0ac4a326b066e05b29fd45745259ca9352090c0e4be79c79852f296391ecda777ad35dd796a80c7a38ddadca60a5e1e759684aa2b05a97c6448893b
+DIST thunderbird-38.3.0-sv-SE.xpi 439633 SHA256 0eeb64f903032b8456ec9fe9b1484add7ac45aa76406479f44abdb30b5bce119 SHA512 51d5ae6c4a0866db5bbaf28ee6c1d5111de23116d2460207d581f67c034bcb9f94c1e1753324ebb7744e7e264ee173d6e81d0a1fdbb698885dba90c4ed201550 WHIRLPOOL 1b76e3537cd3077f1665576394463b98f54d7bbb3d348a7e3a3779416ae2cee0cf480482d65669b19b8341c1c25d23c884ca553d94b7520e23f4bb91e91d7ac9
+DIST thunderbird-38.3.0-ta-LK.xpi 558738 SHA256 2f68f7c0596253b3fa2a3c9d895cde48d8bdc55f006264cae84eaa485ae10f37 SHA512 09cef8586b7f9c8b91351b2c67cdf54dac43178aabc9c20aa1fd9c64119a20808764c8afa0fe3634103e82450b0271d07d13a52d1dec73efbebe07b7b866122e WHIRLPOOL aaafac16c797512f44903e00f5b777ae815a1f75751ad2cd054a52da67dc19a63b6b97834f7cc3dd9240d14fdc0490da0ae0e3ffc97ec78daac53fb372ff9fae
+DIST thunderbird-38.3.0-tr.xpi 447799 SHA256 be6321c62f3d5dceee8df225810ed42ecc76ec79c35330da62fdb11027eb9e10 SHA512 533f37baf82d54174d2d11551ec229692a65d7c80cb9a0896d516e988d7d1292caf01cebd8cfce8983cad60c41b379a461bcc86f4ec222caa28d1d59407a9a0b WHIRLPOOL 19f1b9d5edc1c278357ae48c13776893d6fd5965910c1b7c1587e8affb51285c0b53ab7fc91f2ca0cfbc595eea4a902d5ea6fc72dfd232fdf05eef6498d611d0
+DIST thunderbird-38.3.0-uk.xpi 509600 SHA256 3e64a3c28621b7e76b2b705cee2e721fddba762728ab180449873e69ccd9bcc2 SHA512 69f2e947563ed04b45352453811dec727e1ae539a47fdbdc2e5677727279b87ac7b639b72d2d63ced05a144d8b3e349c1aa94aa2152fc8810c64512fb2502e89 WHIRLPOOL 4b3c7f9f65b6971fa62bbebc5de1d5001eb01ec06d010efb3875fbd905438b6cb6a87acbbbe1510fe8384d8a69c321842e572133c6400d5ae2ca4de3915e11ea
+DIST thunderbird-38.3.0-vi.xpi 519843 SHA256 d2d03bccd1bf564415e38ef3980b4a7e0a32fe30cada1ea8c15c0f96babca151 SHA512 8f567c7e6d04c73fda369e3b657a00c3402c585c730ba37e0680be167e7c9816651a279d14f944d103fd8dbe9d714f05e817b50e47c7cccb5b735680812cbf22 WHIRLPOOL 1911be7f96e50a7674271a4a4e65d934cbd682954a9aecec660e765cc8fff0060c4cc8853c68c3e2db102958819cc513fbb31d7911debf86b8e59c72ee6f5fba
+DIST thunderbird-38.3.0-zh-CN.xpi 466412 SHA256 8c3455bbe76b167f94f1b1f7c836aafd7f5d11e5fa7cc4071bde0fe77b4bcf49 SHA512 741a624c4012ac8da81f0d6ae8c6808e6c6a5245ea8055f8aab948fa93e34dfa5160f8b4f2a4a9b3dd0ef9ba6c72006212a0f320b1f5aaf22f1c620389c66033 WHIRLPOOL afa24ef3a20981433469d24d16699fac4f7138e70c7702f7516958884c51704aa78e6f8b307379985b75e53900c3fb5a89a07c5d515a9883e98d036e8f0be41a
+DIST thunderbird-38.3.0-zh-TW.xpi 466661 SHA256 fd10d148424c21731b877104ac50628c973348f8bc813573130503d08a0e045e SHA512 c183b8421a73253650e1d2e3bda3465aac42e0f3ecebdbaed3814218540b1f40e865ffe6028c8b2277c47241e85d9b67887fcc3b754328fd7323e8242d53b69e WHIRLPOOL 30b01926c975b7a70484ffe6a341fed0af039f9237cdc653cbe50ccc339b770236bf9e89789c958196ecc60f1d68fcc8f22aa6c26e616904d10d417229f8b1e3
+DIST thunderbird-38.3.0.source.tar.bz2 204361602 SHA256 9f3cb19a5ceabc5e8fa31f782b6d92720a77ef2c2d6c7b63b3d792cde491c961 SHA512 622731a3a6d40fabcf709e08ed20f8faf0d79a26229ab59c5a39d12b4445e090a7968055cc4804d829d6918f6879f1d47e3d453eefca58c8b68486bce20f21ea WHIRLPOOL afd0b9c0b4c1644e62329b744ad4ebd01d50e342f24d65bdc6f0634a910c6edae9d0e14b5307d51d6f2673969c962a831bb62109607ba01bd787409b5685246a
+EBUILD thunderbird-38.3.0-r99.ebuild 13313 SHA256 98d377bb24c17843444568c17eae214afe4f2dba57c63bc449fe109a15ccf51e SHA512 519776acad78985378bf9f7f5c61be9070397c0ce0dfb266d4a10e103889654123720945c0224c70342b518412e3e6f17656614e4ae86ee1a1710919390d180e WHIRLPOOL 52bc9176c531f1014cfcd9b2eb3e7b2e248317d82e103e75db7e3db6efa153887e5800b39f467ff9d13cee57742c51f5ffdd356a56bdac80bc30e323e0e0312d
+MISC metadata.xml 1499 SHA256 9e77bf6b427591dfdb3ef9962bbc1f2cf06c56c40481fb01ff4dde58b384ada5 SHA512 9b221808f226c1e1cc0cebd0abdf3b262eaed0c3392e8302fd1933141bf95840ab40bb1869b998d51d59a85fb83709963a21c114406c2a720f89d09bc0838d39 WHIRLPOOL c0398b529a65726b321968da4bbab0c156f418a01be51d2b7533589e726a93c28200035c4e664dbea4b90622d285f68464d4774e53e5c72d8292a1910233f36e
diff --git a/mail-client/thunderbird/files/enigmail-1.6.0-parallel-fix.patch b/mail-client/thunderbird/files/enigmail-1.6.0-parallel-fix.patch
new file mode 100644
index 0000000..ab4b613
--- /dev/null
+++ b/mail-client/thunderbird/files/enigmail-1.6.0-parallel-fix.patch
@@ -0,0 +1,38 @@
+commit dd4ad2eebd36c84307222ca56c10c073527d7054
+Author: Patrick Brunschwig <patrick@enigmail.net>
+Date: Sun Nov 24 19:06:23 2013 +0100
+
+ fixed broken parallel full build of TB (patch by Fabio Rossi)
+
+diff --git a/lang/Makefile.in b/lang/Makefile.in
+index 2334d4f..38688e0 100644
+--- a/lang/Makefile.in
++++ b/lang/Makefile.in
+@@ -16,12 +16,12 @@ include $(topsrcdir)/config/config.mk
+
+ include $(srcdir)/../util/build.mk
+
+-all: export jar
++all: jar
+
+ export:
+ $(PERL) $(srcdir)/make-lang-xpi.pl $(srcdir)/current-languages.txt $(srcdir)
+
+-jar:
++jar: export
+ $(MAKEJAR)
+
+ clean:
+diff --git a/ui/Makefile.in b/ui/Makefile.in
+index 6309525..13c98ee 100644
+--- a/ui/Makefile.in
++++ b/ui/Makefile.in
+@@ -28,7 +28,7 @@ include $(topsrcdir)/config/config.mk
+
+ include $(srcdir)/../util/build.mk
+
+-jar:
++jar: dirs
+ $(MAKEJAR)
+
+ clean:
diff --git a/mail-client/thunderbird/files/icon/thunderbird-unbranded.desktop b/mail-client/thunderbird/files/icon/thunderbird-unbranded.desktop
new file mode 100644
index 0000000..f9d87be
--- /dev/null
+++ b/mail-client/thunderbird/files/icon/thunderbird-unbranded.desktop
@@ -0,0 +1,9 @@
+[Desktop Entry]
+Name=Mozilla Thunderbird
+Comment=Mail & News Reader
+Exec=/usr/bin/thunderbird %u
+Icon=thunderbird-icon-unbranded
+Terminal=false
+Type=Application
+Categories=Office;Network;Email;
+MimeType=x-scheme-handler/mailto;
diff --git a/mail-client/thunderbird/files/icon/thunderbird.desktop b/mail-client/thunderbird/files/icon/thunderbird.desktop
new file mode 100644
index 0000000..f9c31eb
--- /dev/null
+++ b/mail-client/thunderbird/files/icon/thunderbird.desktop
@@ -0,0 +1,9 @@
+[Desktop Entry]
+Name=Mozilla Thunderbird
+Comment=Mail & News Reader
+Exec=/usr/bin/thunderbird %u
+Icon=thunderbird-icon
+Terminal=false
+Type=Application
+Categories=Office;Network;Email;
+MimeType=x-scheme-handler/mailto;
diff --git a/mail-client/thunderbird/files/musl/thunderbird-38.3.0-basename.patch b/mail-client/thunderbird/files/musl/thunderbird-38.3.0-basename.patch
new file mode 100644
index 0000000..e54a69d
--- /dev/null
+++ b/mail-client/thunderbird/files/musl/thunderbird-38.3.0-basename.patch
@@ -0,0 +1,25 @@
+# HG changeset patch
+# User Felix Janda <felix.janda@posteo.de>
+# Date 1423172942 -3600
+# Thu Feb 05 22:49:02 2015 +0100
+# Node ID 5f3abeb6ae6c0512901724428d908f601b9e49d4
+# Parent 2d344ef8da33717224d5a08570dc834ca2254f9f
+# https://bugzilla.mozilla.org/show_bug.cgi?id=1041962
+LulElf: Avoid basename
+
+diff -r 2d344ef8da33 -r 5f3abeb6ae6c tools/profiler/LulElf.cpp
+--- a/mozilla/tools/profiler/LulElf.cpp Sun Feb 01 19:32:36 2015 +0100
++++ b/mozilla/tools/profiler/LulElf.cpp Thu Feb 05 22:49:02 2015 +0100
+@@ -611,9 +611,9 @@
+ // last slash, or the whole filename if there are no slashes.
+ string BaseFileName(const string &filename) {
+ // Lots of copies! basename's behavior is less than ideal.
+- char *c_filename = strdup(filename.c_str());
+- string base = basename(c_filename);
+- free(c_filename);
++ const char *c_filename = filename.c_str();
++ const char *p = strrchr(c_filename, '/');
++ string base = p ? p+1 : c_filename;
+ return base;
+ }
+
diff --git a/mail-client/thunderbird/files/musl/thunderbird-38.3.0-crashreporter.patch b/mail-client/thunderbird/files/musl/thunderbird-38.3.0-crashreporter.patch
new file mode 100644
index 0000000..ca27693
--- /dev/null
+++ b/mail-client/thunderbird/files/musl/thunderbird-38.3.0-crashreporter.patch
@@ -0,0 +1,358 @@
+# HG changeset patch
+# User Felix Janda <felix.janda@posteo.de>
+# Date 1423172597 -3600
+# Thu Feb 05 22:43:17 2015 +0100
+# Node ID df5ec9e5685a52bcd19bbe566c0770daa40f14b1
+# Parent 2d344ef8da33717224d5a08570dc834ca2254f9f
+crashreporter: compile with musl
+
+diff -r 2d344ef8da33 -r df5ec9e5685a toolkit/crashreporter/google-breakpad/src/client/linux/crash_generation/crash_generation_server.cc
+--- a/mozilla/toolkit/crashreporter/google-breakpad/src/client/linux/crash_generation/crash_generation_server.cc Sun Feb 01 19:32:36 2015 +0100
++++ b/mozilla/toolkit/crashreporter/google-breakpad/src/client/linux/crash_generation/crash_generation_server.cc Thu Feb 05 22:43:17 2015 +0100
+@@ -28,7 +28,6 @@
+ // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+ #include <assert.h>
+-#include <dirent.h>
+ #include <fcntl.h>
+ #include <limits.h>
+ #include <poll.h>
+@@ -49,6 +48,8 @@
+ #include "common/linux/guid_creator.h"
+ #include "common/linux/safe_readlink.h"
+
++#include <dirent.h>
++
+ static const char kCommandQuit = 'x';
+
+ namespace google_breakpad {
+diff -r 2d344ef8da33 -r df5ec9e5685a toolkit/crashreporter/google-breakpad/src/client/linux/handler/exception_handler.cc
+--- a/mozilla/toolkit/crashreporter/google-breakpad/src/client/linux/handler/exception_handler.cc Sun Feb 01 19:32:36 2015 +0100
++++ b/mozilla/toolkit/crashreporter/google-breakpad/src/client/linux/handler/exception_handler.cc Thu Feb 05 22:43:17 2015 +0100
+@@ -77,7 +77,7 @@
+ #include <sys/wait.h>
+ #include <unistd.h>
+
+-#include <sys/signal.h>
++#include <signal.h>
+ #include <sys/ucontext.h>
+ #include <sys/user.h>
+ #include <ucontext.h>
+@@ -418,11 +418,11 @@
+ siginfo_t siginfo = {};
+ // Mimic a trusted signal to allow tracing the process (see
+ // ExceptionHandler::HandleSignal().
+- siginfo.si_code = SI_USER;
+- siginfo.si_pid = getpid();
+- struct ucontext context;
+- getcontext(&context);
+- return HandleSignal(sig, &siginfo, &context);
++// siginfo.si_code = SI_USER;
++// siginfo.si_pid = getpid();
++// struct ucontext context;
++// getcontext(&context);
++// return HandleSignal(sig, &siginfo, &context);
+ }
+
+ // This function may run in a compromised context: see the top of the file.
+@@ -567,7 +567,7 @@
+ sys_prctl(PR_SET_DUMPABLE, 1);
+
+ CrashContext context;
+- int getcontext_result = getcontext(&context.context);
++ int getcontext_result = 1;//getcontext(&context.context);
+ if (getcontext_result)
+ return false;
+ #if !defined(__ARM_EABI__)
+diff -r 2d344ef8da33 -r df5ec9e5685a toolkit/crashreporter/google-breakpad/src/client/linux/handler/exception_handler.h
+--- a/mozilla/toolkit/crashreporter/google-breakpad/src/client/linux/handler/exception_handler.h Sun Feb 01 19:32:36 2015 +0100
++++ b/mozilla/toolkit/crashreporter/google-breakpad/src/client/linux/handler/exception_handler.h Thu Feb 05 22:43:17 2015 +0100
+@@ -192,7 +192,7 @@
+ struct ucontext context;
+ #if !defined(__ARM_EABI__)
+ // #ifdef this out because FP state is not part of user ABI for Linux ARM.
+- struct _libc_fpstate float_state;
++ struct _fpstate float_state;
+ #endif
+ };
+
+diff -r 2d344ef8da33 -r df5ec9e5685a toolkit/crashreporter/google-breakpad/src/client/linux/minidump_writer/minidump_writer.cc
+--- a/mozilla/toolkit/crashreporter/google-breakpad/src/client/linux/minidump_writer/minidump_writer.cc Sun Feb 01 19:32:36 2015 +0100
++++ b/mozilla/toolkit/crashreporter/google-breakpad/src/client/linux/minidump_writer/minidump_writer.cc Thu Feb 05 22:43:17 2015 +0100
+@@ -174,7 +174,7 @@
+ // out: the minidump structure
+ // info: the collection of register structures.
+ void CPUFillFromUContext(MDRawContextX86 *out, const ucontext *uc,
+- const struct _libc_fpstate* fp) {
++ const struct _fpstate* fp) {
+ const greg_t* regs = uc->uc_mcontext.gregs;
+
+ out->context_flags = MD_CONTEXT_X86_FULL |
+@@ -274,7 +274,7 @@
+ }
+
+ void CPUFillFromUContext(MDRawContextAMD64 *out, const ucontext *uc,
+- const struct _libc_fpstate* fpregs) {
++ const struct _fpstate* fpregs) {
+ const greg_t* regs = uc->uc_mcontext.gregs;
+
+ out->context_flags = MD_CONTEXT_AMD64_FULL;
+@@ -341,7 +341,7 @@
+ }
+
+ void CPUFillFromUContext(MDRawContextARM* out, const ucontext* uc,
+- const struct _libc_fpstate* fpregs) {
++ const struct _fpstate* fpregs) {
+ out->context_flags = MD_CONTEXT_ARM_FULL;
+
+ out->iregs[0] = uc->uc_mcontext.arm_r0;
+@@ -1480,7 +1480,7 @@
+ const char* path_; // Path to the file where the minidum should be written.
+
+ const struct ucontext* const ucontext_; // also from the signal handler
+- const struct _libc_fpstate* const float_state_; // ditto
++ const struct _fpstate* const float_state_; // ditto
+ LinuxDumper* dumper_;
+ MinidumpFileWriter minidump_writer_;
+ off_t minidump_size_limit_;
+diff -r 2d344ef8da33 -r df5ec9e5685a toolkit/crashreporter/google-breakpad/src/common/android/include/stab.h
+--- a/mozilla/toolkit/crashreporter/google-breakpad/src/common/android/include/stab.h Sun Feb 01 19:32:36 2015 +0100
++++ /dev/null Thu Jan 01 00:00:00 1970 +0000
+@@ -1,100 +0,0 @@
+-// Copyright (c) 2012, Google Inc.
+-// All rights reserved.
+-//
+-// Redistribution and use in source and binary forms, with or without
+-// modification, are permitted provided that the following conditions are
+-// met:
+-//
+-// * Redistributions of source code must retain the above copyright
+-// notice, this list of conditions and the following disclaimer.
+-// * Redistributions in binary form must reproduce the above
+-// copyright notice, this list of conditions and the following disclaimer
+-// in the documentation and/or other materials provided with the
+-// distribution.
+-// * Neither the name of Google Inc. nor the names of its
+-// contributors may be used to endorse or promote products derived from
+-// this software without specific prior written permission.
+-//
+-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+-
+-#ifndef GOOGLE_BREAKPAD_COMMON_ANDROID_INCLUDE_STAB_H
+-#define GOOGLE_BREAKPAD_COMMON_ANDROID_INCLUDE_STAB_H
+-
+-#include <sys/cdefs.h>
+-
+-#ifdef __BIONIC_HAVE_STAB_H
+-#include <stab.h>
+-#else
+-
+-#ifdef __cplusplus
+-extern "C" {
+-#endif // __cplusplus
+-
+-#define _STAB_CODE_LIST \
+- _STAB_CODE_DEF(UNDF,0x00) \
+- _STAB_CODE_DEF(GSYM,0x20) \
+- _STAB_CODE_DEF(FNAME,0x22) \
+- _STAB_CODE_DEF(FUN,0x24) \
+- _STAB_CODE_DEF(STSYM,0x26) \
+- _STAB_CODE_DEF(LCSYM,0x28) \
+- _STAB_CODE_DEF(MAIN,0x2a) \
+- _STAB_CODE_DEF(PC,0x30) \
+- _STAB_CODE_DEF(NSYMS,0x32) \
+- _STAB_CODE_DEF(NOMAP,0x34) \
+- _STAB_CODE_DEF(OBJ,0x38) \
+- _STAB_CODE_DEF(OPT,0x3c) \
+- _STAB_CODE_DEF(RSYM,0x40) \
+- _STAB_CODE_DEF(M2C,0x42) \
+- _STAB_CODE_DEF(SLINE,0x44) \
+- _STAB_CODE_DEF(DSLINE,0x46) \
+- _STAB_CODE_DEF(BSLINE,0x48) \
+- _STAB_CODE_DEF(BROWS,0x48) \
+- _STAB_CODE_DEF(DEFD,0x4a) \
+- _STAB_CODE_DEF(EHDECL,0x50) \
+- _STAB_CODE_DEF(MOD2,0x50) \
+- _STAB_CODE_DEF(CATCH,0x54) \
+- _STAB_CODE_DEF(SSYM,0x60) \
+- _STAB_CODE_DEF(SO,0x64) \
+- _STAB_CODE_DEF(LSYM,0x80) \
+- _STAB_CODE_DEF(BINCL,0x82) \
+- _STAB_CODE_DEF(SOL,0x84) \
+- _STAB_CODE_DEF(PSYM,0xa0) \
+- _STAB_CODE_DEF(EINCL,0xa2) \
+- _STAB_CODE_DEF(ENTRY,0xa4) \
+- _STAB_CODE_DEF(LBRAC,0xc0) \
+- _STAB_CODE_DEF(EXCL,0xc2) \
+- _STAB_CODE_DEF(SCOPE,0xc4) \
+- _STAB_CODE_DEF(RBRAC,0xe0) \
+- _STAB_CODE_DEF(BCOMM,0xe2) \
+- _STAB_CODE_DEF(ECOMM,0xe4) \
+- _STAB_CODE_DEF(ECOML,0xe8) \
+- _STAB_CODE_DEF(NBTEXT,0xf0) \
+- _STAB_CODE_DEF(NBDATA,0xf2) \
+- _STAB_CODE_DEF(NBBSS,0xf4) \
+- _STAB_CODE_DEF(NBSTS,0xf6) \
+- _STAB_CODE_DEF(NBLCS,0xf8) \
+- _STAB_CODE_DEF(LENG,0xfe)
+-
+-enum __stab_debug_code {
+-#define _STAB_CODE_DEF(x,y) N_##x = y,
+-_STAB_CODE_LIST
+-#undef _STAB_CODE_DEF
+-};
+-
+-#ifdef __cplusplus
+-} // extern "C"
+-#endif // __cplusplus
+-
+-#endif // __BIONIC_HAVE_STAB_H
+-
+-#endif // GOOGLE_BREAKPAD_COMMON_ANDROID_INCLUDE_STAB_H
+diff -r 2d344ef8da33 -r df5ec9e5685a toolkit/crashreporter/google-breakpad/src/common/android/include/sys/signal.h
+--- a/mozilla/toolkit/crashreporter/google-breakpad/src/common/android/include/sys/signal.h Sun Feb 01 19:32:36 2015 +0100
++++ /dev/null Thu Jan 01 00:00:00 1970 +0000
+@@ -1,35 +0,0 @@
+-// Copyright (c) 2012, Google Inc.
+-// All rights reserved.
+-//
+-// Redistribution and use in source and binary forms, with or without
+-// modification, are permitted provided that the following conditions are
+-// met:
+-//
+-// * Redistributions of source code must retain the above copyright
+-// notice, this list of conditions and the following disclaimer.
+-// * Redistributions in binary form must reproduce the above
+-// copyright notice, this list of conditions and the following disclaimer
+-// in the documentation and/or other materials provided with the
+-// distribution.
+-// * Neither the name of Google Inc. nor the names of its
+-// contributors may be used to endorse or promote products derived from
+-// this software without specific prior written permission.
+-//
+-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+-
+-#ifndef GOOGLE_BREAKPAD_COMMON_ANDROID_INCLUDE_SYS_SIGNAL_H
+-#define GOOGLE_BREAKPAD_COMMON_ANDROID_INCLUDE_SYS_SIGNAL_H
+-
+-#include <signal.h>
+-
+-#endif // GOOGLE_BREAKPAD_COMMON_ANDROID_INCLUDE_SYS_SIGNAL_H
+diff -r 2d344ef8da33 -r df5ec9e5685a toolkit/crashreporter/google-breakpad/src/common/linux/dump_symbols.cc
+--- a/mozilla/toolkit/crashreporter/google-breakpad/src/common/linux/dump_symbols.cc Sun Feb 01 19:32:36 2015 +0100
++++ b/mozilla/toolkit/crashreporter/google-breakpad/src/common/linux/dump_symbols.cc Thu Feb 05 22:43:17 2015 +0100
+@@ -829,9 +829,9 @@
+ // last slash, or the whole filename if there are no slashes.
+ string BaseFileName(const string &filename) {
+ // Lots of copies! basename's behavior is less than ideal.
+- char *c_filename = strdup(filename.c_str());
+- string base = basename(c_filename);
+- free(c_filename);
++ const char *c_filename = filename.c_str();
++ const char *p = strrchr(c_filename, '/');
++ string base = p ? p+1 : c_filename;
+ return base;
+ }
+
+diff -r 2d344ef8da33 -r df5ec9e5685a toolkit/crashreporter/google-breakpad/src/common/linux/elf_core_dump.h
+--- a/mozilla/toolkit/crashreporter/google-breakpad/src/common/linux/elf_core_dump.h Sun Feb 01 19:32:36 2015 +0100
++++ b/mozilla/toolkit/crashreporter/google-breakpad/src/common/linux/elf_core_dump.h Thu Feb 05 22:43:17 2015 +0100
+@@ -36,6 +36,7 @@
+ #include <elf.h>
+ #include <link.h>
+ #include <stddef.h>
++#include <sys/reg.h>
+
+ #include "common/memory_range.h"
+
+diff -r 2d344ef8da33 -r df5ec9e5685a toolkit/crashreporter/google-breakpad/src/common/stabs_reader.cc
+--- a/mozilla/toolkit/crashreporter/google-breakpad/src/common/stabs_reader.cc Sun Feb 01 19:32:36 2015 +0100
++++ b/mozilla/toolkit/crashreporter/google-breakpad/src/common/stabs_reader.cc Thu Feb 05 22:43:17 2015 +0100
+@@ -34,7 +34,6 @@
+ #include "common/stabs_reader.h"
+
+ #include <assert.h>
+-#include <stab.h>
+ #include <string.h>
+
+ #include <string>
+diff -r 2d344ef8da33 -r df5ec9e5685a toolkit/crashreporter/google-breakpad/src/common/stabs_reader.h
+--- a/mozilla/toolkit/crashreporter/google-breakpad/src/common/stabs_reader.h Sun Feb 01 19:32:36 2015 +0100
++++ b/mozilla/toolkit/crashreporter/google-breakpad/src/common/stabs_reader.h Thu Feb 05 22:43:17 2015 +0100
+@@ -53,12 +53,19 @@
+ #include <config.h>
+ #endif
+
+-#ifdef HAVE_A_OUT_H
+-#include <a.out.h>
+-#endif
+ #ifdef HAVE_MACH_O_NLIST_H
+ #include <mach-o/nlist.h>
+ #endif
++// Definitions from <stab.h> and <a.out.h> for systems which
++// do not have them
++#undef N_UNDF
++#define N_UNDF 0x0
++#define N_FUN 0x24
++#define N_SLINE 0x44
++#define N_SO 0x64
++#define N_LSYM 0x80
++#define N_BINCL 0x82
++#define N_SOL 0x84
+
+ #include <string>
+ #include <vector>
+diff -r 2d344ef8da33 -r df5ec9e5685a toolkit/crashreporter/google-breakpad/src/common/stabs_reader_unittest.cc
+--- a/mozilla/toolkit/crashreporter/google-breakpad/src/common/stabs_reader_unittest.cc Sun Feb 01 19:32:36 2015 +0100
++++ b/mozilla/toolkit/crashreporter/google-breakpad/src/common/stabs_reader_unittest.cc Thu Feb 05 22:43:17 2015 +0100
+@@ -33,7 +33,6 @@
+
+ #include <assert.h>
+ #include <errno.h>
+-#include <stab.h>
+ #include <stdarg.h>
+ #include <stdlib.h>
+ #include <string.h>
+diff -r 2d344ef8da33 -r df5ec9e5685a toolkit/crashreporter/google-breakpad/src/third_party/lss/linux_syscall_support.h
+--- a/mozilla/toolkit/crashreporter/google-breakpad/src/third_party/lss/linux_syscall_support.h Sun Feb 01 19:32:36 2015 +0100
++++ b/mozilla/toolkit/crashreporter/google-breakpad/src/third_party/lss/linux_syscall_support.h Thu Feb 05 22:43:17 2015 +0100
+@@ -2814,7 +2814,7 @@
+ LSS_INLINE _syscall6(void*, mmap, void*, s,
+ size_t, l, int, p,
+ int, f, int, d,
+- __off64_t, o)
++ off64_t, o)
+
+ LSS_INLINE _syscall4(int, newfstatat, int, d,
+ const char *, p,
+diff -r 2d344ef8da33 -r df5ec9e5685a toolkit/crashreporter/nsExceptionHandler.cpp
+--- a/mozilla/toolkit/crashreporter/nsExceptionHandler.cpp Sun Feb 01 19:32:36 2015 +0100
++++ b/mozilla/toolkit/crashreporter/nsExceptionHandler.cpp Thu Feb 05 22:43:17 2015 +0100
+@@ -49,6 +49,7 @@
+ #elif defined(XP_LINUX)
+ #include "nsIINIParser.h"
+ #include "common/linux/linux_libc_support.h"
++#undef getdents64
+ #include "third_party/lss/linux_syscall_support.h"
+ #include "client/linux/crash_generation/client_info.h"
+ #include "client/linux/crash_generation/crash_generation_server.h"
diff --git a/mail-client/thunderbird/files/musl/thunderbird-38.3.0-fix-bug-1130175.patch b/mail-client/thunderbird/files/musl/thunderbird-38.3.0-fix-bug-1130175.patch
new file mode 100644
index 0000000..25f8198
--- /dev/null
+++ b/mail-client/thunderbird/files/musl/thunderbird-38.3.0-fix-bug-1130175.patch
@@ -0,0 +1,33 @@
+# HG changeset patch
+# User Felix Janda <felix.janda@posteo.de>
+# Date 1423171460 -3600
+# Thu Feb 05 22:24:20 2015 +0100
+# Node ID af818fbea923d7c026bc8e22a6512f14f788ba56
+# Parent 9c40ffbcf6b32d688abf089f2cce3c85dd8bdb29
+Bug 1130175 - nICEr: avoid sysctl.h include. r=bwc
+
+diff -r 9c40ffbcf6b3 -r af818fbea923 media/mtransport/third_party/nICEr/src/stun/addrs.c
+--- a/mozilla/media/mtransport/third_party/nICEr/src/stun/addrs.c Mon Feb 23 07:39:00 2015 -0500
++++ b/mozilla/media/mtransport/third_party/nICEr/src/stun/addrs.c Thu Feb 05 22:24:20 2015 +0100
+@@ -45,13 +45,11 @@
+ #include <sys/param.h>
+ #include <sys/socket.h>
+ #ifndef ANDROID
+-#include <sys/sysctl.h>
+ #include <sys/syslog.h>
+ #else
+ #include <syslog.h>
+ /* Work around an Android NDK < r8c bug */
+ #undef __unused
+-#include <linux/sysctl.h>
+ #endif
+ #ifndef LINUX
+ #include <net/if.h>
+@@ -122,6 +120,7 @@
+ */
+
+ #include <err.h>
++#include <sys/sysctl.h>
+
+ static void stun_rt_xaddrs(caddr_t, caddr_t, struct rt_addrinfo *);
+ static int stun_grab_addrs(char *name, int addrcount,
diff --git a/mail-client/thunderbird/files/musl/thunderbird-38.3.0-fix-bug-1130709.patch b/mail-client/thunderbird/files/musl/thunderbird-38.3.0-fix-bug-1130709.patch
new file mode 100644
index 0000000..063c4f5
--- /dev/null
+++ b/mail-client/thunderbird/files/musl/thunderbird-38.3.0-fix-bug-1130709.patch
@@ -0,0 +1,227 @@
+# HG changeset patch
+# User Felix Janda <felix.janda@posteo.de>
+# Date 1423304332 -3600
+# Node ID 3e7a3784e7479ab7c663eecbccf8107c271290a0
+# Parent 12394290ae583134871ed40c93677f62ffb1e9e0
+Bug 1130709: Make __BEGIN_DECLS and __END_DECLS explicit r=bwc
+
+diff --git a/mozilla/media/webrtc/signaling/src/sdp/sipcc/cpr_darwin_types.h b/mozilla/media/webrtc/signaling/src/sdp/sipcc/cpr_darwin_types.h
+--- a/mozilla/media/webrtc/signaling/src/sdp/sipcc/cpr_darwin_types.h
++++ b/mozilla/media/webrtc/signaling/src/sdp/sipcc/cpr_darwin_types.h
+@@ -49,37 +49,16 @@ typedef uint8_t boolean;
+ #ifdef __GNUC__
+ #define MAX(a,b) ({ typeof(a) _a = (a); typeof(b) _b = (b); _a > _b ? _a : _b; })
+ #else
+ #define MAX(a,b) (((a) > (b)) ? (a) : (b))
+ #endif
+ #endif
+
+ /**
+- * __BEGIN_DECLS and __END_DECLS
+- *
+- * Define macros for compilation by C++ compiler
+- */
+-#ifndef __BEGIN_DECLS
+-#ifdef __cplusplus
+-#define __BEGIN_DECLS extern "C" {
+-#else
+-#define __BEGIN_DECLS
+-#endif
+-#endif
+-
+-#ifndef __END_DECLS
+-#ifdef __cplusplus
+-#define __END_DECLS }
+-#else
+-#define __END_DECLS
+-#endif
+-#endif
+-
+-/**
+ * Define TRUE/FALSE
+ * defined in several header files
+ */
+ #ifndef TRUE
+ #define TRUE 1
+ #endif
+
+ #ifndef FALSE
+diff --git a/mozilla/media/webrtc/signaling/src/sdp/sipcc/cpr_linux_types.h b/mozilla/media/webrtc/signaling/src/sdp/sipcc/cpr_linux_types.h
+--- a/mozilla/media/webrtc/signaling/src/sdp/sipcc/cpr_linux_types.h
++++ b/mozilla/media/webrtc/signaling/src/sdp/sipcc/cpr_linux_types.h
+@@ -57,38 +57,16 @@ typedef uint8_t boolean;
+ #ifndef MAX
+ #ifdef __GNUC__
+ #define MAX(a,b) ({ typeof(a) _a = (a); typeof(b) _b = (b); _a > _b ? _a : _b; })
+ #else
+ #define MAX(a,b) (((a) > (b)) ? (a) : (b))
+ #endif
+ #endif
+
+-
+-
+-/**
+- * __BEGIN_DECLS and __END_DECLS
+- *
+- * Define macros for compilation by C++ compiler
+- */
+-#ifndef __BEGIN_DECLS
+-#ifdef __cplusplus
+-#define __BEGIN_DECLS extern "C" {
+-#else
+-#define __BEGIN_DECLS
+-#endif
+-#endif
+-
+-#ifndef __END_DECLS
+-#ifdef __cplusplus
+-#define __END_DECLS }
+-#else
+-#define __END_DECLS
+-#endif
+-#endif
+ /**
+ * Define TRUE/FALSE
+ * defined in several header files
+ */
+ #ifndef TRUE
+ #define TRUE 1
+ #endif
+
+diff --git a/mozilla/media/webrtc/signaling/src/sdp/sipcc/cpr_string.h b/mozilla/media/webrtc/signaling/src/sdp/sipcc/cpr_string.h
+--- a/mozilla/media/webrtc/signaling/src/sdp/sipcc/cpr_string.h
++++ b/mozilla/media/webrtc/signaling/src/sdp/sipcc/cpr_string.h
+@@ -5,17 +5,19 @@
+ #ifndef _CPR_STRING_H_
+ #define _CPR_STRING_H_
+
+ #include <stdarg.h>
+
+ #include "cpr_types.h"
+ #include "cpr_strings.h"
+
+-__BEGIN_DECLS
++#ifdef __cplusplus
++extern "C" {
++#endif
+
+ /**
+ * sstrncpy
+ *
+ * @brief The CPR wrapper for strncpy
+ *
+ * This is Cisco's *safe* version of strncpy. The string will always
+ * be NUL terminated (which is not ANSI compliant).
+@@ -125,11 +127,13 @@ void flex_string_sprintf(flex_string *fs
+ * @param[in] str - The string that needs to be duplicated
+ *
+ * @return The duplicated string or NULL in case of no memory
+ *
+ */
+ char *
+ cpr_strdup(const char *str);
+
+-__END_DECLS
++#ifdef __cplusplus
++}
++#endif
+
+ #endif
+diff --git a/mozilla/media/webrtc/signaling/src/sdp/sipcc/cpr_strings.h b/mozilla/media/webrtc/signaling/src/sdp/sipcc/cpr_strings.h
+--- a/mozilla/media/webrtc/signaling/src/sdp/sipcc/cpr_strings.h
++++ b/mozilla/media/webrtc/signaling/src/sdp/sipcc/cpr_strings.h
+@@ -2,29 +2,25 @@
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+ #ifndef _CPR_STRINGS_H_
+ #define _CPR_STRINGS_H_
+
+ #include "cpr_types.h"
+
+-__BEGIN_DECLS
+-
+
+ #include <string.h>
+
+ #if defined(_MSC_VER)
+ #define cpr_strcasecmp _stricmp
+ #define cpr_strncasecmp _strnicmp
+ #if _MSC_VER < 1900
+ #define snprintf _snprintf
+ #endif
+ #else // _MSC_VER
+
+ #define cpr_strcasecmp strcasecmp
+ #define cpr_strncasecmp strncasecmp
+
+ #endif // _MSC_VER
+
+-__END_DECLS
+-
+ #endif
+diff --git a/mozilla/media/webrtc/signaling/src/sdp/sipcc/cpr_types.h b/mozilla/media/webrtc/signaling/src/sdp/sipcc/cpr_types.h
+--- a/mozilla/media/webrtc/signaling/src/sdp/sipcc/cpr_types.h
++++ b/mozilla/media/webrtc/signaling/src/sdp/sipcc/cpr_types.h
+@@ -8,17 +8,19 @@
+ #if defined SIP_OS_LINUX
+ #include "cpr_linux_types.h"
+ #elif defined SIP_OS_WINDOWS
+ #include "cpr_win_types.h"
+ #elif defined SIP_OS_OSX
+ #include "cpr_darwin_types.h"
+ #endif
+
+-__BEGIN_DECLS
++#ifdef __cplusplus
++extern "C" {
++#endif
+
+ /*
+ * CPR Return Codes
+ */
+ typedef enum
+ {
+ CPR_SUCCESS,
+ CPR_FAILURE
+@@ -109,11 +111,13 @@ extern const cpr_ip_addr_t ip_addr_inval
+ * of memory that have a "hidden" header block immediately preceding
+ * the pointer. You MUST use the functions in string_lib.c to
+ * create, manipulate, destroy, copy, or otherwise work with these
+ * strings.
+ */
+
+ typedef const char *string_t;
+
+-__END_DECLS
++#ifdef __cplusplus
++}
++#endif
+
+ #endif
+diff --git a/mozilla/media/webrtc/signaling/src/sdp/sipcc/cpr_win_types.h b/mozilla/media/webrtc/signaling/src/sdp/sipcc/cpr_win_types.h
+--- a/mozilla/media/webrtc/signaling/src/sdp/sipcc/cpr_win_types.h
++++ b/mozilla/media/webrtc/signaling/src/sdp/sipcc/cpr_win_types.h
+@@ -95,21 +95,10 @@ typedef int pid_t;
+ #endif
+
+ /*
+ * Define NULL
+ * defined in numerous header files
+ */
+ /* DONE defined in windef.h */
+
+-/*
+- * Define __BEGIN_DECLS and __END_DECLS
+- */
+-#ifdef __cplusplus
+-#define __BEGIN_DECLS extern "C" {
+-#define __END_DECLS }
+-#else
+-#define __BEGIN_DECLS
+-#define __END_DECLS
+-#endif
+-
+ #endif // _CPR_WIN_TYPES_H_
+
+
--git a/mail-client/thunderbird/files/musl/thunderbird-38.3.0-fix-cdefs-header.patch b/mail-client/thunderbird/files/musl/thunderbird-38.3.0-fix-cdefs-header.patch
new file mode 100644
index 0000000..703190a
--- /dev/null
+++ b/mail-client/thunderbird/files/musl/thunderbird-38.3.0-fix-cdefs-header.patch
@@ -0,0 +1,30 @@
+# HG changeset patch
+# User Felix Janda <felix.janda@posteo.de>
+# Date 1423171584 -3600
+# Node ID 0b586ba959b254e235cae639b0bbdded387d9253
+# Parent b6191f7e683ab87ed40af42b34041114a380341e
+Bug 1151202 - libstagefright: Fix compilation for systems without <sys/cdefs.h>. r=cpearce
+
+diff --git a/mozilla/media/libstagefright/system/core/include/cutils/properties.h b/mozilla/media/libstagefright/system/core/include/cutils/properties.h
+--- a/mozilla/media/libstagefright/system/core/include/cutils/properties.h
++++ b/mozilla/media/libstagefright/system/core/include/cutils/properties.h
+@@ -12,17 +12,17 @@
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+ #ifndef __CUTILS_PROPERTIES_H
+ #define __CUTILS_PROPERTIES_H
+
+-#include <sys/cdefs.h>
++#include <sys/types.h>
+ #include <stddef.h>
+
+ #ifdef __cplusplus
+ extern "C" {
+ #endif
+
+ /* System properties are *small* name value pairs managed by the
+ ** property service. If your data doesn't fit in the provided
+
--git a/mail-client/thunderbird/files/musl/thunderbird-38.3.0-fix-fts-header.patch b/mail-client/thunderbird/files/musl/thunderbird-38.3.0-fix-fts-header.patch
new file mode 100644
index 0000000..5ac5944
--- /dev/null
+++ b/mail-client/thunderbird/files/musl/thunderbird-38.3.0-fix-fts-header.patch
@@ -0,0 +1,503 @@
+# HG changeset patch
+# User Felix Janda <felix.janda@posteo.de>
+# Date 1429134526 -7200
+# Wed Apr 15 23:48:46 2015 +0200
+# Node ID 62325b792c42746df0c4322d47c6c3e965ec6aaa
+# Parent da3e6557e0301899024eeaa24b0a43e837a409d7
+Bug 1139173 - ipc/chromium: Use <errno.h> instead of non-standard <sys/errno.h>. r=froydnj
+
+diff -r da3e6557e030 -r 62325b792c42 ipc/chromium/src/base/file_util_posix.cc
+--- a/mozilla/ipc/chromium/src/base/file_util_posix.cc Wed Apr 22 19:17:15 2015 +0100
++++ b/mozilla/ipc/chromium/src/base/file_util_posix.cc Wed Apr 15 23:48:46 2015 +0200
+@@ -14,7 +14,7 @@
+ #include <libgen.h>
+ #include <stdio.h>
+ #include <string.h>
+-#include <sys/errno.h>
++#include <errno.h>
+ #include <sys/mman.h>
+ #define _DARWIN_USE_64_BIT_INODE // Use 64-bit inode data structures
+ #include <sys/stat.h>
+# HG changeset patch
+# User Felix Janda <felix.janda@posteo.de>
+# Date 1429135060 -7200
+# Wed Apr 15 23:57:40 2015 +0200
+# Node ID 1e75c69141cadfd8ea35f5f60e32cb7320d297ab
+# Parent 62325b792c42746df0c4322d47c6c3e965ec6aaa
+Bug 1139173 - ipc/chromium: Remove ScopedTempDir. r=froydnj
+
+diff -r 62325b792c42 -r 1e75c69141ca ipc/chromium/moz.build
+--- a/mozilla/ipc/chromium/moz.build Wed Apr 15 23:48:46 2015 +0200
++++ b/mozilla/ipc/chromium/moz.build Wed Apr 15 23:57:40 2015 +0200
+@@ -50,7 +50,6 @@
+ 'src/base/pickle.cc',
+ 'src/base/rand_util.cc',
+ 'src/base/revocable_store.cc',
+- 'src/base/scoped_temp_dir.cc',
+ 'src/base/string_piece.cc',
+ 'src/base/string_util.cc',
+ 'src/base/thread.cc',
+diff -r 62325b792c42 -r 1e75c69141ca ipc/chromium/src/base/scoped_temp_dir.cc
+--- a/mozilla/ipc/chromium/src/base/scoped_temp_dir.cc Wed Apr 15 23:48:46 2015 +0200
++++ /dev/null Thu Jan 01 00:00:00 1970 +0000
+@@ -1,47 +0,0 @@
+-// Copyright (c) 2009 The Chromium Authors. All rights reserved.
+-// Use of this source code is governed by a BSD-style license that can be
+-// found in the LICENSE file.
+-
+-#include "base/scoped_temp_dir.h"
+-
+-#include "base/file_util.h"
+-#include "base/logging.h"
+-#include "base/string_util.h"
+-
+-ScopedTempDir::ScopedTempDir() {
+-}
+-
+-ScopedTempDir::~ScopedTempDir() {
+- if (!path_.empty() && !file_util::Delete(path_, true))
+- CHROMIUM_LOG(ERROR) << "ScopedTempDir unable to delete " << path_.value();
+-}
+-
+-bool ScopedTempDir::CreateUniqueTempDir() {
+- // This "scoped_dir" prefix is only used on Windows and serves as a template
+- // for the unique name.
+- if (!file_util::CreateNewTempDirectory(FILE_PATH_LITERAL("scoped_dir"),
+- &path_))
+- return false;
+-
+- return true;
+-}
+-
+-bool ScopedTempDir::Set(const FilePath& path) {
+- DCHECK(path_.empty());
+- if (!file_util::DirectoryExists(path) &&
+- !file_util::CreateDirectory(path)) {
+- return false;
+- }
+- path_ = path;
+- return true;
+-}
+-
+-FilePath ScopedTempDir::Take() {
+- FilePath ret = path_;
+- path_ = FilePath();
+- return ret;
+-}
+-
+-bool ScopedTempDir::IsValid() const {
+- return !path_.empty() && file_util::DirectoryExists(path_);
+-}
+diff -r 62325b792c42 -r 1e75c69141ca ipc/chromium/src/base/scoped_temp_dir.h
+--- a/mozilla/ipc/chromium/src/base/scoped_temp_dir.h Wed Apr 15 23:48:46 2015 +0200
++++ /dev/null Thu Jan 01 00:00:00 1970 +0000
+@@ -1,47 +0,0 @@
+-// Copyright (c) 2009 The Chromium Authors. All rights reserved.
+-// Use of this source code is governed by a BSD-style license that can be
+-// found in the LICENSE file.
+-
+-#ifndef BASE_SCOPED_TEMP_DIR_H_
+-#define BASE_SCOPED_TEMP_DIR_H_
+-
+-// An object representing a temporary / scratch directory that should be cleaned
+-// up (recursively) when this object goes out of scope. Note that since
+-// deletion occurs during the destructor, no further error handling is possible
+-// if the directory fails to be deleted. As a result, deletion is not
+-// guaranteed by this class.
+-
+-#include "base/file_path.h"
+-
+-class ScopedTempDir {
+- public:
+- // No directory is owned/created initially.
+- ScopedTempDir();
+-
+- // Recursively delete path_
+- ~ScopedTempDir();
+-
+- // Creates a unique directory in TempPath, and takes ownership of it.
+- // See file_util::CreateNewTemporaryDirectory.
+- bool CreateUniqueTempDir();
+-
+- // Takes ownership of directory at |path|, creating it if necessary.
+- // Don't call multiple times unless Take() has been called first.
+- bool Set(const FilePath& path);
+-
+- // Caller takes ownership of the temporary directory so it won't be destroyed
+- // when this object goes out of scope.
+- FilePath Take();
+-
+- const FilePath& path() const { return path_; }
+-
+- // Returns true if path_ is non-empty and exists.
+- bool IsValid() const;
+-
+- private:
+- FilePath path_;
+-
+- DISALLOW_COPY_AND_ASSIGN(ScopedTempDir);
+-};
+-
+-#endif // BASE_SCOPED_TEMP_DIR_H_
+# HG changeset patch
+# User Felix Janda <felix.janda@posteo.de>
+# Date 1429135184 -7200
+# Wed Apr 15 23:59:44 2015 +0200
+# Node ID 9b6b694dd82e1a3f7652c35d3e8b264d701ec253
+# Parent 1e75c69141cadfd8ea35f5f60e32cb7320d297ab
+Bug 1139173 - ipc/chromium: Remove unused functions from file_util. r=froydnj
+CLOSED TREE
+
+diff -r 1e75c69141ca -r 9b6b694dd82e ipc/chromium/src/base/file_util.cc
+--- a/mozilla/ipc/chromium/src/base/file_util.cc Wed Apr 15 23:57:40 2015 +0200
++++ b/mozilla/ipc/chromium/src/base/file_util.cc Wed Apr 15 23:59:44 2015 +0200
+@@ -139,12 +139,6 @@
+ path->push_back(FilePath::kSeparators[0]);
+ path->append(new_ending);
+ }
+-bool CopyDirectory(const std::wstring& from_path, const std::wstring& to_path,
+- bool recursive) {
+- return CopyDirectory(FilePath::FromWStringHack(from_path),
+- FilePath::FromWStringHack(to_path),
+- recursive);
+-}
+ bool CopyFile(const std::wstring& from_path, const std::wstring& to_path) {
+ return CopyFile(FilePath::FromWStringHack(from_path),
+ FilePath::FromWStringHack(to_path));
+@@ -172,8 +166,8 @@
+ *temp_file = temp_file_path.ToWStringHack();
+ return true;
+ }
+-bool Delete(const std::wstring& path, bool recursive) {
+- return Delete(FilePath::FromWStringHack(path), recursive);
++bool Delete(const std::wstring& path) {
++ return Delete(FilePath::FromWStringHack(path));
+ }
+ bool DirectoryExists(const std::wstring& path) {
+ return DirectoryExists(FilePath::FromWStringHack(path));
+diff -r 1e75c69141ca -r 9b6b694dd82e ipc/chromium/src/base/file_util.h
+--- a/mozilla/ipc/chromium/src/base/file_util.h Wed Apr 15 23:57:40 2015 +0200
++++ b/mozilla/ipc/chromium/src/base/file_util.h Wed Apr 15 23:59:44 2015 +0200
+@@ -16,7 +16,6 @@
+ #include <sys/stat.h>
+ #elif defined(OS_POSIX)
+ #include <sys/types.h>
+-#include <fts.h>
+ #include <sys/stat.h>
+ #endif
+
+@@ -87,34 +86,17 @@
+
+ // Deletes the given path, whether it's a file or a directory.
+ // If it's a directory, it's perfectly happy to delete all of the
+-// directory's contents. Passing true to recursive deletes
+-// subdirectories and their contents as well.
++// directory's contents.
+ // Returns true if successful, false otherwise.
+-//
+-// WARNING: USING THIS WITH recursive==true IS EQUIVALENT
+-// TO "rm -rf", SO USE WITH CAUTION.
+-bool Delete(const FilePath& path, bool recursive);
++bool Delete(const FilePath& path);
+ // Deprecated temporary compatibility function.
+-bool Delete(const std::wstring& path, bool recursive);
++bool Delete(const std::wstring& path);
+
+ // Copies a single file. Use CopyDirectory to copy directories.
+ bool CopyFile(const FilePath& from_path, const FilePath& to_path);
+ // Deprecated temporary compatibility function.
+ bool CopyFile(const std::wstring& from_path, const std::wstring& to_path);
+
+-// Copies the given path, and optionally all subdirectories and their contents
+-// as well.
+-// If there are files existing under to_path, always overwrite.
+-// Returns true if successful, false otherwise.
+-// Dont't use wildcards on the names, it may stop working without notice.
+-//
+-// If you only need to copy a file use CopyFile, it's faster.
+-bool CopyDirectory(const FilePath& from_path, const FilePath& to_path,
+- bool recursive);
+-// Deprecated temporary compatibility function.
+-bool CopyDirectory(const std::wstring& from_path, const std::wstring& to_path,
+- bool recursive);
+-
+ // Returns true if the given path exists on the local filesystem,
+ // false otherwise.
+ bool PathExists(const FilePath& path);
+diff -r 1e75c69141ca -r 9b6b694dd82e ipc/chromium/src/base/file_util_posix.cc
+--- a/mozilla/ipc/chromium/src/base/file_util_posix.cc Wed Apr 15 23:57:40 2015 +0200
++++ b/mozilla/ipc/chromium/src/base/file_util_posix.cc Wed Apr 15 23:59:44 2015 +0200
+@@ -8,9 +8,6 @@
+ #include <errno.h>
+ #include <fcntl.h>
+ #include <fnmatch.h>
+-#ifndef ANDROID
+-#include <fts.h>
+-#endif
+ #include <libgen.h>
+ #include <stdio.h>
+ #include <string.h>
+@@ -53,7 +50,7 @@
+ // which works both with and without the recursive flag. I'm not sure we need
+ // that functionality. If not, remove from file_util_win.cc, otherwise add it
+ // here.
+-bool Delete(const FilePath& path, bool recursive) {
++bool Delete(const FilePath& path) {
+ const char* path_str = path.value().c_str();
+ struct stat file_info;
+ int test = stat(path_str, &file_info);
+@@ -64,174 +61,8 @@
+ }
+ if (!S_ISDIR(file_info.st_mode))
+ return (unlink(path_str) == 0);
+- if (!recursive)
+- return (rmdir(path_str) == 0);
+
+-#ifdef ANDROID
+- // XXX Need ftsless impl for bionic
+- return false;
+-#else
+- bool success = true;
+- int ftsflags = FTS_PHYSICAL | FTS_NOSTAT;
+- char top_dir[PATH_MAX];
+- if (base::strlcpy(top_dir, path_str,
+- arraysize(top_dir)) >= arraysize(top_dir)) {
+- return false;
+- }
+- char* dir_list[2] = { top_dir, NULL };
+- FTS* fts = fts_open(dir_list, ftsflags, NULL);
+- if (fts) {
+- FTSENT* fts_ent = fts_read(fts);
+- while (success && fts_ent != NULL) {
+- switch (fts_ent->fts_info) {
+- case FTS_DNR:
+- case FTS_ERR:
+- // log error
+- success = false;
+- continue;
+- break;
+- case FTS_DP:
+- success = (rmdir(fts_ent->fts_accpath) == 0);
+- break;
+- case FTS_D:
+- break;
+- case FTS_NSOK:
+- case FTS_F:
+- case FTS_SL:
+- case FTS_SLNONE:
+- success = (unlink(fts_ent->fts_accpath) == 0);
+- break;
+- default:
+- DCHECK(false);
+- break;
+- }
+- fts_ent = fts_read(fts);
+- }
+- fts_close(fts);
+- }
+- return success;
+-#endif
+-}
+-
+-bool Move(const FilePath& from_path, const FilePath& to_path) {
+- if (rename(from_path.value().c_str(), to_path.value().c_str()) == 0)
+- return true;
+-
+- if (!CopyDirectory(from_path, to_path, true))
+- return false;
+-
+- Delete(from_path, true);
+- return true;
+-}
+-
+-bool CopyDirectory(const FilePath& from_path,
+- const FilePath& to_path,
+- bool recursive) {
+- // Some old callers of CopyDirectory want it to support wildcards.
+- // After some discussion, we decided to fix those callers.
+- // Break loudly here if anyone tries to do this.
+- // TODO(evanm): remove this once we're sure it's ok.
+- DCHECK(to_path.value().find('*') == std::string::npos);
+- DCHECK(from_path.value().find('*') == std::string::npos);
+-
+- char top_dir[PATH_MAX];
+- if (base::strlcpy(top_dir, from_path.value().c_str(),
+- arraysize(top_dir)) >= arraysize(top_dir)) {
+- return false;
+- }
+-
+-#ifdef ANDROID
+- // XXX Need ftsless impl for bionic
+- return false;
+-#else
+- char* dir_list[] = { top_dir, NULL };
+- FTS* fts = fts_open(dir_list, FTS_PHYSICAL | FTS_NOSTAT, NULL);
+- if (!fts) {
+- CHROMIUM_LOG(ERROR) << "fts_open failed: " << strerror(errno);
+- return false;
+- }
+-
+- int error = 0;
+- FTSENT* ent;
+- while (!error && (ent = fts_read(fts)) != NULL) {
+- // ent->fts_path is the source path, including from_path, so paste
+- // the suffix after from_path onto to_path to create the target_path.
+- std::string suffix(&ent->fts_path[from_path.value().size()]);
+- // Strip the leading '/' (if any).
+- if (!suffix.empty()) {
+- DCHECK_EQ('/', suffix[0]);
+- suffix.erase(0, 1);
+- }
+- const FilePath target_path = to_path.Append(suffix);
+- switch (ent->fts_info) {
+- case FTS_D: // Preorder directory.
+- // If we encounter a subdirectory in a non-recursive copy, prune it
+- // from the traversal.
+- if (!recursive && ent->fts_level > 0) {
+- if (fts_set(fts, ent, FTS_SKIP) != 0)
+- error = errno;
+- continue;
+- }
+-
+- // Try creating the target dir, continuing on it if it exists already.
+- // Rely on the user's umask to produce correct permissions.
+- if (mkdir(target_path.value().c_str(), 0777) != 0) {
+- if (errno != EEXIST)
+- error = errno;
+- }
+- break;
+- case FTS_F: // Regular file.
+- case FTS_NSOK: // File, no stat info requested.
+- errno = 0;
+- if (!CopyFile(FilePath(ent->fts_path), target_path))
+- error = errno ? errno : EINVAL;
+- break;
+- case FTS_DP: // Postorder directory.
+- case FTS_DOT: // "." or ".."
+- // Skip it.
+- continue;
+- case FTS_DC: // Directory causing a cycle.
+- // Skip this branch.
+- if (fts_set(fts, ent, FTS_SKIP) != 0)
+- error = errno;
+- break;
+- case FTS_DNR: // Directory cannot be read.
+- case FTS_ERR: // Error.
+- case FTS_NS: // Stat failed.
+- // Abort with the error.
+- error = ent->fts_errno;
+- break;
+- case FTS_SL: // Symlink.
+- case FTS_SLNONE: // Symlink with broken target.
+- CHROMIUM_LOG(WARNING) << "CopyDirectory() skipping symbolic link: " <<
+- ent->fts_path;
+- continue;
+- case FTS_DEFAULT: // Some other sort of file.
+- CHROMIUM_LOG(WARNING) << "CopyDirectory() skipping file of unknown type: " <<
+- ent->fts_path;
+- continue;
+- default:
+- NOTREACHED();
+- continue; // Hope for the best!
+- }
+- }
+- // fts_read may have returned NULL and set errno to indicate an error.
+- if (!error && errno != 0)
+- error = errno;
+-
+- if (!fts_close(fts)) {
+- // If we already have an error, let's use that error instead of the error
+- // fts_close set.
+- if (!error)
+- error = errno;
+- }
+-
+- if (error) {
+- CHROMIUM_LOG(ERROR) << "CopyDirectory(): " << strerror(error);
+- return false;
+- }
+- return true;
+-#endif
++ return (rmdir(path_str) == 0);
+ }
+
+ bool PathExists(const FilePath& path) {
+diff -r 1e75c69141ca -r 9b6b694dd82e ipc/chromium/src/base/file_util_win.cc
+--- a/mozilla/ipc/chromium/src/base/file_util_win.cc Wed Apr 15 23:57:40 2015 +0200
++++ b/mozilla/ipc/chromium/src/base/file_util_win.cc Wed Apr 15 23:59:44 2015 +0200
+@@ -27,14 +27,14 @@
+ return true;
+ }
+
+-bool Delete(const FilePath& path, bool recursive) {
++bool Delete(const FilePath& path) {
+ if (path.value().length() >= MAX_PATH)
+ return false;
+
+- // If we're not recursing use DeleteFile; it should be faster. DeleteFile
++ // Use DeleteFile; it should be faster. DeleteFile
+ // fails if passed a directory though, which is why we fall through on
+ // failure to the SHFileOperation.
+- if (!recursive && DeleteFile(path.value().c_str()) != 0)
++ if (DeleteFile(path.value().c_str()) != 0)
+ return true;
+
+ // SHFILEOPSTRUCT wants the path to be terminated with two NULLs,
+@@ -48,8 +48,7 @@
+ file_operation.wFunc = FO_DELETE;
+ file_operation.pFrom = double_terminated_path;
+ file_operation.fFlags = FOF_NOERRORUI | FOF_SILENT | FOF_NOCONFIRMATION;
+- if (!recursive)
+- file_operation.fFlags |= FOF_NORECURSION | FOF_FILESONLY;
++ file_operation.fFlags |= FOF_NORECURSION | FOF_FILESONLY;
+ int err = SHFileOperation(&file_operation);
+ // Some versions of Windows return ERROR_FILE_NOT_FOUND when
+ // deleting an empty directory.
+@@ -98,26 +97,6 @@
+ return (SHFileOperation(&file_operation) == 0);
+ }
+
+-bool CopyDirectory(const FilePath& from_path, const FilePath& to_path,
+- bool recursive) {
+- if (recursive)
+- return ShellCopy(from_path, to_path, true);
+-
+- // Instead of creating a new directory, we copy the old one to include the
+- // security information of the folder as part of the copy.
+- if (!PathExists(to_path)) {
+- // Except that Vista fails to do that, and instead do a recursive copy if
+- // the target directory doesn't exist.
+- if (win_util::GetWinVersion() >= win_util::WINVERSION_VISTA)
+- CreateDirectory(to_path);
+- else
+- ShellCopy(from_path, to_path, false);
+- }
+-
+- FilePath directory = from_path.Append(L"*.*");
+- return ShellCopy(directory, to_path, false);
+-}
+-
+ bool PathExists(const FilePath& path) {
+ return (GetFileAttributes(path.value().c_str()) != INVALID_FILE_ATTRIBUTES);
+ }
+diff -r 1e75c69141ca -r 9b6b694dd82e ipc/chromium/src/base/shared_memory_posix.cc
+--- a/mozilla/ipc/chromium/src/base/shared_memory_posix.cc Wed Apr 15 23:57:40 2015 +0200
++++ b/mozilla/ipc/chromium/src/base/shared_memory_posix.cc Wed Apr 15 23:59:44 2015 +0200
+@@ -93,7 +93,7 @@
+
+ FilePath path(WideToUTF8(mem_filename));
+ if (file_util::PathExists(path)) {
+- return file_util::Delete(path, false);
++ return file_util::Delete(path);
+ }
+
+ // Doesn't exist, so success.
+@@ -170,7 +170,7 @@
+ // Deleting the file prevents anyone else from mapping it in
+ // (making it private), and prevents the need for cleanup (once
+ // the last fd is closed, it is truly freed).
+- file_util::Delete(path, false);
++ file_util::Delete(path);
+ } else {
+ std::wstring mem_filename;
+ if (FilenameForMemoryName(name, &mem_filename) == false)
diff --git a/mail-client/thunderbird/files/musl/thunderbird-38.3.0-fix-netwerk.patch b/mail-client/thunderbird/files/musl/thunderbird-38.3.0-fix-netwerk.patch
new file mode 100644
index 0000000..4a35e82
--- /dev/null
+++ b/mail-client/thunderbird/files/musl/thunderbird-38.3.0-fix-netwerk.patch
@@ -0,0 +1,37 @@
+--- a/mozilla/netwerk/sctp/src/netinet/sctp_os_userspace.h
++++ b/mozilla/netwerk/sctp/src/netinet/sctp_os_userspace.h
+@@ -400,11 +400,8 @@
+ };
+
+ #else /* !defined(Userspace_os_Windows) */
+-#include <sys/cdefs.h> /* needed? added from old __FreeBSD__ */
+ #include <sys/socket.h>
+-#if defined(__Userspace_os_DragonFly) || defined(__Userspace_os_FreeBSD) || defined(__Userspace_os_Linux) || defined(__Userspace_os_NetBSD) || defined(__Userspace_os_OpenBSD) || defined(ANDROID)
+ #include <pthread.h>
+-#endif
+ typedef pthread_mutex_t userland_mutex_t;
+ typedef pthread_cond_t userland_cond_t;
+ typedef pthread_t userland_thread_t;
+--- a/mozilla/netwerk/sctp/src/netinet/sctp_pcb.c
++++ b/mozilla/netwerk/sctp/src/netinet/sctp_pcb.c
+@@ -30,6 +30,9 @@
+ * THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
++#define _BSD_SOURCE /* for IPPORT_RESERVED */
++#include <netdb.h>
++
+ #ifdef __FreeBSD__
+ #include <sys/cdefs.h>
+ __FBSDID("$FreeBSD: head/sys/netinet/sctp_pcb.c 258765 2013-11-30 12:51:19Z tuexen $");
+--- a/mozilla/netwerk/sctp/src/user_queue.h
++++ b/mozilla/netwerk/sctp/src/user_queue.h
+@@ -31,7 +31,7 @@
+ #ifndef _USER_QUEUE_H_
+ #define _USER_QUEUE_H_
+
+-#if !defined (__Userspace_os_Windows)
++#if defined(__Userspace_os_FreeBSD)
+ #include <sys/cdefs.h>
+ #endif
+ /*
--git a/mail-client/thunderbird/files/musl/thunderbird-38.3.0-fix-sysctl-headers.patch b/mail-client/thunderbird/files/musl/thunderbird-38.3.0-fix-sysctl-headers.patch
new file mode 100644
index 0000000..25f8198
--- /dev/null
+++ b/mail-client/thunderbird/files/musl/thunderbird-38.3.0-fix-sysctl-headers.patch
@@ -0,0 +1,33 @@
+# HG changeset patch
+# User Felix Janda <felix.janda@posteo.de>
+# Date 1423171460 -3600
+# Thu Feb 05 22:24:20 2015 +0100
+# Node ID af818fbea923d7c026bc8e22a6512f14f788ba56
+# Parent 9c40ffbcf6b32d688abf089f2cce3c85dd8bdb29
+Bug 1130175 - nICEr: avoid sysctl.h include. r=bwc
+
+diff -r 9c40ffbcf6b3 -r af818fbea923 media/mtransport/third_party/nICEr/src/stun/addrs.c
+--- a/mozilla/media/mtransport/third_party/nICEr/src/stun/addrs.c Mon Feb 23 07:39:00 2015 -0500
++++ b/mozilla/media/mtransport/third_party/nICEr/src/stun/addrs.c Thu Feb 05 22:24:20 2015 +0100
+@@ -45,13 +45,11 @@
+ #include <sys/param.h>
+ #include <sys/socket.h>
+ #ifndef ANDROID
+-#include <sys/sysctl.h>
+ #include <sys/syslog.h>
+ #else
+ #include <syslog.h>
+ /* Work around an Android NDK < r8c bug */
+ #undef __unused
+-#include <linux/sysctl.h>
+ #endif
+ #ifndef LINUX
+ #include <net/if.h>
+@@ -122,6 +120,7 @@
+ */
+
+ #include <err.h>
++#include <sys/sysctl.h>
+
+ static void stun_rt_xaddrs(caddr_t, caddr_t, struct rt_addrinfo *);
+ static int stun_grab_addrs(char *name, int addrcount,
diff --git a/mail-client/thunderbird/files/musl/thunderbird-38.3.0-fix-u_int64_t.patch b/mail-client/thunderbird/files/musl/thunderbird-38.3.0-fix-u_int64_t.patch
new file mode 100644
index 0000000..a01ecd1
--- /dev/null
+++ b/mail-client/thunderbird/files/musl/thunderbird-38.3.0-fix-u_int64_t.patch
@@ -0,0 +1,68 @@
+# HG changeset patch
+# User Felix Janda <felix.janda@posteo.de>
+# Date 1423173074 -3600
+# Thu Feb 05 22:51:14 2015 +0100
+# Node ID a446b4e607445d1c6faec25b43a5d9b5d45bcacf
+# Parent 89120ad0518fb4932de5b5f466debed68ee787ce
+Bug 1130164 - tools/profiler: Use <stdint.h> types. r=jseward
+
+diff -r 89120ad0518f -r a446b4e60744 tools/profiler/UnwinderThread2.cpp
+--- a/mozilla/tools/profiler/UnwinderThread2.cpp Thu Mar 05 06:04:03 2015 -0500
++++ b/mozilla/tools/profiler/UnwinderThread2.cpp Thu Feb 05 22:51:14 2015 +0100
+@@ -470,7 +470,7 @@
+ //////////////////////////////////////////////////////////
+
+ // This is the interface to LUL.
+-typedef struct { u_int64_t pc; u_int64_t sp; } PCandSP;
++typedef struct { uint64_t pc; uint64_t sp; } PCandSP;
+
+ // Forward declaration. Implementation is below.
+ static
+@@ -1338,7 +1338,7 @@
+ else {
+ // We have at least one N and one P entry available.
+ // Scan forwards to find the SP of the current P entry
+- u_int64_t sp_cur_P = 0;
++ uint64_t sp_cur_P = 0;
+ unsigned int m = next_P + 1;
+ while (1) {
+ /* This assertion should hold because in a well formed
+@@ -1349,7 +1349,7 @@
+ if (ent.is_ent_hint('Q'))
+ break;
+ if (ent.is_ent('S')) {
+- sp_cur_P = reinterpret_cast<u_int64_t>(ent.get_tagPtr());
++ sp_cur_P = reinterpret_cast<uint64_t>(ent.get_tagPtr());
+ break;
+ }
+ m++;
+@@ -1358,7 +1358,7 @@
+ if (0) LOG(" P <= last_was_P && sp_cur_P == 0");
+ use_P = true;
+ } else {
+- u_int64_t sp_cur_N = pairs[next_N].sp;
++ uint64_t sp_cur_N = pairs[next_N].sp;
+ use_P = (sp_cur_P > sp_cur_N);
+ if (0) LOGF(" %s <= sps P %p N %p",
+ use_P ? "P" : "N", (void*)(intptr_t)sp_cur_P,
+diff -r 89120ad0518f -r a446b4e60744 tools/profiler/local_debug_info_symbolizer.cc
+--- a/mozilla/tools/profiler/local_debug_info_symbolizer.cc Thu Mar 05 06:04:03 2015 -0500
++++ b/mozilla/tools/profiler/local_debug_info_symbolizer.cc Thu Feb 05 22:51:14 2015 +0100
+@@ -222,7 +222,7 @@
+ debug_info_module = it->second;
+ }
+
+- u_int64_t address = frame->instruction - frame->module->base_address();
++ uint64_t address = frame->instruction - frame->module->base_address();
+ Module::Function* function =
+ debug_info_module->FindFunctionByAddress(address);
+ if (function) {
+@@ -282,7 +282,7 @@
+ if (it == symbols_.end()) return NULL;
+
+ Module* module = it->second;
+- u_int64_t address = frame->instruction - frame->module->base_address();
++ uint64_t address = frame->instruction - frame->module->base_address();
+ Module::StackFrameEntry* entry =
+ module->FindStackFrameEntryByAddress(address);
+ if (!entry)
diff --git a/mail-client/thunderbird/files/musl/thunderbird-38.3.0-fix-xpcom-blocksize.patch b/mail-client/thunderbird/files/musl/thunderbird-38.3.0-fix-xpcom-blocksize.patch
new file mode 100644
index 0000000..628f6f8
--- /dev/null
+++ b/mail-client/thunderbird/files/musl/thunderbird-38.3.0-fix-xpcom-blocksize.patch
@@ -0,0 +1,31 @@
+# HG changeset patch
+# User Felix Janda <felix.janda@posteo.de>
+# Date 1431977414 -7200
+# Node ID fd517a7fc20f9a63e0d3d3246aa617a0b203d141
+# Parent 580e0c9bb03f867512b4f839edc45c338ebdb411
+Bug 1152176 - xpcom: Define linux kernel BLOCK_SIZE if necessary. r=nfroyd
+
+diff --git a/xpcom/io/nsLocalFileUnix.cpp b/xpcom/io/nsLocalFileUnix.cpp
+--- a/mozilla/xpcom/io/nsLocalFileUnix.cpp
++++ b/mozilla/xpcom/io/nsLocalFileUnix.cpp
+@@ -23,16 +23,19 @@
+ #if defined(VMS)
+ #include <fabdef.h>
+ #endif
+
+ #if defined(HAVE_SYS_QUOTA_H) && defined(HAVE_LINUX_QUOTA_H)
+ #define USE_LINUX_QUOTACTL
+ #include <sys/mount.h>
+ #include <sys/quota.h>
++#ifndef BLOCK_SIZE
++#define BLOCK_SIZE 1024 /* kernel block size */
++#endif
+ #endif
+
+ #include "xpcom-private.h"
+ #include "nsDirectoryServiceDefs.h"
+ #include "nsCRT.h"
+ #include "nsCOMPtr.h"
+ #include "nsMemory.h"
+ #include "nsIFile.h"
+
diff --git a/mail-client/thunderbird/files/musl/thunderbird-38.3.0-profiler-gettid.patch b/mail-client/thunderbird/files/musl/thunderbird-38.3.0-profiler-gettid.patch
new file mode 100644
index 0000000..c2630ff
--- /dev/null
+++ b/mail-client/thunderbird/files/musl/thunderbird-38.3.0-profiler-gettid.patch
@@ -0,0 +1,51 @@
+# HG changeset patch
+# User Felix Janda <felix.janda@posteo.de>
+# Date 1423173146 -3600
+# Thu Feb 05 22:52:26 2015 +0100
+# Node ID c084550fcab646d911bbf4f05747f228759161e4
+# Parent 2d344ef8da33717224d5a08570dc834ca2254f9f
+profiler: avoid getcontext and gettid
+
+diff -r 2d344ef8da33 -r c084550fcab6 tools/profiler/GeckoTaskTracer.cpp
+--- a/mozilla/tools/profiler/GeckoTaskTracer.cpp Sun Feb 01 19:32:36 2015 +0100
++++ b/mozilla/tools/profiler/GeckoTaskTracer.cpp Thu Feb 05 22:52:26 2015 +0100
+@@ -18,8 +18,8 @@
+
+ #include <stdarg.h>
+
+-#if defined(__GLIBC__)
+-// glibc doesn't implement gettid(2).
++#if defined(OS_LINUX) && !defined(ANDROID)
++// only bionic wraps gettid(2).
+ #include <sys/syscall.h>
+ static pid_t gettid()
+ {
+diff -r 2d344ef8da33 -r c084550fcab6 tools/profiler/platform-linux.cc
+--- a/mozilla/tools/profiler/platform-linux.cc Sun Feb 01 19:32:36 2015 +0100
++++ b/mozilla/tools/profiler/platform-linux.cc Thu Feb 05 22:52:26 2015 +0100
+@@ -92,8 +92,8 @@
+
+ #define SIGNAL_SAVE_PROFILE SIGUSR2
+
+-#if defined(__GLIBC__)
+-// glibc doesn't implement gettid(2).
++#if !defined(ANDROID)
++// only android wraps gettid(2).
+ #include <sys/syscall.h>
+ pid_t gettid()
+ {
+@@ -652,10 +652,10 @@
+ {
+ MOZ_ASSERT(aContext);
+ ucontext_t* pContext = reinterpret_cast<ucontext_t*>(aContext);
+- if (!getcontext(pContext)) {
+- context = pContext;
+- SetSampleContext(this, aContext);
+- }
++// if (!getcontext(pContext)) {
++// context = pContext;
++// SetSampleContext(this, aContext);
++// }
+ }
+
+ void OS::SleepMicro(int microseconds)
diff --git a/mail-client/thunderbird/files/musl/thunderbird-38.3.0-queue.patch b/mail-client/thunderbird/files/musl/thunderbird-38.3.0-queue.patch
new file mode 100644
index 0000000..ad87fdd
--- /dev/null
+++ b/mail-client/thunderbird/files/musl/thunderbird-38.3.0-queue.patch
@@ -0,0 +1,28 @@
+# HG changeset patch
+# User Felix Janda <felix.janda@posteo.de>
+# Date 1428437372 -7200
+# Tue Apr 07 22:09:32 2015 +0200
+# Node ID e783ca150f8370a4d8811ceecc28707617e6a4b8
+# Parent ab0490972e1e47a356c3fc2f9e749a2d77a9739b
+# https://bugzilla.mozilla.org/show_bug.cgi?id=1152185
+Include port/generic/include also for webrtc/signaling/test
+
+diff -r ab0490972e1e media/webrtc/signaling/test/moz.build
+--- a/mozilla/media/webrtc/signaling/test/moz.build Mon Apr 06 21:30:03 2015 -0400
++++ b/mozilla/media/webrtc/signaling/test/moz.build Tue Apr 07 22:51:38 2015 +0200
+@@ -35,6 +35,7 @@
+ '/media/mtransport/third_party/nrappkit/src/event',
+ '/media/mtransport/third_party/nrappkit/src/log',
+ '/media/mtransport/third_party/nrappkit/src/plugin',
++ '/media/mtransport/third_party/nrappkit/src/port/generic/include',
+ '/media/mtransport/third_party/nrappkit/src/registry',
+ '/media/mtransport/third_party/nrappkit/src/share',
+ '/media/mtransport/third_party/nrappkit/src/stats',
+@@ -84,7 +85,6 @@
+ if CONFIG['OS_TARGET'] in ('DragonFly', 'FreeBSD', 'NetBSD', 'OpenBSD'):
+ LOCAL_INCLUDES += [
+ '/media/mtransport/third_party/nrappkit/src/port/darwin/include',
+- '/media/mtransport/third_party/nrappkit/src/port/generic/include',
+ ]
+
+ USE_LIBS += [
diff --git a/mail-client/thunderbird/files/musl/thunderbird-38.3.0-sandbox-cdefs.patch b/mail-client/thunderbird/files/musl/thunderbird-38.3.0-sandbox-cdefs.patch
new file mode 100644
index 0000000..692e39e
--- /dev/null
+++ b/mail-client/thunderbird/files/musl/thunderbird-38.3.0-sandbox-cdefs.patch
@@ -0,0 +1,22 @@
+# HG changeset patch
+# User Felix Janda <felix.janda@posteo.de>
+# Date 1423172498 -3600
+# Thu Feb 05 22:41:38 2015 +0100
+# Node ID 375c73854f92701f13403b8461b35727dccde825
+# Parent 2d344ef8da33717224d5a08570dc834ca2254f9f
+# https://code.google.com/p/chromium/issues/detail?id=463208
+# https://bugzilla.mozilla.org/show_bug.cgi?id=1157864
+chromium sandbox: Avoid cdefs.h
+
+diff -r 2d344ef8da33 -r 375c73854f92 security/sandbox/chromium/sandbox/linux/seccomp-bpf/linux_seccomp.h
+--- a/mozilla/security/sandbox/chromium/sandbox/linux/seccomp-bpf/linux_seccomp.h Sun Feb 01 19:32:36 2015 +0100
++++ b/mozilla/security/sandbox/chromium/sandbox/linux/seccomp-bpf/linux_seccomp.h Thu Feb 05 22:41:38 2015 +0100
+@@ -16,7 +16,7 @@
+ #include <asm/unistd.h>
+ #include <linux/filter.h>
+
+-#include <sys/cdefs.h>
++#include <sys/types.h>
+ // Old Bionic versions do not have sys/user.h. The if can be removed once we no
+ // longer need to support these old Bionic versions.
+ // All x86_64 builds use a new enough bionic to have sys/user.h.
diff --git a/mail-client/thunderbird/files/musl/thunderbird-38.3.0-updater.patch b/mail-client/thunderbird/files/musl/thunderbird-38.3.0-updater.patch
new file mode 100644
index 0000000..ce892d6
--- /dev/null
+++ b/mail-client/thunderbird/files/musl/thunderbird-38.3.0-updater.patch
@@ -0,0 +1,43 @@
+# HG changeset patch
+# User Felix Janda <felix.janda@posteo.de>
+# Date 1428142217 -7200
+# Sat Apr 04 12:10:17 2015 +0200
+# Node ID c04cc88f3bb26e254356df6de06583a542ae6796
+# Parent 90adc073cbc6398f4fab9b1cd07b685368559f34
+# https://bugzilla.mozilla.org/show_bug.cgi?id=1157850
+updater: no fts.h and MAXNAMLEN
+
+diff -r 90adc073cbc6 -r c04cc88f3bb2 toolkit/mozapps/update/common/updatedefines.h
+--- a/mozilla/toolkit/mozapps/update/common/updatedefines.h Thu Apr 02 08:10:00 2015 -0400
++++ b/mozilla/toolkit/mozapps/update/common/updatedefines.h Sat Apr 04 12:10:17 2015 +0200
+@@ -109,7 +109,7 @@
+ # include <sys/wait.h>
+ # include <unistd.h>
+
+-#ifdef SOLARIS
++#if 1
+ # include <sys/stat.h>
+ #else
+ # include <fts.h>
+diff -r 90adc073cbc6 -r c04cc88f3bb2 toolkit/mozapps/update/updater/updater.cpp
+--- a/mozilla/toolkit/mozapps/update/updater/updater.cpp Thu Apr 02 08:10:00 2015 -0400
++++ b/mozilla/toolkit/mozapps/update/updater/updater.cpp Sat Apr 04 12:10:17 2015 +0200
+@@ -3338,7 +3338,8 @@
+ return rv;
+ }
+
+-#elif defined(SOLARIS)
++#elif 1
++//#defined(SOLARIS)
+ int add_dir_entries(const NS_tchar *dirpath, ActionList *list)
+ {
+ int rv = OK;
+@@ -3346,7 +3347,7 @@
+ NS_tchar foundpath[MAXPATHLEN];
+ struct {
+ dirent dent_buffer;
+- char chars[MAXNAMLEN];
++ char chars[NAME_MAX];
+ } ent_buf;
+ struct dirent* ent;
+
diff --git a/mail-client/thunderbird/files/musl/thunderbird-38.3.0-xre.patch b/mail-client/thunderbird/files/musl/thunderbird-38.3.0-xre.patch
new file mode 100644
index 0000000..9b0480d
--- /dev/null
+++ b/mail-client/thunderbird/files/musl/thunderbird-38.3.0-xre.patch
@@ -0,0 +1,37 @@
+# HG changeset patch
+# User Felix Janda <felix.janda@posteo.de>
+# Date 1423172841 -3600
+# Thu Feb 05 22:47:21 2015 +0100
+# Node ID 48efa200aae98f4b5fced4f1afa4f1b8c8cde9e1
+# Parent 3693f117ad5018927922c92cf5bd9739bc25f394
+Bug 1130710 - xre: Use stdint uint*_t instead of nonstandard __uint*_t. r=bsmedberg
+
+diff -r 3693f117ad50 -r 48efa200aae9 toolkit/xre/nsSigHandlers.cpp
+--- a/mozilla/toolkit/xre/nsSigHandlers.cpp Mon Dec 01 18:50:26 2014 +0100
++++ b/mozilla/toolkit/xre/nsSigHandlers.cpp Thu Feb 05 22:47:21 2015 +0100
+@@ -165,7 +165,7 @@
+ status->__invalid = status->__denorm = status->__zdiv = status->__ovrfl = status->__undfl =
+ status->__precis = status->__stkflt = status->__errsumm = 0;
+
+- __uint32_t *mxcsr = &uc->uc_mcontext->__fs.__fpu_mxcsr;
++ uint32_t *mxcsr = &uc->uc_mcontext->__fs.__fpu_mxcsr;
+ *mxcsr |= SSE_EXCEPTION_MASK; /* disable all SSE exceptions */
+ *mxcsr &= ~SSE_STATUS_FLAGS; /* clear all pending SSE exceptions */
+ #endif
+@@ -185,13 +185,13 @@
+ *sw &= ~FPU_STATUS_FLAGS;
+ #endif
+ #if defined(__amd64__)
+- __uint16_t *cw = &uc->uc_mcontext.fpregs->cwd;
++ uint16_t *cw = &uc->uc_mcontext.fpregs->cwd;
+ *cw |= FPU_EXCEPTION_MASK;
+
+- __uint16_t *sw = &uc->uc_mcontext.fpregs->swd;
++ uint16_t *sw = &uc->uc_mcontext.fpregs->swd;
+ *sw &= ~FPU_STATUS_FLAGS;
+
+- __uint32_t *mxcsr = &uc->uc_mcontext.fpregs->mxcsr;
++ uint32_t *mxcsr = &uc->uc_mcontext.fpregs->mxcsr;
+ *mxcsr |= SSE_EXCEPTION_MASK; /* disable all SSE exceptions */
+ *mxcsr &= ~SSE_STATUS_FLAGS; /* clear all pending SSE exceptions */
+ #endif
diff --git a/mail-client/thunderbird/files/thunderbird-31.7.0-gcc5-1.patch b/mail-client/thunderbird/files/thunderbird-31.7.0-gcc5-1.patch
new file mode 100644
index 0000000..7723b81
--- /dev/null
+++ b/mail-client/thunderbird/files/thunderbird-31.7.0-gcc5-1.patch
@@ -0,0 +1,242 @@
+Submitted By: Fernando de Oliveira <famobr at yahoo dot com dot br>
+Date: 2015-05-17
+Initial Package Version: 31.7.0
+Upstream Status: Unknown
+Origin: Upstream, self
+URL: URL=https://bug1024492.bugzilla.mozilla.org/attachment.cgi?id=8439834&action=diff&context=patch&format=raw&headers=1
+Description: Fix building with gcc5
+
+diff -Nur comm-esr31.orig/mozilla/js/src/builtin/TypedObject.cpp comm-esr31/mozilla/js/src/builtin/TypedObject.cpp
+--- comm-esr31.orig/mozilla/js/src/builtin/TypedObject.cpp 2015-05-07 15:53:49.000000000 -0300
++++ comm-esr31/mozilla/js/src/builtin/TypedObject.cpp 2015-05-17 09:38:36.550714030 -0300
+@@ -710,12 +710,12 @@
+ contents.append(")");
+ RootedAtom stringRepr(cx, contents.finishAtom());
+ if (!stringRepr)
+- return nullptr;
++ return false;
+
+ // Extract ArrayType.prototype
+ RootedObject arrayTypePrototype(cx, GetPrototype(cx, arrayTypeGlobal));
+ if (!arrayTypePrototype)
+- return nullptr;
++ return false;
+
+ // Create the instance of ArrayType
+ Rooted<UnsizedArrayTypeDescr*> obj(cx);
+@@ -728,7 +728,7 @@
+ if (!JSObject::defineProperty(cx, obj, cx->names().length,
+ UndefinedHandleValue, nullptr, nullptr,
+ JSPROP_READONLY | JSPROP_PERMANENT))
+- return nullptr;
++ return false;
+
+ args.rval().setObject(*obj);
+ return true;
+@@ -762,7 +762,7 @@
+ if (!size.isValid()) {
+ JS_ReportErrorNumber(cx, js_GetErrorMessage, nullptr,
+ JSMSG_TYPEDOBJECT_TOO_BIG);
+- return nullptr;
++ return false;
+ }
+
+ // Construct a canonical string `new ArrayType(<elementType>).dimension(N)`:
+@@ -775,7 +775,7 @@
+ contents.append(")");
+ RootedAtom stringRepr(cx, contents.finishAtom());
+ if (!stringRepr)
+- return nullptr;
++ return false;
+
+ // Create the sized type object.
+ Rooted<SizedArrayTypeDescr*> obj(cx);
+@@ -793,7 +793,7 @@
+ if (!JSObject::defineProperty(cx, obj, cx->names().length,
+ lengthVal, nullptr, nullptr,
+ JSPROP_READONLY | JSPROP_PERMANENT))
+- return nullptr;
++ return false;
+
+ // Add `unsized` property, which is a link from the sized
+ // array to the unsized array.
+@@ -801,7 +801,7 @@
+ if (!JSObject::defineProperty(cx, obj, cx->names().unsized,
+ unsizedTypeDescrValue, nullptr, nullptr,
+ JSPROP_READONLY | JSPROP_PERMANENT))
+- return nullptr;
++ return false;
+
+ args.rval().setObject(*obj);
+ return true;
+@@ -1253,7 +1253,7 @@
+ Rooted<TypedProto*> proto(cx);
+ proto = NewObjectWithProto<TypedProto>(cx, objProto, nullptr, TenuredObject);
+ if (!proto)
+- return nullptr;
++ return false;
+ proto->initTypeDescrSlot(*descr);
+ descr->initReservedSlot(JS_DESCR_SLOT_TYPROTO, ObjectValue(*proto));
+
+@@ -1358,14 +1358,14 @@
+ #define BINARYDATA_SCALAR_DEFINE(constant_, type_, name_) \
+ if (!DefineSimpleTypeDescr<ScalarTypeDescr>(cx, global, module, constant_, \
+ cx->names().name_)) \
+- return nullptr;
++ return false;
+ JS_FOR_EACH_SCALAR_TYPE_REPR(BINARYDATA_SCALAR_DEFINE)
+ #undef BINARYDATA_SCALAR_DEFINE
+
+ #define BINARYDATA_REFERENCE_DEFINE(constant_, type_, name_) \
+ if (!DefineSimpleTypeDescr<ReferenceTypeDescr>(cx, global, module, constant_, \
+ cx->names().name_)) \
+- return nullptr;
++ return false;
+ JS_FOR_EACH_REFERENCE_TYPE_REPR(BINARYDATA_REFERENCE_DEFINE)
+ #undef BINARYDATA_REFERENCE_DEFINE
+
+@@ -1375,14 +1375,14 @@
+ arrayType = DefineMetaTypeDescr<ArrayMetaTypeDescr>(
+ cx, global, module, TypedObjectModuleObject::ArrayTypePrototype);
+ if (!arrayType)
+- return nullptr;
++ return false;
+
+ RootedValue arrayTypeValue(cx, ObjectValue(*arrayType));
+ if (!JSObject::defineProperty(cx, module, cx->names().ArrayType,
+ arrayTypeValue,
+ nullptr, nullptr,
+ JSPROP_READONLY | JSPROP_PERMANENT))
+- return nullptr;
++ return false;
+
+ // StructType.
+
+@@ -1390,14 +1390,14 @@
+ structType = DefineMetaTypeDescr<StructMetaTypeDescr>(
+ cx, global, module, TypedObjectModuleObject::StructTypePrototype);
+ if (!structType)
+- return nullptr;
++ return false;
+
+ RootedValue structTypeValue(cx, ObjectValue(*structType));
+ if (!JSObject::defineProperty(cx, module, cx->names().StructType,
+ structTypeValue,
+ nullptr, nullptr,
+ JSPROP_READONLY | JSPROP_PERMANENT))
+- return nullptr;
++ return false;
+
+ // Everything is setup, install module on the global object:
+ RootedValue moduleValue(cx, ObjectValue(*module));
+@@ -1407,7 +1407,7 @@
+ nullptr, nullptr,
+ 0))
+ {
+- return nullptr;
++ return false;
+ }
+
+ return module;
+@@ -2466,7 +2466,7 @@
+ if (length < 0) {
+ JS_ReportErrorNumber(cx, js_GetErrorMessage,
+ nullptr, JSMSG_TYPEDOBJECT_BAD_ARGS);
+- return nullptr;
++ return false;
+ }
+ Rooted<TypedObject*> obj(cx, createZeroed(cx, callee, length));
+ if (!obj)
+diff -Nur comm-esr31.orig/mozilla/js/src/frontend/BytecodeCompiler.cpp comm-esr31/mozilla/js/src/frontend/BytecodeCompiler.cpp
+--- comm-esr31.orig/mozilla/js/src/frontend/BytecodeCompiler.cpp 2015-05-07 15:53:49.000000000 -0300
++++ comm-esr31/mozilla/js/src/frontend/BytecodeCompiler.cpp 2015-05-17 09:39:00.183186652 -0300
+@@ -544,7 +544,7 @@
+
+ RootedScriptSource sourceObject(cx, CreateScriptSourceObject(cx, options));
+ if (!sourceObject)
+- return nullptr;
++ return false;
+ ScriptSource* ss = sourceObject->source();
+
+ SourceCompressionTask sct(cx);
+diff -Nur comm-esr31.orig/mozilla/js/src/vm/ScopeObject.h comm-esr31/mozilla/js/src/vm/ScopeObject.h
+--- comm-esr31.orig/mozilla/js/src/vm/ScopeObject.h 2015-05-07 15:53:56.000000000 -0300
++++ comm-esr31/mozilla/js/src/vm/ScopeObject.h 2015-05-17 09:53:20.202966820 -0300
+@@ -63,21 +63,9 @@
+ bool onNamedLambda;
+
+ public:
+- StaticScopeIter(ExclusiveContext* cx, JSObject* obj)
+- : obj(cx, obj), onNamedLambda(false)
+- {
+- JS_STATIC_ASSERT(allowGC == CanGC);
+- JS_ASSERT_IF(obj, obj->is<StaticBlockObject>() || obj->is<StaticWithObject>() ||
+- obj->is<JSFunction>());
+- }
++ StaticScopeIter(ExclusiveContext *cx, JSObject *obj);
+
+- StaticScopeIter(JSObject* obj)
+- : obj((ExclusiveContext*) nullptr, obj), onNamedLambda(false)
+- {
+- JS_STATIC_ASSERT(allowGC == NoGC);
+- JS_ASSERT_IF(obj, obj->is<StaticBlockObject>() || obj->is<StaticWithObject>() ||
+- obj->is<JSFunction>());
+- }
++ explicit StaticScopeIter(JSObject *obj);
+
+ bool done() const;
+ void operator++(int);
+diff -Nur comm-esr31.orig/mozilla/js/src/vm/ScopeObject-inl.h comm-esr31/mozilla/js/src/vm/ScopeObject-inl.h
+--- comm-esr31.orig/mozilla/js/src/vm/ScopeObject-inl.h 2015-05-07 15:53:56.000000000 -0300
++++ comm-esr31/mozilla/js/src/vm/ScopeObject-inl.h 2015-05-17 09:51:33.939344362 -0300
+@@ -13,6 +13,26 @@
+
+ namespace js {
+
++template <AllowGC allowGC>
++inline
++StaticScopeIter<allowGC>::StaticScopeIter(ExclusiveContext *cx, JSObject *obj)
++ : obj(cx, obj), onNamedLambda(false)
++{
++ JS_STATIC_ASSERT(allowGC == CanGC);
++ JS_ASSERT_IF(obj, obj->is<StaticBlockObject>() || obj->is<StaticWithObject>() ||
++ obj->is<JSFunction>());
++}
++
++template <AllowGC allowGC>
++inline
++StaticScopeIter<allowGC>::StaticScopeIter(JSObject *obj)
++ : obj((ExclusiveContext *) nullptr, obj), onNamedLambda(false)
++{
++ JS_STATIC_ASSERT(allowGC == NoGC);
++ JS_ASSERT_IF(obj, obj->is<StaticBlockObject>() || obj->is<StaticWithObject>() ||
++ obj->is<JSFunction>());
++}
++
+ inline void
+ ScopeObject::setAliasedVar(JSContext* cx, ScopeCoordinate sc, PropertyName* name, const Value& v)
+ {
+diff -Naur comm-esr31.orig/mozilla/netwerk/ipc/NeckoParent.cpp porg-build-2015.05.17-10h30m39s/comm-esr31/mozilla/netwerk/ipc/NeckoParent.cpp
+--- comm-esr31.orig/mozilla/netwerk/ipc/NeckoParent.cpp 2015-05-07 15:53:46.000000000 -0300
++++ porg-build-2015.05.17-10h30m39s/comm-esr31/mozilla/netwerk/ipc/NeckoParent.cpp 2015-05-17 10:51:24.013181648 -0300
+@@ -359,7 +359,7 @@
+ RtspChannelParent* p = static_cast<RtspChannelParent*>(aActor);
+ return p->Init(aConnectArgs);
+ #else
+- return nullptr;
++ return false;
+ #endif
+ }
+
+diff -Naur comm-esr31.orig/mozilla/js/xpconnect/wrappers/XrayWrapper.cpp comm-esr31/mozilla/js/xpconnect/wrappers/XrayWrapper.cpp
+--- comm-esr31.orig/mozilla/js/xpconnect/wrappers/XrayWrapper.cpp 2015-05-07 15:53:42.000000000 -0300
++++ comm-esr31/mozilla/js/xpconnect/wrappers/XrayWrapper.cpp 2015-05-17 11:22:59.442942469 -0300
+@@ -351,7 +351,7 @@
+ {
+ JSAutoCompartment ac(cx, target);
+ if (!JS_GetClassPrototype(cx, key, protop))
+- return nullptr;
++ return false;
+ }
+ return JS_WrapObject(cx, protop);
+ }
diff --git a/mail-client/thunderbird/files/thunderbird-gentoo-default-prefs-1.js-1 b/mail-client/thunderbird/files/thunderbird-gentoo-default-prefs-1.js-1
new file mode 100644
index 0000000..97c5fd0
--- /dev/null
+++ b/mail-client/thunderbird/files/thunderbird-gentoo-default-prefs-1.js-1
@@ -0,0 +1,9 @@
+pref("app.update.enabled", false);
+pref("app.update.autoInstallEnabled", false);
+pref("browser.display.use_system_colors", true);
+pref("intl.locale.matchOS", true);
+pref("general.useragent.locale", "chrome://global/locale/intl.properties");
+pref("mail.shell.checkDefaultClient", false);
+# Do not switch to Smart Folders after upgrade to 3.0b4
+pref("mail.folder.views.version", "1");
+pref("extensions.autoDisableScopes", 0);
diff --git a/mail-client/thunderbird/metadata.xml b/mail-client/thunderbird/metadata.xml
new file mode 100644
index 0000000..71406ae
--- /dev/null
+++ b/mail-client/thunderbird/metadata.xml
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>mozilla</herd>
+<use>
+ <flag name="bindist">Disable official Thunderbird branding (icons, name) which
+ are not binary-redistributable according to upstream.</flag>
+ <flag name='crypt'> Enable encryption support with enigmail</flag>
+ <flag name='mozdom'>Enable Mozilla's DOM inspector</flag>
+ <flag name='lightning'>Enable app-global calendar support
+ (note 38.0 and above bundles calendar support when this flag is off)</flag>
+ <flag name='custom-optimization'>Fine-tune custom compiler optimizations
+ (-Os, -O0, -O1, -O2, -O3)</flag>
+ <flag name="jemalloc3">Enable or disable jemalloc3 (forced-on when supported prior to 38.0)</flag>
+ <flag name='gstreamer-0'>Use gstreamer:0.10 instead of gstreamer:1 for media support</flag>
+ <flag name="system-cairo">Use the system-wide <pkg>x11-libs/cairo</pkg>
+ instead of bundled.</flag>
+ <flag name="system-icu">Use the system-wide <pkg>dev-libs/icu</pkg>
+ instead of bundled.</flag>
+ <flag name="system-jpeg">Use the system-wide <pkg>media-libs/libjpeg-turbo</pkg>
+ instead of bundled.</flag>
+ <flag name="system-libvpx">Use the system-wide <pkg>media-libs/libvpx</pkg>
+ instead of bundled.</flag>
+ <flag name="system-sqlite">Use the system-wide <pkg>dev-db/sqlite</pkg>
+ installation with secure-delete enabled</flag>
+ <flag name="minimal">Remove the software development kit and headers</flag>
+</use>
+</pkgmetadata>
diff --git a/mail-client/thunderbird/thunderbird-38.3.0-r99.ebuild b/mail-client/thunderbird/thunderbird-38.3.0-r99.ebuild
new file mode 100644
index 0000000..69715ac
--- /dev/null
+++ b/mail-client/thunderbird/thunderbird-38.3.0-r99.ebuild
@@ -0,0 +1,398 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+WANT_AUTOCONF="2.1"
+MOZ_ESR=""
+MOZ_LIGHTNING_VER="4.0.2"
+MOZ_LIGHTNING_GDATA_VER="1.9"
+
+# This list can be updated using scripts/get_langs.sh from the mozilla overlay
+MOZ_LANGS=(ar ast be bg bn-BD br ca cs cy da de el en en-GB en-US es-AR
+es-ES et eu fi fr fy-NL ga-IE gd gl he hr hsb hu hy-AM id is it ja ko lt
+nb-NO nl nn-NO pa-IN pl pt-BR pt-PT rm ro ru si sk sl sq sr sv-SE ta-LK tr
+uk vi zh-CN zh-TW )
+
+# Convert the ebuild version to the upstream mozilla version, used by mozlinguas
+MOZ_PV="${PV/_beta/b}"
+# ESR releases have slightly version numbers
+if [[ ${MOZ_ESR} == 1 ]]; then
+ MOZ_PV="${MOZ_PV}esr"
+fi
+MOZ_P="${PN}-${MOZ_PV}"
+
+# Enigmail version
+EMVER="1.8.2"
+
+# Patches
+PATCH="thunderbird-38.0-patches-0.1"
+PATCHFF="firefox-38.0-patches-04"
+
+MOZ_HTTP_URI="http://ftp.mozilla.org/pub/${PN}/releases"
+
+MOZCONFIG_OPTIONAL_JIT="enabled"
+inherit flag-o-matic toolchain-funcs mozconfig-v6.38 makeedit multilib autotools pax-utils check-reqs nsplugins mozlinguas
+
+DESCRIPTION="Thunderbird Mail Client"
+HOMEPAGE="http://www.mozilla.com/en-US/thunderbird/"
+
+KEYWORDS="amd64 ~arm ~ppc x86"
+SLOT="0"
+LICENSE="MPL-2.0 GPL-2 LGPL-2.1"
+IUSE="bindist crypt hardened ldap lightning +minimal mozdom selinux"
+RESTRICT="!bindist? ( bindist )"
+
+PATCH_URIS=( https://dev.gentoo.org/~{anarchy,axs,polynomial-c}/mozilla/patchsets/{${PATCH},${PATCHFF}}.tar.xz )
+SRC_URI="${SRC_URI}
+ ${MOZ_HTTP_URI}/${MOZ_PV}/source/${MOZ_P}.source.tar.bz2
+ ${MOZ_HTTP_URI/${PN}/calendar/lightning}/${MOZ_LIGHTNING_VER}/linux/lightning.xpi -> lightning-${MOZ_LIGHTNING_VER}.xpi
+ lightning? ( https://dev.gentoo.org/~axs/distfiles/gdata-provider-${MOZ_LIGHTNING_GDATA_VER}.tar.xz )
+ crypt? ( http://www.enigmail.net/download/source/enigmail-${EMVER}.tar.gz )
+ ${PATCH_URIS[@]}"
+
+ASM_DEPEND=">=dev-lang/yasm-1.1"
+
+CDEPEND="
+ >=dev-libs/nss-3.19.2
+ >=dev-libs/nspr-4.10.8
+ !x11-plugins/enigmail
+ crypt? ( || (
+ ( >=app-crypt/gnupg-2.1.8
+ || (
+ app-crypt/pinentry[gtk]
+ app-crypt/pinentry[qt4]
+ )
+ )
+ =app-crypt/gnupg-1.4*
+ ) )"
+
+DEPEND="${CDEPEND}
+ amd64? ( ${ASM_DEPEND}
+ virtual/opengl )
+ x86? ( ${ASM_DEPEND}
+ virtual/opengl )"
+
+RDEPEND="${CDEPEND}
+ selinux? ( sec-policy/selinux-thunderbird )
+"
+
+if [[ ${PV} =~ beta ]]; then
+ S="${WORKDIR}/comm-beta"
+else
+ S="${WORKDIR}/comm-esr${PV%%.*}"
+fi
+
+BUILD_OBJ_DIR="${S}/tbird"
+
+pkg_setup() {
+ moz_pkgsetup
+
+ export MOZILLA_DIR="${S}/mozilla"
+
+ if ! use bindist ; then
+ elog "You are enabling official branding. You may not redistribute this build"
+ elog "to any users on your network or the internet. Doing so puts yourself into"
+ elog "a legal problem with Mozilla Foundation"
+ elog "You can disable it by emerging ${PN} _with_ the bindist USE-flag"
+ elog
+ fi
+}
+
+pkg_pretend() {
+ # Ensure we have enough disk space to compile
+ CHECKREQS_DISK_BUILD="4G"
+ check-reqs_pkg_setup
+
+ if use jit && [[ -n ${PROFILE_IS_HARDENED} ]]; then
+ ewarn "You are emerging this package on a hardened profile with USE=jit enabled."
+ ewarn "This is horribly insecure as it disables all PAGEEXEC restrictions."
+ ewarn "Please ensure you know what you are doing. If you don't, please consider"
+ ewarn "emerging the package with USE=-jit"
+ fi
+}
+
+src_unpack() {
+ unpack ${A}
+
+ # Unpack language packs
+ mozlinguas_src_unpack
+
+ xpi_unpack lightning-${MOZ_LIGHTNING_VER}.xpi
+ # this version of gdata-provider is a .tar.xz , no xpi needed
+ #use lightning && xpi_unpack gdata-provider-${MOZ_LIGHTNING_GDATA_VER}.xpi
+}
+
+src_prepare() {
+ # Apply our Thunderbird patchset
+ EPATCH_SUFFIX="patch" \
+ EPATCH_FORCE="yes" \
+ epatch "${WORKDIR}/thunderbird"
+
+ # Apply our patchset from firefox to thunderbird as well
+ pushd "${S}"/mozilla &>/dev/null || die
+ EPATCH_SUFFIX="patch" \
+ EPATCH_FORCE="yes" \
+ epatch "${WORKDIR}/firefox"
+ popd &>/dev/null || die
+
+ ## patches for building with musl libc
+
+ ## backports from firefox
+
+ epatch "${FILESDIR}"/musl/thunderbird-38.3.0-crashreporter.patch # fixed?
+ epatch "${FILESDIR}"/musl/thunderbird-38.3.0-fix-fts-header.patch # bug 1139173, fixed in 40.0.a1
+ epatch "${FILESDIR}"/musl/thunderbird-38.3.0-fix-u_int64_t.patch # bug 1130164, fixed in 39.0a1
+ epatch "${FILESDIR}"/musl/thunderbird-38.3.0-profiler-gettid.patch # fixed?
+ epatch "${FILESDIR}"/musl/thunderbird-38.3.0-sandbox-cdefs.patch # bug 1157864, fixed in 42.0a1
+ epatch "${FILESDIR}"/musl/thunderbird-38.3.0-updater.patch # bug 1157850, not fixed as of today
+ epatch "${FILESDIR}"/musl/thunderbird-38.3.0-basename.patch # bug 1041962, not fixed as of today
+ epatch "${FILESDIR}"/musl/thunderbird-38.3.0-fix-sysctl-headers.patch # bug 1130175, fixed in 39.0a1
+ epatch "${FILESDIR}"/musl/thunderbird-38.3.0-fix-xpcom-blocksize.patch # bug 1152176, fixed in 41.0a1
+ epatch "${FILESDIR}"/musl/thunderbird-38.3.0-fix-cdefs-header.patch # bug 1151202, fixed in 40.0a1
+ epatch "${FILESDIR}"/musl/thunderbird-38.3.0-xre.patch # bug 1130710, fixed in 40.0a1
+ epatch "${FILESDIR}"/musl/thunderbird-38.3.0-fix-netwerk.patch # from alpine
+ epatch "${FILESDIR}"/musl/thunderbird-38.3.0-fix-bug-1130709.patch # bug 1130709, fixed in 40.0a1
+ epatch "${FILESDIR}"/musl/thunderbird-38.3.0-queue.patch # bug 1152185, fixed in 41.0a1 | works, but not sure if needed
+
+# epatch "${FILESDIR}"/musl/thunderbird-38.3.0-fix-bug-1130175.patch # cannot be applied due to major changes in mozilla/media/mtransport/third_party/nICEr/src/stun/addrs.c
+
+ ## end of musl patching
+
+ # Ensure that are plugins dir is enabled as default
+ sed -i -e "s:/usr/lib/mozilla/plugins:/usr/lib/nsbrowser/plugins:" \
+ "${S}"/mozilla/xpcom/io/nsAppFileLocationProvider.cpp || die "sed failed to replace plugin path for 32bit!"
+ sed -i -e "s:/usr/lib64/mozilla/plugins:/usr/lib64/nsbrowser/plugins:" \
+ "${S}"/mozilla/xpcom/io/nsAppFileLocationProvider.cpp || die "sed failed to replace plugin path for 64bit!"
+
+ # Don't exit with error when some libs are missing which we have in
+ # system.
+ sed '/^MOZ_PKG_FATAL_WARNINGS/s@= 1@= 0@' \
+ -i "${S}"/mail/installer/Makefile.in || die
+
+ # Don't error out when there's no files to be removed:
+ sed 's@\(xargs rm\)$@\1 -f@' \
+ -i "${S}"/mozilla/toolkit/mozapps/installer/packager.mk || die
+
+ # Shell scripts sometimes contain DOS line endings; bug 391889
+ grep -rlZ --include="*.sh" $'\r$' . |
+ while read -r -d $'\0' file ; do
+ einfo edos2unix "${file}"
+ edos2unix "${file}"
+ done
+
+ # Allow user to apply any additional patches without modifing ebuild
+ epatch_user
+
+ # Confirm the version of lightning being grabbed for langpacks is the same
+ # as that used in thunderbird
+ local THIS_MOZ_LIGHTNING_VER=$(python "${S}"/calendar/lightning/build/makeversion.py ${PV})
+ if [[ ${MOZ_LIGHTNING_VER} != ${THIS_MOZ_LIGHTNING_VER} ]]; then
+ eqawarn "The version of lightning used for localization differs from the version"
+ eqawarn "in thunderbird. Please update MOZ_LIGHTNING_VER in the ebuild from ${MOZ_LIGHTNING_VER}"
+ eqawarn "to ${THIS_MOZ_LIGHTNING_VER}"
+ fi
+
+ eautoreconf
+ # Ensure we run eautoreconf in mozilla to regenerate configure
+ cd "${S}"/mozilla || die
+ eautoconf
+ cd "${S}"/mozilla/js/src || die
+ eautoconf
+}
+
+src_configure() {
+ declare MOZILLA_FIVE_HOME="/usr/$(get_libdir)/${PN}"
+ MEXTENSIONS="default"
+
+ ####################################
+ #
+ # mozconfig, CFLAGS and CXXFLAGS setup
+ #
+ ####################################
+
+ mozconfig_init
+ mozconfig_config
+
+ # It doesn't compile on alpha without this LDFLAGS
+ use alpha && append-ldflags "-Wl,--no-relax"
+
+ # Add full relro support for hardened
+ use hardened && append-ldflags "-Wl,-z,relro,-z,now"
+
+ mozconfig_annotate '' --enable-extensions="${MEXTENSIONS}"
+ mozconfig_annotate '' --disable-mailnews
+ mozconfig_annotate '' --enable-calendar
+
+ # Other tb-specific settings
+ mozconfig_annotate '' --with-default-mozilla-five-home=${MOZILLA_FIVE_HOME}
+ mozconfig_annotate '' --with-user-appdir=.thunderbird
+
+ mozconfig_use_enable ldap
+
+ mozlinguas_mozconfig
+
+ # Bug #72667
+ if use mozdom; then
+ MEXTENSIONS="${MEXTENSIONS},inspector"
+ fi
+
+ # Use an objdir to keep things organized.
+ echo "mk_add_options MOZ_OBJDIR=${BUILD_OBJ_DIR}" >> "${S}"/.mozconfig
+
+ # Finalize and report settings
+ mozconfig_final
+
+ ####################################
+ #
+ # Configure and build
+ #
+ ####################################
+
+ # Disable no-print-directory
+ MAKEOPTS=${MAKEOPTS/--no-print-directory/}
+
+ if [[ $(gcc-major-version) -lt 4 ]]; then
+ append-cxxflags -fno-stack-protector
+ fi
+
+ if use crypt; then
+ pushd "${WORKDIR}"/enigmail &>/dev/null ||die
+ econf
+ popd &>/dev/null ||die
+ fi
+}
+
+src_compile() {
+ mkdir -p "${BUILD_OBJ_DIR}" && cd "${BUILD_OBJ_DIR}" || die
+
+ CC="$(tc-getCC)" CXX="$(tc-getCXX)" LD="$(tc-getLD)" \
+ MOZ_MAKE_FLAGS="${MAKEOPTS}" SHELL="${SHELL:-${EPREFIX%/}/bin/bash}" \
+ emake -f "${S}"/client.mk
+
+ # Only build enigmail extension if crypt enabled.
+ if use crypt ; then
+ einfo "Building enigmail"
+ pushd "${WORKDIR}"/enigmail &>/dev/null || die
+ emake -j1
+ emake -j1 xpi
+ popd &>/dev/null || die
+ fi
+}
+
+src_install() {
+ declare MOZILLA_FIVE_HOME="/usr/$(get_libdir)/${PN}"
+ DICTPATH="\"${EPREFIX}/usr/share/myspell\""
+
+ declare emid
+ cd "${BUILD_OBJ_DIR}" || die
+
+ # Copy our preference before omnijar is created.
+ cp "${FILESDIR}"/thunderbird-gentoo-default-prefs-1.js-1 \
+ "${BUILD_OBJ_DIR}/dist/bin/defaults/pref/all-gentoo.js" \
+ || die
+
+ # Set default path to search for dictionaries.
+ echo "pref(\"spellchecker.dictionary_path\", ${DICTPATH});" \
+ >> "${BUILD_OBJ_DIR}/dist/bin/defaults/pref/all-gentoo.js" \
+ || die
+
+ # Pax mark xpcshell for hardened support, only used for startupcache creation.
+ pax-mark m "${BUILD_OBJ_DIR}"/mozilla/dist/bin/xpcshell
+
+ MOZ_MAKE_FLAGS="${MAKEOPTS}" \
+ emake DESTDIR="${D}" install
+
+ # Install language packs
+ mozlinguas_src_install
+
+ if ! use bindist; then
+ newicon "${S}"/other-licenses/branding/thunderbird/content/icon48.png thunderbird-icon.png
+ domenu "${FILESDIR}"/icon/${PN}.desktop
+ else
+ newicon "${S}"/mail/branding/aurora/content/icon48.png thunderbird-icon-unbranded.png
+ newmenu "${FILESDIR}"/icon/${PN}-unbranded.desktop \
+ ${PN}.desktop
+
+ sed -i -e "s:Mozilla\ Thunderbird:EarlyBird:g" \
+ "${ED}"/usr/share/applications/${PN}.desktop
+ fi
+
+ local emid
+ # stage extra locales for lightning and install over existing
+ mozlinguas_xpistage_langpacks "${BUILD_OBJ_DIR}"/dist/xpi-stage/lightning \
+ "${WORKDIR}"/lightning-${MOZ_LIGHTNING_VER} lightning calendar
+
+ emid='{e2fda1a4-762b-4020-b5ad-a41df1933103}'
+ mkdir -p "${T}/${emid}" || die
+ cp -RLp -t "${T}/${emid}" "${BUILD_OBJ_DIR}"/dist/xpi-stage/lightning/* || die
+ insinto ${MOZILLA_FIVE_HOME}/distribution/extensions
+ doins -r "${T}/${emid}"
+
+ if use lightning; then
+ # move lightning out of distribution/extensions and into extensions for app-global install
+ mv "${ED}"/${MOZILLA_FIVE_HOME}/{distribution,}/extensions/${emid} || die
+
+ # stage extra locales for gdata-provider and install app-global
+ mozlinguas_xpistage_langpacks "${BUILD_OBJ_DIR}"/dist/xpi-stage/gdata-provider \
+ "${WORKDIR}"/gdata-provider-${MOZ_LIGHTNING_GDATA_VER}
+ emid='{a62ef8ec-5fdc-40c2-873c-223b8a6925cc}'
+ mkdir -p "${T}/${emid}" || die
+ cp -RLp -t "${T}/${emid}" "${BUILD_OBJ_DIR}"/dist/xpi-stage/gdata-provider/* || die
+ insinto ${MOZILLA_FIVE_HOME}/extensions
+ doins -r "${T}/${emid}"
+ fi
+
+ if use crypt ; then
+ local enigmail_xpipath="${WORKDIR}/enigmail/build"
+ cd "${T}" || die
+ unzip "${enigmail_xpipath}"/enigmail*.xpi install.rdf || die
+ emid=$(sed -n '/<em:id>/!d; s/.*\({.*}\).*/\1/; p; q' install.rdf)
+
+ dodir ${MOZILLA_FIVE_HOME}/extensions/${emid} || die
+ cd "${ED}"${MOZILLA_FIVE_HOME}/extensions/${emid} || die
+ unzip "${enigmail_xpipath}"/enigmail*.xpi || die
+ fi
+
+ # Required in order for jit to work on hardened, for mozilla-31 and above
+ use jit && pax-mark pm "${ED}"${MOZILLA_FIVE_HOME}/{thunderbird,thunderbird-bin}
+
+ # Plugin-container needs to be pax-marked for hardened to ensure plugins such as flash
+ # continue to work as expected.
+ pax-mark m "${ED}"${MOZILLA_FIVE_HOME}/plugin-container
+
+ if use minimal; then
+ rm -r "${ED}"/usr/include "${ED}"${MOZILLA_FIVE_HOME}/{idl,include,lib,sdk} || \
+ die "Failed to remove sdk and headers"
+ fi
+
+ # workaround to make thunderbird find libmozalloc.so on musl
+ into /
+ echo "LDPATH=${MOZILLA_FIVE_HOME}" > "${T}"/20thunderbird
+ doenvd "${T}"/20thunderbird || die
+
+}
+
+pkg_postinst() {
+ if use crypt; then
+ local peimpl=$(eselect --brief --colour=no pinentry show)
+ case "${peimpl}" in
+ *gtk*|*qt*) ;;
+ *) ewarn "The pinentry front-end currently selected is not one supported by thunderbird."
+ ewarn "You may be prompted for your password in an inaccessible shell!!"
+ ewarn "Please use 'eselect pinentry' to select either the gtk or qt front-end"
+ ;;
+ esac
+ fi
+ elog
+ elog "If you experience problems with plugins please issue the"
+ elog "following command : rm \${HOME}/.thunderbird/*/extensions.sqlite ,"
+ elog "then restart thunderbird"
+ if ! use lightning; then
+ elog
+ elog "If calendar fails to show up in extensions please open config editor"
+ elog "and set extensions.lastAppVersion to 38.0.0 to force a reload. If this"
+ elog "fails to show the calendar extension after restarting with above change"
+ elog "please file a bug report."
+ fi
+}
^ permalink raw reply related [flat|nested] only message in thread
only message in thread, other threads:[~2015-10-31 20:16 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-10-31 20:16 [gentoo-commits] proj/musl:master commit in: mail-client/thunderbird/files/, mail-client/thunderbird/files/icon/, Anthony G. Basile
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox