Gentoo Archives: gentoo-commits

From: "Anthony G. Basile" <blueness@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] proj/musl:master commit in: mail-client/thunderbird/files/, mail-client/thunderbird/files/icon/, ...
Date: Sat, 31 Oct 2015 20:16:42
Message-Id: 1446322967.8af36917f9a21448f7c75a92f55e778dbd30984d.blueness@gentoo
1 commit: 8af36917f9a21448f7c75a92f55e778dbd30984d
2 Author: tt_1 <herrtimson <AT> yahoo <DOT> de>
3 AuthorDate: Sat Oct 31 20:22:47 2015 +0000
4 Commit: Anthony G. Basile <blueness <AT> gentoo <DOT> org>
5 CommitDate: Sat Oct 31 20:22:47 2015 +0000
6 URL: https://gitweb.gentoo.org/proj/musl.git/commit/?id=8af36917
7
8 mail-client/thunderbird: initial commit, bug #564586.
9
10 mail-client/thunderbird/Manifest | 84 ++++
11 .../files/enigmail-1.6.0-parallel-fix.patch | 38 ++
12 .../files/icon/thunderbird-unbranded.desktop | 9 +
13 .../thunderbird/files/icon/thunderbird.desktop | 9 +
14 .../files/musl/thunderbird-38.3.0-basename.patch | 25 +
15 .../musl/thunderbird-38.3.0-crashreporter.patch | 358 +++++++++++++++
16 .../musl/thunderbird-38.3.0-fix-bug-1130175.patch | 33 ++
17 .../musl/thunderbird-38.3.0-fix-bug-1130709.patch | 227 ++++++++++
18 .../musl/thunderbird-38.3.0-fix-cdefs-header.patch | 30 ++
19 .../musl/thunderbird-38.3.0-fix-fts-header.patch | 503 +++++++++++++++++++++
20 .../musl/thunderbird-38.3.0-fix-netwerk.patch | 37 ++
21 .../thunderbird-38.3.0-fix-sysctl-headers.patch | 33 ++
22 .../musl/thunderbird-38.3.0-fix-u_int64_t.patch | 68 +++
23 .../thunderbird-38.3.0-fix-xpcom-blocksize.patch | 31 ++
24 .../musl/thunderbird-38.3.0-profiler-gettid.patch | 51 +++
25 .../files/musl/thunderbird-38.3.0-queue.patch | 28 ++
26 .../musl/thunderbird-38.3.0-sandbox-cdefs.patch | 22 +
27 .../files/musl/thunderbird-38.3.0-updater.patch | 43 ++
28 .../files/musl/thunderbird-38.3.0-xre.patch | 37 ++
29 .../files/thunderbird-31.7.0-gcc5-1.patch | 242 ++++++++++
30 .../files/thunderbird-gentoo-default-prefs-1.js-1 | 9 +
31 mail-client/thunderbird/metadata.xml | 28 ++
32 .../thunderbird/thunderbird-38.3.0-r99.ebuild | 398 ++++++++++++++++
33 23 files changed, 2343 insertions(+)
34
35 diff --git a/mail-client/thunderbird/Manifest b/mail-client/thunderbird/Manifest
36 new file mode 100644
37 index 0000000..c4b837b
38 --- /dev/null
39 +++ b/mail-client/thunderbird/Manifest
40 @@ -0,0 +1,84 @@
41 +AUX enigmail-1.6.0-parallel-fix.patch 842 SHA256 9ece63c5bb90357908aca8fbf36be5c228a0da4cb3ca75192235eb43d2d500e8 SHA512 099b594c2e27b788890c4c176e6e3be9ea09e455de99389893b429594d0d96fd57d33ecf5678fa417cf9c6b9119c352b72a891ec38254132c5768936ee21d077 WHIRLPOOL 5ac72acd4eea2a731489c814254cf918465ccb4d107bb9112dafd10c72ede9209012a9a00a89a200b8227f56ba627c3349e67c54306d3a1a73dfc6046b9ea037
42 +AUX icon/thunderbird-unbranded.desktop 228 SHA256 6d6857476dc288d2470211869b3ad13241f938f2995ae273831fefefdeb64fe9 SHA512 c118873cd701f3582d18ebf5c9622b4c593bd9bae51079ec3daf9fd54aceb4b1406f2de20cc08499ced752cc7b4b2183de6777693c5e6853e47714a4df2a6e4a WHIRLPOOL 2df96beec8c941dddeb5e60d6c811f2456453e050e94e3552bcddddd0e951bfa589b64980bd9756e55a2d98611565d092d26d1d2d171b5651a7431ac077c5bca
43 +AUX icon/thunderbird.desktop 218 SHA256 9e801b52b5f22086d38c3609dec28fc709708a5be1101809c68d17762bd596d6 SHA512 0cbe132759012c0da6f81f37d4ede62d2f4138f0d95e590da6259d7593ad858de28467b393e5d6129a6d37d61afa9b078df0f5a8b6a259189860653c44350a72 WHIRLPOOL 96425123ccc3cbf656c841dbd58812a76802a76b4acf4409ba171792ab0b1c120dc75dea8541a1cd6a2db1ab7ef32bf29477ef7670bf97adacd2e353bef042fd
44 +AUX musl/thunderbird-38.3.0-basename.patch 964 SHA256 2a6b7d13a2c587b7d9803875190e33e6cc535717fa90eb2d99ba4735bc2c738c SHA512 fefcc3caf21aaa9345bb3a4ac7c5ac961589fbec145eb16a7bbb7e0d53290b4f1c1f006ca35d94eccef5d4f02615570127f0c629d2605a48a9f05cdb6423a827 WHIRLPOOL 4075cfa892bb5469580b6b5b299b5e40c3f200770fc0e0c990b8eb9bb84ee06308cf179440d05aa4b7a46891564115fa619094ec7674e870a14f19fe93d45e8b
45 +AUX musl/thunderbird-38.3.0-crashreporter.patch 15239 SHA256 5d7aa652994b31d555ce2f50ee9dd3854f422d4f954d294e2e1465943c61123d SHA512 3e9fee642c1de1a4a4360efceb45ab43de48b3f6bd004b4a94e3e90e65e5e2ebb16b102082580e3798be223cfda7322749423deee42e129c42e00bbb8b5cde63 WHIRLPOOL 1a9ff12e9a34660f1824570f898c302ee9747778d16915c133d71528f5bff36d60f51302696facba8f2a47ef8e6c2cf93d0f58f83de845c78c9a99a038c0ea6c
46 +AUX musl/thunderbird-38.3.0-fix-bug-1130175.patch 1055 SHA256 16bf8227641dcc63a79b3393bd067dfacb6d8706f53398db2b74650ea6cedf7c SHA512 2f5487a81271a6cc3db292069852dd15a9aa0dbfc5cadf094f6b580b71e5e5298a22163874eba9091ef5b20aa79e10563ebbadccdc6178fd8aeba28ceb1b0561 WHIRLPOOL ff312fdbd693fa57fe9320613e4398d9920cf9f9b02f936acf0ff750e7ac5d467033508580bd69f97ef2936011ff7562b4bcd2d358d63d2654996da9645a7648
47 +AUX musl/thunderbird-38.3.0-fix-bug-1130709.patch 5555 SHA256 7c305042fac52369e51bdf3dc95fdce5ee270e972794690f4307f74cc29f8660 SHA512 7783594a7028c826eb116f6bde89debcd56e52c0054d363f0fbf7f292cdfd98d2a810d31f7f04aa05a9e4888058be036566d8d1938bbeec30dba4a79af2f6c71 WHIRLPOOL 2f3661e65bd8b59a2f20f01bb00828e748fb2b6f84a27ce4178b8829f9c41538b57966e53e6b80da529dca38c478ae550a03b5a8bb2d0f203c888bde3d6643d7
48 +AUX musl/thunderbird-38.3.0-fix-cdefs-header.patch 1106 SHA256 43bd3ad81cf2e681309e5af3ba46c07bb56d3e36315ca68b696d7f0a65c94721 SHA512 0e7933b45ccf20d12b5a641d4bd1557b6be0013eb9ddf1c53644a468ceab3dce496d426e67c2d2933dd37479717488dcc8637642f42bdce303503852774073ec WHIRLPOOL 8f4b042c1d347344db55119cd51666ca368bf1679fa0fde25cf160badfbb6383b5b20038567471580299e1225a1fe6470f404204167ab02ca830b615f0e918cb
49 +AUX musl/thunderbird-38.3.0-fix-fts-header.patch 17736 SHA256 700053d6824ac5bfae372d78b0128fcff8618455b0e9f7c143e933f7a6c46162 SHA512 7ec67c0a93d1975cd02631f49fe932007cc9886eef556cb1434592a736ec7ddb916c18496d3de703db7c524d7c99758885414fb77289fb12d4ac1a4639171572 WHIRLPOOL 8086f87e1fe03f04279be404ddadffa09410f77b682b0b045c335e37fa880c64269aec38ec62bdcc2875ee4ab02178dcd68e10507b9ff746f9b3535852b66d6a
50 +AUX musl/thunderbird-38.3.0-fix-netwerk.patch 1258 SHA256 3c78ccd0086b3ab8728ca70c5802fb1cf2b40aa678e37dbd3e0c338490000680 SHA512 27900bf9ea30fd3c27457a2feed408c2cf93fead434c18f510a4faf52a18d3f983a5646d7ebba33af21162626188a79b3b388c1c2729520d495d055222dd0601 WHIRLPOOL 7562d20907cf8fd845a1dcdce7c871848890f46277c375b0bd133c5268cb3816e8f22c19a7fcc254eba2e5691e488709c05a52c033f88e5e48e2081c7c445290
51 +AUX musl/thunderbird-38.3.0-fix-sysctl-headers.patch 1055 SHA256 16bf8227641dcc63a79b3393bd067dfacb6d8706f53398db2b74650ea6cedf7c SHA512 2f5487a81271a6cc3db292069852dd15a9aa0dbfc5cadf094f6b580b71e5e5298a22163874eba9091ef5b20aa79e10563ebbadccdc6178fd8aeba28ceb1b0561 WHIRLPOOL ff312fdbd693fa57fe9320613e4398d9920cf9f9b02f936acf0ff750e7ac5d467033508580bd69f97ef2936011ff7562b4bcd2d358d63d2654996da9645a7648
52 +AUX musl/thunderbird-38.3.0-fix-u_int64_t.patch 2797 SHA256 55069b63a833ac17fa04305c025bf06acbad1491b57185e76116d1882e076022 SHA512 225ff666d177862ab2941550c615db7c165327b9456b52aa03e215930f26d4e26d8d0471a2c4ec39fef4d23f8d108eac6acb4b84de02f6fc8224e0eb47460534 WHIRLPOOL 628ad13febd3fc8b90b38df2e8b795fb4440bfd7e77d8949e6d65d5508860eee8f01cd6e5a8f779305d985f9864ac443b6341d63e8e2458044d2f2dbcb086016
53 +AUX musl/thunderbird-38.3.0-fix-xpcom-blocksize.patch 873 SHA256 46b44eea491c48ad7eaad4e5cc93c56bfe6cca5083d933fe87cbbb52301d66ef SHA512 5cd436932d184fe180cc5f9495f72907cfe6cc14d29d2c5e9a50de59dbb60b88959dbe74dfaa756c7b22614e0240a57b3c9f8f682d7df7acce19842aa8c2c58f WHIRLPOOL 4ad3274181815e851da974114f9d4343f93fecf10242cbc69e7f241afe4e9b28ea5a71c42f5c6354107038077c213478474353c8214a36cf93c76393a061d5c8
54 +AUX musl/thunderbird-38.3.0-profiler-gettid.patch 1555 SHA256 5098cf2e7d3a8888640ff7229202014aba886c4d254c72c5a35969beff04d193 SHA512 4140fad5b64404516ec40bf1cdb385500e3e88a6899b1c9831c72a4b1ee0c8d817da087f5aa81a39f25a067f1a8db06ec213325ae7de72f8944cc820f0fff4f9 WHIRLPOOL fd3bd1fb9a18515e48b77e5800b617368881cbf0ddb0bdb33fe1449db0be1e154e56f34ac7d045603c326e4b457635e63ed08818ac8f479220014cd406551e6e
55 +AUX musl/thunderbird-38.3.0-queue.patch 1295 SHA256 907c02cbff0788c1bdcd23b003817e1633276947208287965e7af3d559c39f2c SHA512 61609fc6d40c1287f189aff7595583746adbaf1fe1f2c931b9e33added6fa64503d849ae8b807759989e05a670f052fe310e299b103e2c20bb1fb9d3772277ee WHIRLPOOL b8cd310f2162c2141f065f1c48634d57690d519d8c7bc318efec4af637a8161a9d027fefd3f99eb596f85eb96fc7d1d15eb30881bb205211e9cb564b5632e8a0
56 +AUX musl/thunderbird-38.3.0-sandbox-cdefs.patch 1030 SHA256 963079829868acbd37af55879ff0cda83b33b8b56f55ed8ef21880c980d02ec8 SHA512 758ddefdec6959430a9aafe775729ffbf4322143da6bbbc2da38e3ffbe81c898df27d095b868abad26d52bbe942911a64e0ab9f38a31a1f3d8e19314ccca8615 WHIRLPOOL 0b1b12cb6e18bc643861d738225ca0892de04546796c7eff7d3ac0b446773198c1f516cf5f4d439c046b1c757e185a19613c69dbcbca417e81fc6a0bf5d24526
57 +AUX musl/thunderbird-38.3.0-updater.patch 1344 SHA256 5f07ba110fcc1ee39e352af94786428d4e2c8c7924fe3a337942ffb572da0229 SHA512 56ebff8aaa054ae3a8e9859e77cee5c0b94867d5565399594d89b76f21a6eb1bd6546a878a259229d59c6eed9458e23c64da07c337a43c677cce1bc1d00d2a62 WHIRLPOOL 8fab4d24141c139cac5ac3779838967089d6692e94a2963b85302f619b74c8d53e83d14c07d3b9a0322a941dd90925495eba6c45a35916e6791520f67cac5dd9
58 +AUX musl/thunderbird-38.3.0-xre.patch 1569 SHA256 8656634992b8f6445f4c5f48f656d0355c2b26c1777a8ac95f39ef1ee3757c69 SHA512 f5f676531c71394be7d60ab45ae7e7073029477eb80cb85dde8e1c535bd50d86149f0f8282d198485155efc25bf13afdc764fa9d32c854a4bad45371f59348e6 WHIRLPOOL 72053950adf40fd21966eebb6d0a082f5b0ebb20452f1042645070b549440273b8fb144e9f2fafc24f8968a98cf293f8d227c5a04c7d62e6074a37d2f9654345
59 +AUX thunderbird-31.7.0-gcc5-1.patch 9670 SHA256 c43c3a1693176e986e1e7316bb368ea76e2cef15c1e0f70ddd54050d7b143f0b SHA512 8794f81dcd5ecec5b97cfa3f1faf7e0df080618ad982385c28ba7d49714fcb6b03692d88cfe0f30d0d563c6a13174f944a09a4c335c5550014bbf2b1b193b5bb WHIRLPOOL 9891bd52c23a78677d6181e59e2a854c79a11d56e7a97fc6475d48d31d564be4892afe204339cce757522e2aaaa264cdc121e4a887c7fefed394894bf1f37289
60 +AUX thunderbird-gentoo-default-prefs-1.js-1 426 SHA256 b5aba51045c700ae4d465e079f3e776600d4950806212f7c2fe1841fa25cf9d6 SHA512 b40e7b4789b7f43c382589f7d0eaa6043072bce86ab79fb3dda4800e9ab6a43af11f43b0cb3b6ab1c71d887aa1cf9356ac858f0a81dad013cef5b8a4b2107983 WHIRLPOOL cc3535e9a710d55c5386db51d7bd6ca24f6b36685a54e42d049a806fe99fd0b08afe7998d1478036bfa306129616778b8ac1386e14649646fc0a7ae4d37b830d
61 +DIST enigmail-1.8.2.tar.gz 1604159 SHA256 1d2700799bc52aaa8e8c9f7a0f5111281ff9fbdffc093cdff070657d574eb2a6 SHA512 51eece988f466aeb4a343719a86dc7d95ec41dfc3ec7e3d8d2f360528675c605f8f2154f10aeea6ef82ed87c784f1d13bfc978e052a9ede0072b5137f6294b11 WHIRLPOOL e12a703899e0e4c98adc58b5f4bf1f74e24a2cf09c1a706a6edca6aca06140041b293f23e6e5b05c507177b4148533ebc3431fb75592aae07d791a899ba2c45c
62 +DIST firefox-38.0-patches-04.tar.xz 5572 SHA256 501bd1cbd0ac7239674df4f7424e0dd57cab9ede47e18af0c99a8b8e04aa5ccc SHA512 311d494ba2a4219c88eea651e617aa776d6aa8ff68092302b76e9ff4e3e348c7197ec583923188e39973b7bd14f94df19756daf2495d9b0fe44aeaa3dcd19100 WHIRLPOOL 6605eaa0b80c97d2d5d23a23f7b8d92e7ed875787b932adf14622eb3fb5f5ccdebe8a094d78b3518d874b8819724af94100fd1728074ba4a5c426bbd91eeb722
63 +DIST gdata-provider-1.9.tar.xz 80812 SHA256 8e60960999c752c49d6414d14c35c2d0cc474d4a199ec99e531453d4d60bc5a3 SHA512 b1411b0a8614eb5e9fbdc0a41eb5ed38e8d4c90832e2a356fd0412b554af46bde4b766b213d9da3cafd85206da44d333354c9f6b469c95ddb190fa04fe14a54a WHIRLPOOL df7451e55f937c604d92faed82a16bddd6ca87a7c03981324c5409ab5824ac1c631ec767f10eaedc6f7128cd1f9001eca599c848d39e116d9722f26811b01092
64 +DIST lightning-4.0.2.xpi 6637618 SHA256 d2d4985058dc2755243fb60a7869cf07e835f871fb098ccc2c7faa5d07f63ea6 SHA512 f73afe1e4ee0e822102226a39f657fdcc397dd4bdd3824d9b793f6fab667fc70eb5bbee48cf088a5c1efe229ac8d564bf36c8998c2e10210f70612d380b7e2c9 WHIRLPOOL 7488b49ba36f385552951eb34c36098af522161ec9784cc10db5659efe002d415e5df13ae11b9eba06a1fa329e85f75adb0a025b8cbc71814f3f7195e6b4ad77
65 +DIST thunderbird-38.0-patches-0.1.tar.xz 684 SHA256 cd2a347b72a104e72d38e56bb92df3464e8820485119b4114dbd0bbda131a808 SHA512 52c83af301be959e861dfec55b3c4bc60035387c606976bd29232c4cba077230edcadef242491e699fba10027d0408dd4f33fa320bcf96727afe149166ca02de WHIRLPOOL a378a0fa1b152f17681a5e389662fedfacd45a137b224f038d3c98ab4a024bcf9e753fb2fe018cdb7126fb710ee8baabdf7882540450ead2985070d0d1f12eb0
66 +DIST thunderbird-38.3.0-ar.xpi 475296 SHA256 e3d72a91f7e644bd3d3bb31522f5d9a12bf14316cd95ada0dee700ddd765db38 SHA512 90b255c1b9fa89f63ac0e9908c29e964453c53c186189f82e829eef5c44df57b2f3d6c0eb6c7ae71276bea8ba4c4d43648df3837d802abdfde8d698a9c66ff01 WHIRLPOOL ba3e1eb35c25676d0fb4678a4473ae1df44c08197002cb8773608eafde40d70a5cbbfdf3f510baa239cfc2930e35bfeb8bd7f77a15661e3f5646ab8a8a69a94b
67 +DIST thunderbird-38.3.0-ast.xpi 405872 SHA256 c78b3457825cd7e20094f2f162e1d2a9afb371fe7f7a53c8a2c948121d22c381 SHA512 50ec174b68adbfe3142c96a234f9f57848f9d0c1719edbe9648812d5cacb84bbd3f19ee32a90c5642c4489a3a9a538c90bf9b15d27a2398f6876ad3449168f51 WHIRLPOOL 8e8203d10a01356ae6f589259e3c857aa089879d76c7813b802cf5b3246b382ead32f7e0db9a0bdf9c58e8a7e4ea2f15f0a47326dff7aabd729dd21b84fd50fa
68 +DIST thunderbird-38.3.0-be.xpi 442452 SHA256 4a4219218cf0ddf3b46da27124ba13e7b8e1ddcf2a0698f16e114ab572948a4a SHA512 17c9de46c2f5cfdfd7f9214241519362c4763569302780e591849a727d47a0a549147d9f6d915f33f1b094fc8408c6685c583abebb99ec0023ad2d10b26e7186 WHIRLPOOL d996be34081c970b867caa630bbda675c26c267977ae5ba418c152b7734dad036cab6476920badffcdf8dd86ee64023d4c0d20583fab8f465d6d58767cd61eb3
69 +DIST thunderbird-38.3.0-bg.xpi 506124 SHA256 d3a259e1c1be845c471e7678755b8e33ac0f896231a406a3a50e92f5a17bc2ee SHA512 23640ed1409e6f0aef7543f55de5798f2a763629b16af66e1e0fb51cfc3a125e8b5d7bbf6a52e818e1b9d6b821249927c37767dd35cb4274aed38664d5941aa4 WHIRLPOOL f0d315e3ebb275b58d88efef8d8ec6c7de68f5495814afa5eaba0d9fccda17414363c652cd592f6947fb08c35a590cc36c9910c67f1e2e1ddbc719928d163ace
70 +DIST thunderbird-38.3.0-bn-BD.xpi 560626 SHA256 b56ae358e7b69096d914a0dab48eaa1c3d9b1a78aeeccb9e45fd0f5dbf361294 SHA512 08df8fa6ffd5063154f9009a330c50b7a02663dd89148364523146c015880396524907b9abbef6d4af8588fa0745eee20036c4b98fff395be4e4fc18eaa021a5 WHIRLPOOL 76838d62486813084177c837f072c398a369538282a7c92816788e641868758d3a1c79c11a013c2af2bdf82f1fb013fce7508c1604a43da2d8d68c47e618aa6d
71 +DIST thunderbird-38.3.0-br.xpi 449767 SHA256 62aa01dc67b2dbab4a3966fc77c9e6e146caeabbcb9aa818d90a6e920f750ac3 SHA512 6e647fe1d365774fff98e2d85b62c098425163452df5e9656b9cea81d21cfb12d901cc34804863aaf25837103796474e9b1ac1437c998933da85bd6343f034c4 WHIRLPOOL ead867be3b50f4344def66596be7bd2f3c9975bfe618a315b5abcf95ff4fe0d2f04e6550c779447bf492adda60931f26dcc575be9f707b0a4dd1a16d06c6f974
72 +DIST thunderbird-38.3.0-ca.xpi 450325 SHA256 cf16841892fed72ed9c590d78e6bb93e7c4057f8070821b0a927fbd767ae6b9b SHA512 06ca1456b8f0e6689e2b434adf67f2150b6d6fba37a6eaab3b8474eec45aa53dca5c9798a01cc2014b3f6dd6b6542bf163c0e71ade17553866591c91b20aa746 WHIRLPOOL 77c043ab01ce644eff0180501424be3c0ced0f07f38b6859457dbfff02f61b973ec9493e5f9e1481a0bbb5e4bf0ed99584cfa595c70fdf1fa2ce483413d894da
73 +DIST thunderbird-38.3.0-cs.xpi 448724 SHA256 4f0cec48206a84694e97e64776d26fc0eda5baa1b019b596af3ab1fe05a3c788 SHA512 7ce571fbd4e8b72088ac86e2e9da60ed65ed7914b5497f359b3c26165ee6e1a917e382204c21238d37bf5193dce776dc388d067e6a2a067c64f499276ec548be WHIRLPOOL f6df14c1ec74ad3f52402eee8f17a963d4a534d5a2f4c8abd1f8c928c7cc67d60fd874a0ec480bc4fd9517b42bee64da4de36f671a0fa1bf944c32c149047843
74 +DIST thunderbird-38.3.0-cy.xpi 434848 SHA256 96b695296966a61760485210adf967cda82f562290492ca4d34a435966925dc8 SHA512 08ff8a853aff2482e41e9a0c3db0a991213a076984c325f90ea590e2caf03a4bdd776660dc094e13808b00bd979e4b7974c976beff548f9c245232293d3ed18d WHIRLPOOL f47f0b3a1af75ff96968852b4e59ccd03f804690d94922ba7b64fc7fbd0eb9547a71ed68ed7d8048edd3e1d96d4f9e9d44089cd837ab9a036c9db402e3d8dddd
75 +DIST thunderbird-38.3.0-da.xpi 425828 SHA256 908fb80a392d1aeb835bbf5e213f6dd62c9c1611b268641a50ff61dba3c4084c SHA512 bed405929c179c8a3db4729096fb43773659d222a592542f5dfd2e9ba403b406e178a13f5e5d3943864307413cb91fab600e948f3b824ff7ccc1eaaed01f4dbc WHIRLPOOL ed06a01e48d59e745801ab9ccc4d99e4f785a30162ed921a96f816b5310ba13e88afcc3732c24df767da1e595e4639c73d0662ce738e2e4bebc1ae96d1aafc0e
76 +DIST thunderbird-38.3.0-de.xpi 429877 SHA256 a488ed7de074380ff02db8fc5941375f27579a41e2ee3c63d61f43e18ab88664 SHA512 cfb454b3aadbc7844b2e3b4e15d52229e2bb3910a68380f42f00ec89552e64717900428b3fcb0f4ee543969978506e9295d491be4a3b026a2f862f676e2f9d8e WHIRLPOOL dc901b29eb6b3f4c9f0e9d1acba4121259c2996c685f97a4289b613b847bd5f2fe31cdcfb342b40fa08cd2208102f43fc2bef4bc05b69180598c9eea63dc075e
77 +DIST thunderbird-38.3.0-el.xpi 493490 SHA256 99b9b14ffd11b5a07aa6d89d947a73f378a113574ef53680c1c6992a8406292a SHA512 9f5ef751f5d503324cc0fcc8fff19751e23f6018bb19fb24c10db64496ad8878dd807661048d0d9675764b8a845698f1e5bd5ad919f312d338c476ffb47be545 WHIRLPOOL 2afc8b68eb53a80b10eb5755c556deba001a428bfee25ada476a17166f1d4405f04d29ed9a06b885a7e918808a85fb0e58c081379d390ba743bb3d2479f4f325
78 +DIST thunderbird-38.3.0-en-GB.xpi 416572 SHA256 1bf89952a3b876fffda0d94cd291a90a68dbebd55d286de9cf9ea87c7c241420 SHA512 852c10422e547a11219d38442f810df7989da323b3792bc07cee5dcccca20b6a80440b6e89c12fbadf65922afe3d34e4904ba8a08ade2f874682d4108593d420 WHIRLPOOL 6bbd6bd59444c0f3dc14823ceed05921e66649df179bda7c9eb760335c4300171ac9d3c6d0b1a717d1e05bc93d741af5377272ee3db4d6e713d524fbd3bca2ef
79 +DIST thunderbird-38.3.0-es-AR.xpi 442641 SHA256 021493ea03343e7563c69ef78dcef55c2cbf32d3024d66b4ac50b3c4588414cf SHA512 1afdaa274acf1762b518ba08c6cf3606b4d9a875b83606be71fa1db421efd3257bc1c99650a7697ece697ae51319278ef3e90b8043d97f1397b653929c550ef9 WHIRLPOOL a2802d37c6ba03e9e31e60613d5bcd98142b1f08e021e4b3c61c3b824578d4185297f8bc919f8ee283eef66c116b632791e1a1336d477b1822ed43b0e4680aaf
80 +DIST thunderbird-38.3.0-es-ES.xpi 376067 SHA256 fe97ee27daa33aae86e51f4f6ea16d703a4cdce713c550c6fef35b72730a4fa9 SHA512 f66d669752554938926c6827ba0d0a05e862be76b8cdddc2249c4d96dd65cd1244a17c69f9a49dc8ae6e9b65d3020f1e065d62177d4f2745a812fd2f5fa39c97 WHIRLPOOL 8276f1a3adf617ee3e97739137442031d295cd15710271640cd1400140b282064fd912869cda390ae0e6020518b628b66bf2a4a586a8eb15a31167dc9df20283
81 +DIST thunderbird-38.3.0-et.xpi 438262 SHA256 7bf5963dfe145dae28f9b7f8b62cd97039eb4b165a00f64ba4d4c654b11c40b1 SHA512 717e3fedaad0829c62aabeff09f9b085616a8d6c8d90a724b56691f1e8516cc33f295bd45065c553f9475be0f9e51d880c912d911cf2b31844a7b47dd96e95ed WHIRLPOOL 8bbe35c58aa5cf57a1b51d132fc84511b4e65e8ed7ee2ffea08a7c5f665f6a16133d7029a06922b854639f1dd90e019fe17d5c203b911e1bf30b2c34bf61f971
82 +DIST thunderbird-38.3.0-eu.xpi 434837 SHA256 e12806a8e1808e6cdba0db393fb444e17144599bdd3634530b89549dc55281e9 SHA512 6a2ede33f69dc8b3f42e5775c0a10bcd51afd898d331b302c27db32ed5c50294e0bea854aecdd3736a3a9b5236c72a6033ca168ffd87f548684e7c9998d89089 WHIRLPOOL 29f740e5ebca181b53863388462b1a77abf4f918af9fb9706c19fb0afb71da8e993a73a8b34f9b1becf5d709bd848667baa5827217d3d444b4c5119865d4065d
83 +DIST thunderbird-38.3.0-fi.xpi 438889 SHA256 b12b8b0d3ac1d051e33c249add1baecacae6b9e71365f7604d82f2775e725cf1 SHA512 804e4459a9228ccf50ab90b0f9f8fad529a1c8bfe39059b86217e7ff6b3eca328ee5f51cfb520c8061e1e6e599d0c741dd5cc3739be710a2401bce9e64505807 WHIRLPOOL fe1a6916105e5c08b257be4da08aed245f41657918cf6fe40c07866728501d119fb05aef0557375748ef7d708e43086ef327d7481e9068d557ad2650c76ddef4
84 +DIST thunderbird-38.3.0-fr.xpi 448227 SHA256 dca0f3d8019dfdd3ce0489fa77a06d2d5cb39aa08e0ae3d16bb44ab630f75375 SHA512 ef7cc666727bbe07d62b67fca2ea1dc6f4c7b916c395c857ca3d8e761de9c86d114ceae553d4294ccb1b9c8abc8c9c4f59d6446273b54d6d5fbdd41e8ef1e447 WHIRLPOOL 0a8933e31b39d9cb6eb5d9e21c39d7627f00a80d135c450e318d2a1a6dfe28f7ae2f0cd3d9c5551ab002835784c8c2e4c2a7613f5ccc56d1751ec743fdb04073
85 +DIST thunderbird-38.3.0-fy-NL.xpi 442162 SHA256 efb561b34d258448ca28a0c54c681272436198e9f5bc771994b05b005116422f SHA512 53401a86a8c990b0c456520382a7dea41116346c2eb4ae458ff402315fd1132dc2fc5080c15b29a4e0c29342b60a314f854eaab9050451c3fd5d32037dd3b949 WHIRLPOOL 372316e36a5fc73681f80eb38bbd62bfc53578d52b7a669992dfb6efcea105fab5658f1f9843b4f07bba5ab4f282159cdd1429ebaf6e90518e4739cd5bfbffc8
86 +DIST thunderbird-38.3.0-ga-IE.xpi 457412 SHA256 b809cb068a54bfdd08016a798623653ab3b045a3df1e259e3ef29db6b16a61cb SHA512 e6c6f1c0efa1d010cfb20ffb1379d2f2842e2fc26a10ccccc98a55b3e289ae89e33a374b8aac6ae5da6cb181b279e686661e6cf044b698376dc5ef739c184abb WHIRLPOOL de5d32a1d2700e08e32506f0f36fa0260f340569fc86f2f6facc9c720d62f1ba7ce2c8ee95c2797fbef16efaf7364ae3e4c394091019d5e1356794c4419f991f
87 +DIST thunderbird-38.3.0-gd.xpi 456317 SHA256 66243be7f539ca8dc376ecd5e9cd221b660af2313c0e13fe00c6c6cbbb20d2bf SHA512 657b01e22b36998d49b823a91bbd8a3e6a48f334d1a331c61c0917a0060e55f9fb6b95d83fd189b9fb765c0c0a7f4d0b63001e678161be66600a38e05caf9208 WHIRLPOOL 68d2e5e7a1e5b19483519cc3388f49e8874caae22f477adcd7174466b2f9b29b58cd33d34c5a90afa657b9f39779366b9294fd3f5a114fd2e1a0e248587763f9
88 +DIST thunderbird-38.3.0-gl.xpi 457839 SHA256 28870ca3614baddd95288000e7336503ad2e62d31b04c33394066d5d52443e09 SHA512 5ee1aa5b6a5ff105b83d9e2d6d2208f52b40a82c79fc9b885c27547969c813626d56398f9c8388c1e75665f9ed0d996d902b885233a7948ba5bb58930cc6ac76 WHIRLPOOL 2399a1afa00f36b96c7a62f760e1127c5b571237116ff2def7e75179dbff5c39889e1c8275c25376d8845798aec31d3807981ab44cb3a956cd62c1a01cc99e44
89 +DIST thunderbird-38.3.0-he.xpi 485867 SHA256 c74aae3a9048e60669292095c1c446f3806e73cee14d10cd0aab852c9bf19066 SHA512 416c4040be002b775b56253401fe57a04b4183c64ddf378dc30c140f48c5bff95d60377ccd7ddc1f6467726a1fbe9674dff2f4a402c882b89571c2406345aae3 WHIRLPOOL 55f1f9889fafc128f8f453aa21f87021720b1ed60db0340c1f9c9db1ee6428ac1be571e95ce7606c3df1f63056906a54e67a28ccd91b9c755246fe6cd958bdb3
90 +DIST thunderbird-38.3.0-hr.xpi 440420 SHA256 fc6ae694a971c7db823a1809ebdeec91231080e57caa0ff1ff05945a07755c66 SHA512 f5f8ed7dfc6f75ac4b3458dc19c395ea5ecb66f8a9cc616732e0a9949a231012fab0bb18b2d19a7b9b46655a1b265d0ce6c158604543c0501081184a60fb265c WHIRLPOOL a5b5d7d28cc61f673e12c8ca26ca30c291061e279504ac48ecab01835af96cab2ff6ce3fa1d4e50dc3a40c084519c566b9f7a0a4afbc62c63cb30423519f7307
91 +DIST thunderbird-38.3.0-hsb.xpi 456451 SHA256 3f2ea2b3ff1b662d09b3d4d2d611ffaf2f6dffba7cf6b0599587b61355012141 SHA512 050b06c03673cd50a4e03d03104da1f829ef5c286cc1e6d714c068efc41ccce54c47e7b202486202847246648711b5dbab515f39a2cdd5256915b4bde4c6270c WHIRLPOOL 636b7a65c84ea3ed89bccf0adf27e26c8ab855a997a208bb3c338977c0067631ff2201e50a30e9856f39427025f9fe465556855303d9dc7e9f91d587d93a717d
92 +DIST thunderbird-38.3.0-hu.xpi 457988 SHA256 ebeb2ce1192b5baf8a0a6061cb1dd8e44bd11418a65d2dc118141d1219104407 SHA512 2d80c86219af7ca84299458afe996fedac7989ffcb0e941573be6af9c79428c97ef0d369a8a9b8c5a3f7eedc461f18d5269993e40b62d05603a4b0c247c98fdd WHIRLPOOL 332aa10af78d8c7733363d4d5ec2f07e7ea6e226a01ac090b1f08236b043afc91ade94b4cc89a4cad7ec98f35b43cfd5de616ab5a38c389a48b84f0d13a8ac7d
93 +DIST thunderbird-38.3.0-hy-AM.xpi 500355 SHA256 b36e1bb1b3bd81185a6ff3f330f04e44a3f51278d900971faac8205b73775323 SHA512 5106d19bbd3945e9b7fe1f03fe33c37e950d56eb267d23924c2a34c8bb99740543fd65dfd610a2ba4980d9de22b91e041d8efb2477e4a5d98925d7f64b9a6ca3 WHIRLPOOL d6e11b114ac8fdb804a33d5296824d0d3d157978f6baec652eb8635b2166a56fd90bbb7ee8a0a711c335c47884fe486bc144c7daf3f5369cdf58b618c92995ea
94 +DIST thunderbird-38.3.0-id.xpi 483187 SHA256 952d1a2a5ba664e5542448d656e37f410d0da60f0d45d88bc128ffff3a193d34 SHA512 827608b9a954746dd5b056b4c9be2038f261502f91f7b9b294475bf0f6cc5de4eb6900ffc12637d19cd343cafcadcd41bef7cf3ab49a562551501dc2e58f6209 WHIRLPOOL e6584fca44cbb4e8f13df811a7b74433d1974be2d4803ecf813182d29b52919328a39fb99b4b2eb49179788b996ccab5b9f7152af9c358e87299c9333fc2270f
95 +DIST thunderbird-38.3.0-is.xpi 443008 SHA256 f97a4ad94f84bb1601d9c1b283ac84e33d191e5f6abbcbe1d6790c93c700c261 SHA512 90c51b3358c7154fd3482b97663046b5f1a46c05b4c63ee51a703c5ae830f192162c4db60f0cdea18ef4bf39ab210b7b5b0851585d80c8a1a7e2d93e39f10006 WHIRLPOOL 0373852acb7ba5b4f2bc78f296c851f4ff50bee839cdf5dc3c49540d10735c2b0e0d3e8456683e18fcfedfd096e90829af473fccbdf08f7ef8f9c531efd3d600
96 +DIST thunderbird-38.3.0-it.xpi 369024 SHA256 fe0461ac92410b68f6d2d506dd9ed5e85d3adcf090acfe02f88c9aea977f53db SHA512 b407c0909d7fcb290493369e89b3b73bc6e9e544585d46d3d0209591b6e010aa23d36ba4cabb1a18704035b82b5deb0b96209f8c67194ca57263b21444e9f773 WHIRLPOOL 85060b61bbc17a4407263d9ee158c06d2ad3d34de14292c6e40e851339ce2f02d6661deacdd6a8db727c44d535b6fb6ab147f995a704a3b59a1cfff2ad9b879b
97 +DIST thunderbird-38.3.0-ja.xpi 492861 SHA256 2aa5e04e9d6a2c10e410e8dcbc51e2d2c093f0d5dc573b3cdc21e37facafb6d6 SHA512 59ab736984ccf9a359fb619a03932a8043f2ed2d9a6349b56e966e0f92a3538c9bb1581eb3b5bcf32574fb8991c9a27030cdb82d398e10ebebe4c2e5d9969709 WHIRLPOOL acb9e0883fcd569679427a7b972783c0050976a9347fbf7955eb09bce7ff2e830deb833cf6cd9e9991760519d43b6f1d34418a7690bf697b3fe6a0d82e5f184c
98 +DIST thunderbird-38.3.0-ko.xpi 454852 SHA256 ed9e84328318cdac30e605a8be9c609bdb44828f4c288cdc4af141669ba33008 SHA512 a54a6c633a47d7c80e6add9bcd4115f72a481fbad1265e6f916515f6f7a1f4634ebaa91c0648564e856061e31373029946c2040d7264c5a50707e73acb3f135d WHIRLPOOL a14e4c927be898b64e81fb2436f8e0a97e95386d7b9b4512b405cdc5b27e11a4228e3e5e6e76e43b93d0eba918ef52a9017be6d22b6f2fb7493305f8b3712d67
99 +DIST thunderbird-38.3.0-lt.xpi 454572 SHA256 cab27cb9348180a19fdf32cdb67e03e2d98af10f39a3a158c495a72fcb9544f3 SHA512 970a9313056729fc5529563995970a475013feaaff66abf0c83519e22eb8af9b5840118065eb86b0985a02f59d480a0e82b212b2d04e149a92948d61adeb5847 WHIRLPOOL 27b96dacca7f79e31d242d9bbf38d360f968eb95062425c5744b48fed5fc5a078e9c667b1be590c1f225631a7a1dd896f8538a2a1659081777e7ec9ee701c4c5
100 +DIST thunderbird-38.3.0-nb-NO.xpi 434340 SHA256 62d9c3bc2d0a19384a5df220b9b6a190aeb8ee6ce4327839d08ad3a09b0f5b7b SHA512 dea037909c64b50c6c85e3a6109e391d766bce18dce226f9ecbffdde92169a2531dcfa8552230de9274d037a853d59b20aa570a0f286774c10f4339e4ad77207 WHIRLPOOL cf61ccdbb5acd2c0c4091c92c8c401cafd58377f88a907501c156b3d94172235802e665c0dec94bd70b2341aa40e3af4ed7f4ca85cde6b2095fc512bebf7ff0c
101 +DIST thunderbird-38.3.0-nl.xpi 435108 SHA256 ffd7ba1110afc8096d0c316a5e4fb55b26f9d9f689705f795b00d3c296ceb5d3 SHA512 af6b7c28d9a35653b312986d6a1ca20ddcb9ccd921e4d7ccaa269b7ce21365df1b4b9bfcaacf2d104d940f8f07e8808e465a98362b7feca58798e7897a17da22 WHIRLPOOL 023009ee0fe9be0b0a05fa85dfe03a541de634a30423db0b265e03081437d0acb511d50b870e564e5c91d3b0a92e032d68bea4852d2f9d439e547d7113eb83b8
102 +DIST thunderbird-38.3.0-nn-NO.xpi 436623 SHA256 48d4095cfdd47fa876c17a13592be4c4b31f57709d770ea8cefa9293e54d8f87 SHA512 5557db58bdedc70cde8e48f9430cbbdc3784ea0865bb30eb50ce481649b3c053234a9b55d23d263d15becdeb4c5f643e4a2048405fcf0874e5011d5a5560e038 WHIRLPOOL 841fca18e18438841b387174dfecb35e43c1749853f6aca0505780bd117aebf9f98745e8bcde7078cedc86b0bae5de049791adcfec690ac5685858ac4b0cf9f1
103 +DIST thunderbird-38.3.0-pa-IN.xpi 530461 SHA256 78d139e9894b9ea9913f921d78ee3b8894770c08ad32c8530e32782439a36383 SHA512 75089034db5b778885581ab5c816332db5f7e1ae06cb16b656f4d59c934a8a110e0d8ade56cb1ce4dca8e419cc13b15587e2cac3cf975a720d758540dc166636 WHIRLPOOL f36db6260c4b8246aeec8506d3a58bcebd6b3189bb9bd3bbd87fdd8549f8b5032dce8d731137287bd0a441206315463531f04c3ff6a484c6c595f19f401ddb60
104 +DIST thunderbird-38.3.0-pl.xpi 411509 SHA256 8805fa13167f5fa509f44a31729e39800d8f022224cd86012bb18fc19ac21815 SHA512 ae4f43cae1dce1e42704c0a30746d4410562f3420302dc92598896da5ef1e3088e36465f50f0c98e37f7e7b7e3f35211a2d96ecf417da22f8f021f34174f0ab2 WHIRLPOOL 7bc311d1a8dbbf6a1ddd0bd34d3d1b0ef537151aba5cb184589e9ca45acdb390c78bd7015cd82e87841b5a24a3abdb0c89d5345a0fa952ececbb390ed0135278
105 +DIST thunderbird-38.3.0-pt-BR.xpi 443752 SHA256 c7e4582522489eb8149db41c4f2c7f7a4d3121f4f5bbcf136e456ece8189d975 SHA512 ced022729b7dfada5fa3d006aabb6c61de78971af1c709833ceac29389048dc4d17ba00c6eee3c1d11471be1b73245ec8ea0f5bc698c10e93d3b5f049506df46 WHIRLPOOL 17c997dec400bf4140db75778e7e588c5545f1cea1e44e2f2a78bed47c95f2f5d5a58d0f690c7b36d2741d889ce1374d96daf9cc2e3e56d982cccdf96211d2fc
106 +DIST thunderbird-38.3.0-pt-PT.xpi 442064 SHA256 639a3b6d32be9dcc8d2f2eb8a2cca1cdbdb444ef00b10b76aa6f8dc9035e5b4e SHA512 01d2f964efdd4cdadca3269b549aea5f019a8765c994c168f601d1e59c762cf6533a07e4f76603ba9afbd8e64e04516756c57f73d59d046874583af6571b3a99 WHIRLPOOL 6ed3be4069e2cabb77668e003094cde50c2dd84fb83d2084f989131896d37e6db8050fd50e91c998a5a25471b8cabc4890f805205bf28128bc4fb254dff9f0a7
107 +DIST thunderbird-38.3.0-rm.xpi 442112 SHA256 72be95aae125d50fc9565c8bf40623040e37c5ca511d0f0a38f3924ddf48c845 SHA512 9ac7e7143bacc674ec37ae22e305149cbf97cee22b78a9ec0975ca21b6edf40da01dd7b4aac4ef6daa34ed6346e0801d4197e92bd304f6d1e7e7b7207f0eaa08 WHIRLPOOL 76c895ccc8dc476033e678aa7336b178cc843288d4702da43f8e02a4fd175ea17453080dd7e214ccd57563e83fdb95c6a882550f591a65f51c147033da009e3b
108 +DIST thunderbird-38.3.0-ro.xpi 448349 SHA256 51a28a8984e070e6ca886238aa834ebd9bf845c536ba44407976db7c8bd0ab04 SHA512 2ebb5fc1d35e1031311b6e02b8641cc8df47fca86661f67ddc8bb68eac35835fbbc842ef2d24b872ce199f67d4015f57d61644a8122ebff142bef87b7dd89454 WHIRLPOOL fd1afdf5c1c2c859c7cdd35f7fe89ff21677182d359159f98194852dfa4af7c432a63a2717b750b08f8fea3e653f9d5db73580a1d67dbbad349d7981e0c375e1
109 +DIST thunderbird-38.3.0-ru.xpi 437591 SHA256 2e16abf3a7f2c133b8ee8a078834e81f141143cff35306056111830252e435b8 SHA512 3def67eaec198e986856036b7b56333e2d24adeb329cdc6315e9bcb96174cfb1065209ad36a57566582717eaf807ac38fed3a732e1b9078c3b8ed56e160e247f WHIRLPOOL 3137a69f50f91a4b6bdb542cb39b494238931debac32769d620eef21190f62b9432b1cadcf73adfbc242eab20a6bd5413486649cd0b53f43b664c16112dfb340
110 +DIST thunderbird-38.3.0-si.xpi 535341 SHA256 0561d311a4607e9db41d913fdae19dfc4ef9d0135d1b6bbb4bec8ec60617256f SHA512 b0bfdc267113cd30ce9e16551e8785aac6fa03ef311aed4918240b83c9607c42daa32a395c4c1ba2d77cc5634c7eb415a956c71349e3cb48d055e3da73b536ab WHIRLPOOL 947375e0e53925bf9b209a33cb69befa58317fe5f5746dd6e6d1d6a18d09d9feb70d0ff9f1a211a2ec2c7d3b2caf3e73e82f2b97972b6bde32ea5992d7f4e999
111 +DIST thunderbird-38.3.0-sk.xpi 456606 SHA256 5c937a4cc87299365991743f791d89a7ea11693f93a538659715f3dadb7d5b0d SHA512 b5edc13a4664656bd808256d2a6185197d412a82730f33b8a5275405a2f9100e11e7d089be19e13ff6954d8e82a6fbf88cd789f35764259cd33634dbaa0e8563 WHIRLPOOL 3a4ac12502bb2c993165207b8082033e50fcbd862e3e6913505489943acef05b782067f4e931c3a0b8f03170ed254671c29c24f81a078c470db1de14a1490d90
112 +DIST thunderbird-38.3.0-sl.xpi 437847 SHA256 a5d64faf18f4e05ecc68830ad7623bc378d30ab041d4fa65d9d15970c552a628 SHA512 aa1f915202c66b6c148b743e63bc77f5739dc4af6bfeed1a0a3b6a42a29044bf8fd23e6f6f8bd9d322b5a7d6ae83b179852d5f6efdb602ddf90b5ff1e3d1bf0e WHIRLPOOL 551342d803f216ba9fab8af6c47e0a92bcd948c4537bef0050b3773df70e31d8ecab7caf6bebd4659038a552842e211ecb61ebf4d1cceb0a3ffdd314daf2aa9b
113 +DIST thunderbird-38.3.0-sq.xpi 446897 SHA256 f82cbbfed792a36383a8a78bd66b499de837dbbf1c0386a579bb602db31400e8 SHA512 3ac6605fe5c4fe8bf938b65a6cb0413117aee3773a09262b2f5ed15f7c67f16f9c67d023c3df03e9413acd5666fbb05ae63a8e84fa66ed25151f1dfc3da98d3f WHIRLPOOL f1f3946e64afc3ce326c94449a207ad0ff6a8a01ad831c304f7fbfc01b4c5ef6c5895992303012ac41687e7ad190e82bcedb4c28954c48fdfcb71f1c022766df
114 +DIST thunderbird-38.3.0-sr.xpi 543314 SHA256 2fc3d2fda47c02cc3299e42a178b329dd43d3e09cb1b79be85a490deac77302a SHA512 c32d8300728b998c58a5e13a1b0311aa56bb3d51b07bd142b5421c121812fd940d2ad33a5050382e5f7ae5ae8c75f6337a1cedd3e0368ccdf37743dbc8415f1b WHIRLPOOL b3a0b009e0ac4a326b066e05b29fd45745259ca9352090c0e4be79c79852f296391ecda777ad35dd796a80c7a38ddadca60a5e1e759684aa2b05a97c6448893b
115 +DIST thunderbird-38.3.0-sv-SE.xpi 439633 SHA256 0eeb64f903032b8456ec9fe9b1484add7ac45aa76406479f44abdb30b5bce119 SHA512 51d5ae6c4a0866db5bbaf28ee6c1d5111de23116d2460207d581f67c034bcb9f94c1e1753324ebb7744e7e264ee173d6e81d0a1fdbb698885dba90c4ed201550 WHIRLPOOL 1b76e3537cd3077f1665576394463b98f54d7bbb3d348a7e3a3779416ae2cee0cf480482d65669b19b8341c1c25d23c884ca553d94b7520e23f4bb91e91d7ac9
116 +DIST thunderbird-38.3.0-ta-LK.xpi 558738 SHA256 2f68f7c0596253b3fa2a3c9d895cde48d8bdc55f006264cae84eaa485ae10f37 SHA512 09cef8586b7f9c8b91351b2c67cdf54dac43178aabc9c20aa1fd9c64119a20808764c8afa0fe3634103e82450b0271d07d13a52d1dec73efbebe07b7b866122e WHIRLPOOL aaafac16c797512f44903e00f5b777ae815a1f75751ad2cd054a52da67dc19a63b6b97834f7cc3dd9240d14fdc0490da0ae0e3ffc97ec78daac53fb372ff9fae
117 +DIST thunderbird-38.3.0-tr.xpi 447799 SHA256 be6321c62f3d5dceee8df225810ed42ecc76ec79c35330da62fdb11027eb9e10 SHA512 533f37baf82d54174d2d11551ec229692a65d7c80cb9a0896d516e988d7d1292caf01cebd8cfce8983cad60c41b379a461bcc86f4ec222caa28d1d59407a9a0b WHIRLPOOL 19f1b9d5edc1c278357ae48c13776893d6fd5965910c1b7c1587e8affb51285c0b53ab7fc91f2ca0cfbc595eea4a902d5ea6fc72dfd232fdf05eef6498d611d0
118 +DIST thunderbird-38.3.0-uk.xpi 509600 SHA256 3e64a3c28621b7e76b2b705cee2e721fddba762728ab180449873e69ccd9bcc2 SHA512 69f2e947563ed04b45352453811dec727e1ae539a47fdbdc2e5677727279b87ac7b639b72d2d63ced05a144d8b3e349c1aa94aa2152fc8810c64512fb2502e89 WHIRLPOOL 4b3c7f9f65b6971fa62bbebc5de1d5001eb01ec06d010efb3875fbd905438b6cb6a87acbbbe1510fe8384d8a69c321842e572133c6400d5ae2ca4de3915e11ea
119 +DIST thunderbird-38.3.0-vi.xpi 519843 SHA256 d2d03bccd1bf564415e38ef3980b4a7e0a32fe30cada1ea8c15c0f96babca151 SHA512 8f567c7e6d04c73fda369e3b657a00c3402c585c730ba37e0680be167e7c9816651a279d14f944d103fd8dbe9d714f05e817b50e47c7cccb5b735680812cbf22 WHIRLPOOL 1911be7f96e50a7674271a4a4e65d934cbd682954a9aecec660e765cc8fff0060c4cc8853c68c3e2db102958819cc513fbb31d7911debf86b8e59c72ee6f5fba
120 +DIST thunderbird-38.3.0-zh-CN.xpi 466412 SHA256 8c3455bbe76b167f94f1b1f7c836aafd7f5d11e5fa7cc4071bde0fe77b4bcf49 SHA512 741a624c4012ac8da81f0d6ae8c6808e6c6a5245ea8055f8aab948fa93e34dfa5160f8b4f2a4a9b3dd0ef9ba6c72006212a0f320b1f5aaf22f1c620389c66033 WHIRLPOOL afa24ef3a20981433469d24d16699fac4f7138e70c7702f7516958884c51704aa78e6f8b307379985b75e53900c3fb5a89a07c5d515a9883e98d036e8f0be41a
121 +DIST thunderbird-38.3.0-zh-TW.xpi 466661 SHA256 fd10d148424c21731b877104ac50628c973348f8bc813573130503d08a0e045e SHA512 c183b8421a73253650e1d2e3bda3465aac42e0f3ecebdbaed3814218540b1f40e865ffe6028c8b2277c47241e85d9b67887fcc3b754328fd7323e8242d53b69e WHIRLPOOL 30b01926c975b7a70484ffe6a341fed0af039f9237cdc653cbe50ccc339b770236bf9e89789c958196ecc60f1d68fcc8f22aa6c26e616904d10d417229f8b1e3
122 +DIST thunderbird-38.3.0.source.tar.bz2 204361602 SHA256 9f3cb19a5ceabc5e8fa31f782b6d92720a77ef2c2d6c7b63b3d792cde491c961 SHA512 622731a3a6d40fabcf709e08ed20f8faf0d79a26229ab59c5a39d12b4445e090a7968055cc4804d829d6918f6879f1d47e3d453eefca58c8b68486bce20f21ea WHIRLPOOL afd0b9c0b4c1644e62329b744ad4ebd01d50e342f24d65bdc6f0634a910c6edae9d0e14b5307d51d6f2673969c962a831bb62109607ba01bd787409b5685246a
123 +EBUILD thunderbird-38.3.0-r99.ebuild 13313 SHA256 98d377bb24c17843444568c17eae214afe4f2dba57c63bc449fe109a15ccf51e SHA512 519776acad78985378bf9f7f5c61be9070397c0ce0dfb266d4a10e103889654123720945c0224c70342b518412e3e6f17656614e4ae86ee1a1710919390d180e WHIRLPOOL 52bc9176c531f1014cfcd9b2eb3e7b2e248317d82e103e75db7e3db6efa153887e5800b39f467ff9d13cee57742c51f5ffdd356a56bdac80bc30e323e0e0312d
124 +MISC metadata.xml 1499 SHA256 9e77bf6b427591dfdb3ef9962bbc1f2cf06c56c40481fb01ff4dde58b384ada5 SHA512 9b221808f226c1e1cc0cebd0abdf3b262eaed0c3392e8302fd1933141bf95840ab40bb1869b998d51d59a85fb83709963a21c114406c2a720f89d09bc0838d39 WHIRLPOOL c0398b529a65726b321968da4bbab0c156f418a01be51d2b7533589e726a93c28200035c4e664dbea4b90622d285f68464d4774e53e5c72d8292a1910233f36e
125
126 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
127 new file mode 100644
128 index 0000000..ab4b613
129 --- /dev/null
130 +++ b/mail-client/thunderbird/files/enigmail-1.6.0-parallel-fix.patch
131 @@ -0,0 +1,38 @@
132 +commit dd4ad2eebd36c84307222ca56c10c073527d7054
133 +Author: Patrick Brunschwig <patrick@××××××××.net>
134 +Date: Sun Nov 24 19:06:23 2013 +0100
135 +
136 + fixed broken parallel full build of TB (patch by Fabio Rossi)
137 +
138 +diff --git a/lang/Makefile.in b/lang/Makefile.in
139 +index 2334d4f..38688e0 100644
140 +--- a/lang/Makefile.in
141 ++++ b/lang/Makefile.in
142 +@@ -16,12 +16,12 @@ include $(topsrcdir)/config/config.mk
143 +
144 + include $(srcdir)/../util/build.mk
145 +
146 +-all: export jar
147 ++all: jar
148 +
149 + export:
150 + $(PERL) $(srcdir)/make-lang-xpi.pl $(srcdir)/current-languages.txt $(srcdir)
151 +
152 +-jar:
153 ++jar: export
154 + $(MAKEJAR)
155 +
156 + clean:
157 +diff --git a/ui/Makefile.in b/ui/Makefile.in
158 +index 6309525..13c98ee 100644
159 +--- a/ui/Makefile.in
160 ++++ b/ui/Makefile.in
161 +@@ -28,7 +28,7 @@ include $(topsrcdir)/config/config.mk
162 +
163 + include $(srcdir)/../util/build.mk
164 +
165 +-jar:
166 ++jar: dirs
167 + $(MAKEJAR)
168 +
169 + clean:
170
171 diff --git a/mail-client/thunderbird/files/icon/thunderbird-unbranded.desktop b/mail-client/thunderbird/files/icon/thunderbird-unbranded.desktop
172 new file mode 100644
173 index 0000000..f9d87be
174 --- /dev/null
175 +++ b/mail-client/thunderbird/files/icon/thunderbird-unbranded.desktop
176 @@ -0,0 +1,9 @@
177 +[Desktop Entry]
178 +Name=Mozilla Thunderbird
179 +Comment=Mail & News Reader
180 +Exec=/usr/bin/thunderbird %u
181 +Icon=thunderbird-icon-unbranded
182 +Terminal=false
183 +Type=Application
184 +Categories=Office;Network;Email;
185 +MimeType=x-scheme-handler/mailto;
186
187 diff --git a/mail-client/thunderbird/files/icon/thunderbird.desktop b/mail-client/thunderbird/files/icon/thunderbird.desktop
188 new file mode 100644
189 index 0000000..f9c31eb
190 --- /dev/null
191 +++ b/mail-client/thunderbird/files/icon/thunderbird.desktop
192 @@ -0,0 +1,9 @@
193 +[Desktop Entry]
194 +Name=Mozilla Thunderbird
195 +Comment=Mail & News Reader
196 +Exec=/usr/bin/thunderbird %u
197 +Icon=thunderbird-icon
198 +Terminal=false
199 +Type=Application
200 +Categories=Office;Network;Email;
201 +MimeType=x-scheme-handler/mailto;
202
203 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
204 new file mode 100644
205 index 0000000..e54a69d
206 --- /dev/null
207 +++ b/mail-client/thunderbird/files/musl/thunderbird-38.3.0-basename.patch
208 @@ -0,0 +1,25 @@
209 +# HG changeset patch
210 +# User Felix Janda <felix.janda@××××××.de>
211 +# Date 1423172942 -3600
212 +# Thu Feb 05 22:49:02 2015 +0100
213 +# Node ID 5f3abeb6ae6c0512901724428d908f601b9e49d4
214 +# Parent 2d344ef8da33717224d5a08570dc834ca2254f9f
215 +# https://bugzilla.mozilla.org/show_bug.cgi?id=1041962
216 +LulElf: Avoid basename
217 +
218 +diff -r 2d344ef8da33 -r 5f3abeb6ae6c tools/profiler/LulElf.cpp
219 +--- a/mozilla/tools/profiler/LulElf.cpp Sun Feb 01 19:32:36 2015 +0100
220 ++++ b/mozilla/tools/profiler/LulElf.cpp Thu Feb 05 22:49:02 2015 +0100
221 +@@ -611,9 +611,9 @@
222 + // last slash, or the whole filename if there are no slashes.
223 + string BaseFileName(const string &filename) {
224 + // Lots of copies! basename's behavior is less than ideal.
225 +- char *c_filename = strdup(filename.c_str());
226 +- string base = basename(c_filename);
227 +- free(c_filename);
228 ++ const char *c_filename = filename.c_str();
229 ++ const char *p = strrchr(c_filename, '/');
230 ++ string base = p ? p+1 : c_filename;
231 + return base;
232 + }
233 +
234
235 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
236 new file mode 100644
237 index 0000000..ca27693
238 --- /dev/null
239 +++ b/mail-client/thunderbird/files/musl/thunderbird-38.3.0-crashreporter.patch
240 @@ -0,0 +1,358 @@
241 +# HG changeset patch
242 +# User Felix Janda <felix.janda@××××××.de>
243 +# Date 1423172597 -3600
244 +# Thu Feb 05 22:43:17 2015 +0100
245 +# Node ID df5ec9e5685a52bcd19bbe566c0770daa40f14b1
246 +# Parent 2d344ef8da33717224d5a08570dc834ca2254f9f
247 +crashreporter: compile with musl
248 +
249 +diff -r 2d344ef8da33 -r df5ec9e5685a toolkit/crashreporter/google-breakpad/src/client/linux/crash_generation/crash_generation_server.cc
250 +--- a/mozilla/toolkit/crashreporter/google-breakpad/src/client/linux/crash_generation/crash_generation_server.cc Sun Feb 01 19:32:36 2015 +0100
251 ++++ b/mozilla/toolkit/crashreporter/google-breakpad/src/client/linux/crash_generation/crash_generation_server.cc Thu Feb 05 22:43:17 2015 +0100
252 +@@ -28,7 +28,6 @@
253 + // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
254 +
255 + #include <assert.h>
256 +-#include <dirent.h>
257 + #include <fcntl.h>
258 + #include <limits.h>
259 + #include <poll.h>
260 +@@ -49,6 +48,8 @@
261 + #include "common/linux/guid_creator.h"
262 + #include "common/linux/safe_readlink.h"
263 +
264 ++#include <dirent.h>
265 ++
266 + static const char kCommandQuit = 'x';
267 +
268 + namespace google_breakpad {
269 +diff -r 2d344ef8da33 -r df5ec9e5685a toolkit/crashreporter/google-breakpad/src/client/linux/handler/exception_handler.cc
270 +--- a/mozilla/toolkit/crashreporter/google-breakpad/src/client/linux/handler/exception_handler.cc Sun Feb 01 19:32:36 2015 +0100
271 ++++ b/mozilla/toolkit/crashreporter/google-breakpad/src/client/linux/handler/exception_handler.cc Thu Feb 05 22:43:17 2015 +0100
272 +@@ -77,7 +77,7 @@
273 + #include <sys/wait.h>
274 + #include <unistd.h>
275 +
276 +-#include <sys/signal.h>
277 ++#include <signal.h>
278 + #include <sys/ucontext.h>
279 + #include <sys/user.h>
280 + #include <ucontext.h>
281 +@@ -418,11 +418,11 @@
282 + siginfo_t siginfo = {};
283 + // Mimic a trusted signal to allow tracing the process (see
284 + // ExceptionHandler::HandleSignal().
285 +- siginfo.si_code = SI_USER;
286 +- siginfo.si_pid = getpid();
287 +- struct ucontext context;
288 +- getcontext(&context);
289 +- return HandleSignal(sig, &siginfo, &context);
290 ++// siginfo.si_code = SI_USER;
291 ++// siginfo.si_pid = getpid();
292 ++// struct ucontext context;
293 ++// getcontext(&context);
294 ++// return HandleSignal(sig, &siginfo, &context);
295 + }
296 +
297 + // This function may run in a compromised context: see the top of the file.
298 +@@ -567,7 +567,7 @@
299 + sys_prctl(PR_SET_DUMPABLE, 1);
300 +
301 + CrashContext context;
302 +- int getcontext_result = getcontext(&context.context);
303 ++ int getcontext_result = 1;//getcontext(&context.context);
304 + if (getcontext_result)
305 + return false;
306 + #if !defined(__ARM_EABI__)
307 +diff -r 2d344ef8da33 -r df5ec9e5685a toolkit/crashreporter/google-breakpad/src/client/linux/handler/exception_handler.h
308 +--- a/mozilla/toolkit/crashreporter/google-breakpad/src/client/linux/handler/exception_handler.h Sun Feb 01 19:32:36 2015 +0100
309 ++++ b/mozilla/toolkit/crashreporter/google-breakpad/src/client/linux/handler/exception_handler.h Thu Feb 05 22:43:17 2015 +0100
310 +@@ -192,7 +192,7 @@
311 + struct ucontext context;
312 + #if !defined(__ARM_EABI__)
313 + // #ifdef this out because FP state is not part of user ABI for Linux ARM.
314 +- struct _libc_fpstate float_state;
315 ++ struct _fpstate float_state;
316 + #endif
317 + };
318 +
319 +diff -r 2d344ef8da33 -r df5ec9e5685a toolkit/crashreporter/google-breakpad/src/client/linux/minidump_writer/minidump_writer.cc
320 +--- a/mozilla/toolkit/crashreporter/google-breakpad/src/client/linux/minidump_writer/minidump_writer.cc Sun Feb 01 19:32:36 2015 +0100
321 ++++ b/mozilla/toolkit/crashreporter/google-breakpad/src/client/linux/minidump_writer/minidump_writer.cc Thu Feb 05 22:43:17 2015 +0100
322 +@@ -174,7 +174,7 @@
323 + // out: the minidump structure
324 + // info: the collection of register structures.
325 + void CPUFillFromUContext(MDRawContextX86 *out, const ucontext *uc,
326 +- const struct _libc_fpstate* fp) {
327 ++ const struct _fpstate* fp) {
328 + const greg_t* regs = uc->uc_mcontext.gregs;
329 +
330 + out->context_flags = MD_CONTEXT_X86_FULL |
331 +@@ -274,7 +274,7 @@
332 + }
333 +
334 + void CPUFillFromUContext(MDRawContextAMD64 *out, const ucontext *uc,
335 +- const struct _libc_fpstate* fpregs) {
336 ++ const struct _fpstate* fpregs) {
337 + const greg_t* regs = uc->uc_mcontext.gregs;
338 +
339 + out->context_flags = MD_CONTEXT_AMD64_FULL;
340 +@@ -341,7 +341,7 @@
341 + }
342 +
343 + void CPUFillFromUContext(MDRawContextARM* out, const ucontext* uc,
344 +- const struct _libc_fpstate* fpregs) {
345 ++ const struct _fpstate* fpregs) {
346 + out->context_flags = MD_CONTEXT_ARM_FULL;
347 +
348 + out->iregs[0] = uc->uc_mcontext.arm_r0;
349 +@@ -1480,7 +1480,7 @@
350 + const char* path_; // Path to the file where the minidum should be written.
351 +
352 + const struct ucontext* const ucontext_; // also from the signal handler
353 +- const struct _libc_fpstate* const float_state_; // ditto
354 ++ const struct _fpstate* const float_state_; // ditto
355 + LinuxDumper* dumper_;
356 + MinidumpFileWriter minidump_writer_;
357 + off_t minidump_size_limit_;
358 +diff -r 2d344ef8da33 -r df5ec9e5685a toolkit/crashreporter/google-breakpad/src/common/android/include/stab.h
359 +--- a/mozilla/toolkit/crashreporter/google-breakpad/src/common/android/include/stab.h Sun Feb 01 19:32:36 2015 +0100
360 ++++ /dev/null Thu Jan 01 00:00:00 1970 +0000
361 +@@ -1,100 +0,0 @@
362 +-// Copyright (c) 2012, Google Inc.
363 +-// All rights reserved.
364 +-//
365 +-// Redistribution and use in source and binary forms, with or without
366 +-// modification, are permitted provided that the following conditions are
367 +-// met:
368 +-//
369 +-// * Redistributions of source code must retain the above copyright
370 +-// notice, this list of conditions and the following disclaimer.
371 +-// * Redistributions in binary form must reproduce the above
372 +-// copyright notice, this list of conditions and the following disclaimer
373 +-// in the documentation and/or other materials provided with the
374 +-// distribution.
375 +-// * Neither the name of Google Inc. nor the names of its
376 +-// contributors may be used to endorse or promote products derived from
377 +-// this software without specific prior written permission.
378 +-//
379 +-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
380 +-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
381 +-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
382 +-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
383 +-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
384 +-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
385 +-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
386 +-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
387 +-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
388 +-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
389 +-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
390 +-
391 +-#ifndef GOOGLE_BREAKPAD_COMMON_ANDROID_INCLUDE_STAB_H
392 +-#define GOOGLE_BREAKPAD_COMMON_ANDROID_INCLUDE_STAB_H
393 +-
394 +-#include <sys/cdefs.h>
395 +-
396 +-#ifdef __BIONIC_HAVE_STAB_H
397 +-#include <stab.h>
398 +-#else
399 +-
400 +-#ifdef __cplusplus
401 +-extern "C" {
402 +-#endif // __cplusplus
403 +-
404 +-#define _STAB_CODE_LIST \
405 +- _STAB_CODE_DEF(UNDF,0x00) \
406 +- _STAB_CODE_DEF(GSYM,0x20) \
407 +- _STAB_CODE_DEF(FNAME,0x22) \
408 +- _STAB_CODE_DEF(FUN,0x24) \
409 +- _STAB_CODE_DEF(STSYM,0x26) \
410 +- _STAB_CODE_DEF(LCSYM,0x28) \
411 +- _STAB_CODE_DEF(MAIN,0x2a) \
412 +- _STAB_CODE_DEF(PC,0x30) \
413 +- _STAB_CODE_DEF(NSYMS,0x32) \
414 +- _STAB_CODE_DEF(NOMAP,0x34) \
415 +- _STAB_CODE_DEF(OBJ,0x38) \
416 +- _STAB_CODE_DEF(OPT,0x3c) \
417 +- _STAB_CODE_DEF(RSYM,0x40) \
418 +- _STAB_CODE_DEF(M2C,0x42) \
419 +- _STAB_CODE_DEF(SLINE,0x44) \
420 +- _STAB_CODE_DEF(DSLINE,0x46) \
421 +- _STAB_CODE_DEF(BSLINE,0x48) \
422 +- _STAB_CODE_DEF(BROWS,0x48) \
423 +- _STAB_CODE_DEF(DEFD,0x4a) \
424 +- _STAB_CODE_DEF(EHDECL,0x50) \
425 +- _STAB_CODE_DEF(MOD2,0x50) \
426 +- _STAB_CODE_DEF(CATCH,0x54) \
427 +- _STAB_CODE_DEF(SSYM,0x60) \
428 +- _STAB_CODE_DEF(SO,0x64) \
429 +- _STAB_CODE_DEF(LSYM,0x80) \
430 +- _STAB_CODE_DEF(BINCL,0x82) \
431 +- _STAB_CODE_DEF(SOL,0x84) \
432 +- _STAB_CODE_DEF(PSYM,0xa0) \
433 +- _STAB_CODE_DEF(EINCL,0xa2) \
434 +- _STAB_CODE_DEF(ENTRY,0xa4) \
435 +- _STAB_CODE_DEF(LBRAC,0xc0) \
436 +- _STAB_CODE_DEF(EXCL,0xc2) \
437 +- _STAB_CODE_DEF(SCOPE,0xc4) \
438 +- _STAB_CODE_DEF(RBRAC,0xe0) \
439 +- _STAB_CODE_DEF(BCOMM,0xe2) \
440 +- _STAB_CODE_DEF(ECOMM,0xe4) \
441 +- _STAB_CODE_DEF(ECOML,0xe8) \
442 +- _STAB_CODE_DEF(NBTEXT,0xf0) \
443 +- _STAB_CODE_DEF(NBDATA,0xf2) \
444 +- _STAB_CODE_DEF(NBBSS,0xf4) \
445 +- _STAB_CODE_DEF(NBSTS,0xf6) \
446 +- _STAB_CODE_DEF(NBLCS,0xf8) \
447 +- _STAB_CODE_DEF(LENG,0xfe)
448 +-
449 +-enum __stab_debug_code {
450 +-#define _STAB_CODE_DEF(x,y) N_##x = y,
451 +-_STAB_CODE_LIST
452 +-#undef _STAB_CODE_DEF
453 +-};
454 +-
455 +-#ifdef __cplusplus
456 +-} // extern "C"
457 +-#endif // __cplusplus
458 +-
459 +-#endif // __BIONIC_HAVE_STAB_H
460 +-
461 +-#endif // GOOGLE_BREAKPAD_COMMON_ANDROID_INCLUDE_STAB_H
462 +diff -r 2d344ef8da33 -r df5ec9e5685a toolkit/crashreporter/google-breakpad/src/common/android/include/sys/signal.h
463 +--- a/mozilla/toolkit/crashreporter/google-breakpad/src/common/android/include/sys/signal.h Sun Feb 01 19:32:36 2015 +0100
464 ++++ /dev/null Thu Jan 01 00:00:00 1970 +0000
465 +@@ -1,35 +0,0 @@
466 +-// Copyright (c) 2012, Google Inc.
467 +-// All rights reserved.
468 +-//
469 +-// Redistribution and use in source and binary forms, with or without
470 +-// modification, are permitted provided that the following conditions are
471 +-// met:
472 +-//
473 +-// * Redistributions of source code must retain the above copyright
474 +-// notice, this list of conditions and the following disclaimer.
475 +-// * Redistributions in binary form must reproduce the above
476 +-// copyright notice, this list of conditions and the following disclaimer
477 +-// in the documentation and/or other materials provided with the
478 +-// distribution.
479 +-// * Neither the name of Google Inc. nor the names of its
480 +-// contributors may be used to endorse or promote products derived from
481 +-// this software without specific prior written permission.
482 +-//
483 +-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
484 +-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
485 +-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
486 +-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
487 +-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
488 +-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
489 +-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
490 +-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
491 +-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
492 +-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
493 +-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
494 +-
495 +-#ifndef GOOGLE_BREAKPAD_COMMON_ANDROID_INCLUDE_SYS_SIGNAL_H
496 +-#define GOOGLE_BREAKPAD_COMMON_ANDROID_INCLUDE_SYS_SIGNAL_H
497 +-
498 +-#include <signal.h>
499 +-
500 +-#endif // GOOGLE_BREAKPAD_COMMON_ANDROID_INCLUDE_SYS_SIGNAL_H
501 +diff -r 2d344ef8da33 -r df5ec9e5685a toolkit/crashreporter/google-breakpad/src/common/linux/dump_symbols.cc
502 +--- a/mozilla/toolkit/crashreporter/google-breakpad/src/common/linux/dump_symbols.cc Sun Feb 01 19:32:36 2015 +0100
503 ++++ b/mozilla/toolkit/crashreporter/google-breakpad/src/common/linux/dump_symbols.cc Thu Feb 05 22:43:17 2015 +0100
504 +@@ -829,9 +829,9 @@
505 + // last slash, or the whole filename if there are no slashes.
506 + string BaseFileName(const string &filename) {
507 + // Lots of copies! basename's behavior is less than ideal.
508 +- char *c_filename = strdup(filename.c_str());
509 +- string base = basename(c_filename);
510 +- free(c_filename);
511 ++ const char *c_filename = filename.c_str();
512 ++ const char *p = strrchr(c_filename, '/');
513 ++ string base = p ? p+1 : c_filename;
514 + return base;
515 + }
516 +
517 +diff -r 2d344ef8da33 -r df5ec9e5685a toolkit/crashreporter/google-breakpad/src/common/linux/elf_core_dump.h
518 +--- a/mozilla/toolkit/crashreporter/google-breakpad/src/common/linux/elf_core_dump.h Sun Feb 01 19:32:36 2015 +0100
519 ++++ b/mozilla/toolkit/crashreporter/google-breakpad/src/common/linux/elf_core_dump.h Thu Feb 05 22:43:17 2015 +0100
520 +@@ -36,6 +36,7 @@
521 + #include <elf.h>
522 + #include <link.h>
523 + #include <stddef.h>
524 ++#include <sys/reg.h>
525 +
526 + #include "common/memory_range.h"
527 +
528 +diff -r 2d344ef8da33 -r df5ec9e5685a toolkit/crashreporter/google-breakpad/src/common/stabs_reader.cc
529 +--- a/mozilla/toolkit/crashreporter/google-breakpad/src/common/stabs_reader.cc Sun Feb 01 19:32:36 2015 +0100
530 ++++ b/mozilla/toolkit/crashreporter/google-breakpad/src/common/stabs_reader.cc Thu Feb 05 22:43:17 2015 +0100
531 +@@ -34,7 +34,6 @@
532 + #include "common/stabs_reader.h"
533 +
534 + #include <assert.h>
535 +-#include <stab.h>
536 + #include <string.h>
537 +
538 + #include <string>
539 +diff -r 2d344ef8da33 -r df5ec9e5685a toolkit/crashreporter/google-breakpad/src/common/stabs_reader.h
540 +--- a/mozilla/toolkit/crashreporter/google-breakpad/src/common/stabs_reader.h Sun Feb 01 19:32:36 2015 +0100
541 ++++ b/mozilla/toolkit/crashreporter/google-breakpad/src/common/stabs_reader.h Thu Feb 05 22:43:17 2015 +0100
542 +@@ -53,12 +53,19 @@
543 + #include <config.h>
544 + #endif
545 +
546 +-#ifdef HAVE_A_OUT_H
547 +-#include <a.out.h>
548 +-#endif
549 + #ifdef HAVE_MACH_O_NLIST_H
550 + #include <mach-o/nlist.h>
551 + #endif
552 ++// Definitions from <stab.h> and <a.out.h> for systems which
553 ++// do not have them
554 ++#undef N_UNDF
555 ++#define N_UNDF 0x0
556 ++#define N_FUN 0x24
557 ++#define N_SLINE 0x44
558 ++#define N_SO 0x64
559 ++#define N_LSYM 0x80
560 ++#define N_BINCL 0x82
561 ++#define N_SOL 0x84
562 +
563 + #include <string>
564 + #include <vector>
565 +diff -r 2d344ef8da33 -r df5ec9e5685a toolkit/crashreporter/google-breakpad/src/common/stabs_reader_unittest.cc
566 +--- a/mozilla/toolkit/crashreporter/google-breakpad/src/common/stabs_reader_unittest.cc Sun Feb 01 19:32:36 2015 +0100
567 ++++ b/mozilla/toolkit/crashreporter/google-breakpad/src/common/stabs_reader_unittest.cc Thu Feb 05 22:43:17 2015 +0100
568 +@@ -33,7 +33,6 @@
569 +
570 + #include <assert.h>
571 + #include <errno.h>
572 +-#include <stab.h>
573 + #include <stdarg.h>
574 + #include <stdlib.h>
575 + #include <string.h>
576 +diff -r 2d344ef8da33 -r df5ec9e5685a toolkit/crashreporter/google-breakpad/src/third_party/lss/linux_syscall_support.h
577 +--- a/mozilla/toolkit/crashreporter/google-breakpad/src/third_party/lss/linux_syscall_support.h Sun Feb 01 19:32:36 2015 +0100
578 ++++ b/mozilla/toolkit/crashreporter/google-breakpad/src/third_party/lss/linux_syscall_support.h Thu Feb 05 22:43:17 2015 +0100
579 +@@ -2814,7 +2814,7 @@
580 + LSS_INLINE _syscall6(void*, mmap, void*, s,
581 + size_t, l, int, p,
582 + int, f, int, d,
583 +- __off64_t, o)
584 ++ off64_t, o)
585 +
586 + LSS_INLINE _syscall4(int, newfstatat, int, d,
587 + const char *, p,
588 +diff -r 2d344ef8da33 -r df5ec9e5685a toolkit/crashreporter/nsExceptionHandler.cpp
589 +--- a/mozilla/toolkit/crashreporter/nsExceptionHandler.cpp Sun Feb 01 19:32:36 2015 +0100
590 ++++ b/mozilla/toolkit/crashreporter/nsExceptionHandler.cpp Thu Feb 05 22:43:17 2015 +0100
591 +@@ -49,6 +49,7 @@
592 + #elif defined(XP_LINUX)
593 + #include "nsIINIParser.h"
594 + #include "common/linux/linux_libc_support.h"
595 ++#undef getdents64
596 + #include "third_party/lss/linux_syscall_support.h"
597 + #include "client/linux/crash_generation/client_info.h"
598 + #include "client/linux/crash_generation/crash_generation_server.h"
599
600 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
601 new file mode 100644
602 index 0000000..25f8198
603 --- /dev/null
604 +++ b/mail-client/thunderbird/files/musl/thunderbird-38.3.0-fix-bug-1130175.patch
605 @@ -0,0 +1,33 @@
606 +# HG changeset patch
607 +# User Felix Janda <felix.janda@××××××.de>
608 +# Date 1423171460 -3600
609 +# Thu Feb 05 22:24:20 2015 +0100
610 +# Node ID af818fbea923d7c026bc8e22a6512f14f788ba56
611 +# Parent 9c40ffbcf6b32d688abf089f2cce3c85dd8bdb29
612 +Bug 1130175 - nICEr: avoid sysctl.h include. r=bwc
613 +
614 +diff -r 9c40ffbcf6b3 -r af818fbea923 media/mtransport/third_party/nICEr/src/stun/addrs.c
615 +--- a/mozilla/media/mtransport/third_party/nICEr/src/stun/addrs.c Mon Feb 23 07:39:00 2015 -0500
616 ++++ b/mozilla/media/mtransport/third_party/nICEr/src/stun/addrs.c Thu Feb 05 22:24:20 2015 +0100
617 +@@ -45,13 +45,11 @@
618 + #include <sys/param.h>
619 + #include <sys/socket.h>
620 + #ifndef ANDROID
621 +-#include <sys/sysctl.h>
622 + #include <sys/syslog.h>
623 + #else
624 + #include <syslog.h>
625 + /* Work around an Android NDK < r8c bug */
626 + #undef __unused
627 +-#include <linux/sysctl.h>
628 + #endif
629 + #ifndef LINUX
630 + #include <net/if.h>
631 +@@ -122,6 +120,7 @@
632 + */
633 +
634 + #include <err.h>
635 ++#include <sys/sysctl.h>
636 +
637 + static void stun_rt_xaddrs(caddr_t, caddr_t, struct rt_addrinfo *);
638 + static int stun_grab_addrs(char *name, int addrcount,
639
640 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
641 new file mode 100644
642 index 0000000..063c4f5
643 --- /dev/null
644 +++ b/mail-client/thunderbird/files/musl/thunderbird-38.3.0-fix-bug-1130709.patch
645 @@ -0,0 +1,227 @@
646 +# HG changeset patch
647 +# User Felix Janda <felix.janda@××××××.de>
648 +# Date 1423304332 -3600
649 +# Node ID 3e7a3784e7479ab7c663eecbccf8107c271290a0
650 +# Parent 12394290ae583134871ed40c93677f62ffb1e9e0
651 +Bug 1130709: Make __BEGIN_DECLS and __END_DECLS explicit r=bwc
652 +
653 +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
654 +--- a/mozilla/media/webrtc/signaling/src/sdp/sipcc/cpr_darwin_types.h
655 ++++ b/mozilla/media/webrtc/signaling/src/sdp/sipcc/cpr_darwin_types.h
656 +@@ -49,37 +49,16 @@ typedef uint8_t boolean;
657 + #ifdef __GNUC__
658 + #define MAX(a,b) ({ typeof(a) _a = (a); typeof(b) _b = (b); _a > _b ? _a : _b; })
659 + #else
660 + #define MAX(a,b) (((a) > (b)) ? (a) : (b))
661 + #endif
662 + #endif
663 +
664 + /**
665 +- * __BEGIN_DECLS and __END_DECLS
666 +- *
667 +- * Define macros for compilation by C++ compiler
668 +- */
669 +-#ifndef __BEGIN_DECLS
670 +-#ifdef __cplusplus
671 +-#define __BEGIN_DECLS extern "C" {
672 +-#else
673 +-#define __BEGIN_DECLS
674 +-#endif
675 +-#endif
676 +-
677 +-#ifndef __END_DECLS
678 +-#ifdef __cplusplus
679 +-#define __END_DECLS }
680 +-#else
681 +-#define __END_DECLS
682 +-#endif
683 +-#endif
684 +-
685 +-/**
686 + * Define TRUE/FALSE
687 + * defined in several header files
688 + */
689 + #ifndef TRUE
690 + #define TRUE 1
691 + #endif
692 +
693 + #ifndef FALSE
694 +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
695 +--- a/mozilla/media/webrtc/signaling/src/sdp/sipcc/cpr_linux_types.h
696 ++++ b/mozilla/media/webrtc/signaling/src/sdp/sipcc/cpr_linux_types.h
697 +@@ -57,38 +57,16 @@ typedef uint8_t boolean;
698 + #ifndef MAX
699 + #ifdef __GNUC__
700 + #define MAX(a,b) ({ typeof(a) _a = (a); typeof(b) _b = (b); _a > _b ? _a : _b; })
701 + #else
702 + #define MAX(a,b) (((a) > (b)) ? (a) : (b))
703 + #endif
704 + #endif
705 +
706 +-
707 +-
708 +-/**
709 +- * __BEGIN_DECLS and __END_DECLS
710 +- *
711 +- * Define macros for compilation by C++ compiler
712 +- */
713 +-#ifndef __BEGIN_DECLS
714 +-#ifdef __cplusplus
715 +-#define __BEGIN_DECLS extern "C" {
716 +-#else
717 +-#define __BEGIN_DECLS
718 +-#endif
719 +-#endif
720 +-
721 +-#ifndef __END_DECLS
722 +-#ifdef __cplusplus
723 +-#define __END_DECLS }
724 +-#else
725 +-#define __END_DECLS
726 +-#endif
727 +-#endif
728 + /**
729 + * Define TRUE/FALSE
730 + * defined in several header files
731 + */
732 + #ifndef TRUE
733 + #define TRUE 1
734 + #endif
735 +
736 +diff --git a/mozilla/media/webrtc/signaling/src/sdp/sipcc/cpr_string.h b/mozilla/media/webrtc/signaling/src/sdp/sipcc/cpr_string.h
737 +--- a/mozilla/media/webrtc/signaling/src/sdp/sipcc/cpr_string.h
738 ++++ b/mozilla/media/webrtc/signaling/src/sdp/sipcc/cpr_string.h
739 +@@ -5,17 +5,19 @@
740 + #ifndef _CPR_STRING_H_
741 + #define _CPR_STRING_H_
742 +
743 + #include <stdarg.h>
744 +
745 + #include "cpr_types.h"
746 + #include "cpr_strings.h"
747 +
748 +-__BEGIN_DECLS
749 ++#ifdef __cplusplus
750 ++extern "C" {
751 ++#endif
752 +
753 + /**
754 + * sstrncpy
755 + *
756 + * @brief The CPR wrapper for strncpy
757 + *
758 + * This is Cisco's *safe* version of strncpy. The string will always
759 + * be NUL terminated (which is not ANSI compliant).
760 +@@ -125,11 +127,13 @@ void flex_string_sprintf(flex_string *fs
761 + * @param[in] str - The string that needs to be duplicated
762 + *
763 + * @return The duplicated string or NULL in case of no memory
764 + *
765 + */
766 + char *
767 + cpr_strdup(const char *str);
768 +
769 +-__END_DECLS
770 ++#ifdef __cplusplus
771 ++}
772 ++#endif
773 +
774 + #endif
775 +diff --git a/mozilla/media/webrtc/signaling/src/sdp/sipcc/cpr_strings.h b/mozilla/media/webrtc/signaling/src/sdp/sipcc/cpr_strings.h
776 +--- a/mozilla/media/webrtc/signaling/src/sdp/sipcc/cpr_strings.h
777 ++++ b/mozilla/media/webrtc/signaling/src/sdp/sipcc/cpr_strings.h
778 +@@ -2,29 +2,25 @@
779 + * License, v. 2.0. If a copy of the MPL was not distributed with this
780 + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
781 +
782 + #ifndef _CPR_STRINGS_H_
783 + #define _CPR_STRINGS_H_
784 +
785 + #include "cpr_types.h"
786 +
787 +-__BEGIN_DECLS
788 +-
789 +
790 + #include <string.h>
791 +
792 + #if defined(_MSC_VER)
793 + #define cpr_strcasecmp _stricmp
794 + #define cpr_strncasecmp _strnicmp
795 + #if _MSC_VER < 1900
796 + #define snprintf _snprintf
797 + #endif
798 + #else // _MSC_VER
799 +
800 + #define cpr_strcasecmp strcasecmp
801 + #define cpr_strncasecmp strncasecmp
802 +
803 + #endif // _MSC_VER
804 +
805 +-__END_DECLS
806 +-
807 + #endif
808 +diff --git a/mozilla/media/webrtc/signaling/src/sdp/sipcc/cpr_types.h b/mozilla/media/webrtc/signaling/src/sdp/sipcc/cpr_types.h
809 +--- a/mozilla/media/webrtc/signaling/src/sdp/sipcc/cpr_types.h
810 ++++ b/mozilla/media/webrtc/signaling/src/sdp/sipcc/cpr_types.h
811 +@@ -8,17 +8,19 @@
812 + #if defined SIP_OS_LINUX
813 + #include "cpr_linux_types.h"
814 + #elif defined SIP_OS_WINDOWS
815 + #include "cpr_win_types.h"
816 + #elif defined SIP_OS_OSX
817 + #include "cpr_darwin_types.h"
818 + #endif
819 +
820 +-__BEGIN_DECLS
821 ++#ifdef __cplusplus
822 ++extern "C" {
823 ++#endif
824 +
825 + /*
826 + * CPR Return Codes
827 + */
828 + typedef enum
829 + {
830 + CPR_SUCCESS,
831 + CPR_FAILURE
832 +@@ -109,11 +111,13 @@ extern const cpr_ip_addr_t ip_addr_inval
833 + * of memory that have a "hidden" header block immediately preceding
834 + * the pointer. You MUST use the functions in string_lib.c to
835 + * create, manipulate, destroy, copy, or otherwise work with these
836 + * strings.
837 + */
838 +
839 + typedef const char *string_t;
840 +
841 +-__END_DECLS
842 ++#ifdef __cplusplus
843 ++}
844 ++#endif
845 +
846 + #endif
847 +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
848 +--- a/mozilla/media/webrtc/signaling/src/sdp/sipcc/cpr_win_types.h
849 ++++ b/mozilla/media/webrtc/signaling/src/sdp/sipcc/cpr_win_types.h
850 +@@ -95,21 +95,10 @@ typedef int pid_t;
851 + #endif
852 +
853 + /*
854 + * Define NULL
855 + * defined in numerous header files
856 + */
857 + /* DONE defined in windef.h */
858 +
859 +-/*
860 +- * Define __BEGIN_DECLS and __END_DECLS
861 +- */
862 +-#ifdef __cplusplus
863 +-#define __BEGIN_DECLS extern "C" {
864 +-#define __END_DECLS }
865 +-#else
866 +-#define __BEGIN_DECLS
867 +-#define __END_DECLS
868 +-#endif
869 +-
870 + #endif // _CPR_WIN_TYPES_H_
871 +
872 +
873
874 diff --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
875 new file mode 100644
876 index 0000000..703190a
877 --- /dev/null
878 +++ b/mail-client/thunderbird/files/musl/thunderbird-38.3.0-fix-cdefs-header.patch
879 @@ -0,0 +1,30 @@
880 +# HG changeset patch
881 +# User Felix Janda <felix.janda@××××××.de>
882 +# Date 1423171584 -3600
883 +# Node ID 0b586ba959b254e235cae639b0bbdded387d9253
884 +# Parent b6191f7e683ab87ed40af42b34041114a380341e
885 +Bug 1151202 - libstagefright: Fix compilation for systems without <sys/cdefs.h>. r=cpearce
886 +
887 +diff --git a/mozilla/media/libstagefright/system/core/include/cutils/properties.h b/mozilla/media/libstagefright/system/core/include/cutils/properties.h
888 +--- a/mozilla/media/libstagefright/system/core/include/cutils/properties.h
889 ++++ b/mozilla/media/libstagefright/system/core/include/cutils/properties.h
890 +@@ -12,17 +12,17 @@
891 + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
892 + * See the License for the specific language governing permissions and
893 + * limitations under the License.
894 + */
895 +
896 + #ifndef __CUTILS_PROPERTIES_H
897 + #define __CUTILS_PROPERTIES_H
898 +
899 +-#include <sys/cdefs.h>
900 ++#include <sys/types.h>
901 + #include <stddef.h>
902 +
903 + #ifdef __cplusplus
904 + extern "C" {
905 + #endif
906 +
907 + /* System properties are *small* name value pairs managed by the
908 + ** property service. If your data doesn't fit in the provided
909 +
910
911 diff --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
912 new file mode 100644
913 index 0000000..5ac5944
914 --- /dev/null
915 +++ b/mail-client/thunderbird/files/musl/thunderbird-38.3.0-fix-fts-header.patch
916 @@ -0,0 +1,503 @@
917 +# HG changeset patch
918 +# User Felix Janda <felix.janda@××××××.de>
919 +# Date 1429134526 -7200
920 +# Wed Apr 15 23:48:46 2015 +0200
921 +# Node ID 62325b792c42746df0c4322d47c6c3e965ec6aaa
922 +# Parent da3e6557e0301899024eeaa24b0a43e837a409d7
923 +Bug 1139173 - ipc/chromium: Use <errno.h> instead of non-standard <sys/errno.h>. r=froydnj
924 +
925 +diff -r da3e6557e030 -r 62325b792c42 ipc/chromium/src/base/file_util_posix.cc
926 +--- a/mozilla/ipc/chromium/src/base/file_util_posix.cc Wed Apr 22 19:17:15 2015 +0100
927 ++++ b/mozilla/ipc/chromium/src/base/file_util_posix.cc Wed Apr 15 23:48:46 2015 +0200
928 +@@ -14,7 +14,7 @@
929 + #include <libgen.h>
930 + #include <stdio.h>
931 + #include <string.h>
932 +-#include <sys/errno.h>
933 ++#include <errno.h>
934 + #include <sys/mman.h>
935 + #define _DARWIN_USE_64_BIT_INODE // Use 64-bit inode data structures
936 + #include <sys/stat.h>
937 +# HG changeset patch
938 +# User Felix Janda <felix.janda@××××××.de>
939 +# Date 1429135060 -7200
940 +# Wed Apr 15 23:57:40 2015 +0200
941 +# Node ID 1e75c69141cadfd8ea35f5f60e32cb7320d297ab
942 +# Parent 62325b792c42746df0c4322d47c6c3e965ec6aaa
943 +Bug 1139173 - ipc/chromium: Remove ScopedTempDir. r=froydnj
944 +
945 +diff -r 62325b792c42 -r 1e75c69141ca ipc/chromium/moz.build
946 +--- a/mozilla/ipc/chromium/moz.build Wed Apr 15 23:48:46 2015 +0200
947 ++++ b/mozilla/ipc/chromium/moz.build Wed Apr 15 23:57:40 2015 +0200
948 +@@ -50,7 +50,6 @@
949 + 'src/base/pickle.cc',
950 + 'src/base/rand_util.cc',
951 + 'src/base/revocable_store.cc',
952 +- 'src/base/scoped_temp_dir.cc',
953 + 'src/base/string_piece.cc',
954 + 'src/base/string_util.cc',
955 + 'src/base/thread.cc',
956 +diff -r 62325b792c42 -r 1e75c69141ca ipc/chromium/src/base/scoped_temp_dir.cc
957 +--- a/mozilla/ipc/chromium/src/base/scoped_temp_dir.cc Wed Apr 15 23:48:46 2015 +0200
958 ++++ /dev/null Thu Jan 01 00:00:00 1970 +0000
959 +@@ -1,47 +0,0 @@
960 +-// Copyright (c) 2009 The Chromium Authors. All rights reserved.
961 +-// Use of this source code is governed by a BSD-style license that can be
962 +-// found in the LICENSE file.
963 +-
964 +-#include "base/scoped_temp_dir.h"
965 +-
966 +-#include "base/file_util.h"
967 +-#include "base/logging.h"
968 +-#include "base/string_util.h"
969 +-
970 +-ScopedTempDir::ScopedTempDir() {
971 +-}
972 +-
973 +-ScopedTempDir::~ScopedTempDir() {
974 +- if (!path_.empty() && !file_util::Delete(path_, true))
975 +- CHROMIUM_LOG(ERROR) << "ScopedTempDir unable to delete " << path_.value();
976 +-}
977 +-
978 +-bool ScopedTempDir::CreateUniqueTempDir() {
979 +- // This "scoped_dir" prefix is only used on Windows and serves as a template
980 +- // for the unique name.
981 +- if (!file_util::CreateNewTempDirectory(FILE_PATH_LITERAL("scoped_dir"),
982 +- &path_))
983 +- return false;
984 +-
985 +- return true;
986 +-}
987 +-
988 +-bool ScopedTempDir::Set(const FilePath& path) {
989 +- DCHECK(path_.empty());
990 +- if (!file_util::DirectoryExists(path) &&
991 +- !file_util::CreateDirectory(path)) {
992 +- return false;
993 +- }
994 +- path_ = path;
995 +- return true;
996 +-}
997 +-
998 +-FilePath ScopedTempDir::Take() {
999 +- FilePath ret = path_;
1000 +- path_ = FilePath();
1001 +- return ret;
1002 +-}
1003 +-
1004 +-bool ScopedTempDir::IsValid() const {
1005 +- return !path_.empty() && file_util::DirectoryExists(path_);
1006 +-}
1007 +diff -r 62325b792c42 -r 1e75c69141ca ipc/chromium/src/base/scoped_temp_dir.h
1008 +--- a/mozilla/ipc/chromium/src/base/scoped_temp_dir.h Wed Apr 15 23:48:46 2015 +0200
1009 ++++ /dev/null Thu Jan 01 00:00:00 1970 +0000
1010 +@@ -1,47 +0,0 @@
1011 +-// Copyright (c) 2009 The Chromium Authors. All rights reserved.
1012 +-// Use of this source code is governed by a BSD-style license that can be
1013 +-// found in the LICENSE file.
1014 +-
1015 +-#ifndef BASE_SCOPED_TEMP_DIR_H_
1016 +-#define BASE_SCOPED_TEMP_DIR_H_
1017 +-
1018 +-// An object representing a temporary / scratch directory that should be cleaned
1019 +-// up (recursively) when this object goes out of scope. Note that since
1020 +-// deletion occurs during the destructor, no further error handling is possible
1021 +-// if the directory fails to be deleted. As a result, deletion is not
1022 +-// guaranteed by this class.
1023 +-
1024 +-#include "base/file_path.h"
1025 +-
1026 +-class ScopedTempDir {
1027 +- public:
1028 +- // No directory is owned/created initially.
1029 +- ScopedTempDir();
1030 +-
1031 +- // Recursively delete path_
1032 +- ~ScopedTempDir();
1033 +-
1034 +- // Creates a unique directory in TempPath, and takes ownership of it.
1035 +- // See file_util::CreateNewTemporaryDirectory.
1036 +- bool CreateUniqueTempDir();
1037 +-
1038 +- // Takes ownership of directory at |path|, creating it if necessary.
1039 +- // Don't call multiple times unless Take() has been called first.
1040 +- bool Set(const FilePath& path);
1041 +-
1042 +- // Caller takes ownership of the temporary directory so it won't be destroyed
1043 +- // when this object goes out of scope.
1044 +- FilePath Take();
1045 +-
1046 +- const FilePath& path() const { return path_; }
1047 +-
1048 +- // Returns true if path_ is non-empty and exists.
1049 +- bool IsValid() const;
1050 +-
1051 +- private:
1052 +- FilePath path_;
1053 +-
1054 +- DISALLOW_COPY_AND_ASSIGN(ScopedTempDir);
1055 +-};
1056 +-
1057 +-#endif // BASE_SCOPED_TEMP_DIR_H_
1058 +# HG changeset patch
1059 +# User Felix Janda <felix.janda@××××××.de>
1060 +# Date 1429135184 -7200
1061 +# Wed Apr 15 23:59:44 2015 +0200
1062 +# Node ID 9b6b694dd82e1a3f7652c35d3e8b264d701ec253
1063 +# Parent 1e75c69141cadfd8ea35f5f60e32cb7320d297ab
1064 +Bug 1139173 - ipc/chromium: Remove unused functions from file_util. r=froydnj
1065 +CLOSED TREE
1066 +
1067 +diff -r 1e75c69141ca -r 9b6b694dd82e ipc/chromium/src/base/file_util.cc
1068 +--- a/mozilla/ipc/chromium/src/base/file_util.cc Wed Apr 15 23:57:40 2015 +0200
1069 ++++ b/mozilla/ipc/chromium/src/base/file_util.cc Wed Apr 15 23:59:44 2015 +0200
1070 +@@ -139,12 +139,6 @@
1071 + path->push_back(FilePath::kSeparators[0]);
1072 + path->append(new_ending);
1073 + }
1074 +-bool CopyDirectory(const std::wstring& from_path, const std::wstring& to_path,
1075 +- bool recursive) {
1076 +- return CopyDirectory(FilePath::FromWStringHack(from_path),
1077 +- FilePath::FromWStringHack(to_path),
1078 +- recursive);
1079 +-}
1080 + bool CopyFile(const std::wstring& from_path, const std::wstring& to_path) {
1081 + return CopyFile(FilePath::FromWStringHack(from_path),
1082 + FilePath::FromWStringHack(to_path));
1083 +@@ -172,8 +166,8 @@
1084 + *temp_file = temp_file_path.ToWStringHack();
1085 + return true;
1086 + }
1087 +-bool Delete(const std::wstring& path, bool recursive) {
1088 +- return Delete(FilePath::FromWStringHack(path), recursive);
1089 ++bool Delete(const std::wstring& path) {
1090 ++ return Delete(FilePath::FromWStringHack(path));
1091 + }
1092 + bool DirectoryExists(const std::wstring& path) {
1093 + return DirectoryExists(FilePath::FromWStringHack(path));
1094 +diff -r 1e75c69141ca -r 9b6b694dd82e ipc/chromium/src/base/file_util.h
1095 +--- a/mozilla/ipc/chromium/src/base/file_util.h Wed Apr 15 23:57:40 2015 +0200
1096 ++++ b/mozilla/ipc/chromium/src/base/file_util.h Wed Apr 15 23:59:44 2015 +0200
1097 +@@ -16,7 +16,6 @@
1098 + #include <sys/stat.h>
1099 + #elif defined(OS_POSIX)
1100 + #include <sys/types.h>
1101 +-#include <fts.h>
1102 + #include <sys/stat.h>
1103 + #endif
1104 +
1105 +@@ -87,34 +86,17 @@
1106 +
1107 + // Deletes the given path, whether it's a file or a directory.
1108 + // If it's a directory, it's perfectly happy to delete all of the
1109 +-// directory's contents. Passing true to recursive deletes
1110 +-// subdirectories and their contents as well.
1111 ++// directory's contents.
1112 + // Returns true if successful, false otherwise.
1113 +-//
1114 +-// WARNING: USING THIS WITH recursive==true IS EQUIVALENT
1115 +-// TO "rm -rf", SO USE WITH CAUTION.
1116 +-bool Delete(const FilePath& path, bool recursive);
1117 ++bool Delete(const FilePath& path);
1118 + // Deprecated temporary compatibility function.
1119 +-bool Delete(const std::wstring& path, bool recursive);
1120 ++bool Delete(const std::wstring& path);
1121 +
1122 + // Copies a single file. Use CopyDirectory to copy directories.
1123 + bool CopyFile(const FilePath& from_path, const FilePath& to_path);
1124 + // Deprecated temporary compatibility function.
1125 + bool CopyFile(const std::wstring& from_path, const std::wstring& to_path);
1126 +
1127 +-// Copies the given path, and optionally all subdirectories and their contents
1128 +-// as well.
1129 +-// If there are files existing under to_path, always overwrite.
1130 +-// Returns true if successful, false otherwise.
1131 +-// Dont't use wildcards on the names, it may stop working without notice.
1132 +-//
1133 +-// If you only need to copy a file use CopyFile, it's faster.
1134 +-bool CopyDirectory(const FilePath& from_path, const FilePath& to_path,
1135 +- bool recursive);
1136 +-// Deprecated temporary compatibility function.
1137 +-bool CopyDirectory(const std::wstring& from_path, const std::wstring& to_path,
1138 +- bool recursive);
1139 +-
1140 + // Returns true if the given path exists on the local filesystem,
1141 + // false otherwise.
1142 + bool PathExists(const FilePath& path);
1143 +diff -r 1e75c69141ca -r 9b6b694dd82e ipc/chromium/src/base/file_util_posix.cc
1144 +--- a/mozilla/ipc/chromium/src/base/file_util_posix.cc Wed Apr 15 23:57:40 2015 +0200
1145 ++++ b/mozilla/ipc/chromium/src/base/file_util_posix.cc Wed Apr 15 23:59:44 2015 +0200
1146 +@@ -8,9 +8,6 @@
1147 + #include <errno.h>
1148 + #include <fcntl.h>
1149 + #include <fnmatch.h>
1150 +-#ifndef ANDROID
1151 +-#include <fts.h>
1152 +-#endif
1153 + #include <libgen.h>
1154 + #include <stdio.h>
1155 + #include <string.h>
1156 +@@ -53,7 +50,7 @@
1157 + // which works both with and without the recursive flag. I'm not sure we need
1158 + // that functionality. If not, remove from file_util_win.cc, otherwise add it
1159 + // here.
1160 +-bool Delete(const FilePath& path, bool recursive) {
1161 ++bool Delete(const FilePath& path) {
1162 + const char* path_str = path.value().c_str();
1163 + struct stat file_info;
1164 + int test = stat(path_str, &file_info);
1165 +@@ -64,174 +61,8 @@
1166 + }
1167 + if (!S_ISDIR(file_info.st_mode))
1168 + return (unlink(path_str) == 0);
1169 +- if (!recursive)
1170 +- return (rmdir(path_str) == 0);
1171 +
1172 +-#ifdef ANDROID
1173 +- // XXX Need ftsless impl for bionic
1174 +- return false;
1175 +-#else
1176 +- bool success = true;
1177 +- int ftsflags = FTS_PHYSICAL | FTS_NOSTAT;
1178 +- char top_dir[PATH_MAX];
1179 +- if (base::strlcpy(top_dir, path_str,
1180 +- arraysize(top_dir)) >= arraysize(top_dir)) {
1181 +- return false;
1182 +- }
1183 +- char* dir_list[2] = { top_dir, NULL };
1184 +- FTS* fts = fts_open(dir_list, ftsflags, NULL);
1185 +- if (fts) {
1186 +- FTSENT* fts_ent = fts_read(fts);
1187 +- while (success && fts_ent != NULL) {
1188 +- switch (fts_ent->fts_info) {
1189 +- case FTS_DNR:
1190 +- case FTS_ERR:
1191 +- // log error
1192 +- success = false;
1193 +- continue;
1194 +- break;
1195 +- case FTS_DP:
1196 +- success = (rmdir(fts_ent->fts_accpath) == 0);
1197 +- break;
1198 +- case FTS_D:
1199 +- break;
1200 +- case FTS_NSOK:
1201 +- case FTS_F:
1202 +- case FTS_SL:
1203 +- case FTS_SLNONE:
1204 +- success = (unlink(fts_ent->fts_accpath) == 0);
1205 +- break;
1206 +- default:
1207 +- DCHECK(false);
1208 +- break;
1209 +- }
1210 +- fts_ent = fts_read(fts);
1211 +- }
1212 +- fts_close(fts);
1213 +- }
1214 +- return success;
1215 +-#endif
1216 +-}
1217 +-
1218 +-bool Move(const FilePath& from_path, const FilePath& to_path) {
1219 +- if (rename(from_path.value().c_str(), to_path.value().c_str()) == 0)
1220 +- return true;
1221 +-
1222 +- if (!CopyDirectory(from_path, to_path, true))
1223 +- return false;
1224 +-
1225 +- Delete(from_path, true);
1226 +- return true;
1227 +-}
1228 +-
1229 +-bool CopyDirectory(const FilePath& from_path,
1230 +- const FilePath& to_path,
1231 +- bool recursive) {
1232 +- // Some old callers of CopyDirectory want it to support wildcards.
1233 +- // After some discussion, we decided to fix those callers.
1234 +- // Break loudly here if anyone tries to do this.
1235 +- // TODO(evanm): remove this once we're sure it's ok.
1236 +- DCHECK(to_path.value().find('*') == std::string::npos);
1237 +- DCHECK(from_path.value().find('*') == std::string::npos);
1238 +-
1239 +- char top_dir[PATH_MAX];
1240 +- if (base::strlcpy(top_dir, from_path.value().c_str(),
1241 +- arraysize(top_dir)) >= arraysize(top_dir)) {
1242 +- return false;
1243 +- }
1244 +-
1245 +-#ifdef ANDROID
1246 +- // XXX Need ftsless impl for bionic
1247 +- return false;
1248 +-#else
1249 +- char* dir_list[] = { top_dir, NULL };
1250 +- FTS* fts = fts_open(dir_list, FTS_PHYSICAL | FTS_NOSTAT, NULL);
1251 +- if (!fts) {
1252 +- CHROMIUM_LOG(ERROR) << "fts_open failed: " << strerror(errno);
1253 +- return false;
1254 +- }
1255 +-
1256 +- int error = 0;
1257 +- FTSENT* ent;
1258 +- while (!error && (ent = fts_read(fts)) != NULL) {
1259 +- // ent->fts_path is the source path, including from_path, so paste
1260 +- // the suffix after from_path onto to_path to create the target_path.
1261 +- std::string suffix(&ent->fts_path[from_path.value().size()]);
1262 +- // Strip the leading '/' (if any).
1263 +- if (!suffix.empty()) {
1264 +- DCHECK_EQ('/', suffix[0]);
1265 +- suffix.erase(0, 1);
1266 +- }
1267 +- const FilePath target_path = to_path.Append(suffix);
1268 +- switch (ent->fts_info) {
1269 +- case FTS_D: // Preorder directory.
1270 +- // If we encounter a subdirectory in a non-recursive copy, prune it
1271 +- // from the traversal.
1272 +- if (!recursive && ent->fts_level > 0) {
1273 +- if (fts_set(fts, ent, FTS_SKIP) != 0)
1274 +- error = errno;
1275 +- continue;
1276 +- }
1277 +-
1278 +- // Try creating the target dir, continuing on it if it exists already.
1279 +- // Rely on the user's umask to produce correct permissions.
1280 +- if (mkdir(target_path.value().c_str(), 0777) != 0) {
1281 +- if (errno != EEXIST)
1282 +- error = errno;
1283 +- }
1284 +- break;
1285 +- case FTS_F: // Regular file.
1286 +- case FTS_NSOK: // File, no stat info requested.
1287 +- errno = 0;
1288 +- if (!CopyFile(FilePath(ent->fts_path), target_path))
1289 +- error = errno ? errno : EINVAL;
1290 +- break;
1291 +- case FTS_DP: // Postorder directory.
1292 +- case FTS_DOT: // "." or ".."
1293 +- // Skip it.
1294 +- continue;
1295 +- case FTS_DC: // Directory causing a cycle.
1296 +- // Skip this branch.
1297 +- if (fts_set(fts, ent, FTS_SKIP) != 0)
1298 +- error = errno;
1299 +- break;
1300 +- case FTS_DNR: // Directory cannot be read.
1301 +- case FTS_ERR: // Error.
1302 +- case FTS_NS: // Stat failed.
1303 +- // Abort with the error.
1304 +- error = ent->fts_errno;
1305 +- break;
1306 +- case FTS_SL: // Symlink.
1307 +- case FTS_SLNONE: // Symlink with broken target.
1308 +- CHROMIUM_LOG(WARNING) << "CopyDirectory() skipping symbolic link: " <<
1309 +- ent->fts_path;
1310 +- continue;
1311 +- case FTS_DEFAULT: // Some other sort of file.
1312 +- CHROMIUM_LOG(WARNING) << "CopyDirectory() skipping file of unknown type: " <<
1313 +- ent->fts_path;
1314 +- continue;
1315 +- default:
1316 +- NOTREACHED();
1317 +- continue; // Hope for the best!
1318 +- }
1319 +- }
1320 +- // fts_read may have returned NULL and set errno to indicate an error.
1321 +- if (!error && errno != 0)
1322 +- error = errno;
1323 +-
1324 +- if (!fts_close(fts)) {
1325 +- // If we already have an error, let's use that error instead of the error
1326 +- // fts_close set.
1327 +- if (!error)
1328 +- error = errno;
1329 +- }
1330 +-
1331 +- if (error) {
1332 +- CHROMIUM_LOG(ERROR) << "CopyDirectory(): " << strerror(error);
1333 +- return false;
1334 +- }
1335 +- return true;
1336 +-#endif
1337 ++ return (rmdir(path_str) == 0);
1338 + }
1339 +
1340 + bool PathExists(const FilePath& path) {
1341 +diff -r 1e75c69141ca -r 9b6b694dd82e ipc/chromium/src/base/file_util_win.cc
1342 +--- a/mozilla/ipc/chromium/src/base/file_util_win.cc Wed Apr 15 23:57:40 2015 +0200
1343 ++++ b/mozilla/ipc/chromium/src/base/file_util_win.cc Wed Apr 15 23:59:44 2015 +0200
1344 +@@ -27,14 +27,14 @@
1345 + return true;
1346 + }
1347 +
1348 +-bool Delete(const FilePath& path, bool recursive) {
1349 ++bool Delete(const FilePath& path) {
1350 + if (path.value().length() >= MAX_PATH)
1351 + return false;
1352 +
1353 +- // If we're not recursing use DeleteFile; it should be faster. DeleteFile
1354 ++ // Use DeleteFile; it should be faster. DeleteFile
1355 + // fails if passed a directory though, which is why we fall through on
1356 + // failure to the SHFileOperation.
1357 +- if (!recursive && DeleteFile(path.value().c_str()) != 0)
1358 ++ if (DeleteFile(path.value().c_str()) != 0)
1359 + return true;
1360 +
1361 + // SHFILEOPSTRUCT wants the path to be terminated with two NULLs,
1362 +@@ -48,8 +48,7 @@
1363 + file_operation.wFunc = FO_DELETE;
1364 + file_operation.pFrom = double_terminated_path;
1365 + file_operation.fFlags = FOF_NOERRORUI | FOF_SILENT | FOF_NOCONFIRMATION;
1366 +- if (!recursive)
1367 +- file_operation.fFlags |= FOF_NORECURSION | FOF_FILESONLY;
1368 ++ file_operation.fFlags |= FOF_NORECURSION | FOF_FILESONLY;
1369 + int err = SHFileOperation(&file_operation);
1370 + // Some versions of Windows return ERROR_FILE_NOT_FOUND when
1371 + // deleting an empty directory.
1372 +@@ -98,26 +97,6 @@
1373 + return (SHFileOperation(&file_operation) == 0);
1374 + }
1375 +
1376 +-bool CopyDirectory(const FilePath& from_path, const FilePath& to_path,
1377 +- bool recursive) {
1378 +- if (recursive)
1379 +- return ShellCopy(from_path, to_path, true);
1380 +-
1381 +- // Instead of creating a new directory, we copy the old one to include the
1382 +- // security information of the folder as part of the copy.
1383 +- if (!PathExists(to_path)) {
1384 +- // Except that Vista fails to do that, and instead do a recursive copy if
1385 +- // the target directory doesn't exist.
1386 +- if (win_util::GetWinVersion() >= win_util::WINVERSION_VISTA)
1387 +- CreateDirectory(to_path);
1388 +- else
1389 +- ShellCopy(from_path, to_path, false);
1390 +- }
1391 +-
1392 +- FilePath directory = from_path.Append(L"*.*");
1393 +- return ShellCopy(directory, to_path, false);
1394 +-}
1395 +-
1396 + bool PathExists(const FilePath& path) {
1397 + return (GetFileAttributes(path.value().c_str()) != INVALID_FILE_ATTRIBUTES);
1398 + }
1399 +diff -r 1e75c69141ca -r 9b6b694dd82e ipc/chromium/src/base/shared_memory_posix.cc
1400 +--- a/mozilla/ipc/chromium/src/base/shared_memory_posix.cc Wed Apr 15 23:57:40 2015 +0200
1401 ++++ b/mozilla/ipc/chromium/src/base/shared_memory_posix.cc Wed Apr 15 23:59:44 2015 +0200
1402 +@@ -93,7 +93,7 @@
1403 +
1404 + FilePath path(WideToUTF8(mem_filename));
1405 + if (file_util::PathExists(path)) {
1406 +- return file_util::Delete(path, false);
1407 ++ return file_util::Delete(path);
1408 + }
1409 +
1410 + // Doesn't exist, so success.
1411 +@@ -170,7 +170,7 @@
1412 + // Deleting the file prevents anyone else from mapping it in
1413 + // (making it private), and prevents the need for cleanup (once
1414 + // the last fd is closed, it is truly freed).
1415 +- file_util::Delete(path, false);
1416 ++ file_util::Delete(path);
1417 + } else {
1418 + std::wstring mem_filename;
1419 + if (FilenameForMemoryName(name, &mem_filename) == false)
1420
1421 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
1422 new file mode 100644
1423 index 0000000..4a35e82
1424 --- /dev/null
1425 +++ b/mail-client/thunderbird/files/musl/thunderbird-38.3.0-fix-netwerk.patch
1426 @@ -0,0 +1,37 @@
1427 +--- a/mozilla/netwerk/sctp/src/netinet/sctp_os_userspace.h
1428 ++++ b/mozilla/netwerk/sctp/src/netinet/sctp_os_userspace.h
1429 +@@ -400,11 +400,8 @@
1430 + };
1431 +
1432 + #else /* !defined(Userspace_os_Windows) */
1433 +-#include <sys/cdefs.h> /* needed? added from old __FreeBSD__ */
1434 + #include <sys/socket.h>
1435 +-#if defined(__Userspace_os_DragonFly) || defined(__Userspace_os_FreeBSD) || defined(__Userspace_os_Linux) || defined(__Userspace_os_NetBSD) || defined(__Userspace_os_OpenBSD) || defined(ANDROID)
1436 + #include <pthread.h>
1437 +-#endif
1438 + typedef pthread_mutex_t userland_mutex_t;
1439 + typedef pthread_cond_t userland_cond_t;
1440 + typedef pthread_t userland_thread_t;
1441 +--- a/mozilla/netwerk/sctp/src/netinet/sctp_pcb.c
1442 ++++ b/mozilla/netwerk/sctp/src/netinet/sctp_pcb.c
1443 +@@ -30,6 +30,9 @@
1444 + * THE POSSIBILITY OF SUCH DAMAGE.
1445 + */
1446 +
1447 ++#define _BSD_SOURCE /* for IPPORT_RESERVED */
1448 ++#include <netdb.h>
1449 ++
1450 + #ifdef __FreeBSD__
1451 + #include <sys/cdefs.h>
1452 + __FBSDID("$FreeBSD: head/sys/netinet/sctp_pcb.c 258765 2013-11-30 12:51:19Z tuexen $");
1453 +--- a/mozilla/netwerk/sctp/src/user_queue.h
1454 ++++ b/mozilla/netwerk/sctp/src/user_queue.h
1455 +@@ -31,7 +31,7 @@
1456 + #ifndef _USER_QUEUE_H_
1457 + #define _USER_QUEUE_H_
1458 +
1459 +-#if !defined (__Userspace_os_Windows)
1460 ++#if defined(__Userspace_os_FreeBSD)
1461 + #include <sys/cdefs.h>
1462 + #endif
1463 + /*
1464
1465 diff --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
1466 new file mode 100644
1467 index 0000000..25f8198
1468 --- /dev/null
1469 +++ b/mail-client/thunderbird/files/musl/thunderbird-38.3.0-fix-sysctl-headers.patch
1470 @@ -0,0 +1,33 @@
1471 +# HG changeset patch
1472 +# User Felix Janda <felix.janda@××××××.de>
1473 +# Date 1423171460 -3600
1474 +# Thu Feb 05 22:24:20 2015 +0100
1475 +# Node ID af818fbea923d7c026bc8e22a6512f14f788ba56
1476 +# Parent 9c40ffbcf6b32d688abf089f2cce3c85dd8bdb29
1477 +Bug 1130175 - nICEr: avoid sysctl.h include. r=bwc
1478 +
1479 +diff -r 9c40ffbcf6b3 -r af818fbea923 media/mtransport/third_party/nICEr/src/stun/addrs.c
1480 +--- a/mozilla/media/mtransport/third_party/nICEr/src/stun/addrs.c Mon Feb 23 07:39:00 2015 -0500
1481 ++++ b/mozilla/media/mtransport/third_party/nICEr/src/stun/addrs.c Thu Feb 05 22:24:20 2015 +0100
1482 +@@ -45,13 +45,11 @@
1483 + #include <sys/param.h>
1484 + #include <sys/socket.h>
1485 + #ifndef ANDROID
1486 +-#include <sys/sysctl.h>
1487 + #include <sys/syslog.h>
1488 + #else
1489 + #include <syslog.h>
1490 + /* Work around an Android NDK < r8c bug */
1491 + #undef __unused
1492 +-#include <linux/sysctl.h>
1493 + #endif
1494 + #ifndef LINUX
1495 + #include <net/if.h>
1496 +@@ -122,6 +120,7 @@
1497 + */
1498 +
1499 + #include <err.h>
1500 ++#include <sys/sysctl.h>
1501 +
1502 + static void stun_rt_xaddrs(caddr_t, caddr_t, struct rt_addrinfo *);
1503 + static int stun_grab_addrs(char *name, int addrcount,
1504
1505 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
1506 new file mode 100644
1507 index 0000000..a01ecd1
1508 --- /dev/null
1509 +++ b/mail-client/thunderbird/files/musl/thunderbird-38.3.0-fix-u_int64_t.patch
1510 @@ -0,0 +1,68 @@
1511 +# HG changeset patch
1512 +# User Felix Janda <felix.janda@××××××.de>
1513 +# Date 1423173074 -3600
1514 +# Thu Feb 05 22:51:14 2015 +0100
1515 +# Node ID a446b4e607445d1c6faec25b43a5d9b5d45bcacf
1516 +# Parent 89120ad0518fb4932de5b5f466debed68ee787ce
1517 +Bug 1130164 - tools/profiler: Use <stdint.h> types. r=jseward
1518 +
1519 +diff -r 89120ad0518f -r a446b4e60744 tools/profiler/UnwinderThread2.cpp
1520 +--- a/mozilla/tools/profiler/UnwinderThread2.cpp Thu Mar 05 06:04:03 2015 -0500
1521 ++++ b/mozilla/tools/profiler/UnwinderThread2.cpp Thu Feb 05 22:51:14 2015 +0100
1522 +@@ -470,7 +470,7 @@
1523 + //////////////////////////////////////////////////////////
1524 +
1525 + // This is the interface to LUL.
1526 +-typedef struct { u_int64_t pc; u_int64_t sp; } PCandSP;
1527 ++typedef struct { uint64_t pc; uint64_t sp; } PCandSP;
1528 +
1529 + // Forward declaration. Implementation is below.
1530 + static
1531 +@@ -1338,7 +1338,7 @@
1532 + else {
1533 + // We have at least one N and one P entry available.
1534 + // Scan forwards to find the SP of the current P entry
1535 +- u_int64_t sp_cur_P = 0;
1536 ++ uint64_t sp_cur_P = 0;
1537 + unsigned int m = next_P + 1;
1538 + while (1) {
1539 + /* This assertion should hold because in a well formed
1540 +@@ -1349,7 +1349,7 @@
1541 + if (ent.is_ent_hint('Q'))
1542 + break;
1543 + if (ent.is_ent('S')) {
1544 +- sp_cur_P = reinterpret_cast<u_int64_t>(ent.get_tagPtr());
1545 ++ sp_cur_P = reinterpret_cast<uint64_t>(ent.get_tagPtr());
1546 + break;
1547 + }
1548 + m++;
1549 +@@ -1358,7 +1358,7 @@
1550 + if (0) LOG(" P <= last_was_P && sp_cur_P == 0");
1551 + use_P = true;
1552 + } else {
1553 +- u_int64_t sp_cur_N = pairs[next_N].sp;
1554 ++ uint64_t sp_cur_N = pairs[next_N].sp;
1555 + use_P = (sp_cur_P > sp_cur_N);
1556 + if (0) LOGF(" %s <= sps P %p N %p",
1557 + use_P ? "P" : "N", (void*)(intptr_t)sp_cur_P,
1558 +diff -r 89120ad0518f -r a446b4e60744 tools/profiler/local_debug_info_symbolizer.cc
1559 +--- a/mozilla/tools/profiler/local_debug_info_symbolizer.cc Thu Mar 05 06:04:03 2015 -0500
1560 ++++ b/mozilla/tools/profiler/local_debug_info_symbolizer.cc Thu Feb 05 22:51:14 2015 +0100
1561 +@@ -222,7 +222,7 @@
1562 + debug_info_module = it->second;
1563 + }
1564 +
1565 +- u_int64_t address = frame->instruction - frame->module->base_address();
1566 ++ uint64_t address = frame->instruction - frame->module->base_address();
1567 + Module::Function* function =
1568 + debug_info_module->FindFunctionByAddress(address);
1569 + if (function) {
1570 +@@ -282,7 +282,7 @@
1571 + if (it == symbols_.end()) return NULL;
1572 +
1573 + Module* module = it->second;
1574 +- u_int64_t address = frame->instruction - frame->module->base_address();
1575 ++ uint64_t address = frame->instruction - frame->module->base_address();
1576 + Module::StackFrameEntry* entry =
1577 + module->FindStackFrameEntryByAddress(address);
1578 + if (!entry)
1579
1580 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
1581 new file mode 100644
1582 index 0000000..628f6f8
1583 --- /dev/null
1584 +++ b/mail-client/thunderbird/files/musl/thunderbird-38.3.0-fix-xpcom-blocksize.patch
1585 @@ -0,0 +1,31 @@
1586 +# HG changeset patch
1587 +# User Felix Janda <felix.janda@××××××.de>
1588 +# Date 1431977414 -7200
1589 +# Node ID fd517a7fc20f9a63e0d3d3246aa617a0b203d141
1590 +# Parent 580e0c9bb03f867512b4f839edc45c338ebdb411
1591 +Bug 1152176 - xpcom: Define linux kernel BLOCK_SIZE if necessary. r=nfroyd
1592 +
1593 +diff --git a/xpcom/io/nsLocalFileUnix.cpp b/xpcom/io/nsLocalFileUnix.cpp
1594 +--- a/mozilla/xpcom/io/nsLocalFileUnix.cpp
1595 ++++ b/mozilla/xpcom/io/nsLocalFileUnix.cpp
1596 +@@ -23,16 +23,19 @@
1597 + #if defined(VMS)
1598 + #include <fabdef.h>
1599 + #endif
1600 +
1601 + #if defined(HAVE_SYS_QUOTA_H) && defined(HAVE_LINUX_QUOTA_H)
1602 + #define USE_LINUX_QUOTACTL
1603 + #include <sys/mount.h>
1604 + #include <sys/quota.h>
1605 ++#ifndef BLOCK_SIZE
1606 ++#define BLOCK_SIZE 1024 /* kernel block size */
1607 ++#endif
1608 + #endif
1609 +
1610 + #include "xpcom-private.h"
1611 + #include "nsDirectoryServiceDefs.h"
1612 + #include "nsCRT.h"
1613 + #include "nsCOMPtr.h"
1614 + #include "nsMemory.h"
1615 + #include "nsIFile.h"
1616 +
1617
1618 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
1619 new file mode 100644
1620 index 0000000..c2630ff
1621 --- /dev/null
1622 +++ b/mail-client/thunderbird/files/musl/thunderbird-38.3.0-profiler-gettid.patch
1623 @@ -0,0 +1,51 @@
1624 +# HG changeset patch
1625 +# User Felix Janda <felix.janda@××××××.de>
1626 +# Date 1423173146 -3600
1627 +# Thu Feb 05 22:52:26 2015 +0100
1628 +# Node ID c084550fcab646d911bbf4f05747f228759161e4
1629 +# Parent 2d344ef8da33717224d5a08570dc834ca2254f9f
1630 +profiler: avoid getcontext and gettid
1631 +
1632 +diff -r 2d344ef8da33 -r c084550fcab6 tools/profiler/GeckoTaskTracer.cpp
1633 +--- a/mozilla/tools/profiler/GeckoTaskTracer.cpp Sun Feb 01 19:32:36 2015 +0100
1634 ++++ b/mozilla/tools/profiler/GeckoTaskTracer.cpp Thu Feb 05 22:52:26 2015 +0100
1635 +@@ -18,8 +18,8 @@
1636 +
1637 + #include <stdarg.h>
1638 +
1639 +-#if defined(__GLIBC__)
1640 +-// glibc doesn't implement gettid(2).
1641 ++#if defined(OS_LINUX) && !defined(ANDROID)
1642 ++// only bionic wraps gettid(2).
1643 + #include <sys/syscall.h>
1644 + static pid_t gettid()
1645 + {
1646 +diff -r 2d344ef8da33 -r c084550fcab6 tools/profiler/platform-linux.cc
1647 +--- a/mozilla/tools/profiler/platform-linux.cc Sun Feb 01 19:32:36 2015 +0100
1648 ++++ b/mozilla/tools/profiler/platform-linux.cc Thu Feb 05 22:52:26 2015 +0100
1649 +@@ -92,8 +92,8 @@
1650 +
1651 + #define SIGNAL_SAVE_PROFILE SIGUSR2
1652 +
1653 +-#if defined(__GLIBC__)
1654 +-// glibc doesn't implement gettid(2).
1655 ++#if !defined(ANDROID)
1656 ++// only android wraps gettid(2).
1657 + #include <sys/syscall.h>
1658 + pid_t gettid()
1659 + {
1660 +@@ -652,10 +652,10 @@
1661 + {
1662 + MOZ_ASSERT(aContext);
1663 + ucontext_t* pContext = reinterpret_cast<ucontext_t*>(aContext);
1664 +- if (!getcontext(pContext)) {
1665 +- context = pContext;
1666 +- SetSampleContext(this, aContext);
1667 +- }
1668 ++// if (!getcontext(pContext)) {
1669 ++// context = pContext;
1670 ++// SetSampleContext(this, aContext);
1671 ++// }
1672 + }
1673 +
1674 + void OS::SleepMicro(int microseconds)
1675
1676 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
1677 new file mode 100644
1678 index 0000000..ad87fdd
1679 --- /dev/null
1680 +++ b/mail-client/thunderbird/files/musl/thunderbird-38.3.0-queue.patch
1681 @@ -0,0 +1,28 @@
1682 +# HG changeset patch
1683 +# User Felix Janda <felix.janda@××××××.de>
1684 +# Date 1428437372 -7200
1685 +# Tue Apr 07 22:09:32 2015 +0200
1686 +# Node ID e783ca150f8370a4d8811ceecc28707617e6a4b8
1687 +# Parent ab0490972e1e47a356c3fc2f9e749a2d77a9739b
1688 +# https://bugzilla.mozilla.org/show_bug.cgi?id=1152185
1689 +Include port/generic/include also for webrtc/signaling/test
1690 +
1691 +diff -r ab0490972e1e media/webrtc/signaling/test/moz.build
1692 +--- a/mozilla/media/webrtc/signaling/test/moz.build Mon Apr 06 21:30:03 2015 -0400
1693 ++++ b/mozilla/media/webrtc/signaling/test/moz.build Tue Apr 07 22:51:38 2015 +0200
1694 +@@ -35,6 +35,7 @@
1695 + '/media/mtransport/third_party/nrappkit/src/event',
1696 + '/media/mtransport/third_party/nrappkit/src/log',
1697 + '/media/mtransport/third_party/nrappkit/src/plugin',
1698 ++ '/media/mtransport/third_party/nrappkit/src/port/generic/include',
1699 + '/media/mtransport/third_party/nrappkit/src/registry',
1700 + '/media/mtransport/third_party/nrappkit/src/share',
1701 + '/media/mtransport/third_party/nrappkit/src/stats',
1702 +@@ -84,7 +85,6 @@
1703 + if CONFIG['OS_TARGET'] in ('DragonFly', 'FreeBSD', 'NetBSD', 'OpenBSD'):
1704 + LOCAL_INCLUDES += [
1705 + '/media/mtransport/third_party/nrappkit/src/port/darwin/include',
1706 +- '/media/mtransport/third_party/nrappkit/src/port/generic/include',
1707 + ]
1708 +
1709 + USE_LIBS += [
1710
1711 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
1712 new file mode 100644
1713 index 0000000..692e39e
1714 --- /dev/null
1715 +++ b/mail-client/thunderbird/files/musl/thunderbird-38.3.0-sandbox-cdefs.patch
1716 @@ -0,0 +1,22 @@
1717 +# HG changeset patch
1718 +# User Felix Janda <felix.janda@××××××.de>
1719 +# Date 1423172498 -3600
1720 +# Thu Feb 05 22:41:38 2015 +0100
1721 +# Node ID 375c73854f92701f13403b8461b35727dccde825
1722 +# Parent 2d344ef8da33717224d5a08570dc834ca2254f9f
1723 +# https://code.google.com/p/chromium/issues/detail?id=463208
1724 +# https://bugzilla.mozilla.org/show_bug.cgi?id=1157864
1725 +chromium sandbox: Avoid cdefs.h
1726 +
1727 +diff -r 2d344ef8da33 -r 375c73854f92 security/sandbox/chromium/sandbox/linux/seccomp-bpf/linux_seccomp.h
1728 +--- a/mozilla/security/sandbox/chromium/sandbox/linux/seccomp-bpf/linux_seccomp.h Sun Feb 01 19:32:36 2015 +0100
1729 ++++ b/mozilla/security/sandbox/chromium/sandbox/linux/seccomp-bpf/linux_seccomp.h Thu Feb 05 22:41:38 2015 +0100
1730 +@@ -16,7 +16,7 @@
1731 + #include <asm/unistd.h>
1732 + #include <linux/filter.h>
1733 +
1734 +-#include <sys/cdefs.h>
1735 ++#include <sys/types.h>
1736 + // Old Bionic versions do not have sys/user.h. The if can be removed once we no
1737 + // longer need to support these old Bionic versions.
1738 + // All x86_64 builds use a new enough bionic to have sys/user.h.
1739
1740 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
1741 new file mode 100644
1742 index 0000000..ce892d6
1743 --- /dev/null
1744 +++ b/mail-client/thunderbird/files/musl/thunderbird-38.3.0-updater.patch
1745 @@ -0,0 +1,43 @@
1746 +# HG changeset patch
1747 +# User Felix Janda <felix.janda@××××××.de>
1748 +# Date 1428142217 -7200
1749 +# Sat Apr 04 12:10:17 2015 +0200
1750 +# Node ID c04cc88f3bb26e254356df6de06583a542ae6796
1751 +# Parent 90adc073cbc6398f4fab9b1cd07b685368559f34
1752 +# https://bugzilla.mozilla.org/show_bug.cgi?id=1157850
1753 +updater: no fts.h and MAXNAMLEN
1754 +
1755 +diff -r 90adc073cbc6 -r c04cc88f3bb2 toolkit/mozapps/update/common/updatedefines.h
1756 +--- a/mozilla/toolkit/mozapps/update/common/updatedefines.h Thu Apr 02 08:10:00 2015 -0400
1757 ++++ b/mozilla/toolkit/mozapps/update/common/updatedefines.h Sat Apr 04 12:10:17 2015 +0200
1758 +@@ -109,7 +109,7 @@
1759 + # include <sys/wait.h>
1760 + # include <unistd.h>
1761 +
1762 +-#ifdef SOLARIS
1763 ++#if 1
1764 + # include <sys/stat.h>
1765 + #else
1766 + # include <fts.h>
1767 +diff -r 90adc073cbc6 -r c04cc88f3bb2 toolkit/mozapps/update/updater/updater.cpp
1768 +--- a/mozilla/toolkit/mozapps/update/updater/updater.cpp Thu Apr 02 08:10:00 2015 -0400
1769 ++++ b/mozilla/toolkit/mozapps/update/updater/updater.cpp Sat Apr 04 12:10:17 2015 +0200
1770 +@@ -3338,7 +3338,8 @@
1771 + return rv;
1772 + }
1773 +
1774 +-#elif defined(SOLARIS)
1775 ++#elif 1
1776 ++//#defined(SOLARIS)
1777 + int add_dir_entries(const NS_tchar *dirpath, ActionList *list)
1778 + {
1779 + int rv = OK;
1780 +@@ -3346,7 +3347,7 @@
1781 + NS_tchar foundpath[MAXPATHLEN];
1782 + struct {
1783 + dirent dent_buffer;
1784 +- char chars[MAXNAMLEN];
1785 ++ char chars[NAME_MAX];
1786 + } ent_buf;
1787 + struct dirent* ent;
1788 +
1789
1790 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
1791 new file mode 100644
1792 index 0000000..9b0480d
1793 --- /dev/null
1794 +++ b/mail-client/thunderbird/files/musl/thunderbird-38.3.0-xre.patch
1795 @@ -0,0 +1,37 @@
1796 +# HG changeset patch
1797 +# User Felix Janda <felix.janda@××××××.de>
1798 +# Date 1423172841 -3600
1799 +# Thu Feb 05 22:47:21 2015 +0100
1800 +# Node ID 48efa200aae98f4b5fced4f1afa4f1b8c8cde9e1
1801 +# Parent 3693f117ad5018927922c92cf5bd9739bc25f394
1802 +Bug 1130710 - xre: Use stdint uint*_t instead of nonstandard __uint*_t. r=bsmedberg
1803 +
1804 +diff -r 3693f117ad50 -r 48efa200aae9 toolkit/xre/nsSigHandlers.cpp
1805 +--- a/mozilla/toolkit/xre/nsSigHandlers.cpp Mon Dec 01 18:50:26 2014 +0100
1806 ++++ b/mozilla/toolkit/xre/nsSigHandlers.cpp Thu Feb 05 22:47:21 2015 +0100
1807 +@@ -165,7 +165,7 @@
1808 + status->__invalid = status->__denorm = status->__zdiv = status->__ovrfl = status->__undfl =
1809 + status->__precis = status->__stkflt = status->__errsumm = 0;
1810 +
1811 +- __uint32_t *mxcsr = &uc->uc_mcontext->__fs.__fpu_mxcsr;
1812 ++ uint32_t *mxcsr = &uc->uc_mcontext->__fs.__fpu_mxcsr;
1813 + *mxcsr |= SSE_EXCEPTION_MASK; /* disable all SSE exceptions */
1814 + *mxcsr &= ~SSE_STATUS_FLAGS; /* clear all pending SSE exceptions */
1815 + #endif
1816 +@@ -185,13 +185,13 @@
1817 + *sw &= ~FPU_STATUS_FLAGS;
1818 + #endif
1819 + #if defined(__amd64__)
1820 +- __uint16_t *cw = &uc->uc_mcontext.fpregs->cwd;
1821 ++ uint16_t *cw = &uc->uc_mcontext.fpregs->cwd;
1822 + *cw |= FPU_EXCEPTION_MASK;
1823 +
1824 +- __uint16_t *sw = &uc->uc_mcontext.fpregs->swd;
1825 ++ uint16_t *sw = &uc->uc_mcontext.fpregs->swd;
1826 + *sw &= ~FPU_STATUS_FLAGS;
1827 +
1828 +- __uint32_t *mxcsr = &uc->uc_mcontext.fpregs->mxcsr;
1829 ++ uint32_t *mxcsr = &uc->uc_mcontext.fpregs->mxcsr;
1830 + *mxcsr |= SSE_EXCEPTION_MASK; /* disable all SSE exceptions */
1831 + *mxcsr &= ~SSE_STATUS_FLAGS; /* clear all pending SSE exceptions */
1832 + #endif
1833
1834 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
1835 new file mode 100644
1836 index 0000000..7723b81
1837 --- /dev/null
1838 +++ b/mail-client/thunderbird/files/thunderbird-31.7.0-gcc5-1.patch
1839 @@ -0,0 +1,242 @@
1840 +Submitted By: Fernando de Oliveira <famobr at yahoo dot com dot br>
1841 +Date: 2015-05-17
1842 +Initial Package Version: 31.7.0
1843 +Upstream Status: Unknown
1844 +Origin: Upstream, self
1845 +URL: URL=https://bug1024492.bugzilla.mozilla.org/attachment.cgi?id=8439834&action=diff&context=patch&format=raw&headers=1
1846 +Description: Fix building with gcc5
1847 +
1848 +diff -Nur comm-esr31.orig/mozilla/js/src/builtin/TypedObject.cpp comm-esr31/mozilla/js/src/builtin/TypedObject.cpp
1849 +--- comm-esr31.orig/mozilla/js/src/builtin/TypedObject.cpp 2015-05-07 15:53:49.000000000 -0300
1850 ++++ comm-esr31/mozilla/js/src/builtin/TypedObject.cpp 2015-05-17 09:38:36.550714030 -0300
1851 +@@ -710,12 +710,12 @@
1852 + contents.append(")");
1853 + RootedAtom stringRepr(cx, contents.finishAtom());
1854 + if (!stringRepr)
1855 +- return nullptr;
1856 ++ return false;
1857 +
1858 + // Extract ArrayType.prototype
1859 + RootedObject arrayTypePrototype(cx, GetPrototype(cx, arrayTypeGlobal));
1860 + if (!arrayTypePrototype)
1861 +- return nullptr;
1862 ++ return false;
1863 +
1864 + // Create the instance of ArrayType
1865 + Rooted<UnsizedArrayTypeDescr*> obj(cx);
1866 +@@ -728,7 +728,7 @@
1867 + if (!JSObject::defineProperty(cx, obj, cx->names().length,
1868 + UndefinedHandleValue, nullptr, nullptr,
1869 + JSPROP_READONLY | JSPROP_PERMANENT))
1870 +- return nullptr;
1871 ++ return false;
1872 +
1873 + args.rval().setObject(*obj);
1874 + return true;
1875 +@@ -762,7 +762,7 @@
1876 + if (!size.isValid()) {
1877 + JS_ReportErrorNumber(cx, js_GetErrorMessage, nullptr,
1878 + JSMSG_TYPEDOBJECT_TOO_BIG);
1879 +- return nullptr;
1880 ++ return false;
1881 + }
1882 +
1883 + // Construct a canonical string `new ArrayType(<elementType>).dimension(N)`:
1884 +@@ -775,7 +775,7 @@
1885 + contents.append(")");
1886 + RootedAtom stringRepr(cx, contents.finishAtom());
1887 + if (!stringRepr)
1888 +- return nullptr;
1889 ++ return false;
1890 +
1891 + // Create the sized type object.
1892 + Rooted<SizedArrayTypeDescr*> obj(cx);
1893 +@@ -793,7 +793,7 @@
1894 + if (!JSObject::defineProperty(cx, obj, cx->names().length,
1895 + lengthVal, nullptr, nullptr,
1896 + JSPROP_READONLY | JSPROP_PERMANENT))
1897 +- return nullptr;
1898 ++ return false;
1899 +
1900 + // Add `unsized` property, which is a link from the sized
1901 + // array to the unsized array.
1902 +@@ -801,7 +801,7 @@
1903 + if (!JSObject::defineProperty(cx, obj, cx->names().unsized,
1904 + unsizedTypeDescrValue, nullptr, nullptr,
1905 + JSPROP_READONLY | JSPROP_PERMANENT))
1906 +- return nullptr;
1907 ++ return false;
1908 +
1909 + args.rval().setObject(*obj);
1910 + return true;
1911 +@@ -1253,7 +1253,7 @@
1912 + Rooted<TypedProto*> proto(cx);
1913 + proto = NewObjectWithProto<TypedProto>(cx, objProto, nullptr, TenuredObject);
1914 + if (!proto)
1915 +- return nullptr;
1916 ++ return false;
1917 + proto->initTypeDescrSlot(*descr);
1918 + descr->initReservedSlot(JS_DESCR_SLOT_TYPROTO, ObjectValue(*proto));
1919 +
1920 +@@ -1358,14 +1358,14 @@
1921 + #define BINARYDATA_SCALAR_DEFINE(constant_, type_, name_) \
1922 + if (!DefineSimpleTypeDescr<ScalarTypeDescr>(cx, global, module, constant_, \
1923 + cx->names().name_)) \
1924 +- return nullptr;
1925 ++ return false;
1926 + JS_FOR_EACH_SCALAR_TYPE_REPR(BINARYDATA_SCALAR_DEFINE)
1927 + #undef BINARYDATA_SCALAR_DEFINE
1928 +
1929 + #define BINARYDATA_REFERENCE_DEFINE(constant_, type_, name_) \
1930 + if (!DefineSimpleTypeDescr<ReferenceTypeDescr>(cx, global, module, constant_, \
1931 + cx->names().name_)) \
1932 +- return nullptr;
1933 ++ return false;
1934 + JS_FOR_EACH_REFERENCE_TYPE_REPR(BINARYDATA_REFERENCE_DEFINE)
1935 + #undef BINARYDATA_REFERENCE_DEFINE
1936 +
1937 +@@ -1375,14 +1375,14 @@
1938 + arrayType = DefineMetaTypeDescr<ArrayMetaTypeDescr>(
1939 + cx, global, module, TypedObjectModuleObject::ArrayTypePrototype);
1940 + if (!arrayType)
1941 +- return nullptr;
1942 ++ return false;
1943 +
1944 + RootedValue arrayTypeValue(cx, ObjectValue(*arrayType));
1945 + if (!JSObject::defineProperty(cx, module, cx->names().ArrayType,
1946 + arrayTypeValue,
1947 + nullptr, nullptr,
1948 + JSPROP_READONLY | JSPROP_PERMANENT))
1949 +- return nullptr;
1950 ++ return false;
1951 +
1952 + // StructType.
1953 +
1954 +@@ -1390,14 +1390,14 @@
1955 + structType = DefineMetaTypeDescr<StructMetaTypeDescr>(
1956 + cx, global, module, TypedObjectModuleObject::StructTypePrototype);
1957 + if (!structType)
1958 +- return nullptr;
1959 ++ return false;
1960 +
1961 + RootedValue structTypeValue(cx, ObjectValue(*structType));
1962 + if (!JSObject::defineProperty(cx, module, cx->names().StructType,
1963 + structTypeValue,
1964 + nullptr, nullptr,
1965 + JSPROP_READONLY | JSPROP_PERMANENT))
1966 +- return nullptr;
1967 ++ return false;
1968 +
1969 + // Everything is setup, install module on the global object:
1970 + RootedValue moduleValue(cx, ObjectValue(*module));
1971 +@@ -1407,7 +1407,7 @@
1972 + nullptr, nullptr,
1973 + 0))
1974 + {
1975 +- return nullptr;
1976 ++ return false;
1977 + }
1978 +
1979 + return module;
1980 +@@ -2466,7 +2466,7 @@
1981 + if (length < 0) {
1982 + JS_ReportErrorNumber(cx, js_GetErrorMessage,
1983 + nullptr, JSMSG_TYPEDOBJECT_BAD_ARGS);
1984 +- return nullptr;
1985 ++ return false;
1986 + }
1987 + Rooted<TypedObject*> obj(cx, createZeroed(cx, callee, length));
1988 + if (!obj)
1989 +diff -Nur comm-esr31.orig/mozilla/js/src/frontend/BytecodeCompiler.cpp comm-esr31/mozilla/js/src/frontend/BytecodeCompiler.cpp
1990 +--- comm-esr31.orig/mozilla/js/src/frontend/BytecodeCompiler.cpp 2015-05-07 15:53:49.000000000 -0300
1991 ++++ comm-esr31/mozilla/js/src/frontend/BytecodeCompiler.cpp 2015-05-17 09:39:00.183186652 -0300
1992 +@@ -544,7 +544,7 @@
1993 +
1994 + RootedScriptSource sourceObject(cx, CreateScriptSourceObject(cx, options));
1995 + if (!sourceObject)
1996 +- return nullptr;
1997 ++ return false;
1998 + ScriptSource* ss = sourceObject->source();
1999 +
2000 + SourceCompressionTask sct(cx);
2001 +diff -Nur comm-esr31.orig/mozilla/js/src/vm/ScopeObject.h comm-esr31/mozilla/js/src/vm/ScopeObject.h
2002 +--- comm-esr31.orig/mozilla/js/src/vm/ScopeObject.h 2015-05-07 15:53:56.000000000 -0300
2003 ++++ comm-esr31/mozilla/js/src/vm/ScopeObject.h 2015-05-17 09:53:20.202966820 -0300
2004 +@@ -63,21 +63,9 @@
2005 + bool onNamedLambda;
2006 +
2007 + public:
2008 +- StaticScopeIter(ExclusiveContext* cx, JSObject* obj)
2009 +- : obj(cx, obj), onNamedLambda(false)
2010 +- {
2011 +- JS_STATIC_ASSERT(allowGC == CanGC);
2012 +- JS_ASSERT_IF(obj, obj->is<StaticBlockObject>() || obj->is<StaticWithObject>() ||
2013 +- obj->is<JSFunction>());
2014 +- }
2015 ++ StaticScopeIter(ExclusiveContext *cx, JSObject *obj);
2016 +
2017 +- StaticScopeIter(JSObject* obj)
2018 +- : obj((ExclusiveContext*) nullptr, obj), onNamedLambda(false)
2019 +- {
2020 +- JS_STATIC_ASSERT(allowGC == NoGC);
2021 +- JS_ASSERT_IF(obj, obj->is<StaticBlockObject>() || obj->is<StaticWithObject>() ||
2022 +- obj->is<JSFunction>());
2023 +- }
2024 ++ explicit StaticScopeIter(JSObject *obj);
2025 +
2026 + bool done() const;
2027 + void operator++(int);
2028 +diff -Nur comm-esr31.orig/mozilla/js/src/vm/ScopeObject-inl.h comm-esr31/mozilla/js/src/vm/ScopeObject-inl.h
2029 +--- comm-esr31.orig/mozilla/js/src/vm/ScopeObject-inl.h 2015-05-07 15:53:56.000000000 -0300
2030 ++++ comm-esr31/mozilla/js/src/vm/ScopeObject-inl.h 2015-05-17 09:51:33.939344362 -0300
2031 +@@ -13,6 +13,26 @@
2032 +
2033 + namespace js {
2034 +
2035 ++template <AllowGC allowGC>
2036 ++inline
2037 ++StaticScopeIter<allowGC>::StaticScopeIter(ExclusiveContext *cx, JSObject *obj)
2038 ++ : obj(cx, obj), onNamedLambda(false)
2039 ++{
2040 ++ JS_STATIC_ASSERT(allowGC == CanGC);
2041 ++ JS_ASSERT_IF(obj, obj->is<StaticBlockObject>() || obj->is<StaticWithObject>() ||
2042 ++ obj->is<JSFunction>());
2043 ++}
2044 ++
2045 ++template <AllowGC allowGC>
2046 ++inline
2047 ++StaticScopeIter<allowGC>::StaticScopeIter(JSObject *obj)
2048 ++ : obj((ExclusiveContext *) nullptr, obj), onNamedLambda(false)
2049 ++{
2050 ++ JS_STATIC_ASSERT(allowGC == NoGC);
2051 ++ JS_ASSERT_IF(obj, obj->is<StaticBlockObject>() || obj->is<StaticWithObject>() ||
2052 ++ obj->is<JSFunction>());
2053 ++}
2054 ++
2055 + inline void
2056 + ScopeObject::setAliasedVar(JSContext* cx, ScopeCoordinate sc, PropertyName* name, const Value& v)
2057 + {
2058 +diff -Naur comm-esr31.orig/mozilla/netwerk/ipc/NeckoParent.cpp porg-build-2015.05.17-10h30m39s/comm-esr31/mozilla/netwerk/ipc/NeckoParent.cpp
2059 +--- comm-esr31.orig/mozilla/netwerk/ipc/NeckoParent.cpp 2015-05-07 15:53:46.000000000 -0300
2060 ++++ porg-build-2015.05.17-10h30m39s/comm-esr31/mozilla/netwerk/ipc/NeckoParent.cpp 2015-05-17 10:51:24.013181648 -0300
2061 +@@ -359,7 +359,7 @@
2062 + RtspChannelParent* p = static_cast<RtspChannelParent*>(aActor);
2063 + return p->Init(aConnectArgs);
2064 + #else
2065 +- return nullptr;
2066 ++ return false;
2067 + #endif
2068 + }
2069 +
2070 +diff -Naur comm-esr31.orig/mozilla/js/xpconnect/wrappers/XrayWrapper.cpp comm-esr31/mozilla/js/xpconnect/wrappers/XrayWrapper.cpp
2071 +--- comm-esr31.orig/mozilla/js/xpconnect/wrappers/XrayWrapper.cpp 2015-05-07 15:53:42.000000000 -0300
2072 ++++ comm-esr31/mozilla/js/xpconnect/wrappers/XrayWrapper.cpp 2015-05-17 11:22:59.442942469 -0300
2073 +@@ -351,7 +351,7 @@
2074 + {
2075 + JSAutoCompartment ac(cx, target);
2076 + if (!JS_GetClassPrototype(cx, key, protop))
2077 +- return nullptr;
2078 ++ return false;
2079 + }
2080 + return JS_WrapObject(cx, protop);
2081 + }
2082
2083 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
2084 new file mode 100644
2085 index 0000000..97c5fd0
2086 --- /dev/null
2087 +++ b/mail-client/thunderbird/files/thunderbird-gentoo-default-prefs-1.js-1
2088 @@ -0,0 +1,9 @@
2089 +pref("app.update.enabled", false);
2090 +pref("app.update.autoInstallEnabled", false);
2091 +pref("browser.display.use_system_colors", true);
2092 +pref("intl.locale.matchOS", true);
2093 +pref("general.useragent.locale", "chrome://global/locale/intl.properties");
2094 +pref("mail.shell.checkDefaultClient", false);
2095 +# Do not switch to Smart Folders after upgrade to 3.0b4
2096 +pref("mail.folder.views.version", "1");
2097 +pref("extensions.autoDisableScopes", 0);
2098
2099 diff --git a/mail-client/thunderbird/metadata.xml b/mail-client/thunderbird/metadata.xml
2100 new file mode 100644
2101 index 0000000..71406ae
2102 --- /dev/null
2103 +++ b/mail-client/thunderbird/metadata.xml
2104 @@ -0,0 +1,28 @@
2105 +<?xml version="1.0" encoding="UTF-8"?>
2106 +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
2107 +<pkgmetadata>
2108 +<herd>mozilla</herd>
2109 +<use>
2110 + <flag name="bindist">Disable official Thunderbird branding (icons, name) which
2111 + are not binary-redistributable according to upstream.</flag>
2112 + <flag name='crypt'> Enable encryption support with enigmail</flag>
2113 + <flag name='mozdom'>Enable Mozilla's DOM inspector</flag>
2114 + <flag name='lightning'>Enable app-global calendar support
2115 + (note 38.0 and above bundles calendar support when this flag is off)</flag>
2116 + <flag name='custom-optimization'>Fine-tune custom compiler optimizations
2117 + (-Os, -O0, -O1, -O2, -O3)</flag>
2118 + <flag name="jemalloc3">Enable or disable jemalloc3 (forced-on when supported prior to 38.0)</flag>
2119 + <flag name='gstreamer-0'>Use gstreamer:0.10 instead of gstreamer:1 for media support</flag>
2120 + <flag name="system-cairo">Use the system-wide <pkg>x11-libs/cairo</pkg>
2121 + instead of bundled.</flag>
2122 + <flag name="system-icu">Use the system-wide <pkg>dev-libs/icu</pkg>
2123 + instead of bundled.</flag>
2124 + <flag name="system-jpeg">Use the system-wide <pkg>media-libs/libjpeg-turbo</pkg>
2125 + instead of bundled.</flag>
2126 + <flag name="system-libvpx">Use the system-wide <pkg>media-libs/libvpx</pkg>
2127 + instead of bundled.</flag>
2128 + <flag name="system-sqlite">Use the system-wide <pkg>dev-db/sqlite</pkg>
2129 + installation with secure-delete enabled</flag>
2130 + <flag name="minimal">Remove the software development kit and headers</flag>
2131 +</use>
2132 +</pkgmetadata>
2133
2134 diff --git a/mail-client/thunderbird/thunderbird-38.3.0-r99.ebuild b/mail-client/thunderbird/thunderbird-38.3.0-r99.ebuild
2135 new file mode 100644
2136 index 0000000..69715ac
2137 --- /dev/null
2138 +++ b/mail-client/thunderbird/thunderbird-38.3.0-r99.ebuild
2139 @@ -0,0 +1,398 @@
2140 +# Copyright 1999-2015 Gentoo Foundation
2141 +# Distributed under the terms of the GNU General Public License v2
2142 +# $Id$
2143 +
2144 +EAPI=5
2145 +WANT_AUTOCONF="2.1"
2146 +MOZ_ESR=""
2147 +MOZ_LIGHTNING_VER="4.0.2"
2148 +MOZ_LIGHTNING_GDATA_VER="1.9"
2149 +
2150 +# This list can be updated using scripts/get_langs.sh from the mozilla overlay
2151 +MOZ_LANGS=(ar ast be bg bn-BD br ca cs cy da de el en en-GB en-US es-AR
2152 +es-ES et eu fi fr fy-NL ga-IE gd gl he hr hsb hu hy-AM id is it ja ko lt
2153 +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
2154 +uk vi zh-CN zh-TW )
2155 +
2156 +# Convert the ebuild version to the upstream mozilla version, used by mozlinguas
2157 +MOZ_PV="${PV/_beta/b}"
2158 +# ESR releases have slightly version numbers
2159 +if [[ ${MOZ_ESR} == 1 ]]; then
2160 + MOZ_PV="${MOZ_PV}esr"
2161 +fi
2162 +MOZ_P="${PN}-${MOZ_PV}"
2163 +
2164 +# Enigmail version
2165 +EMVER="1.8.2"
2166 +
2167 +# Patches
2168 +PATCH="thunderbird-38.0-patches-0.1"
2169 +PATCHFF="firefox-38.0-patches-04"
2170 +
2171 +MOZ_HTTP_URI="http://ftp.mozilla.org/pub/${PN}/releases"
2172 +
2173 +MOZCONFIG_OPTIONAL_JIT="enabled"
2174 +inherit flag-o-matic toolchain-funcs mozconfig-v6.38 makeedit multilib autotools pax-utils check-reqs nsplugins mozlinguas
2175 +
2176 +DESCRIPTION="Thunderbird Mail Client"
2177 +HOMEPAGE="http://www.mozilla.com/en-US/thunderbird/"
2178 +
2179 +KEYWORDS="amd64 ~arm ~ppc x86"
2180 +SLOT="0"
2181 +LICENSE="MPL-2.0 GPL-2 LGPL-2.1"
2182 +IUSE="bindist crypt hardened ldap lightning +minimal mozdom selinux"
2183 +RESTRICT="!bindist? ( bindist )"
2184 +
2185 +PATCH_URIS=( https://dev.gentoo.org/~{anarchy,axs,polynomial-c}/mozilla/patchsets/{${PATCH},${PATCHFF}}.tar.xz )
2186 +SRC_URI="${SRC_URI}
2187 + ${MOZ_HTTP_URI}/${MOZ_PV}/source/${MOZ_P}.source.tar.bz2
2188 + ${MOZ_HTTP_URI/${PN}/calendar/lightning}/${MOZ_LIGHTNING_VER}/linux/lightning.xpi -> lightning-${MOZ_LIGHTNING_VER}.xpi
2189 + lightning? ( https://dev.gentoo.org/~axs/distfiles/gdata-provider-${MOZ_LIGHTNING_GDATA_VER}.tar.xz )
2190 + crypt? ( http://www.enigmail.net/download/source/enigmail-${EMVER}.tar.gz )
2191 + ${PATCH_URIS[@]}"
2192 +
2193 +ASM_DEPEND=">=dev-lang/yasm-1.1"
2194 +
2195 +CDEPEND="
2196 + >=dev-libs/nss-3.19.2
2197 + >=dev-libs/nspr-4.10.8
2198 + !x11-plugins/enigmail
2199 + crypt? ( || (
2200 + ( >=app-crypt/gnupg-2.1.8
2201 + || (
2202 + app-crypt/pinentry[gtk]
2203 + app-crypt/pinentry[qt4]
2204 + )
2205 + )
2206 + =app-crypt/gnupg-1.4*
2207 + ) )"
2208 +
2209 +DEPEND="${CDEPEND}
2210 + amd64? ( ${ASM_DEPEND}
2211 + virtual/opengl )
2212 + x86? ( ${ASM_DEPEND}
2213 + virtual/opengl )"
2214 +
2215 +RDEPEND="${CDEPEND}
2216 + selinux? ( sec-policy/selinux-thunderbird )
2217 +"
2218 +
2219 +if [[ ${PV} =~ beta ]]; then
2220 + S="${WORKDIR}/comm-beta"
2221 +else
2222 + S="${WORKDIR}/comm-esr${PV%%.*}"
2223 +fi
2224 +
2225 +BUILD_OBJ_DIR="${S}/tbird"
2226 +
2227 +pkg_setup() {
2228 + moz_pkgsetup
2229 +
2230 + export MOZILLA_DIR="${S}/mozilla"
2231 +
2232 + if ! use bindist ; then
2233 + elog "You are enabling official branding. You may not redistribute this build"
2234 + elog "to any users on your network or the internet. Doing so puts yourself into"
2235 + elog "a legal problem with Mozilla Foundation"
2236 + elog "You can disable it by emerging ${PN} _with_ the bindist USE-flag"
2237 + elog
2238 + fi
2239 +}
2240 +
2241 +pkg_pretend() {
2242 + # Ensure we have enough disk space to compile
2243 + CHECKREQS_DISK_BUILD="4G"
2244 + check-reqs_pkg_setup
2245 +
2246 + if use jit && [[ -n ${PROFILE_IS_HARDENED} ]]; then
2247 + ewarn "You are emerging this package on a hardened profile with USE=jit enabled."
2248 + ewarn "This is horribly insecure as it disables all PAGEEXEC restrictions."
2249 + ewarn "Please ensure you know what you are doing. If you don't, please consider"
2250 + ewarn "emerging the package with USE=-jit"
2251 + fi
2252 +}
2253 +
2254 +src_unpack() {
2255 + unpack ${A}
2256 +
2257 + # Unpack language packs
2258 + mozlinguas_src_unpack
2259 +
2260 + xpi_unpack lightning-${MOZ_LIGHTNING_VER}.xpi
2261 + # this version of gdata-provider is a .tar.xz , no xpi needed
2262 + #use lightning && xpi_unpack gdata-provider-${MOZ_LIGHTNING_GDATA_VER}.xpi
2263 +}
2264 +
2265 +src_prepare() {
2266 + # Apply our Thunderbird patchset
2267 + EPATCH_SUFFIX="patch" \
2268 + EPATCH_FORCE="yes" \
2269 + epatch "${WORKDIR}/thunderbird"
2270 +
2271 + # Apply our patchset from firefox to thunderbird as well
2272 + pushd "${S}"/mozilla &>/dev/null || die
2273 + EPATCH_SUFFIX="patch" \
2274 + EPATCH_FORCE="yes" \
2275 + epatch "${WORKDIR}/firefox"
2276 + popd &>/dev/null || die
2277 +
2278 + ## patches for building with musl libc
2279 +
2280 + ## backports from firefox
2281 +
2282 + epatch "${FILESDIR}"/musl/thunderbird-38.3.0-crashreporter.patch # fixed?
2283 + epatch "${FILESDIR}"/musl/thunderbird-38.3.0-fix-fts-header.patch # bug 1139173, fixed in 40.0.a1
2284 + epatch "${FILESDIR}"/musl/thunderbird-38.3.0-fix-u_int64_t.patch # bug 1130164, fixed in 39.0a1
2285 + epatch "${FILESDIR}"/musl/thunderbird-38.3.0-profiler-gettid.patch # fixed?
2286 + epatch "${FILESDIR}"/musl/thunderbird-38.3.0-sandbox-cdefs.patch # bug 1157864, fixed in 42.0a1
2287 + epatch "${FILESDIR}"/musl/thunderbird-38.3.0-updater.patch # bug 1157850, not fixed as of today
2288 + epatch "${FILESDIR}"/musl/thunderbird-38.3.0-basename.patch # bug 1041962, not fixed as of today
2289 + epatch "${FILESDIR}"/musl/thunderbird-38.3.0-fix-sysctl-headers.patch # bug 1130175, fixed in 39.0a1
2290 + epatch "${FILESDIR}"/musl/thunderbird-38.3.0-fix-xpcom-blocksize.patch # bug 1152176, fixed in 41.0a1
2291 + epatch "${FILESDIR}"/musl/thunderbird-38.3.0-fix-cdefs-header.patch # bug 1151202, fixed in 40.0a1
2292 + epatch "${FILESDIR}"/musl/thunderbird-38.3.0-xre.patch # bug 1130710, fixed in 40.0a1
2293 + epatch "${FILESDIR}"/musl/thunderbird-38.3.0-fix-netwerk.patch # from alpine
2294 + epatch "${FILESDIR}"/musl/thunderbird-38.3.0-fix-bug-1130709.patch # bug 1130709, fixed in 40.0a1
2295 + epatch "${FILESDIR}"/musl/thunderbird-38.3.0-queue.patch # bug 1152185, fixed in 41.0a1 | works, but not sure if needed
2296 +
2297 +# 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
2298 +
2299 + ## end of musl patching
2300 +
2301 + # Ensure that are plugins dir is enabled as default
2302 + sed -i -e "s:/usr/lib/mozilla/plugins:/usr/lib/nsbrowser/plugins:" \
2303 + "${S}"/mozilla/xpcom/io/nsAppFileLocationProvider.cpp || die "sed failed to replace plugin path for 32bit!"
2304 + sed -i -e "s:/usr/lib64/mozilla/plugins:/usr/lib64/nsbrowser/plugins:" \
2305 + "${S}"/mozilla/xpcom/io/nsAppFileLocationProvider.cpp || die "sed failed to replace plugin path for 64bit!"
2306 +
2307 + # Don't exit with error when some libs are missing which we have in
2308 + # system.
2309 + sed '/^MOZ_PKG_FATAL_WARNINGS/s@= 1@= 0@' \
2310 + -i "${S}"/mail/installer/Makefile.in || die
2311 +
2312 + # Don't error out when there's no files to be removed:
2313 + sed 's@\(xargs rm\)$@\1 -f@' \
2314 + -i "${S}"/mozilla/toolkit/mozapps/installer/packager.mk || die
2315 +
2316 + # Shell scripts sometimes contain DOS line endings; bug 391889
2317 + grep -rlZ --include="*.sh" $'\r$' . |
2318 + while read -r -d $'\0' file ; do
2319 + einfo edos2unix "${file}"
2320 + edos2unix "${file}"
2321 + done
2322 +
2323 + # Allow user to apply any additional patches without modifing ebuild
2324 + epatch_user
2325 +
2326 + # Confirm the version of lightning being grabbed for langpacks is the same
2327 + # as that used in thunderbird
2328 + local THIS_MOZ_LIGHTNING_VER=$(python "${S}"/calendar/lightning/build/makeversion.py ${PV})
2329 + if [[ ${MOZ_LIGHTNING_VER} != ${THIS_MOZ_LIGHTNING_VER} ]]; then
2330 + eqawarn "The version of lightning used for localization differs from the version"
2331 + eqawarn "in thunderbird. Please update MOZ_LIGHTNING_VER in the ebuild from ${MOZ_LIGHTNING_VER}"
2332 + eqawarn "to ${THIS_MOZ_LIGHTNING_VER}"
2333 + fi
2334 +
2335 + eautoreconf
2336 + # Ensure we run eautoreconf in mozilla to regenerate configure
2337 + cd "${S}"/mozilla || die
2338 + eautoconf
2339 + cd "${S}"/mozilla/js/src || die
2340 + eautoconf
2341 +}
2342 +
2343 +src_configure() {
2344 + declare MOZILLA_FIVE_HOME="/usr/$(get_libdir)/${PN}"
2345 + MEXTENSIONS="default"
2346 +
2347 + ####################################
2348 + #
2349 + # mozconfig, CFLAGS and CXXFLAGS setup
2350 + #
2351 + ####################################
2352 +
2353 + mozconfig_init
2354 + mozconfig_config
2355 +
2356 + # It doesn't compile on alpha without this LDFLAGS
2357 + use alpha && append-ldflags "-Wl,--no-relax"
2358 +
2359 + # Add full relro support for hardened
2360 + use hardened && append-ldflags "-Wl,-z,relro,-z,now"
2361 +
2362 + mozconfig_annotate '' --enable-extensions="${MEXTENSIONS}"
2363 + mozconfig_annotate '' --disable-mailnews
2364 + mozconfig_annotate '' --enable-calendar
2365 +
2366 + # Other tb-specific settings
2367 + mozconfig_annotate '' --with-default-mozilla-five-home=${MOZILLA_FIVE_HOME}
2368 + mozconfig_annotate '' --with-user-appdir=.thunderbird
2369 +
2370 + mozconfig_use_enable ldap
2371 +
2372 + mozlinguas_mozconfig
2373 +
2374 + # Bug #72667
2375 + if use mozdom; then
2376 + MEXTENSIONS="${MEXTENSIONS},inspector"
2377 + fi
2378 +
2379 + # Use an objdir to keep things organized.
2380 + echo "mk_add_options MOZ_OBJDIR=${BUILD_OBJ_DIR}" >> "${S}"/.mozconfig
2381 +
2382 + # Finalize and report settings
2383 + mozconfig_final
2384 +
2385 + ####################################
2386 + #
2387 + # Configure and build
2388 + #
2389 + ####################################
2390 +
2391 + # Disable no-print-directory
2392 + MAKEOPTS=${MAKEOPTS/--no-print-directory/}
2393 +
2394 + if [[ $(gcc-major-version) -lt 4 ]]; then
2395 + append-cxxflags -fno-stack-protector
2396 + fi
2397 +
2398 + if use crypt; then
2399 + pushd "${WORKDIR}"/enigmail &>/dev/null ||die
2400 + econf
2401 + popd &>/dev/null ||die
2402 + fi
2403 +}
2404 +
2405 +src_compile() {
2406 + mkdir -p "${BUILD_OBJ_DIR}" && cd "${BUILD_OBJ_DIR}" || die
2407 +
2408 + CC="$(tc-getCC)" CXX="$(tc-getCXX)" LD="$(tc-getLD)" \
2409 + MOZ_MAKE_FLAGS="${MAKEOPTS}" SHELL="${SHELL:-${EPREFIX%/}/bin/bash}" \
2410 + emake -f "${S}"/client.mk
2411 +
2412 + # Only build enigmail extension if crypt enabled.
2413 + if use crypt ; then
2414 + einfo "Building enigmail"
2415 + pushd "${WORKDIR}"/enigmail &>/dev/null || die
2416 + emake -j1
2417 + emake -j1 xpi
2418 + popd &>/dev/null || die
2419 + fi
2420 +}
2421 +
2422 +src_install() {
2423 + declare MOZILLA_FIVE_HOME="/usr/$(get_libdir)/${PN}"
2424 + DICTPATH="\"${EPREFIX}/usr/share/myspell\""
2425 +
2426 + declare emid
2427 + cd "${BUILD_OBJ_DIR}" || die
2428 +
2429 + # Copy our preference before omnijar is created.
2430 + cp "${FILESDIR}"/thunderbird-gentoo-default-prefs-1.js-1 \
2431 + "${BUILD_OBJ_DIR}/dist/bin/defaults/pref/all-gentoo.js" \
2432 + || die
2433 +
2434 + # Set default path to search for dictionaries.
2435 + echo "pref(\"spellchecker.dictionary_path\", ${DICTPATH});" \
2436 + >> "${BUILD_OBJ_DIR}/dist/bin/defaults/pref/all-gentoo.js" \
2437 + || die
2438 +
2439 + # Pax mark xpcshell for hardened support, only used for startupcache creation.
2440 + pax-mark m "${BUILD_OBJ_DIR}"/mozilla/dist/bin/xpcshell
2441 +
2442 + MOZ_MAKE_FLAGS="${MAKEOPTS}" \
2443 + emake DESTDIR="${D}" install
2444 +
2445 + # Install language packs
2446 + mozlinguas_src_install
2447 +
2448 + if ! use bindist; then
2449 + newicon "${S}"/other-licenses/branding/thunderbird/content/icon48.png thunderbird-icon.png
2450 + domenu "${FILESDIR}"/icon/${PN}.desktop
2451 + else
2452 + newicon "${S}"/mail/branding/aurora/content/icon48.png thunderbird-icon-unbranded.png
2453 + newmenu "${FILESDIR}"/icon/${PN}-unbranded.desktop \
2454 + ${PN}.desktop
2455 +
2456 + sed -i -e "s:Mozilla\ Thunderbird:EarlyBird:g" \
2457 + "${ED}"/usr/share/applications/${PN}.desktop
2458 + fi
2459 +
2460 + local emid
2461 + # stage extra locales for lightning and install over existing
2462 + mozlinguas_xpistage_langpacks "${BUILD_OBJ_DIR}"/dist/xpi-stage/lightning \
2463 + "${WORKDIR}"/lightning-${MOZ_LIGHTNING_VER} lightning calendar
2464 +
2465 + emid='{e2fda1a4-762b-4020-b5ad-a41df1933103}'
2466 + mkdir -p "${T}/${emid}" || die
2467 + cp -RLp -t "${T}/${emid}" "${BUILD_OBJ_DIR}"/dist/xpi-stage/lightning/* || die
2468 + insinto ${MOZILLA_FIVE_HOME}/distribution/extensions
2469 + doins -r "${T}/${emid}"
2470 +
2471 + if use lightning; then
2472 + # move lightning out of distribution/extensions and into extensions for app-global install
2473 + mv "${ED}"/${MOZILLA_FIVE_HOME}/{distribution,}/extensions/${emid} || die
2474 +
2475 + # stage extra locales for gdata-provider and install app-global
2476 + mozlinguas_xpistage_langpacks "${BUILD_OBJ_DIR}"/dist/xpi-stage/gdata-provider \
2477 + "${WORKDIR}"/gdata-provider-${MOZ_LIGHTNING_GDATA_VER}
2478 + emid='{a62ef8ec-5fdc-40c2-873c-223b8a6925cc}'
2479 + mkdir -p "${T}/${emid}" || die
2480 + cp -RLp -t "${T}/${emid}" "${BUILD_OBJ_DIR}"/dist/xpi-stage/gdata-provider/* || die
2481 + insinto ${MOZILLA_FIVE_HOME}/extensions
2482 + doins -r "${T}/${emid}"
2483 + fi
2484 +
2485 + if use crypt ; then
2486 + local enigmail_xpipath="${WORKDIR}/enigmail/build"
2487 + cd "${T}" || die
2488 + unzip "${enigmail_xpipath}"/enigmail*.xpi install.rdf || die
2489 + emid=$(sed -n '/<em:id>/!d; s/.*\({.*}\).*/\1/; p; q' install.rdf)
2490 +
2491 + dodir ${MOZILLA_FIVE_HOME}/extensions/${emid} || die
2492 + cd "${ED}"${MOZILLA_FIVE_HOME}/extensions/${emid} || die
2493 + unzip "${enigmail_xpipath}"/enigmail*.xpi || die
2494 + fi
2495 +
2496 + # Required in order for jit to work on hardened, for mozilla-31 and above
2497 + use jit && pax-mark pm "${ED}"${MOZILLA_FIVE_HOME}/{thunderbird,thunderbird-bin}
2498 +
2499 + # Plugin-container needs to be pax-marked for hardened to ensure plugins such as flash
2500 + # continue to work as expected.
2501 + pax-mark m "${ED}"${MOZILLA_FIVE_HOME}/plugin-container
2502 +
2503 + if use minimal; then
2504 + rm -r "${ED}"/usr/include "${ED}"${MOZILLA_FIVE_HOME}/{idl,include,lib,sdk} || \
2505 + die "Failed to remove sdk and headers"
2506 + fi
2507 +
2508 + # workaround to make thunderbird find libmozalloc.so on musl
2509 + into /
2510 + echo "LDPATH=${MOZILLA_FIVE_HOME}" > "${T}"/20thunderbird
2511 + doenvd "${T}"/20thunderbird || die
2512 +
2513 +}
2514 +
2515 +pkg_postinst() {
2516 + if use crypt; then
2517 + local peimpl=$(eselect --brief --colour=no pinentry show)
2518 + case "${peimpl}" in
2519 + *gtk*|*qt*) ;;
2520 + *) ewarn "The pinentry front-end currently selected is not one supported by thunderbird."
2521 + ewarn "You may be prompted for your password in an inaccessible shell!!"
2522 + ewarn "Please use 'eselect pinentry' to select either the gtk or qt front-end"
2523 + ;;
2524 + esac
2525 + fi
2526 + elog
2527 + elog "If you experience problems with plugins please issue the"
2528 + elog "following command : rm \${HOME}/.thunderbird/*/extensions.sqlite ,"
2529 + elog "then restart thunderbird"
2530 + if ! use lightning; then
2531 + elog
2532 + elog "If calendar fails to show up in extensions please open config editor"
2533 + elog "and set extensions.lastAppVersion to 38.0.0 to force a reload. If this"
2534 + elog "fails to show the calendar extension after restarting with above change"
2535 + elog "please file a bug report."
2536 + fi
2537 +}