diff --git a/www-client/firefox/Manifest b/www-client/firefox/Manifest index 42f79be..4296f07 100644 --- a/www-client/firefox/Manifest +++ b/www-client/firefox/Manifest @@ -5,11 +5,107 @@ AUX firefox-38-hppa-js-syntax-error.patch 869 SHA256 5210e82a9d0f9fded6f639bc354 AUX fix-seccomp-bpf.patch 481 SHA256 517d95225b3323c373c11da6ab867deb76ffdb0b50c1762bdd893abd9b39d4c9 SHA512 70863b985427b9653ce5e28d6064f078fb6d4ccf43dd1b68e72f97f44868fc0ce063161c39a4e77a0a1a207b7365d5dc7a7ca5e68c726825eba814f2b93e2f5d WHIRLPOOL 7a13b6cf9413a4f6a8dbe3741a8c76fd5d9664304a3e1a1507afc59f812bfc35e8973488d29000a1a8f108dfa62a8e65a245b346a341a5813cfe8e1b92c65678 AUX gentoo-default-prefs.js-1 821 SHA256 16259ec24a231d1d60097c8d892caa80d2703ba5be72304f6da55cfce1b329de SHA512 b63542c51edfe0158ce487b317ea6d36ffc17cf8457534adb6aa3f613d9a027f4285c9dcf76eb1b96de6bbc10ba09948fa6c081e00cfb25ca47450cbc32923f2 WHIRLPOOL 770d4b15f1b142ee1f59ce47f7b6d9e4bf4adb20a8a9fc104ea7d6c2481edb0d685c2e672008dbd869d92e8b24ea6ad8efdb4180421ff19ae88d0a9f6f752121 AUX icon/firefox.desktop 276 SHA256 06565ade11b6e4b448cf10339696c43f31e73cb6824491094bb6e0ab902c7cf5 SHA512 3ab9aa94d3006518fb154c887e9be99fd372a75ac128b8d37debe5d72f26fb7103dd36f75bb6111750e93d520b730a29a8118805fe84be8f3021e4528c0ec47e WHIRLPOOL 9722c40c167bb1a76e7a81e3b1aedbb3cd10a09e00361fe1678883feff33e1d9ce31379f150a757d8b2667715175c2bbc16a714164d02210b4284ee91a25f8f5 +AUX musl-esr-patches/firefox-38.3.0-basename.patch 964 SHA256 2a6b7d13a2c587b7d9803875190e33e6cc535717fa90eb2d99ba4735bc2c738c SHA512 fefcc3caf21aaa9345bb3a4ac7c5ac961589fbec145eb16a7bbb7e0d53290b4f1c1f006ca35d94eccef5d4f02615570127f0c629d2605a48a9f05cdb6423a827 WHIRLPOOL 4075cfa892bb5469580b6b5b299b5e40c3f200770fc0e0c990b8eb9bb84ee06308cf179440d05aa4b7a46891564115fa619094ec7674e870a14f19fe93d45e8b +AUX musl-esr-patches/firefox-38.3.0-crashreporter.patch 15239 SHA256 5d7aa652994b31d555ce2f50ee9dd3854f422d4f954d294e2e1465943c61123d SHA512 3e9fee642c1de1a4a4360efceb45ab43de48b3f6bd004b4a94e3e90e65e5e2ebb16b102082580e3798be223cfda7322749423deee42e129c42e00bbb8b5cde63 WHIRLPOOL 1a9ff12e9a34660f1824570f898c302ee9747778d16915c133d71528f5bff36d60f51302696facba8f2a47ef8e6c2cf93d0f58f83de845c78c9a99a038c0ea6c +AUX musl-esr-patches/firefox-38.3.0-fix-bug-1130175.patch 1055 SHA256 16bf8227641dcc63a79b3393bd067dfacb6d8706f53398db2b74650ea6cedf7c SHA512 2f5487a81271a6cc3db292069852dd15a9aa0dbfc5cadf094f6b580b71e5e5298a22163874eba9091ef5b20aa79e10563ebbadccdc6178fd8aeba28ceb1b0561 WHIRLPOOL ff312fdbd693fa57fe9320613e4398d9920cf9f9b02f936acf0ff750e7ac5d467033508580bd69f97ef2936011ff7562b4bcd2d358d63d2654996da9645a7648 +AUX musl-esr-patches/firefox-38.3.0-fix-bug-1130709.patch 5555 SHA256 7c305042fac52369e51bdf3dc95fdce5ee270e972794690f4307f74cc29f8660 SHA512 7783594a7028c826eb116f6bde89debcd56e52c0054d363f0fbf7f292cdfd98d2a810d31f7f04aa05a9e4888058be036566d8d1938bbeec30dba4a79af2f6c71 WHIRLPOOL 2f3661e65bd8b59a2f20f01bb00828e748fb2b6f84a27ce4178b8829f9c41538b57966e53e6b80da529dca38c478ae550a03b5a8bb2d0f203c888bde3d6643d7 +AUX musl-esr-patches/firefox-38.3.0-fix-cdefs-header.patch 1106 SHA256 43bd3ad81cf2e681309e5af3ba46c07bb56d3e36315ca68b696d7f0a65c94721 SHA512 0e7933b45ccf20d12b5a641d4bd1557b6be0013eb9ddf1c53644a468ceab3dce496d426e67c2d2933dd37479717488dcc8637642f42bdce303503852774073ec WHIRLPOOL 8f4b042c1d347344db55119cd51666ca368bf1679fa0fde25cf160badfbb6383b5b20038567471580299e1225a1fe6470f404204167ab02ca830b615f0e918cb +AUX musl-esr-patches/firefox-38.3.0-fix-fts-header.patch 17736 SHA256 700053d6824ac5bfae372d78b0128fcff8618455b0e9f7c143e933f7a6c46162 SHA512 7ec67c0a93d1975cd02631f49fe932007cc9886eef556cb1434592a736ec7ddb916c18496d3de703db7c524d7c99758885414fb77289fb12d4ac1a4639171572 WHIRLPOOL 8086f87e1fe03f04279be404ddadffa09410f77b682b0b045c335e37fa880c64269aec38ec62bdcc2875ee4ab02178dcd68e10507b9ff746f9b3535852b66d6a +AUX musl-esr-patches/firefox-38.3.0-fix-netwerk.patch 1258 SHA256 3c78ccd0086b3ab8728ca70c5802fb1cf2b40aa678e37dbd3e0c338490000680 SHA512 27900bf9ea30fd3c27457a2feed408c2cf93fead434c18f510a4faf52a18d3f983a5646d7ebba33af21162626188a79b3b388c1c2729520d495d055222dd0601 WHIRLPOOL 7562d20907cf8fd845a1dcdce7c871848890f46277c375b0bd133c5268cb3816e8f22c19a7fcc254eba2e5691e488709c05a52c033f88e5e48e2081c7c445290 +AUX musl-esr-patches/firefox-38.3.0-fix-sysctl-headers.patch 1055 SHA256 16bf8227641dcc63a79b3393bd067dfacb6d8706f53398db2b74650ea6cedf7c SHA512 2f5487a81271a6cc3db292069852dd15a9aa0dbfc5cadf094f6b580b71e5e5298a22163874eba9091ef5b20aa79e10563ebbadccdc6178fd8aeba28ceb1b0561 WHIRLPOOL ff312fdbd693fa57fe9320613e4398d9920cf9f9b02f936acf0ff750e7ac5d467033508580bd69f97ef2936011ff7562b4bcd2d358d63d2654996da9645a7648 +AUX musl-esr-patches/firefox-38.3.0-fix-u_int64_t.patch 2797 SHA256 55069b63a833ac17fa04305c025bf06acbad1491b57185e76116d1882e076022 SHA512 225ff666d177862ab2941550c615db7c165327b9456b52aa03e215930f26d4e26d8d0471a2c4ec39fef4d23f8d108eac6acb4b84de02f6fc8224e0eb47460534 WHIRLPOOL 628ad13febd3fc8b90b38df2e8b795fb4440bfd7e77d8949e6d65d5508860eee8f01cd6e5a8f779305d985f9864ac443b6341d63e8e2458044d2f2dbcb086016 +AUX musl-esr-patches/firefox-38.3.0-fix-xpcom-blocksize.patch 873 SHA256 46b44eea491c48ad7eaad4e5cc93c56bfe6cca5083d933fe87cbbb52301d66ef SHA512 5cd436932d184fe180cc5f9495f72907cfe6cc14d29d2c5e9a50de59dbb60b88959dbe74dfaa756c7b22614e0240a57b3c9f8f682d7df7acce19842aa8c2c58f WHIRLPOOL 4ad3274181815e851da974114f9d4343f93fecf10242cbc69e7f241afe4e9b28ea5a71c42f5c6354107038077c213478474353c8214a36cf93c76393a061d5c8 +AUX musl-esr-patches/firefox-38.3.0-profiler-gettid.patch 1555 SHA256 5098cf2e7d3a8888640ff7229202014aba886c4d254c72c5a35969beff04d193 SHA512 4140fad5b64404516ec40bf1cdb385500e3e88a6899b1c9831c72a4b1ee0c8d817da087f5aa81a39f25a067f1a8db06ec213325ae7de72f8944cc820f0fff4f9 WHIRLPOOL fd3bd1fb9a18515e48b77e5800b617368881cbf0ddb0bdb33fe1449db0be1e154e56f34ac7d045603c326e4b457635e63ed08818ac8f479220014cd406551e6e +AUX musl-esr-patches/firefox-38.3.0-queue.patch 1295 SHA256 907c02cbff0788c1bdcd23b003817e1633276947208287965e7af3d559c39f2c SHA512 61609fc6d40c1287f189aff7595583746adbaf1fe1f2c931b9e33added6fa64503d849ae8b807759989e05a670f052fe310e299b103e2c20bb1fb9d3772277ee WHIRLPOOL b8cd310f2162c2141f065f1c48634d57690d519d8c7bc318efec4af637a8161a9d027fefd3f99eb596f85eb96fc7d1d15eb30881bb205211e9cb564b5632e8a0 +AUX musl-esr-patches/firefox-38.3.0-sandbox-cdefs.patch 1030 SHA256 963079829868acbd37af55879ff0cda83b33b8b56f55ed8ef21880c980d02ec8 SHA512 758ddefdec6959430a9aafe775729ffbf4322143da6bbbc2da38e3ffbe81c898df27d095b868abad26d52bbe942911a64e0ab9f38a31a1f3d8e19314ccca8615 WHIRLPOOL 0b1b12cb6e18bc643861d738225ca0892de04546796c7eff7d3ac0b446773198c1f516cf5f4d439c046b1c757e185a19613c69dbcbca417e81fc6a0bf5d24526 +AUX musl-esr-patches/firefox-38.3.0-updater.patch 1344 SHA256 5f07ba110fcc1ee39e352af94786428d4e2c8c7924fe3a337942ffb572da0229 SHA512 56ebff8aaa054ae3a8e9859e77cee5c0b94867d5565399594d89b76f21a6eb1bd6546a878a259229d59c6eed9458e23c64da07c337a43c677cce1bc1d00d2a62 WHIRLPOOL 8fab4d24141c139cac5ac3779838967089d6692e94a2963b85302f619b74c8d53e83d14c07d3b9a0322a941dd90925495eba6c45a35916e6791520f67cac5dd9 +AUX musl-esr-patches/firefox-38.3.0-xre.patch 1569 SHA256 8656634992b8f6445f4c5f48f656d0355c2b26c1777a8ac95f39ef1ee3757c69 SHA512 f5f676531c71394be7d60ab45ae7e7073029477eb80cb85dde8e1c535bd50d86149f0f8282d198485155efc25bf13afdc764fa9d32c854a4bad45371f59348e6 WHIRLPOOL 72053950adf40fd21966eebb6d0a082f5b0ebb20452f1042645070b549440273b8fb144e9f2fafc24f8968a98cf293f8d227c5a04c7d62e6074a37d2f9654345 AUX profiler-gettid.patch 1214 SHA256 1087273fec36ecd9a03f24c63914c657e8152359df92822bb0c861241cf6be36 SHA512 521ef15d9842bf0d3a113b5e3575a112293463da12cb5f995c51e4316c74a8e96bce29fcfbad9a99fd07ea6d86dceeaf54363c1618e8cc126d177bf19286d46d WHIRLPOOL 69804a26d9c6ec51d8311e84ffb9df359595fa9de295bd7b7aaabc4e180b49a6aacd1655681b1157c83236a0aebf2ed43e47ad07cbdf6c0b85b39327150e883a AUX sandbox-cdefs.patch 1014 SHA256 6efe9e4b929c64fc712826f3111d98d259a969c475abf00798c92ea10b2ee066 SHA512 865f4aeb797f1273f88664e081a22d6208545b225a3f44891245f7124c8188b0455a2bb8fff9f6539627febec685d631bd0b52acd1b0a6f2b7651aa939b33364 WHIRLPOOL 7f33b1e31b4333388bcc3bfa67a0132c685ce06cabd7205cea1fbcc79339ce655aec40ae7241eabafc9036a9b60d91a00c43da3236c447ab8bf0c219d1c46987 AUX skia.patch 837 SHA256 0cbdca80c5e46d4a3db43180d20408d5f5164eb04a68717ea10b4f5d2ec41e8a SHA512 b622282ec1abe576bb8f015a36cfe6dd08da3e85086b1cd0230f2f6d9dfeb2397bd847d6f7a2fcbf8eeb8218cc54b851057816250f5839bf38ba68ef0e6d02da WHIRLPOOL f0df10588814726d887271ea11f0469e98b59b6682cce775f5264bc0f63a043ea088b7e49110954f595af507a9d2dfc7805524abb6db397eefb233e191dcd4ea AUX updater.patch 1312 SHA256 fbf19f5ce59e3abd530efc737d62ee312eba2c2c668d74037970e85e659e6fb3 SHA512 c0829a299f789e224382a6c73600831315ca864f186fc039165b93be81eb5c86e58d3ddc2ec75b22a7767452a099143c3b25753742e0afcc8de1d21df9821958 WHIRLPOOL 723e1abfc154ea1c85a74f554a1fbafd388ce90f7d047676c6464916860411f0b014d83248b871bece09ce63dbf02bc4464760e18699453a4bc7bc113a15db53 AUX xpcom-blocksize.patch 1181 SHA256 cc7b6d8e4da9d6bc1c281e18ea3ec8dc53b9e4d50d8f297d5dc36951ec062a23 SHA512 662ca8254c33fa3018eaa96bf55946553aecf66e3ccb0d413f07def7bd4dce09b66c1cf8e04d04f80221566d02203db8335dd063e60e6919e2660d7888278af8 WHIRLPOOL 6cdcab889959402d9016dab0defbf4338c4b891dd73f469d00cb3e54cd45d140ca01235e94929bca640976121aa4b4e923e8e3eb53f444d376fce4ba36301a29 +DIST firefox-38.0-patches-04.tar.xz 5572 SHA256 501bd1cbd0ac7239674df4f7424e0dd57cab9ede47e18af0c99a8b8e04aa5ccc SHA512 311d494ba2a4219c88eea651e617aa776d6aa8ff68092302b76e9ff4e3e348c7197ec583923188e39973b7bd14f94df19756daf2495d9b0fe44aeaa3dcd19100 WHIRLPOOL 6605eaa0b80c97d2d5d23a23f7b8d92e7ed875787b932adf14622eb3fb5f5ccdebe8a094d78b3518d874b8819724af94100fd1728074ba4a5c426bbd91eeb722 +DIST firefox-38.4.0esr-af.xpi 483326 SHA256 d88130018dfd2909551e1fdf93ef17fde5423218a1bc75cc051eadc828861d45 SHA512 f5dac6e7b01870c0cf9d57310226d1553e18f69f2e44add7f95445659a67332560afccee7d1616d9c1db4656ac920b7eaa80167bbfe2aa99624806fe5ecc1a3c WHIRLPOOL c0fe9b29e2e93b2d78334d65a4dcb9fcf1874a14b482ecc49f53d471d4e0e4ed3f6271384647bf936d542f2c93bbf73d014062153810a0123be5493027e206fd +DIST firefox-38.4.0esr-ar.xpi 516496 SHA256 aee825dee23f8aeaafe1775918d9a17384073836ef3a934c50580d9cab1116b4 SHA512 dd26dff7b002855dd7f0d2f86720c6a4d3638ca3ab226ad8e0c7a74fa4b0f3b974723c2d9f2d2c8fb399d5339eb0a294472905a7fa0b63fd75b4d4cf0344c0e2 WHIRLPOOL e0b253ec122dd17c46077fea2602e21e262e6ff5897474371d4eaadfe47aaf6a35ee82a9804da220f13ee73cf118fd74dc47affe13dfb1811dd2d4274616ef5c +DIST firefox-38.4.0esr-as.xpi 509574 SHA256 e0c77be1178038fc122951f6522d9c28377c862bed0844ac7e41b6c1b57aaaec SHA512 71fb19acc69d491ab38afdc1fe956eeef9adbd2a77f01e87e9f544736ead3897fef9c560fd157656435154ce38b0bde48ea19d103854833840dc643e5e840708 WHIRLPOOL c4610013a3e2f1e35e1061312df6e619dde272c5a3a58c0e543715034ff94031b5e5a7dbc9079ba0416a0f15842ee4fd0f7da91288f095059cf7810c5ad1f683 +DIST firefox-38.4.0esr-ast.xpi 397202 SHA256 895e06fdf8b0bd232fe89fb5254b9c2b114ff7bd8257a3a93062ce0549a2416c SHA512 5ea5e3f6eaf67faa2343e9784d2d329ee3c3656933e0553e605bdb1a057a2640af1a7f774f7b91ff298c755bdb1bf87e873f2a1ce0fd7b0a7c0d8fc3b748ff5c WHIRLPOOL a9219316685fb1cbe39597da139005cfb4bdb6db2fffada5e8ccedbc20b4d6610c6cbde64810933c8c0bf7698de634200bb8bcedc9ea892ee95f31fe6bcf01e4 +DIST firefox-38.4.0esr-be.xpi 441057 SHA256 698a0ac8f2d802d55d55dfc55d6a870d9269a81e73506ba2ccbe9875e4bad00a SHA512 b5a1a9473e29bc5255db3117d02b98ba6c9e4dd3d88e5b0e26ac7b154cd17e7ad48b3b3f3ab76b461164fa73b49db25f12354066570ce53e78193638e8534b7d WHIRLPOOL 85334309fa7c0d0259fd36fb5f4aedf511c29c735d5b47505d0bbb43734077b2159d785e8ee5d5c5041bc863df1ec85cfe7695631af3daff4ff3be33bfe2f905 +DIST firefox-38.4.0esr-bg.xpi 487819 SHA256 ed0f3767bca984504cd14925eac0a85555b794669fbab204f6b66565fe5572d4 SHA512 1d5a0a87b0872914db231b6e561dce7a5e15bedc8e05425530a6cdf2eeba3c3847a15d29e6a6fcb3a2c901169fbcb50be5e66aff121c1f457d2e686568796043 WHIRLPOOL 8229efa583049374735aee783dcafb2e634aff2730fc5c606b67b317ad2ac4e4f654fe840dd2355ecaf2169d888a6be9a109787a10613bf065c23a0f94873835 +DIST firefox-38.4.0esr-bn-BD.xpi 528690 SHA256 3b9130b35ba2dbee86e6b7cc7e1db9bf5e58ad58629c2c73ac383890602b1cf0 SHA512 459709288bfec5310ebac6d306164f33a8759e04fa5269c9de4842ed097b1b7239dca80c47cf19120f7d00ff2ec0d3c6022ae9c7d9221d81d250682d8b264f56 WHIRLPOOL 14199fdce05ee18372fd6959028b6b6c4b982e053c130d68032537061cf947f8585dbdbb7ac940b2da1431c384ccba50997becd81745aa952729a8820fb8113c +DIST firefox-38.4.0esr-bn-IN.xpi 527928 SHA256 23e256860312a7fd7287fb9734bb4cd23a054c7658ba50d0eb0a0aa59008ed0c SHA512 b201a1f0563f36fe2e75d4ace763b6bb88e8586c6b39084b26d4217f7efa05e6840f9527085b9c0d05cde9bcdba4db2e057ed22c9c62f246c0ae9c99fa605c9b WHIRLPOOL aeb3e39c7b0fe65a5bcf4d4b2923769b743bb05438211ba49039fa8d5efe654492c250b50a5c494b7e8ad7261ab71781cc97e6e596139ae7d59f05add84b8aee +DIST firefox-38.4.0esr-br.xpi 441962 SHA256 4db2bb1cb2e6ed5e97c30a387e3b1ee971ea5b8f9f62314806d9256439bffafd SHA512 e909895db306f0577327156201a0e9a5b7610c9940e86657ae6193dbd95f51f7d4498b70e5eaadf0dd699fb63cc779c3ea2b59a305471026dc4e0b53bc59aa4a WHIRLPOOL ffb04c0e52632cb509d8dd54c2e4bdaa0696b42dba69ea9ba4ac2775e40a230fce965d2272aeba719570c8167316a8588773e619ccf79a35076df12273408ea7 +DIST firefox-38.4.0esr-bs.xpi 485305 SHA256 aac006ad04fd94454de660eb22615386659c9d7cb76a76661c87c7fe9a0ba2e6 SHA512 191a6a6b6b599a4e4bf02f71e01a3976319de9a04a80375c77112f76e00b5ce1f79b3e1e6f801ef0b83833d7ca5ef664674fd6837dab9f01a654896546cff2b0 WHIRLPOOL c337ab086eeb5f940f3b8d368b220eea1c04f0145dbf6f1b184eca3bab042c085330178db4048d7f99c42ccbce6faf91f39ff0fede5be6fcb92467caa317f85e +DIST firefox-38.4.0esr-ca.xpi 458092 SHA256 9abe8bdfc09c11bddcd92f052760edad97fba5396c535b3382f2add3b0ff6834 SHA512 a3f2879cdcffc9d49757d8c0e6ca08e75b15cf9f1135dccf09853010bc94096950500bce1353d4d885c02ef77cd583753a1a0a169e4a24437eb23a2ec50b1132 WHIRLPOOL 1736f376ca0f4dcdc44a184adb1ccc1fd80dbe114e49e7da703e2093779b675216d814c237197e437038ca0a81d2b394f74408f5aa1004b783bea83e95a8e46c +DIST firefox-38.4.0esr-cs.xpi 446726 SHA256 7e5c23a4e3926d2dc1d21ac59d616597312e2cd92a3e13322f0a8b767ebbf1de SHA512 a924aa58bcdf60784e1a1b1406e5a10777ea16dda35944ae90a0066fab38c7f121439cffdb7fba63f4eed6e5b536be7f32b3688eecd126cf02225a0c513e2d73 WHIRLPOOL 6cd08955573483c0955020505e9d5976e1fffa023164b0ce5194c0bcbb3a6aa847357000da371b0d81fb1522b2ca49016fae1220b08cff575fd98baaffa310c6 +DIST firefox-38.4.0esr-cy.xpi 444385 SHA256 cd6d186edfbfb28e9fd1a5629dbecd6f6cff3a664ef4402ba1aa6e78b0bcee94 SHA512 f434e167c9c901edb90826c1ea087124d2280e49c91a12698c13c05438b495b6d2ed7547c634ca4288e2aaa2280ffdef29e2aa1fa1a8bda00f895426130d74f2 WHIRLPOOL e81ce636ba080896fc5942a80c72945347e64aa7a95242a590302dba01454020550b5afdb585243bfc97c36bd0cf5aa0f71d65dc642c4e54be23b7a600908869 +DIST firefox-38.4.0esr-da.xpi 450762 SHA256 0c01576ce10bafc4eb825cc469487df34ec305537bf8ff0a28023b3488d6a3d6 SHA512 ca912f77c7bf91fa96b339a91732ebad92ee052172fc293f677a16d9cdfefd19fdc2852e108ee9be96941cabe2cbceefadfadd99de014e2ff24f1eb664abe2bc WHIRLPOOL aa66ac3b86055025291ea54459f78b28f05c30057c9622a8abf3a31ddc815e3b3f5f45151a48bf199a37ed4104a6c730ec26e4b9bf97ee3d8d2be86902e34598 +DIST firefox-38.4.0esr-de.xpi 451629 SHA256 7f69136d81c323374b0148c5d568d069824c21a550fd11df7516251982312a11 SHA512 a45b588332e782278fd04f806234368a6cd8bfa9b0b130d88f0b249708b3fdd422fb6f985db8485755652e55bb50e56eddb8a07f8d161b1fea472515fc2f92b7 WHIRLPOOL 476a95f8b10e8f80e16657bd9a1c3c1b0d25974d5a55eb3b15e21c8baa9025bcdc857a6f3b250f8df8405f1bfab3075ac3ee5d98535f1c30761fce5ae57d0cee +DIST firefox-38.4.0esr-el.xpi 498370 SHA256 5ac04011963f07691b6406094efe3f16455c7cb952d08891e6a3d072789130e9 SHA512 9425ec1ed3d0a5e4ebb121a2e62e25ccc5b9cb6b13ff2e3111aaedd09c4d793b3e32bd5a29933b4ea8eb0ccb8845c7ceaee35da9af3dab29fa87a10f7ba586aa WHIRLPOOL 0f72f475dc756549d250548c086e913dc8c1e463a648a7f5fd43d869321ad9ee5663db4c8e302b4d5ce01500942312a3cc0c071e5649b61f75a4d4e4135228e6 +DIST firefox-38.4.0esr-en-GB.xpi 437845 SHA256 21f4db34f3277636b6cc41be7508025e201fc9770bf962906eefeb04543a26ff SHA512 0c3855096948e0c42bebbed8f65179a16cc5db8b298f40ff9afbb6f3b32e688f23c2281fcdf91ebd97b6ea5eb8af5894597f3fb968d807b698f9b613f6905323 WHIRLPOOL cdd92b775979690c3ab4ab6db31b98b2d861be24b1ddcefbd08d36d14891b7332f3801733c802e27796f1c4302107a521908ecbeff69bd2cf10f48ec17032354 +DIST firefox-38.4.0esr-en-ZA.xpi 439926 SHA256 1de92cc4b659074953146880f26090d060030734b050ca4e9e99ca082930ee3f SHA512 314da611b29bb39770d8b5b81e0d0a8664f8b02271a68054ce6f6c5e34d99a2345a382c281ca1133112815963c5b6bcad492873a8bafd04a76986579eeaaae9f WHIRLPOOL c7bb59e2dcbc0037d7c912ac1d952bc9e1ede15a715ed7971853a35a25d2fe8e52942c9418d1f1c7f6358c1227c66ca66b1bcfa91bc4ac7af0bab88d208016eb +DIST firefox-38.4.0esr-eo.xpi 488369 SHA256 bda681afa425465404fd3b3ee3e5ddc78da046884ad1288478f3567ad23f6cc4 SHA512 b6774a6d28eceb141c36d235746e20d47f6ddb16692071df4c8b058df052c62e5b3204459e3a5c6b6492f25dec9310ac57b5f4f2a3ca5471289b5ba2e9bc6a0c WHIRLPOOL 15eb6eaf93f561d9ceeff7781e6a2ca4341cee92d72f73058e4493f93d91f5505187888acb69859480f41f303a7410e25de1591f5a53bb6c640c80d1e678a751 +DIST firefox-38.4.0esr-es-AR.xpi 453983 SHA256 39e09539cbdb65176f5f7505ed717bb6621492eaf24782a96beec3059a06c8e7 SHA512 6f870ff75d4ded94a050f4608371a9fe01769817bf04293ac364ef96b39562d49f768217d60df3d7a3afdc693f5aed3e5617d0f167723155dd3d6ba40c9966db WHIRLPOOL 955d73437e8ec3f25ec8543ba0798fedd929f251d59f935509f260023bc4b3450d8ff7cd46baba69eca34ebd98b5b01b56d802718c41385c2a6dea0e9c818dd5 +DIST firefox-38.4.0esr-es-CL.xpi 384678 SHA256 519db83d328d45e0617e191a03d6eeb852f6fb78266aebb7b5fb20c788d1043b SHA512 f3ee1cc76af9d404a4f6fea02acedd2a2cac31e9107b1ea19f4c1eb234dc22894f51375d4923755144b870dcd11860275fef589a8b5212f0fbd42d1ad914e59d WHIRLPOOL e588b3779ec3d0e73b13e8285e5b764a7de32e5b6e200fcbe023457968dbf1a7a6c178bbf02f1cefdf6767b4f10f3f27a65a7364d68acb2503ce9aca07abe500 +DIST firefox-38.4.0esr-es-ES.xpi 374073 SHA256 b39ef0e44adba821e4f9ded5d5bc3fad5f6970e090453fa509b104bd84876b00 SHA512 cb14c1b1f7dfdafb851873f54a4c6c74caccbf51aaa815519095d4eabe08e4819d190307c030806fda19f062ca26fe5f0e2805fb64b7a76cef5cc1352273db79 WHIRLPOOL bb5b9505042a20571299eefa7755ec7b3ed38a3a63751365f717bd90f3799ae419f199b134dd97a5fa90f047664ddef92bc44c26dcefc17545a65c63a1a414cd +DIST firefox-38.4.0esr-es-MX.xpi 457050 SHA256 c7db8de566c0b4d0ae916877145e0766919379c583405c5ab3f395ddae4dcab6 SHA512 f04e0a70bcda8aba6ac9dcdd6a745d64023a3f6970e9a0eb32b7592067c2b3496536281d93b99d5a5a5e9bdba834c0025da3ed463035ede9b726cd38ad862537 WHIRLPOOL fec86e83085fa04fa2d58da7bcbd80dfac21a6808ee45ea30a0467ee2d298932c7bb81880db6a87e8731f39cca0a318ec060dfbdce7e6ce81c1c45542fdd631f +DIST firefox-38.4.0esr-et.xpi 443228 SHA256 c0ac4b4ef61e1ca128b63fb88410788c9aaf54e0c6a8012be379d093f465fe07 SHA512 9577c181a84825351a358f7975c846bcb366d42cc6dbdcba186be551117ae8da0009e4c9a3e88962f22e31bc18a05e083b4b3c1af93ece2b6f16ec7797ed8aa8 WHIRLPOOL 4b1946a8456eeaca64b72ab70cb7e952b437d0937411b4485da1c45e31d94c47f8ca319a55b2ea8d8db2bb4149f952992516610edd79d36fe8cfebb93f520a12 +DIST firefox-38.4.0esr-eu.xpi 466555 SHA256 fa7ed638416b030a54104bfaa399aee0670cbcb9066a7accd3ecb543dcfc6774 SHA512 b44d2aefce25c1f5e93b852ffe2babd489a9040f7be8ad9f0333fc610666605950c4ca057bb76b130a24a820bab3634bf7538acfd748040b856f4e371658747a WHIRLPOOL 68aae8de015bc1592bdadcbc923516cbc92c44700a289ecdb146fe1820679dd26dc4b1a6d8aa00e24864a7562bdd2ccbc306e92b85f2a762ac94764179ab5be7 +DIST firefox-38.4.0esr-fa.xpi 518282 SHA256 6229f7ff2312dba7678b51d7b63b66c76bf0f044065149393627513bb0939fb0 SHA512 859dea37e74d04d61b2ab8794245d03e9e20ab118d4fb916b81ba7606105e3101f531e61851e6e0b5870eec4193b1ed1e9959f8c23ab734fd3e370284f3ac992 WHIRLPOOL 1d41b6a433ec82b18b666d336309751cd2d045f0532f76fa23dc0ea4bcfe4caabb24283b7162cd7ce31d858fa0e14cb14b805d5c33d2925657b90605d0eeddc5 +DIST firefox-38.4.0esr-fi.xpi 444852 SHA256 bf1fd7170359bf1dde30bbb6e67df575ee7ac26bd26d2d3627c12688cf689dad SHA512 1d743fc6e980d03e417c64b6bd7b3ae78ee96665b60b79d2f2308c7b03ea47ce5a547df75332af4edd13b55efee35624e50c2c096ca264c61a3958eabe4f4472 WHIRLPOOL 49c3bd19922c5a29a5fcdf1ceff60889a54d0d2c669ac477bc86e610a1566d88a2a95d1b193448ef947e9a157ae2882940fab57d78214f3d5bd6fab3ddee10ce +DIST firefox-38.4.0esr-fr.xpi 461402 SHA256 1609e9fff4c9f221553628be4d64c3d70e7b55fe0120a049d27f7aaaa129590e SHA512 a24b96327c10dda9f9774d4cae95588ad49e72ddba2a1c47791fce7d78c6ad409e248b9d2b81909af06e675d64db84d30eca66db7c07a69da7b7e932cca59140 WHIRLPOOL c968695eb6e175fd170de6eeecfbe3905371c259b8eccc55366f78d057fd1ff347e09410582eabe4c2733a3c793b813f82cba3ed4c2422fbd0b892af6152dcf6 +DIST firefox-38.4.0esr-fy-NL.xpi 455538 SHA256 e8cac9a32aea385bc389abf2e15722295de61776a4cc098e65c6b5b512d1ad89 SHA512 9dc45a01c08488dac8be3e789e1904735ad36d2967fc63226ea19ab80ec62aa8298b8cfd50fccbe44fda73735a3b25b7971438f8a8bf9c08cc059b825836b77e WHIRLPOOL 0a7cfe5da0e862a15a0da9ab94c6fab46bec069ef8605f8358553459845df78877e25b3761222b70ee6ef5f6daab809df043fcc9e8ed235fc7a3243fd5266ee7 +DIST firefox-38.4.0esr-ga-IE.xpi 469624 SHA256 b5ac39f748c770e2208cd61a83819b42d1dff136e6dd5af230f7eea51d542ce2 SHA512 34283469cb92d216e32f73161e3f4c60e006a9cd9e9189268a68a6778f74809bbb77bcf41f6eb0f6f42e53e6861350d0c4bf4a2cc571fe54af2286134836a111 WHIRLPOOL 5ae05de3cb66571b2020a15b5939449d4c258c9fad12a2c82bf55b06cbf9a8a3d041960ed72730f13e2df33aaafbb47731fbea7d56e26e6fd7d02209b90605ab +DIST firefox-38.4.0esr-gd.xpi 454616 SHA256 964f0c93adde0188ff3664c73ab04bb2e50201a7e4156200e4d471ef9a10772d SHA512 90c3dcacbbf4d9aabe38a6a43eaf062dca740fa8a37b0e5b8fcf16563d25207109bf51c2dc3a00870aff13132ef607a4f3cd46b2e708a52f36c238671c605680 WHIRLPOOL 4674c151f2b9500d6b560cf7607c5704572e2635368f1cb36b8541399f0a88e676c1f5dd410e72454041f5493f3e279fbeec8a1694d1f23ae987b4d37489dee5 +DIST firefox-38.4.0esr-gl.xpi 448925 SHA256 2150be83227315de82333e41e5496da5d3b823645a98404ef31d2cd98f6bd1e2 SHA512 c056f53a35175137822e20aa503f44a0b2f27d43e5ace2f058cd529aea653936dab0c2363d38ef702458dca0fdf46b00c8f60607ec8503d430aeb3a7de615f61 WHIRLPOOL 4f0dee0d6be88c71f8df6467442be7e9df476c6adfd7eae8c7e5cc644907ce6621b8b3e7fe88b3ab3f46c24fce92a08132dd395e65dd0c096df377eaa43fb653 +DIST firefox-38.4.0esr-gu-IN.xpi 477980 SHA256 4a6b29fc389af54c294f5cbba27780aa6a5e63329af5d1407f42ab240462099d SHA512 5cb2ea9f4bb140334617948def8dd5e5a8b45715de2b0a468150c449d793420f2327113f87de4b8545df12fb93315b791db1498ca128e652fb1a6ab29560ccff WHIRLPOOL b2d43698f639f75bf89609f7458d49c173b58becf6b146836355a51a704966aadf4ba3e4b42d2b25804a2720fe9d3770af6bb5e48aeeb9249a6a04896b7055bd +DIST firefox-38.4.0esr-he.xpi 486785 SHA256 2fafcb398ae4ad3aab1498fd22f8ab713f966f96753301fc2385f0c5d0ab1568 SHA512 30cf8c2e48d6abcc55f868bed68341a379ed810fef43430f5396a4058ca015e6201437effb0a8ceb4c0ca13f8e47d16aa45f89974934a29581196b2c09a91735 WHIRLPOOL c8fb3f716a9de0e5d4737a72ec11e9d73dd602323119945cc6574d4adfd58d60eb09430c979501e9ffcb33311873a36c65ea8f2a2e56d81eed5e1e13eec4b2e5 +DIST firefox-38.4.0esr-hi-IN.xpi 508167 SHA256 c2b5eed1fd8ad921f79feaca0ad43ac969e3171e8d1d579ae99c2c1c17202379 SHA512 549773a14419ebde5924938d8f466227853d9a3acb8e6125ab8faf65ce8cb10d80ce556ce419abd3fb51e5312ef48be7ee59cc580fc4817359a48fb75e93b61a WHIRLPOOL 3a7943238a7607a76f0dccf212ef4a519d407f30fcd18e26b2b6c7dc9f196d10d058bafe58c82ea4c24b800cf9305818533456c43bcbdab5b0ec09b189579ec6 +DIST firefox-38.4.0esr-hr.xpi 478272 SHA256 1f2d14ece4cd0cad5cc7265a12498f669397b220b335244b70c62e826eda720d SHA512 3cd02c8339f09c9a313bb8f5fc7d1facdd41c67400e87720252da0d9d63cd42cf958ed62655fa453cbdd5aa85f1abc103d4b0b1fc61bb5c6096788fbdf8414b0 WHIRLPOOL 5be00efb59ca1c0c4f48ebd89871333012d8e1a637be3f8e8d25a977cb868b0ceebf31d47471eb9f66ebe47b924c5611c3a68390d919e9af4fbaed1439398921 +DIST firefox-38.4.0esr-hu.xpi 453555 SHA256 1ae11147ddd2fcd7c4235713a19ca4a31ff6b77d313b1e139f66627b5b839cfc SHA512 f6bc00f169325ef26c5aa1e7d30774a197fb7a4258a440da33eb59db099826b67bb98c2073acc1383df713a661db7ba1c7257c42ecd533f9fc33503c3ab7c40d WHIRLPOOL 15f1d59e48fbafa40d78c886f71f05402235e004ed6cfa57070b3b53f88b4f49806b32b1434ea3d2cad82fa3ce31b90b820cf148fb3ee11133626e8c750773a1 +DIST firefox-38.4.0esr-hy-AM.xpi 534265 SHA256 e109740e0837c75732fa40c124b51355ed7cc3cd0dc4ec6a9f078298674c215b SHA512 16465490a2686990b2990fd6539598d98defe586749a534136420530cd4299031e1c912bd59dd492e0f5a88042b0af6534977abffcecbb51a0562e04558e7b4b WHIRLPOOL 274645c1f2b6e25b03977e5e4f7beda75d9b72d0decc1ce8725804a5d266f0e17848ca6e0fdffb29f19861254f86434eb037e8245e6f3e9b3116abefd6d1b728 +DIST firefox-38.4.0esr-id.xpi 431489 SHA256 60220cae6623614bc6b11667849ddb5f2251c4b8f4c0bacf99bfa81c4a407d4e SHA512 37ec6241799758eb7ce70f360b59c47b28539a02ff372252a959f4cb7a075ff5613500ce6324f3b3fe22527fa529f9e779dae39eb4d9b8693f0e3fcd84018e54 WHIRLPOOL d39cdd4f5c7c1b985f40bda4624783e751b43ea519e43c964dec8c7059bf952194d8291cee68e2b3f412c6b6cd7abd6fa0bc8f821a2c17a568583893c2d251f4 +DIST firefox-38.4.0esr-is.xpi 485128 SHA256 20e4a96ac76793eadfc43c5094f92aae81fc439fb0df94204b48bbd022df5247 SHA512 7ea21e374ef77e709476bcb856ac35130cb5426cc5e195f310e0580a80bd7176372109191cd7248fa89cfce8815751c9561dc63c9fb3625ddc4446f73381db3a WHIRLPOOL 9e889b981da7642c406a35ce90dfdc642e8bebe11eecd59a9849e474fb3ccc3b18e03be5791456da09025af9d20405137a0f080c74885bb004c22acb9a81b4d5 +DIST firefox-38.4.0esr-it.xpi 368409 SHA256 c3038ebd54153273d4d510dda53f144b2820944231659ad3e01dccabd53d0a6f SHA512 a8c2b6fdbf68696d402e18e37a3b110327fbe12d9ba37d01fd4536c25492001bd15ccc94a7455f53b77f3f9c6fe90bd98d1bf0028d15f3b35f0b8552f89b7297 WHIRLPOOL f76ab619ec6e3eba26813c6d9194bb2eb0144aab1f87f055116e0f00ca991df73d4d87be3c9c39b53326ffe1175e1cc4885a4432f591a12377be8c2d66cd8295 +DIST firefox-38.4.0esr-ja.xpi 479114 SHA256 eed8773e7f2b2706884ef844805a3ff4d8efb20a800ed9b1359e392dc6f365e7 SHA512 4fb615847a8d549471e9bb288cdb256e49ab41f331b0a8f548a7e8692482996c4cd899a41264e6434c01011e4c067bee1d4cf291f8e8f6d65d3fd3306f26b263 WHIRLPOOL fd337786dd8748c766b3b908b263738c4bb9f20862464111d2cdf5d8888ff0ce64700c15ffe5dbaf38ca54e1e833575251eddbbca0a2d08e14c691495a4b4647 +DIST firefox-38.4.0esr-kk.xpi 503568 SHA256 1ee8d139df0b85421f9319976200f7e982106d7dbdd13e0763e4f44748828da4 SHA512 08b4b11adcd328d6ba5525bf433f62efca792e22e7e905125cb374986c409470280fe77fcda0bc5a46bd17da5258286a69ce32b261d62fb956c23977c0868fc0 WHIRLPOOL 71cf010076e3140a9f33040754a209d60bfdc065b0f9bfc3690f14c26c2b84997690943ca2d28049bcef5574ac84a307e3e205eed1674251cf7f4fccf3b334c7 +DIST firefox-38.4.0esr-km.xpi 565674 SHA256 c6adbc64a942764b10f4cb44ea524d6ee3ac9fa82b23ab856abe8ebdef6c3abd SHA512 a959f6fc5f4e5f37a5c31a2f682ad4c4a3a19ce97b804258c600237b2eb723e72f15472fa64efadef05614ebf01f21ff06f776680c2bd7b15ce72c91d99c9f71 WHIRLPOOL f2589526de73010142a9e73dc6de19d674f06e6727237b12222ee081d608d088dc819f99edc9c86ab0105344f8676aef409b5fc01c065a1d0eeb1984b6a96ccf +DIST firefox-38.4.0esr-kn.xpi 533464 SHA256 029c65dc35f6b7e4b1f9f4ce968fd239b8a5ec79dedabff81d167fc91fffd4a3 SHA512 6bcf5557a878b282b9807c2b24f6664e1db15d140674475b032e5306773b286a291f0a09e3ddec6094944c0ad8a3baaa47547b23101f1e14c283b424182a398d WHIRLPOOL 67a2baed296cef563cabdd55882d5a7d909b630051840c51bfed04e52e88e5b8259d5bfc3e08679bd28250b81e82003fac4580b2d4cf048d8109e02766e468a8 +DIST firefox-38.4.0esr-ko.xpi 460854 SHA256 89299b59c51db6b5d0d55c03df290f1b3cc2cce728e2ff21af352c2b568ea44c SHA512 58919d9c3aecf53e7c29c6ccacb5b19a5528fc6290e0183ab529c280d03ee099e914b0d4272551522ce2b96070d1d721bb1102297d6e20c14af2b20baee1c0fe WHIRLPOOL f0cab4b7d24731617867eaf6bf718cfec3b4d967c8f85a9cd680ca1b92051e2094b695b30cd5f058a8062e23b816943da734ad00651554f3ddec357c494b4b1f +DIST firefox-38.4.0esr-lt.xpi 486451 SHA256 769c238f3d90b896e6e6bc0b04ed29e348e4a60a08df49f28f943358ad036063 SHA512 7fbba44a6c6059199bb2da80ceb3573ac0bcf63e72a9024a1adc5419bf0ed3c92302def7b75ea35c10fd132e2eb35867679bbaf2d4a47de5e3782dd5ba9c98da WHIRLPOOL bef610df27806be20958c366da25655e4ced3f3bde9b984b8805aeea427c012a2de96287548aa9c0b9cfdec826fb4af1942677474136a297afb16b302c526b44 +DIST firefox-38.4.0esr-lv.xpi 44894 SHA256 d81b54faf47dad6161ddfd2b4be882edbf027bfb87a2ca791fadde4c8b55bb09 SHA512 1dc06938edbfe4a542d43f286fd98a3a4945d5bfa666dcdb6f930ba1ebc590be7e32ab3c14a63e7c9281ca6a691bea0b7c32644697bfcd154c67214699a1b20e WHIRLPOOL d1ee71d9cec4c0f43ad8c09bd61488506225f9ea70a39c47aef89cc11456f22761836895c0d6729a2ab8a170419ea39c77d55792a1f1eeb3e98ab29c1ea5c067 +DIST firefox-38.4.0esr-mai.xpi 514666 SHA256 d62055e9c602e3d5807cd6ebca9626d2f31bea3155c59a0eb1a8c2fde746d24d SHA512 6f5a92741baa1a00e60616eb9b9bf60e95eea755bcc0f6ca2e87e981607f627575cc4d7a80f2079232437871de7a8aed67120d61ffb4e9416419036fc9d3a080 WHIRLPOOL b8b050a6903313efde70a5a42a3a2d903c1543062ea6f73684e2fcf9f9aaffe75ee6a3dcaea7df51cc9851671f96653ffeeae36871c4bbadc3d822ba2697ac7e +DIST firefox-38.4.0esr-mk.xpi 529205 SHA256 968070d4aee6819afbbc303e215b21afe2884a3004dc7d7696113b01423166da SHA512 32c7b2e01952e4e852e64c25bd82b1ae64e359fe62f06e3a15c71aa522c2e3b5e1853c8752ac667b5da990dc2c928065174d2f41a6335aea4aec3efc0365c488 WHIRLPOOL 03bc63010ccbad2aeb8b8a94e955db8b9cfb73ea0acbd2abf9937fa9146eff3c0d0adf0923302d57fc5d9363342cbdab2ab39abcffb0fd9b45f801db9d10c223 +DIST firefox-38.4.0esr-ml.xpi 528918 SHA256 01fa6077c6c05be1ce76db8e44b2c8462fe0a7a7818b1ddf9f6b2fa0d44c41cb SHA512 3d91eeda3eba163a51304bfaad1dbfedd594c1d7f58edd8f7caae89f2b1cbf5dc876329c132b53337611e440a678029f4e351435f8c39b1e164a4f330e490086 WHIRLPOOL 45cc55d2d46ed4519a8a54ace894d93b4c7956e1af67d73223f3bed23628422e9306afe8a26fa3f0545cbd200603e905f9755cea1166c6848a588616ad60b9e7 +DIST firefox-38.4.0esr-mr.xpi 505961 SHA256 59ffe1bbd930b12681e2576b77e01ff4dc2aa79250e2f3f460264f8b68b6f1de SHA512 3229ad58465894ef02416aa126e5fe1996fe3320d22020b1756b9606d08aa215714d8eae846d2f6c7a5b759a5c34c72d772c41b2d9e102e82cd2974b84a20de9 WHIRLPOOL 33df26597d292cb3e6317b8b229bcec5eff64c60ddaf06636e95407f54b71d96a9c0855dbd2a475bb09e496edf048aaaa64ad445ce8a055a91b9fa90c0e6d8ee +DIST firefox-38.4.0esr-nb-NO.xpi 444176 SHA256 61c1be8e542963a86a799a1842557e334d62d0121ee259ce52eb701d938db2d7 SHA512 237867da4683a258ffb985daf03598147f83067cdc231b8b55fc3f7706bec04978f23b83598ebfae25529fb00a90d967123a051311010d30e137302178a9d65e WHIRLPOOL 6a2f18e86d508b4943ebbf68109c3ede5c628407c87a781026a479a04a91a8691810533e4dd79aa6d45b60ee9381225ef5c62de1c50eb05c8599b3bd2c70a83e +DIST firefox-38.4.0esr-nl.xpi 443994 SHA256 6f09424512979109b8e2292de57fedb9753d293d550f35114402630b7fc93340 SHA512 09426b8423e5ec84cc48b48cb0d58bc10d4beed0b70117754f23d0177cd9d7aed34c672e7d7c9c6bf3c5f2f2dbe50f3068d891cf55a72507d7a64c9909301cc7 WHIRLPOOL a6abb460e16f6d2a61ea00d464415a92f69f05fa7be24651e658f8407933898bc66789666af83f2833f3a72ac7dd26297eeace04471eb42894a3df8913547856 +DIST firefox-38.4.0esr-nn-NO.xpi 438451 SHA256 6e90022dbfdba748891f6e28582cab5a4b0287dd0c46774f9020250097eff4d1 SHA512 02e5aad5b2592742a805fa8d0b5eee2c0e9a0d9c36cd77e606a792c237ee6d0cfb4ef31a29cf2a7a44bd0be7059b577d6bb64fe081ad695c643976cf37093c19 WHIRLPOOL 12c60a15b56ec40967901f7935d65616dc3241bd937e246959942cb4648c2255eda5ed6d0af2db287107eb249f7a2453ce3dd6dd76c33fc1238fae15acf2d6b2 +DIST firefox-38.4.0esr-or.xpi 527049 SHA256 3866337ad94d5ece643389ed7654d266d14b689674b92fbe4f87db1a11608419 SHA512 5c9e96f5587f2a33f71edc56957a5bfd80aa0f27e866e66639a47741496aa9e3953f2ff05a66c33cd7870cb4966f617fe000b3d7bf4a2aa146771bedc8665315 WHIRLPOOL 17b9c17940cfc8688cae2775302f4ec7b86c9bfbc9e759aa6e373750e2a3932c5c4f4a44bc657507737f66f766d4f39b61893221cdfd71b9bd09b1db2045ca97 +DIST firefox-38.4.0esr-pa-IN.xpi 493722 SHA256 c39aeb6943b6e9a83d5f2d499683e8125cbe4a585b3c14bf357664def646cb81 SHA512 a2f6d09e42a611dc8897a3102172cf8030224d7ba7d185ec8d30d0d347ba6d7fea74ddf1bceb14d791cef68505d038162448da8a475f6a995710b680ebb0cbc0 WHIRLPOOL 07ddddee381c98e943433f1c1458de090453f9917f54908063efc08e8ad52c96efa448670c50bfbf6d978e0ea2bf33d359488ed331cfff70b1e034fce643ad45 +DIST firefox-38.4.0esr-pl.xpi 406566 SHA256 cd5d694904802f1aa51d84390423f37500bbe6d2864e47bc0e09d2bc19a2c54d SHA512 801fff7577f9ce5b887ff117badb849897c57787051c9c276bddc6b005fc8038ec9f280e7894ef2d87db445e38f5121053bde0484162d09374b163dc71dd98b9 WHIRLPOOL 9fd05685a5b8936b207f5dee03760dc6d5b1f551f5af87a9a9560e4771906fe1de74a6c12424bafeb0a50a96d0479f397bb0b64d7ba4e4bec885b545fcd65d0d +DIST firefox-38.4.0esr-pt-BR.xpi 459813 SHA256 4ccd547e9ac19788c99ae876bd829e349e22be55aa9c2e194547d6986aa20209 SHA512 226ba3b14063e168d3c5cfe39dbeea2a89366af9dc87b5b8f92196f061ed2e56cfebe95f4adfe906402289100a44ec9ba48038e0f2de250b5b173fca76a8453d WHIRLPOOL 8042f614a385608be83ea7070d568046344e43fa5f0bd310c5331e22f82ccecedf2f0b5c3438edf446d2e281b84134de325c7d4642de954884f640c947da498c +DIST firefox-38.4.0esr-pt-PT.xpi 439975 SHA256 eed43d8ae9b455983b05e288f7368114b6caf92ff801b1fd22e4bbc49bbb7288 SHA512 bb542e09d212a94a4cce2ed8e442ec0137c563e6b6d235e1985957ecae7b52dfa0ad55e8814029290905709efbc5b80ceaaae4c04d8a54415fabe7bd23cb98ad WHIRLPOOL 8f7ac7f5d0ecd81a17db49aff2bfe71f5661658eeea2c022feaa31a07e854e3390e6bad6bcc352965b985e9fd97e0f10b5859b5e19ef3c6bba4ef96f82391f6a +DIST firefox-38.4.0esr-rm.xpi 446287 SHA256 5d91ca7d0f27ecee359d0a49be2d26219d15b985cee981fcb64c0bc0c4ba0022 SHA512 79b052213142c8ec49b1f89901d32356a0c31d002b3500ce6af56c031987f106b7d53a9bd3b59d00c74516812a7d63a2a3d6a5ea74a3b56504c5e2cf1b9642b6 WHIRLPOOL db35f6d1df328f20392a11b3c362d264f949d58171b5d2e1528905e144f1b68e33e8aed3f5c7ecdcd5e159b9bb8bb93ef416785458e787e56444904e53bf4569 +DIST firefox-38.4.0esr-ro.xpi 494079 SHA256 fe39cc3c54be8647bce103e6c0f04e8ebbe842a65e3c916aa82660f1b4a1cfe6 SHA512 92241a529109cbb51e1e85f02cea7879a2396044ce741b3fc84c0ae93b18e0e2b269bad1b2c333b841fb0ae74131344610bc8234c555287c7c82301b286f5e96 WHIRLPOOL 7aa4133d204f339f331102c7cdab157df921aed65897029d3c535c8fd8551d7db1d90b9dc7936ec1b796a1344cfb2e78712f17e528f5fe84ee0c339edc3743c7 +DIST firefox-38.4.0esr-ru.xpi 414419 SHA256 b31e7ffac7efc34e4d1672095f716f0cba43860fac1e596b7023be78a8306b74 SHA512 72b5919019f7261e7c312c036cdc0830c3da552fc40894bc1e8914309ce7a655854951b5d5143c4054f573cb1d000a4f1fc431fd32a8424b066b4bff031ea21e WHIRLPOOL 320b06ceaf999a9187e1c081a35ca9ab95e4e28f73d4600bc468bc84a7c6c3a0ae285e5c6f79fbcb0dd4ce7316f8d5bb6dc7d675df94a98320e85e77f4dab654 +DIST firefox-38.4.0esr-si.xpi 537393 SHA256 50692d44a2f2952a3dacd36f34c6b34e85cd16d9d13f795719e86e8afd59d62c SHA512 89fbd977257122f7280ce4b5a5c3ecf73c84d971e3f92d58b474ccc988d4da2fa106a059b8b8cfa554321bc752fe5e13b8e0fe7e108ff0a5506cd66d74ce5a5c WHIRLPOOL 2dd14e587d6d2a45c3d3fa0952d07494f433f4fc7518e19f2354cb8de721aedac85b69a5df455ae83e56c7a8c20e8c5123fd08e904cb6c55b661cc283532f518 +DIST firefox-38.4.0esr-sk.xpi 469436 SHA256 245d5150c762c0c7206dd2f8869b2a8a8b734d0b48ece4985d332815ba71691d SHA512 6c2c76bf229a2ca11dede287713802faf5820e3543b0b0fc2787f28092f341b8223d8a64a521be20f4819613d1e9aff5b33de08dc3f6db350532f93aa8757c01 WHIRLPOOL 6178586938b66b26cd70dd03973c2d0518c08209156c28f65cbe901eeffd9684ce4623b615adb67c916d20e03ac51f85d534a96ab8cb60e6c0066612b5dee419 +DIST firefox-38.4.0esr-sl.xpi 441594 SHA256 84f23d6d865f70f1e6701ac34bdf4f894f20d31fb098cbadb4bc0a3d7182e60c SHA512 c57b120ef45640640a282870709973c76967a958e4eccae9e7d9053f524907266ddb8b72d765841d8d46194333fa8971e901c5663b066035062eedd1c6e1fde1 WHIRLPOOL b18d1b513a3f18ff243d083ccbe696cb861d9abec0cad40c84f95f07c4d493dd28540f0adbcb92b1082c340011a72c61effe5dca93db8c8f449b6d71c722c09b +DIST firefox-38.4.0esr-son.xpi 449268 SHA256 75ef6f5fba0b8174ce1d6415579b57153bf60551e89c05632dea43e5a6044a96 SHA512 0b409e475c893407c0957fdccd2589c1ab6f2ebb761d3c5ebfcc750c165e9a905bb76a822a4ac50fbc9fdbd17379b95433274aac2264ff27690387646ffa0d05 WHIRLPOOL 9a943a4b2c91f659cb0a131c4599881e0c6aced5521939bd84e57b35eaf14e9906fbd506620ed7a07f3c6c001b28c6ce534e12b491f0c572ca769fdc16b4b269 +DIST firefox-38.4.0esr-sq.xpi 486075 SHA256 4e9da99e5dd7b2fbb5e5627c91415ef39d1fca7e7ae1a423bb5830b37bc423e9 SHA512 546e993e21a107a58484a48fc3d786d9df5b849d9e589cc79e2b46c469d1d093cfd66a0af4cb6513f718516ad745bc52a834bc9400371ce6aa263fe28aa49837 WHIRLPOOL 3ca17c003e502f2094776f9e51020305eba3cade9fc7f9d6ace72273e137fbb76619632bc1c377d09a57e191b7ef990f7b08b6db699387e2277bbefd13bd8c56 +DIST firefox-38.4.0esr-sr.xpi 479419 SHA256 2447105f3d0850f8d7aa402196ed34df8e5dcb52291900dc03f1d79f04ffd1cd SHA512 0ce718f51e650aebba5c124e1872c337c73d78f7a30172150625bdae9e46751e9e630e80e0b441f9f9f79fff556515f364b19d944da65fc6ad27763e4e108505 WHIRLPOOL 25d1702bb8c96f3493a2a4d7811e087073b875cf9d2669775d301317f9aa055b60e2427d996e4d954a56915a276a285a2e6b499e0d4144463f47d40bdd60c09b +DIST firefox-38.4.0esr-sv-SE.xpi 452632 SHA256 cb330410d3894b7b786be927d94eda5f9cb606682ee5cd3ca44eaed5a5a36dae SHA512 8953870353a631c13c5f94c03174a079a7c3609b12dc15d9d903c87ac353614f5f0423fe1f2fd3425e72a6077c688c7ee617aad0b23640ce2ae03ab125e6beb7 WHIRLPOOL 91937c69b53b88438427051bde041bbf5c442ffc77dbb6f1cfdf6d15fdc6d906350ca0632d1a0cb3a2fe343fb7b95e8b3df28f4033b06cb60f917bcbd4a79d67 +DIST firefox-38.4.0esr-ta.xpi 506606 SHA256 5ed639206c9b42064972edd8296163ebb517843aafab2cd6d5e1dbc2ae72af89 SHA512 25742dbf9bae469498ed1c676a988ce57653e38d07be3749e2be7a1411b4b7b9ac4c9662579d3c33e74b7941d78fb977dba17654164ccb01f6cf948d7845b580 WHIRLPOOL 3d49313995ad4a924f8bda4dae415ae40d04d9eb99157e219c12859220093f08a8a2623c317dcc692c335bf4834537281de7c89cb6e29c95a7844e6225da2f02 +DIST firefox-38.4.0esr-te.xpi 526253 SHA256 e8d4352c5aae8a0134eaef285d1a29264ecde26362725fecdfa156033353e834 SHA512 99324c99896f799a092451f24c321a4b8bac62bb36039afa6ee8003e62e1ba37096823b6fdce557c62848fb25e521043bcb6aa5db7cadb6d47482e9fc0945b9a WHIRLPOOL b5353a244315fac93adaf4c237608e5a37f1d7252193094738f0601c48fdeb35e191a0bd5be129ca8f9f0897d7191d7b27e2203a5d28d4840f07ef7f0da8fabd +DIST firefox-38.4.0esr-th.xpi 534270 SHA256 2404ecfd24b2dbbcad006316599a6f2cceb687cdfca97186f2756c4a2dcfb257 SHA512 ea04ec030d74ee6c4572d423b1e20746cde727c32dc10ec85cc74c2bdbd25b6c3c51f756ef5fbe5c5e68e60bd67191730a0067ef0d2e78c304c46bbc765e8361 WHIRLPOOL b4278751101dcc2f5c7631f0e76288a4ec7a12aae19b1844ca87c6fc1edba7c7c52cff8d4ab32f754fa26083844325f875d8c5a4057bed5f89cfe0dcb9fa1a18 +DIST firefox-38.4.0esr-tr.xpi 481076 SHA256 f57103f13eabc494778c281d8d0eaf81a9a9c63f09ae5bdb8a3eacbdcb00a05e SHA512 0d37587616c07480d79eada1f4a3ba082bc60b6efdeeb8cbfb6d4350de980ad266b89e0de1b0693a29903bd6d6b561ce189e509403670149106d19518cf5c2dd WHIRLPOOL e1cd02ecfc4c9954f50530a7f6e277eab73cd9637ceac62cfa0668e84539dcdaeb96303546782c36b605982f737454a1f1294231a8f0a41865051521d9cac291 +DIST firefox-38.4.0esr-uk.xpi 493313 SHA256 f518976f47472b555834208eb190cb13cc3e625a0f2784d35e1c70d58ce5d991 SHA512 0c102c53fafe5c40c4e96ecf2c6f6ebf867e7b62d093d59725cca6132a51e8bce4bca4d26e87a9d41d43eb1a99728be5e09a3a7f98e6a74124b5e165e4d537e8 WHIRLPOOL dca6644cb54e7d6c58c16a3ec1547ffdb7bd312267d4c6564e80a41fe822a0dc5772740d085c66aa0049d172fba726b4d512962bc4eecd4412c558bc7ef7581a +DIST firefox-38.4.0esr-vi.xpi 467504 SHA256 44b50cdaa3d51520fa546b3afd7fae9d872567e25344666938773b1f3e2623bb SHA512 bca649c4466857b1dd930a772f16f13ff9db3d3d0cbc3814f63295620e95846d6fcbd4b98f5acd70e0712ad36bcd4f2eaddbe5866e434ec0d73afede908c6cae WHIRLPOOL 1f8e6017d78e9d2a3d1678b4661841d7a63848ba21718ba6672cbf74cd3dcd1efc744b825971ddf20f921e9fda7006a86e7b1a8eebbd416dfbc2e37daafcc9b1 +DIST firefox-38.4.0esr-xh.xpi 450242 SHA256 46d94a693d96f4a920aa8401a58eb6a96cff21aa9aba54fecf2c8c0987b4caa0 SHA512 628c06e5d7f95a1b66363d782aac0c3132272d79ec65dd3843ce69283d4082f80580dc1bf22467fd4ef3c4f8e0add8125a0c1a3e6cff8c1f62afe92ef22e7cc3 WHIRLPOOL dda12147d1043159ecd6a9d5dd742370d5b034263c400f39fd28a7e007eeb9110658b260dbac35d3b95a4669d54a19e3c2e21744d4af50abd237b5aced88f103 +DIST firefox-38.4.0esr-zh-CN.xpi 488276 SHA256 e981e5a29a7fcd9752ebddb587ea57ca64d67363ab2b77d9ca477f58f8789a3c SHA512 eea1f3e8f0e94265f5ebaccda7cda1bca1e7cc0ba95c839c4bb78fbb5b23d22b952458f2bfb887913e83b8fe98eb425448b33ae931b8fc48fe4c2fc75e3fe755 WHIRLPOOL 6aec260c6d9fa34ce7d3a9475368782e87171d6ce9010ed3caad8f15cf5ef66620542c53653120e0a2f0d1fd9fa7732b6679d8787de1026f040eb963c62e5046 +DIST firefox-38.4.0esr-zh-TW.xpi 467843 SHA256 5f2e8226cbe93c1f7082b21725bd87ca66ebd20f2429e7c65ae43490eeb5f447 SHA512 68a01bce7dd8b23244f2f0ecb723ae87f501571ea5d7ac20ba6f9ffc2dd7275f2b22d1866efc1aed950a1895b040f600dd2bdf00b02005652d860f1fa6a57ceb WHIRLPOOL 2b3b5c4a5e893df136dba60cf34ce5ff56a9579fec3a959fcf4a0e681da870c3733503be007fa666fec833c8618adb302effd3b91b94625eece210a9a929c831 +DIST firefox-38.4.0esr.source.tar.bz2 181383793 SHA256 028a1f7ce16b3016b0d98e5a5ef73bcb3f732b80d406e54f49e3c246e207f2c7 SHA512 4c2668f7d660aa0381a05118a22e89a176dec4a8d8538f7fae2d46569cb510425769fd2cc24c53525be730e5fe2f0c8b979e991d214dd2763748af8f70cda383 WHIRLPOOL 545254f5bc104832098a6687f5a3f3162e39a76e8488d2199532bdc66723469842ac34a2b15134f24695c48213fa4884728b2ab3b588c3c4fa677b6ae17ad68f DIST firefox-41.0-patches-01.tar.xz 6328 SHA256 408f9a577d698b3713a112d04552e396ff2af7cb9756f87800efef7cc55dcdba SHA512 a9476a658731b5fdd51bb9855bf4292afc8cfb8e4475250b4fac75cb5166a1e9d384a8fd2ceb38d6f2044759bcb895f956c0cfcb361eb4a60d38481a93c546b0 WHIRLPOOL 9420e7757a0f45889dec228ce3d1fedd23ed6ff9cde1f3461ffef577ccd43bc6cdb5ce3a3200f067bfe9203111067467a91bd90c0861bf81d490b022baf087eb DIST firefox-41.0.2-af.xpi 486122 SHA256 483ebf4ad220bc63b00fc5ed14cc0daa5093e8618a1f766e27ef7ea702d88404 SHA512 181e7d712f566b89acc9d9a5f52dcfd4b89b58ea2fc03f221f8c63b731f0375dcf9ef8fddafae536b309e3adc962e3185b2a069b0e84315d84158227e2761a81 WHIRLPOOL 329edbb2965aece94e0cf77d46537619457a591f932c089c91feed7ee1f478a5947f042a1159ebcba368a556dc60a7861bf32d843067897de46d1449a838857e DIST firefox-41.0.2-ar.xpi 521161 SHA256 fbe22a9b348c6a822c7578392d65f229be88da6d03908160ff1c84dc0712884f SHA512 cda1eba9da1f9385e29073f1d51b8f1ac0077fc52726129c6fa3bdbc401f0bc12bcd3d41c62177e97591a3dc8ac089ffe9e27eae1240c55afe726310caf22a71 WHIRLPOOL 61544c8e872f190bebc0badff8d07b83206f060ed7bfce21214b2203550cba809551bdccd41435d02fb62ac3e2d4a2e824430b438f82a885d0815535bf92d234 @@ -91,5 +187,6 @@ DIST firefox-41.0.2-xh.xpi 450079 SHA256 8e145e9ccfde00cf0ab3da91ea4686893e274f3 DIST firefox-41.0.2-zh-CN.xpi 486222 SHA256 8c49c52b80937a00da8953ecb1bdd1c6505efb62ac89beb879c400846b7f8c85 SHA512 96df8021b0e7872c4ceb2b4162153baeb2cdd201b8cfe7f62eed8c87b0c87cba5d3e28864be008eaa6fb70b375c45ccd39fa7a377479bbd605772c142d2db480 WHIRLPOOL f22de7ebfba8bf831283a5b932d8d1c35c1c0825486674b92234db52e4ab0e60fba066695599a7ad4ba241491bf97389cf07435fc59a3bbf83f906c58c5064ed DIST firefox-41.0.2-zh-TW.xpi 479033 SHA256 a1b3661c004ead49b5b1adac7515de402319ae82b06121313deb51b1ec7fcb20 SHA512 08a7e516fb556b1134a9a05c782b0312c5b4d8907d671be47a0aeedd1a0933fb22b0fd5ab6fcc7888a00258b06b420555752baeccacbea7de8e2d996578ba95b WHIRLPOOL 40f955c3d9d96fa2a2a5ffdab65260d7dd06e9d10b855a0397baf72305002b517dfba55d75e762dbe1a3ea237a691c082b9a6cf1d0241fa055232f02349b46db DIST firefox-41.0.2.source.tar.xz 159761468 SHA256 ff00689f4d2ff54c5eb7b3aa367560a3645800eb0c96e73a795e461461b1970e SHA512 700c1f355436747f8707b4086dfa0865c87ca7d1c3a5a879347e3460b26158681716addf085dc2446b1eeaccf328b3f3d6282df8e00cd97d8affd97dd780b409 WHIRLPOOL dd52ac3fa4c97ff0252eaf8530340a9baf515a0ad7afd121391c05de7fa030cd5151476073665a917568fe9c81cddc67109d19ad8f453ce601ff7ef4de148f08 +EBUILD firefox-38.4.0-r99.ebuild 13547 SHA256 c84ef8ac418d1b5bd29411c63f0f209e2d86389e5dd23193e99bce527250493b SHA512 29552d1429e642592b093a47d2bc3607dff8bb075cb02c92e3067fe0dbf737c234fe6611045ba8e18b4b7ae774ffcbc3ddb2a642d9b21fe2faf0342387d23985 WHIRLPOOL 483747cb38218baa485daf409013c304325174b65ab4d72ccdf09735140888176ee40db5380e5079dcde60b94f5a50d7171bd2398555698ecb6ad4318480c5eb EBUILD firefox-41.0.2-r99.ebuild 12887 SHA256 1796347c9699e023410fa9c0f68f6c26913b3b33330cecc97b9be2be676e07b6 SHA512 a74aaf8f396b6acc428b430eef131c1ab5c451ab2eae13a7caa0243dd1aa821c78517119917d401580d2ad8427d51b922e5f565d9c808b10cc66003b4c46cc6d WHIRLPOOL 7d94ce7a9f8cff2031bcb11e65b52affd1c7e30e1a002674bd4e7a8c7512eadb158fcfa5c12bf223e2303e0faaea67a7fdd2f9ba8ea7d0bae862153e5fb8f2aa MISC metadata.xml 1569 SHA256 5bd9bff289f326b1aef443ff6a4681bab63aa9a12acbaaff13a11bfabceca518 SHA512 372d8e0793c8edd608975d094b608a2aa04aba4b87891df589597ee14a04e748745339e2cb8ace1342e73e4c282bda5c73b621226f410c41f7659da273e0f083 WHIRLPOOL 10a890b2176e8b75814340546b34983f0d40848452dff13088cc36c2f44611107975a0d4491374c25f995c0e37be19e3f0b60ee1e4f887de26fd82c14fbfec35 diff --git a/musl-new/www-client/firefox/files/musl-esr-patches/firefox-38.3.0-basename.patch b/www-client/firefox/files/musl-esr-patches/firefox-38.3.0-basename.patch new file mode 100644 index 0000000..e54a69d --- /dev/null +++ b/www-client/firefox/files/musl-esr-patches/firefox-38.3.0-basename.patch @@ -0,0 +1,25 @@ +# HG changeset patch +# User Felix Janda +# Date 1423172942 -3600 +# Thu Feb 05 22:49:02 2015 +0100 +# Node ID 5f3abeb6ae6c0512901724428d908f601b9e49d4 +# Parent 2d344ef8da33717224d5a08570dc834ca2254f9f +# https://bugzilla.mozilla.org/show_bug.cgi?id=1041962 +LulElf: Avoid basename + +diff -r 2d344ef8da33 -r 5f3abeb6ae6c tools/profiler/LulElf.cpp +--- a/mozilla/tools/profiler/LulElf.cpp Sun Feb 01 19:32:36 2015 +0100 ++++ b/mozilla/tools/profiler/LulElf.cpp Thu Feb 05 22:49:02 2015 +0100 +@@ -611,9 +611,9 @@ + // last slash, or the whole filename if there are no slashes. + string BaseFileName(const string &filename) { + // Lots of copies! basename's behavior is less than ideal. +- char *c_filename = strdup(filename.c_str()); +- string base = basename(c_filename); +- free(c_filename); ++ const char *c_filename = filename.c_str(); ++ const char *p = strrchr(c_filename, '/'); ++ string base = p ? p+1 : c_filename; + return base; + } + diff --git a/musl-new/www-client/firefox/files/musl-esr-patches/firefox-38.3.0-crashreporter.patch b/www-client/firefox/files/musl-esr-patches/firefox-38.3.0-crashreporter.patch new file mode 100644 index 0000000..ca27693 --- /dev/null +++ b/www-client/firefox/files/musl-esr-patches/firefox-38.3.0-crashreporter.patch @@ -0,0 +1,358 @@ +# HG changeset patch +# User Felix Janda +# Date 1423172597 -3600 +# Thu Feb 05 22:43:17 2015 +0100 +# Node ID df5ec9e5685a52bcd19bbe566c0770daa40f14b1 +# Parent 2d344ef8da33717224d5a08570dc834ca2254f9f +crashreporter: compile with musl + +diff -r 2d344ef8da33 -r df5ec9e5685a toolkit/crashreporter/google-breakpad/src/client/linux/crash_generation/crash_generation_server.cc +--- a/mozilla/toolkit/crashreporter/google-breakpad/src/client/linux/crash_generation/crash_generation_server.cc Sun Feb 01 19:32:36 2015 +0100 ++++ b/mozilla/toolkit/crashreporter/google-breakpad/src/client/linux/crash_generation/crash_generation_server.cc Thu Feb 05 22:43:17 2015 +0100 +@@ -28,7 +28,6 @@ + // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + #include +-#include + #include + #include + #include +@@ -49,6 +48,8 @@ + #include "common/linux/guid_creator.h" + #include "common/linux/safe_readlink.h" + ++#include ++ + static const char kCommandQuit = 'x'; + + namespace google_breakpad { +diff -r 2d344ef8da33 -r df5ec9e5685a toolkit/crashreporter/google-breakpad/src/client/linux/handler/exception_handler.cc +--- a/mozilla/toolkit/crashreporter/google-breakpad/src/client/linux/handler/exception_handler.cc Sun Feb 01 19:32:36 2015 +0100 ++++ b/mozilla/toolkit/crashreporter/google-breakpad/src/client/linux/handler/exception_handler.cc Thu Feb 05 22:43:17 2015 +0100 +@@ -77,7 +77,7 @@ + #include + #include + +-#include ++#include + #include + #include + #include +@@ -418,11 +418,11 @@ + siginfo_t siginfo = {}; + // Mimic a trusted signal to allow tracing the process (see + // ExceptionHandler::HandleSignal(). +- siginfo.si_code = SI_USER; +- siginfo.si_pid = getpid(); +- struct ucontext context; +- getcontext(&context); +- return HandleSignal(sig, &siginfo, &context); ++// siginfo.si_code = SI_USER; ++// siginfo.si_pid = getpid(); ++// struct ucontext context; ++// getcontext(&context); ++// return HandleSignal(sig, &siginfo, &context); + } + + // This function may run in a compromised context: see the top of the file. +@@ -567,7 +567,7 @@ + sys_prctl(PR_SET_DUMPABLE, 1); + + CrashContext context; +- int getcontext_result = getcontext(&context.context); ++ int getcontext_result = 1;//getcontext(&context.context); + if (getcontext_result) + return false; + #if !defined(__ARM_EABI__) +diff -r 2d344ef8da33 -r df5ec9e5685a toolkit/crashreporter/google-breakpad/src/client/linux/handler/exception_handler.h +--- a/mozilla/toolkit/crashreporter/google-breakpad/src/client/linux/handler/exception_handler.h Sun Feb 01 19:32:36 2015 +0100 ++++ b/mozilla/toolkit/crashreporter/google-breakpad/src/client/linux/handler/exception_handler.h Thu Feb 05 22:43:17 2015 +0100 +@@ -192,7 +192,7 @@ + struct ucontext context; + #if !defined(__ARM_EABI__) + // #ifdef this out because FP state is not part of user ABI for Linux ARM. +- struct _libc_fpstate float_state; ++ struct _fpstate float_state; + #endif + }; + +diff -r 2d344ef8da33 -r df5ec9e5685a toolkit/crashreporter/google-breakpad/src/client/linux/minidump_writer/minidump_writer.cc +--- a/mozilla/toolkit/crashreporter/google-breakpad/src/client/linux/minidump_writer/minidump_writer.cc Sun Feb 01 19:32:36 2015 +0100 ++++ b/mozilla/toolkit/crashreporter/google-breakpad/src/client/linux/minidump_writer/minidump_writer.cc Thu Feb 05 22:43:17 2015 +0100 +@@ -174,7 +174,7 @@ + // out: the minidump structure + // info: the collection of register structures. + void CPUFillFromUContext(MDRawContextX86 *out, const ucontext *uc, +- const struct _libc_fpstate* fp) { ++ const struct _fpstate* fp) { + const greg_t* regs = uc->uc_mcontext.gregs; + + out->context_flags = MD_CONTEXT_X86_FULL | +@@ -274,7 +274,7 @@ + } + + void CPUFillFromUContext(MDRawContextAMD64 *out, const ucontext *uc, +- const struct _libc_fpstate* fpregs) { ++ const struct _fpstate* fpregs) { + const greg_t* regs = uc->uc_mcontext.gregs; + + out->context_flags = MD_CONTEXT_AMD64_FULL; +@@ -341,7 +341,7 @@ + } + + void CPUFillFromUContext(MDRawContextARM* out, const ucontext* uc, +- const struct _libc_fpstate* fpregs) { ++ const struct _fpstate* fpregs) { + out->context_flags = MD_CONTEXT_ARM_FULL; + + out->iregs[0] = uc->uc_mcontext.arm_r0; +@@ -1480,7 +1480,7 @@ + const char* path_; // Path to the file where the minidum should be written. + + const struct ucontext* const ucontext_; // also from the signal handler +- const struct _libc_fpstate* const float_state_; // ditto ++ const struct _fpstate* const float_state_; // ditto + LinuxDumper* dumper_; + MinidumpFileWriter minidump_writer_; + off_t minidump_size_limit_; +diff -r 2d344ef8da33 -r df5ec9e5685a toolkit/crashreporter/google-breakpad/src/common/android/include/stab.h +--- a/mozilla/toolkit/crashreporter/google-breakpad/src/common/android/include/stab.h Sun Feb 01 19:32:36 2015 +0100 ++++ /dev/null Thu Jan 01 00:00:00 1970 +0000 +@@ -1,100 +0,0 @@ +-// Copyright (c) 2012, Google Inc. +-// All rights reserved. +-// +-// Redistribution and use in source and binary forms, with or without +-// modification, are permitted provided that the following conditions are +-// met: +-// +-// * Redistributions of source code must retain the above copyright +-// notice, this list of conditions and the following disclaimer. +-// * Redistributions in binary form must reproduce the above +-// copyright notice, this list of conditions and the following disclaimer +-// in the documentation and/or other materials provided with the +-// distribution. +-// * Neither the name of Google Inc. nor the names of its +-// contributors may be used to endorse or promote products derived from +-// this software without specific prior written permission. +-// +-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +- +-#ifndef GOOGLE_BREAKPAD_COMMON_ANDROID_INCLUDE_STAB_H +-#define GOOGLE_BREAKPAD_COMMON_ANDROID_INCLUDE_STAB_H +- +-#include +- +-#ifdef __BIONIC_HAVE_STAB_H +-#include +-#else +- +-#ifdef __cplusplus +-extern "C" { +-#endif // __cplusplus +- +-#define _STAB_CODE_LIST \ +- _STAB_CODE_DEF(UNDF,0x00) \ +- _STAB_CODE_DEF(GSYM,0x20) \ +- _STAB_CODE_DEF(FNAME,0x22) \ +- _STAB_CODE_DEF(FUN,0x24) \ +- _STAB_CODE_DEF(STSYM,0x26) \ +- _STAB_CODE_DEF(LCSYM,0x28) \ +- _STAB_CODE_DEF(MAIN,0x2a) \ +- _STAB_CODE_DEF(PC,0x30) \ +- _STAB_CODE_DEF(NSYMS,0x32) \ +- _STAB_CODE_DEF(NOMAP,0x34) \ +- _STAB_CODE_DEF(OBJ,0x38) \ +- _STAB_CODE_DEF(OPT,0x3c) \ +- _STAB_CODE_DEF(RSYM,0x40) \ +- _STAB_CODE_DEF(M2C,0x42) \ +- _STAB_CODE_DEF(SLINE,0x44) \ +- _STAB_CODE_DEF(DSLINE,0x46) \ +- _STAB_CODE_DEF(BSLINE,0x48) \ +- _STAB_CODE_DEF(BROWS,0x48) \ +- _STAB_CODE_DEF(DEFD,0x4a) \ +- _STAB_CODE_DEF(EHDECL,0x50) \ +- _STAB_CODE_DEF(MOD2,0x50) \ +- _STAB_CODE_DEF(CATCH,0x54) \ +- _STAB_CODE_DEF(SSYM,0x60) \ +- _STAB_CODE_DEF(SO,0x64) \ +- _STAB_CODE_DEF(LSYM,0x80) \ +- _STAB_CODE_DEF(BINCL,0x82) \ +- _STAB_CODE_DEF(SOL,0x84) \ +- _STAB_CODE_DEF(PSYM,0xa0) \ +- _STAB_CODE_DEF(EINCL,0xa2) \ +- _STAB_CODE_DEF(ENTRY,0xa4) \ +- _STAB_CODE_DEF(LBRAC,0xc0) \ +- _STAB_CODE_DEF(EXCL,0xc2) \ +- _STAB_CODE_DEF(SCOPE,0xc4) \ +- _STAB_CODE_DEF(RBRAC,0xe0) \ +- _STAB_CODE_DEF(BCOMM,0xe2) \ +- _STAB_CODE_DEF(ECOMM,0xe4) \ +- _STAB_CODE_DEF(ECOML,0xe8) \ +- _STAB_CODE_DEF(NBTEXT,0xf0) \ +- _STAB_CODE_DEF(NBDATA,0xf2) \ +- _STAB_CODE_DEF(NBBSS,0xf4) \ +- _STAB_CODE_DEF(NBSTS,0xf6) \ +- _STAB_CODE_DEF(NBLCS,0xf8) \ +- _STAB_CODE_DEF(LENG,0xfe) +- +-enum __stab_debug_code { +-#define _STAB_CODE_DEF(x,y) N_##x = y, +-_STAB_CODE_LIST +-#undef _STAB_CODE_DEF +-}; +- +-#ifdef __cplusplus +-} // extern "C" +-#endif // __cplusplus +- +-#endif // __BIONIC_HAVE_STAB_H +- +-#endif // GOOGLE_BREAKPAD_COMMON_ANDROID_INCLUDE_STAB_H +diff -r 2d344ef8da33 -r df5ec9e5685a toolkit/crashreporter/google-breakpad/src/common/android/include/sys/signal.h +--- a/mozilla/toolkit/crashreporter/google-breakpad/src/common/android/include/sys/signal.h Sun Feb 01 19:32:36 2015 +0100 ++++ /dev/null Thu Jan 01 00:00:00 1970 +0000 +@@ -1,35 +0,0 @@ +-// Copyright (c) 2012, Google Inc. +-// All rights reserved. +-// +-// Redistribution and use in source and binary forms, with or without +-// modification, are permitted provided that the following conditions are +-// met: +-// +-// * Redistributions of source code must retain the above copyright +-// notice, this list of conditions and the following disclaimer. +-// * Redistributions in binary form must reproduce the above +-// copyright notice, this list of conditions and the following disclaimer +-// in the documentation and/or other materials provided with the +-// distribution. +-// * Neither the name of Google Inc. nor the names of its +-// contributors may be used to endorse or promote products derived from +-// this software without specific prior written permission. +-// +-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +- +-#ifndef GOOGLE_BREAKPAD_COMMON_ANDROID_INCLUDE_SYS_SIGNAL_H +-#define GOOGLE_BREAKPAD_COMMON_ANDROID_INCLUDE_SYS_SIGNAL_H +- +-#include +- +-#endif // GOOGLE_BREAKPAD_COMMON_ANDROID_INCLUDE_SYS_SIGNAL_H +diff -r 2d344ef8da33 -r df5ec9e5685a toolkit/crashreporter/google-breakpad/src/common/linux/dump_symbols.cc +--- a/mozilla/toolkit/crashreporter/google-breakpad/src/common/linux/dump_symbols.cc Sun Feb 01 19:32:36 2015 +0100 ++++ b/mozilla/toolkit/crashreporter/google-breakpad/src/common/linux/dump_symbols.cc Thu Feb 05 22:43:17 2015 +0100 +@@ -829,9 +829,9 @@ + // last slash, or the whole filename if there are no slashes. + string BaseFileName(const string &filename) { + // Lots of copies! basename's behavior is less than ideal. +- char *c_filename = strdup(filename.c_str()); +- string base = basename(c_filename); +- free(c_filename); ++ const char *c_filename = filename.c_str(); ++ const char *p = strrchr(c_filename, '/'); ++ string base = p ? p+1 : c_filename; + return base; + } + +diff -r 2d344ef8da33 -r df5ec9e5685a toolkit/crashreporter/google-breakpad/src/common/linux/elf_core_dump.h +--- a/mozilla/toolkit/crashreporter/google-breakpad/src/common/linux/elf_core_dump.h Sun Feb 01 19:32:36 2015 +0100 ++++ b/mozilla/toolkit/crashreporter/google-breakpad/src/common/linux/elf_core_dump.h Thu Feb 05 22:43:17 2015 +0100 +@@ -36,6 +36,7 @@ + #include + #include + #include ++#include + + #include "common/memory_range.h" + +diff -r 2d344ef8da33 -r df5ec9e5685a toolkit/crashreporter/google-breakpad/src/common/stabs_reader.cc +--- a/mozilla/toolkit/crashreporter/google-breakpad/src/common/stabs_reader.cc Sun Feb 01 19:32:36 2015 +0100 ++++ b/mozilla/toolkit/crashreporter/google-breakpad/src/common/stabs_reader.cc Thu Feb 05 22:43:17 2015 +0100 +@@ -34,7 +34,6 @@ + #include "common/stabs_reader.h" + + #include +-#include + #include + + #include +diff -r 2d344ef8da33 -r df5ec9e5685a toolkit/crashreporter/google-breakpad/src/common/stabs_reader.h +--- a/mozilla/toolkit/crashreporter/google-breakpad/src/common/stabs_reader.h Sun Feb 01 19:32:36 2015 +0100 ++++ b/mozilla/toolkit/crashreporter/google-breakpad/src/common/stabs_reader.h Thu Feb 05 22:43:17 2015 +0100 +@@ -53,12 +53,19 @@ + #include + #endif + +-#ifdef HAVE_A_OUT_H +-#include +-#endif + #ifdef HAVE_MACH_O_NLIST_H + #include + #endif ++// Definitions from and for systems which ++// do not have them ++#undef N_UNDF ++#define N_UNDF 0x0 ++#define N_FUN 0x24 ++#define N_SLINE 0x44 ++#define N_SO 0x64 ++#define N_LSYM 0x80 ++#define N_BINCL 0x82 ++#define N_SOL 0x84 + + #include + #include +diff -r 2d344ef8da33 -r df5ec9e5685a toolkit/crashreporter/google-breakpad/src/common/stabs_reader_unittest.cc +--- a/mozilla/toolkit/crashreporter/google-breakpad/src/common/stabs_reader_unittest.cc Sun Feb 01 19:32:36 2015 +0100 ++++ b/mozilla/toolkit/crashreporter/google-breakpad/src/common/stabs_reader_unittest.cc Thu Feb 05 22:43:17 2015 +0100 +@@ -33,7 +33,6 @@ + + #include + #include +-#include + #include + #include + #include +diff -r 2d344ef8da33 -r df5ec9e5685a toolkit/crashreporter/google-breakpad/src/third_party/lss/linux_syscall_support.h +--- a/mozilla/toolkit/crashreporter/google-breakpad/src/third_party/lss/linux_syscall_support.h Sun Feb 01 19:32:36 2015 +0100 ++++ b/mozilla/toolkit/crashreporter/google-breakpad/src/third_party/lss/linux_syscall_support.h Thu Feb 05 22:43:17 2015 +0100 +@@ -2814,7 +2814,7 @@ + LSS_INLINE _syscall6(void*, mmap, void*, s, + size_t, l, int, p, + int, f, int, d, +- __off64_t, o) ++ off64_t, o) + + LSS_INLINE _syscall4(int, newfstatat, int, d, + const char *, p, +diff -r 2d344ef8da33 -r df5ec9e5685a toolkit/crashreporter/nsExceptionHandler.cpp +--- a/mozilla/toolkit/crashreporter/nsExceptionHandler.cpp Sun Feb 01 19:32:36 2015 +0100 ++++ b/mozilla/toolkit/crashreporter/nsExceptionHandler.cpp Thu Feb 05 22:43:17 2015 +0100 +@@ -49,6 +49,7 @@ + #elif defined(XP_LINUX) + #include "nsIINIParser.h" + #include "common/linux/linux_libc_support.h" ++#undef getdents64 + #include "third_party/lss/linux_syscall_support.h" + #include "client/linux/crash_generation/client_info.h" + #include "client/linux/crash_generation/crash_generation_server.h" diff --git a/musl-new/www-client/firefox/files/musl-esr-patches/firefox-38.3.0-fix-bug-1130175.patch b/www-client/firefox/files/musl-esr-patches/firefox-38.3.0-fix-bug-1130175.patch new file mode 100644 index 0000000..25f8198 --- /dev/null +++ b/www-client/firefox/files/musl-esr-patches/firefox-38.3.0-fix-bug-1130175.patch @@ -0,0 +1,33 @@ +# HG changeset patch +# User Felix Janda +# Date 1423171460 -3600 +# Thu Feb 05 22:24:20 2015 +0100 +# Node ID af818fbea923d7c026bc8e22a6512f14f788ba56 +# Parent 9c40ffbcf6b32d688abf089f2cce3c85dd8bdb29 +Bug 1130175 - nICEr: avoid sysctl.h include. r=bwc + +diff -r 9c40ffbcf6b3 -r af818fbea923 media/mtransport/third_party/nICEr/src/stun/addrs.c +--- a/mozilla/media/mtransport/third_party/nICEr/src/stun/addrs.c Mon Feb 23 07:39:00 2015 -0500 ++++ b/mozilla/media/mtransport/third_party/nICEr/src/stun/addrs.c Thu Feb 05 22:24:20 2015 +0100 +@@ -45,13 +45,11 @@ + #include + #include + #ifndef ANDROID +-#include + #include + #else + #include + /* Work around an Android NDK < r8c bug */ + #undef __unused +-#include + #endif + #ifndef LINUX + #include +@@ -122,6 +120,7 @@ + */ + + #include ++#include + + static void stun_rt_xaddrs(caddr_t, caddr_t, struct rt_addrinfo *); + static int stun_grab_addrs(char *name, int addrcount, diff --git a/musl-new/www-client/firefox/files/musl-esr-patches/firefox-38.3.0-fix-bug-1130709.patch b/www-client/firefox/files/musl-esr-patches/firefox-38.3.0-fix-bug-1130709.patch new file mode 100644 index 0000000..063c4f5 --- /dev/null +++ b/www-client/firefox/files/musl-esr-patches/firefox-38.3.0-fix-bug-1130709.patch @@ -0,0 +1,227 @@ +# HG changeset patch +# User Felix Janda +# Date 1423304332 -3600 +# Node ID 3e7a3784e7479ab7c663eecbccf8107c271290a0 +# Parent 12394290ae583134871ed40c93677f62ffb1e9e0 +Bug 1130709: Make __BEGIN_DECLS and __END_DECLS explicit r=bwc + +diff --git a/mozilla/media/webrtc/signaling/src/sdp/sipcc/cpr_darwin_types.h b/mozilla/media/webrtc/signaling/src/sdp/sipcc/cpr_darwin_types.h +--- a/mozilla/media/webrtc/signaling/src/sdp/sipcc/cpr_darwin_types.h ++++ b/mozilla/media/webrtc/signaling/src/sdp/sipcc/cpr_darwin_types.h +@@ -49,37 +49,16 @@ typedef uint8_t boolean; + #ifdef __GNUC__ + #define MAX(a,b) ({ typeof(a) _a = (a); typeof(b) _b = (b); _a > _b ? _a : _b; }) + #else + #define MAX(a,b) (((a) > (b)) ? (a) : (b)) + #endif + #endif + + /** +- * __BEGIN_DECLS and __END_DECLS +- * +- * Define macros for compilation by C++ compiler +- */ +-#ifndef __BEGIN_DECLS +-#ifdef __cplusplus +-#define __BEGIN_DECLS extern "C" { +-#else +-#define __BEGIN_DECLS +-#endif +-#endif +- +-#ifndef __END_DECLS +-#ifdef __cplusplus +-#define __END_DECLS } +-#else +-#define __END_DECLS +-#endif +-#endif +- +-/** + * Define TRUE/FALSE + * defined in several header files + */ + #ifndef TRUE + #define TRUE 1 + #endif + + #ifndef FALSE +diff --git a/mozilla/media/webrtc/signaling/src/sdp/sipcc/cpr_linux_types.h b/mozilla/media/webrtc/signaling/src/sdp/sipcc/cpr_linux_types.h +--- a/mozilla/media/webrtc/signaling/src/sdp/sipcc/cpr_linux_types.h ++++ b/mozilla/media/webrtc/signaling/src/sdp/sipcc/cpr_linux_types.h +@@ -57,38 +57,16 @@ typedef uint8_t boolean; + #ifndef MAX + #ifdef __GNUC__ + #define MAX(a,b) ({ typeof(a) _a = (a); typeof(b) _b = (b); _a > _b ? _a : _b; }) + #else + #define MAX(a,b) (((a) > (b)) ? (a) : (b)) + #endif + #endif + +- +- +-/** +- * __BEGIN_DECLS and __END_DECLS +- * +- * Define macros for compilation by C++ compiler +- */ +-#ifndef __BEGIN_DECLS +-#ifdef __cplusplus +-#define __BEGIN_DECLS extern "C" { +-#else +-#define __BEGIN_DECLS +-#endif +-#endif +- +-#ifndef __END_DECLS +-#ifdef __cplusplus +-#define __END_DECLS } +-#else +-#define __END_DECLS +-#endif +-#endif + /** + * Define TRUE/FALSE + * defined in several header files + */ + #ifndef TRUE + #define TRUE 1 + #endif + +diff --git a/mozilla/media/webrtc/signaling/src/sdp/sipcc/cpr_string.h b/mozilla/media/webrtc/signaling/src/sdp/sipcc/cpr_string.h +--- a/mozilla/media/webrtc/signaling/src/sdp/sipcc/cpr_string.h ++++ b/mozilla/media/webrtc/signaling/src/sdp/sipcc/cpr_string.h +@@ -5,17 +5,19 @@ + #ifndef _CPR_STRING_H_ + #define _CPR_STRING_H_ + + #include + + #include "cpr_types.h" + #include "cpr_strings.h" + +-__BEGIN_DECLS ++#ifdef __cplusplus ++extern "C" { ++#endif + + /** + * sstrncpy + * + * @brief The CPR wrapper for strncpy + * + * This is Cisco's *safe* version of strncpy. The string will always + * be NUL terminated (which is not ANSI compliant). +@@ -125,11 +127,13 @@ void flex_string_sprintf(flex_string *fs + * @param[in] str - The string that needs to be duplicated + * + * @return The duplicated string or NULL in case of no memory + * + */ + char * + cpr_strdup(const char *str); + +-__END_DECLS ++#ifdef __cplusplus ++} ++#endif + + #endif +diff --git a/mozilla/media/webrtc/signaling/src/sdp/sipcc/cpr_strings.h b/mozilla/media/webrtc/signaling/src/sdp/sipcc/cpr_strings.h +--- a/mozilla/media/webrtc/signaling/src/sdp/sipcc/cpr_strings.h ++++ b/mozilla/media/webrtc/signaling/src/sdp/sipcc/cpr_strings.h +@@ -2,29 +2,25 @@ + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ + + #ifndef _CPR_STRINGS_H_ + #define _CPR_STRINGS_H_ + + #include "cpr_types.h" + +-__BEGIN_DECLS +- + + #include + + #if defined(_MSC_VER) + #define cpr_strcasecmp _stricmp + #define cpr_strncasecmp _strnicmp + #if _MSC_VER < 1900 + #define snprintf _snprintf + #endif + #else // _MSC_VER + + #define cpr_strcasecmp strcasecmp + #define cpr_strncasecmp strncasecmp + + #endif // _MSC_VER + +-__END_DECLS +- + #endif +diff --git a/mozilla/media/webrtc/signaling/src/sdp/sipcc/cpr_types.h b/mozilla/media/webrtc/signaling/src/sdp/sipcc/cpr_types.h +--- a/mozilla/media/webrtc/signaling/src/sdp/sipcc/cpr_types.h ++++ b/mozilla/media/webrtc/signaling/src/sdp/sipcc/cpr_types.h +@@ -8,17 +8,19 @@ + #if defined SIP_OS_LINUX + #include "cpr_linux_types.h" + #elif defined SIP_OS_WINDOWS + #include "cpr_win_types.h" + #elif defined SIP_OS_OSX + #include "cpr_darwin_types.h" + #endif + +-__BEGIN_DECLS ++#ifdef __cplusplus ++extern "C" { ++#endif + + /* + * CPR Return Codes + */ + typedef enum + { + CPR_SUCCESS, + CPR_FAILURE +@@ -109,11 +111,13 @@ extern const cpr_ip_addr_t ip_addr_inval + * of memory that have a "hidden" header block immediately preceding + * the pointer. You MUST use the functions in string_lib.c to + * create, manipulate, destroy, copy, or otherwise work with these + * strings. + */ + + typedef const char *string_t; + +-__END_DECLS ++#ifdef __cplusplus ++} ++#endif + + #endif +diff --git a/mozilla/media/webrtc/signaling/src/sdp/sipcc/cpr_win_types.h b/mozilla/media/webrtc/signaling/src/sdp/sipcc/cpr_win_types.h +--- a/mozilla/media/webrtc/signaling/src/sdp/sipcc/cpr_win_types.h ++++ b/mozilla/media/webrtc/signaling/src/sdp/sipcc/cpr_win_types.h +@@ -95,21 +95,10 @@ typedef int pid_t; + #endif + + /* + * Define NULL + * defined in numerous header files + */ + /* DONE defined in windef.h */ + +-/* +- * Define __BEGIN_DECLS and __END_DECLS +- */ +-#ifdef __cplusplus +-#define __BEGIN_DECLS extern "C" { +-#define __END_DECLS } +-#else +-#define __BEGIN_DECLS +-#define __END_DECLS +-#endif +- + #endif // _CPR_WIN_TYPES_H_ + + diff --git a/musl-new/www-client/firefox/files/musl-esr-patches/firefox-38.3.0-fix-cdefs-header.patch b/www-client/firefox/files/musl-esr-patches/firefox-38.3.0-fix-cdefs-header.patch new file mode 100644 index 0000000..703190a --- /dev/null +++ b/www-client/firefox/files/musl-esr-patches/firefox-38.3.0-fix-cdefs-header.patch @@ -0,0 +1,30 @@ +# HG changeset patch +# User Felix Janda +# Date 1423171584 -3600 +# Node ID 0b586ba959b254e235cae639b0bbdded387d9253 +# Parent b6191f7e683ab87ed40af42b34041114a380341e +Bug 1151202 - libstagefright: Fix compilation for systems without . r=cpearce + +diff --git a/mozilla/media/libstagefright/system/core/include/cutils/properties.h b/mozilla/media/libstagefright/system/core/include/cutils/properties.h +--- a/mozilla/media/libstagefright/system/core/include/cutils/properties.h ++++ b/mozilla/media/libstagefright/system/core/include/cutils/properties.h +@@ -12,17 +12,17 @@ + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + + #ifndef __CUTILS_PROPERTIES_H + #define __CUTILS_PROPERTIES_H + +-#include ++#include + #include + + #ifdef __cplusplus + extern "C" { + #endif + + /* System properties are *small* name value pairs managed by the + ** property service. If your data doesn't fit in the provided + diff --git a/musl-new/www-client/firefox/files/musl-esr-patches/firefox-38.3.0-fix-fts-header.patch b/www-client/firefox/files/musl-esr-patches/firefox-38.3.0-fix-fts-header.patch new file mode 100644 index 0000000..5ac5944 --- /dev/null +++ b/www-client/firefox/files/musl-esr-patches/firefox-38.3.0-fix-fts-header.patch @@ -0,0 +1,503 @@ +# HG changeset patch +# User Felix Janda +# Date 1429134526 -7200 +# Wed Apr 15 23:48:46 2015 +0200 +# Node ID 62325b792c42746df0c4322d47c6c3e965ec6aaa +# Parent da3e6557e0301899024eeaa24b0a43e837a409d7 +Bug 1139173 - ipc/chromium: Use instead of non-standard . r=froydnj + +diff -r da3e6557e030 -r 62325b792c42 ipc/chromium/src/base/file_util_posix.cc +--- a/mozilla/ipc/chromium/src/base/file_util_posix.cc Wed Apr 22 19:17:15 2015 +0100 ++++ b/mozilla/ipc/chromium/src/base/file_util_posix.cc Wed Apr 15 23:48:46 2015 +0200 +@@ -14,7 +14,7 @@ + #include + #include + #include +-#include ++#include + #include + #define _DARWIN_USE_64_BIT_INODE // Use 64-bit inode data structures + #include +# HG changeset patch +# User Felix Janda +# Date 1429135060 -7200 +# Wed Apr 15 23:57:40 2015 +0200 +# Node ID 1e75c69141cadfd8ea35f5f60e32cb7320d297ab +# Parent 62325b792c42746df0c4322d47c6c3e965ec6aaa +Bug 1139173 - ipc/chromium: Remove ScopedTempDir. r=froydnj + +diff -r 62325b792c42 -r 1e75c69141ca ipc/chromium/moz.build +--- a/mozilla/ipc/chromium/moz.build Wed Apr 15 23:48:46 2015 +0200 ++++ b/mozilla/ipc/chromium/moz.build Wed Apr 15 23:57:40 2015 +0200 +@@ -50,7 +50,6 @@ + 'src/base/pickle.cc', + 'src/base/rand_util.cc', + 'src/base/revocable_store.cc', +- 'src/base/scoped_temp_dir.cc', + 'src/base/string_piece.cc', + 'src/base/string_util.cc', + 'src/base/thread.cc', +diff -r 62325b792c42 -r 1e75c69141ca ipc/chromium/src/base/scoped_temp_dir.cc +--- a/mozilla/ipc/chromium/src/base/scoped_temp_dir.cc Wed Apr 15 23:48:46 2015 +0200 ++++ /dev/null Thu Jan 01 00:00:00 1970 +0000 +@@ -1,47 +0,0 @@ +-// Copyright (c) 2009 The Chromium Authors. All rights reserved. +-// Use of this source code is governed by a BSD-style license that can be +-// found in the LICENSE file. +- +-#include "base/scoped_temp_dir.h" +- +-#include "base/file_util.h" +-#include "base/logging.h" +-#include "base/string_util.h" +- +-ScopedTempDir::ScopedTempDir() { +-} +- +-ScopedTempDir::~ScopedTempDir() { +- if (!path_.empty() && !file_util::Delete(path_, true)) +- CHROMIUM_LOG(ERROR) << "ScopedTempDir unable to delete " << path_.value(); +-} +- +-bool ScopedTempDir::CreateUniqueTempDir() { +- // This "scoped_dir" prefix is only used on Windows and serves as a template +- // for the unique name. +- if (!file_util::CreateNewTempDirectory(FILE_PATH_LITERAL("scoped_dir"), +- &path_)) +- return false; +- +- return true; +-} +- +-bool ScopedTempDir::Set(const FilePath& path) { +- DCHECK(path_.empty()); +- if (!file_util::DirectoryExists(path) && +- !file_util::CreateDirectory(path)) { +- return false; +- } +- path_ = path; +- return true; +-} +- +-FilePath ScopedTempDir::Take() { +- FilePath ret = path_; +- path_ = FilePath(); +- return ret; +-} +- +-bool ScopedTempDir::IsValid() const { +- return !path_.empty() && file_util::DirectoryExists(path_); +-} +diff -r 62325b792c42 -r 1e75c69141ca ipc/chromium/src/base/scoped_temp_dir.h +--- a/mozilla/ipc/chromium/src/base/scoped_temp_dir.h Wed Apr 15 23:48:46 2015 +0200 ++++ /dev/null Thu Jan 01 00:00:00 1970 +0000 +@@ -1,47 +0,0 @@ +-// Copyright (c) 2009 The Chromium Authors. All rights reserved. +-// Use of this source code is governed by a BSD-style license that can be +-// found in the LICENSE file. +- +-#ifndef BASE_SCOPED_TEMP_DIR_H_ +-#define BASE_SCOPED_TEMP_DIR_H_ +- +-// An object representing a temporary / scratch directory that should be cleaned +-// up (recursively) when this object goes out of scope. Note that since +-// deletion occurs during the destructor, no further error handling is possible +-// if the directory fails to be deleted. As a result, deletion is not +-// guaranteed by this class. +- +-#include "base/file_path.h" +- +-class ScopedTempDir { +- public: +- // No directory is owned/created initially. +- ScopedTempDir(); +- +- // Recursively delete path_ +- ~ScopedTempDir(); +- +- // Creates a unique directory in TempPath, and takes ownership of it. +- // See file_util::CreateNewTemporaryDirectory. +- bool CreateUniqueTempDir(); +- +- // Takes ownership of directory at |path|, creating it if necessary. +- // Don't call multiple times unless Take() has been called first. +- bool Set(const FilePath& path); +- +- // Caller takes ownership of the temporary directory so it won't be destroyed +- // when this object goes out of scope. +- FilePath Take(); +- +- const FilePath& path() const { return path_; } +- +- // Returns true if path_ is non-empty and exists. +- bool IsValid() const; +- +- private: +- FilePath path_; +- +- DISALLOW_COPY_AND_ASSIGN(ScopedTempDir); +-}; +- +-#endif // BASE_SCOPED_TEMP_DIR_H_ +# HG changeset patch +# User Felix Janda +# Date 1429135184 -7200 +# Wed Apr 15 23:59:44 2015 +0200 +# Node ID 9b6b694dd82e1a3f7652c35d3e8b264d701ec253 +# Parent 1e75c69141cadfd8ea35f5f60e32cb7320d297ab +Bug 1139173 - ipc/chromium: Remove unused functions from file_util. r=froydnj +CLOSED TREE + +diff -r 1e75c69141ca -r 9b6b694dd82e ipc/chromium/src/base/file_util.cc +--- a/mozilla/ipc/chromium/src/base/file_util.cc Wed Apr 15 23:57:40 2015 +0200 ++++ b/mozilla/ipc/chromium/src/base/file_util.cc Wed Apr 15 23:59:44 2015 +0200 +@@ -139,12 +139,6 @@ + path->push_back(FilePath::kSeparators[0]); + path->append(new_ending); + } +-bool CopyDirectory(const std::wstring& from_path, const std::wstring& to_path, +- bool recursive) { +- return CopyDirectory(FilePath::FromWStringHack(from_path), +- FilePath::FromWStringHack(to_path), +- recursive); +-} + bool CopyFile(const std::wstring& from_path, const std::wstring& to_path) { + return CopyFile(FilePath::FromWStringHack(from_path), + FilePath::FromWStringHack(to_path)); +@@ -172,8 +166,8 @@ + *temp_file = temp_file_path.ToWStringHack(); + return true; + } +-bool Delete(const std::wstring& path, bool recursive) { +- return Delete(FilePath::FromWStringHack(path), recursive); ++bool Delete(const std::wstring& path) { ++ return Delete(FilePath::FromWStringHack(path)); + } + bool DirectoryExists(const std::wstring& path) { + return DirectoryExists(FilePath::FromWStringHack(path)); +diff -r 1e75c69141ca -r 9b6b694dd82e ipc/chromium/src/base/file_util.h +--- a/mozilla/ipc/chromium/src/base/file_util.h Wed Apr 15 23:57:40 2015 +0200 ++++ b/mozilla/ipc/chromium/src/base/file_util.h Wed Apr 15 23:59:44 2015 +0200 +@@ -16,7 +16,6 @@ + #include + #elif defined(OS_POSIX) + #include +-#include + #include + #endif + +@@ -87,34 +86,17 @@ + + // Deletes the given path, whether it's a file or a directory. + // If it's a directory, it's perfectly happy to delete all of the +-// directory's contents. Passing true to recursive deletes +-// subdirectories and their contents as well. ++// directory's contents. + // Returns true if successful, false otherwise. +-// +-// WARNING: USING THIS WITH recursive==true IS EQUIVALENT +-// TO "rm -rf", SO USE WITH CAUTION. +-bool Delete(const FilePath& path, bool recursive); ++bool Delete(const FilePath& path); + // Deprecated temporary compatibility function. +-bool Delete(const std::wstring& path, bool recursive); ++bool Delete(const std::wstring& path); + + // Copies a single file. Use CopyDirectory to copy directories. + bool CopyFile(const FilePath& from_path, const FilePath& to_path); + // Deprecated temporary compatibility function. + bool CopyFile(const std::wstring& from_path, const std::wstring& to_path); + +-// Copies the given path, and optionally all subdirectories and their contents +-// as well. +-// If there are files existing under to_path, always overwrite. +-// Returns true if successful, false otherwise. +-// Dont't use wildcards on the names, it may stop working without notice. +-// +-// If you only need to copy a file use CopyFile, it's faster. +-bool CopyDirectory(const FilePath& from_path, const FilePath& to_path, +- bool recursive); +-// Deprecated temporary compatibility function. +-bool CopyDirectory(const std::wstring& from_path, const std::wstring& to_path, +- bool recursive); +- + // Returns true if the given path exists on the local filesystem, + // false otherwise. + bool PathExists(const FilePath& path); +diff -r 1e75c69141ca -r 9b6b694dd82e ipc/chromium/src/base/file_util_posix.cc +--- a/mozilla/ipc/chromium/src/base/file_util_posix.cc Wed Apr 15 23:57:40 2015 +0200 ++++ b/mozilla/ipc/chromium/src/base/file_util_posix.cc Wed Apr 15 23:59:44 2015 +0200 +@@ -8,9 +8,6 @@ + #include + #include + #include +-#ifndef ANDROID +-#include +-#endif + #include + #include + #include +@@ -53,7 +50,7 @@ + // which works both with and without the recursive flag. I'm not sure we need + // that functionality. If not, remove from file_util_win.cc, otherwise add it + // here. +-bool Delete(const FilePath& path, bool recursive) { ++bool Delete(const FilePath& path) { + const char* path_str = path.value().c_str(); + struct stat file_info; + int test = stat(path_str, &file_info); +@@ -64,174 +61,8 @@ + } + if (!S_ISDIR(file_info.st_mode)) + return (unlink(path_str) == 0); +- if (!recursive) +- return (rmdir(path_str) == 0); + +-#ifdef ANDROID +- // XXX Need ftsless impl for bionic +- return false; +-#else +- bool success = true; +- int ftsflags = FTS_PHYSICAL | FTS_NOSTAT; +- char top_dir[PATH_MAX]; +- if (base::strlcpy(top_dir, path_str, +- arraysize(top_dir)) >= arraysize(top_dir)) { +- return false; +- } +- char* dir_list[2] = { top_dir, NULL }; +- FTS* fts = fts_open(dir_list, ftsflags, NULL); +- if (fts) { +- FTSENT* fts_ent = fts_read(fts); +- while (success && fts_ent != NULL) { +- switch (fts_ent->fts_info) { +- case FTS_DNR: +- case FTS_ERR: +- // log error +- success = false; +- continue; +- break; +- case FTS_DP: +- success = (rmdir(fts_ent->fts_accpath) == 0); +- break; +- case FTS_D: +- break; +- case FTS_NSOK: +- case FTS_F: +- case FTS_SL: +- case FTS_SLNONE: +- success = (unlink(fts_ent->fts_accpath) == 0); +- break; +- default: +- DCHECK(false); +- break; +- } +- fts_ent = fts_read(fts); +- } +- fts_close(fts); +- } +- return success; +-#endif +-} +- +-bool Move(const FilePath& from_path, const FilePath& to_path) { +- if (rename(from_path.value().c_str(), to_path.value().c_str()) == 0) +- return true; +- +- if (!CopyDirectory(from_path, to_path, true)) +- return false; +- +- Delete(from_path, true); +- return true; +-} +- +-bool CopyDirectory(const FilePath& from_path, +- const FilePath& to_path, +- bool recursive) { +- // Some old callers of CopyDirectory want it to support wildcards. +- // After some discussion, we decided to fix those callers. +- // Break loudly here if anyone tries to do this. +- // TODO(evanm): remove this once we're sure it's ok. +- DCHECK(to_path.value().find('*') == std::string::npos); +- DCHECK(from_path.value().find('*') == std::string::npos); +- +- char top_dir[PATH_MAX]; +- if (base::strlcpy(top_dir, from_path.value().c_str(), +- arraysize(top_dir)) >= arraysize(top_dir)) { +- return false; +- } +- +-#ifdef ANDROID +- // XXX Need ftsless impl for bionic +- return false; +-#else +- char* dir_list[] = { top_dir, NULL }; +- FTS* fts = fts_open(dir_list, FTS_PHYSICAL | FTS_NOSTAT, NULL); +- if (!fts) { +- CHROMIUM_LOG(ERROR) << "fts_open failed: " << strerror(errno); +- return false; +- } +- +- int error = 0; +- FTSENT* ent; +- while (!error && (ent = fts_read(fts)) != NULL) { +- // ent->fts_path is the source path, including from_path, so paste +- // the suffix after from_path onto to_path to create the target_path. +- std::string suffix(&ent->fts_path[from_path.value().size()]); +- // Strip the leading '/' (if any). +- if (!suffix.empty()) { +- DCHECK_EQ('/', suffix[0]); +- suffix.erase(0, 1); +- } +- const FilePath target_path = to_path.Append(suffix); +- switch (ent->fts_info) { +- case FTS_D: // Preorder directory. +- // If we encounter a subdirectory in a non-recursive copy, prune it +- // from the traversal. +- if (!recursive && ent->fts_level > 0) { +- if (fts_set(fts, ent, FTS_SKIP) != 0) +- error = errno; +- continue; +- } +- +- // Try creating the target dir, continuing on it if it exists already. +- // Rely on the user's umask to produce correct permissions. +- if (mkdir(target_path.value().c_str(), 0777) != 0) { +- if (errno != EEXIST) +- error = errno; +- } +- break; +- case FTS_F: // Regular file. +- case FTS_NSOK: // File, no stat info requested. +- errno = 0; +- if (!CopyFile(FilePath(ent->fts_path), target_path)) +- error = errno ? errno : EINVAL; +- break; +- case FTS_DP: // Postorder directory. +- case FTS_DOT: // "." or ".." +- // Skip it. +- continue; +- case FTS_DC: // Directory causing a cycle. +- // Skip this branch. +- if (fts_set(fts, ent, FTS_SKIP) != 0) +- error = errno; +- break; +- case FTS_DNR: // Directory cannot be read. +- case FTS_ERR: // Error. +- case FTS_NS: // Stat failed. +- // Abort with the error. +- error = ent->fts_errno; +- break; +- case FTS_SL: // Symlink. +- case FTS_SLNONE: // Symlink with broken target. +- CHROMIUM_LOG(WARNING) << "CopyDirectory() skipping symbolic link: " << +- ent->fts_path; +- continue; +- case FTS_DEFAULT: // Some other sort of file. +- CHROMIUM_LOG(WARNING) << "CopyDirectory() skipping file of unknown type: " << +- ent->fts_path; +- continue; +- default: +- NOTREACHED(); +- continue; // Hope for the best! +- } +- } +- // fts_read may have returned NULL and set errno to indicate an error. +- if (!error && errno != 0) +- error = errno; +- +- if (!fts_close(fts)) { +- // If we already have an error, let's use that error instead of the error +- // fts_close set. +- if (!error) +- error = errno; +- } +- +- if (error) { +- CHROMIUM_LOG(ERROR) << "CopyDirectory(): " << strerror(error); +- return false; +- } +- return true; +-#endif ++ return (rmdir(path_str) == 0); + } + + bool PathExists(const FilePath& path) { +diff -r 1e75c69141ca -r 9b6b694dd82e ipc/chromium/src/base/file_util_win.cc +--- a/mozilla/ipc/chromium/src/base/file_util_win.cc Wed Apr 15 23:57:40 2015 +0200 ++++ b/mozilla/ipc/chromium/src/base/file_util_win.cc Wed Apr 15 23:59:44 2015 +0200 +@@ -27,14 +27,14 @@ + return true; + } + +-bool Delete(const FilePath& path, bool recursive) { ++bool Delete(const FilePath& path) { + if (path.value().length() >= MAX_PATH) + return false; + +- // If we're not recursing use DeleteFile; it should be faster. DeleteFile ++ // Use DeleteFile; it should be faster. DeleteFile + // fails if passed a directory though, which is why we fall through on + // failure to the SHFileOperation. +- if (!recursive && DeleteFile(path.value().c_str()) != 0) ++ if (DeleteFile(path.value().c_str()) != 0) + return true; + + // SHFILEOPSTRUCT wants the path to be terminated with two NULLs, +@@ -48,8 +48,7 @@ + file_operation.wFunc = FO_DELETE; + file_operation.pFrom = double_terminated_path; + file_operation.fFlags = FOF_NOERRORUI | FOF_SILENT | FOF_NOCONFIRMATION; +- if (!recursive) +- file_operation.fFlags |= FOF_NORECURSION | FOF_FILESONLY; ++ file_operation.fFlags |= FOF_NORECURSION | FOF_FILESONLY; + int err = SHFileOperation(&file_operation); + // Some versions of Windows return ERROR_FILE_NOT_FOUND when + // deleting an empty directory. +@@ -98,26 +97,6 @@ + return (SHFileOperation(&file_operation) == 0); + } + +-bool CopyDirectory(const FilePath& from_path, const FilePath& to_path, +- bool recursive) { +- if (recursive) +- return ShellCopy(from_path, to_path, true); +- +- // Instead of creating a new directory, we copy the old one to include the +- // security information of the folder as part of the copy. +- if (!PathExists(to_path)) { +- // Except that Vista fails to do that, and instead do a recursive copy if +- // the target directory doesn't exist. +- if (win_util::GetWinVersion() >= win_util::WINVERSION_VISTA) +- CreateDirectory(to_path); +- else +- ShellCopy(from_path, to_path, false); +- } +- +- FilePath directory = from_path.Append(L"*.*"); +- return ShellCopy(directory, to_path, false); +-} +- + bool PathExists(const FilePath& path) { + return (GetFileAttributes(path.value().c_str()) != INVALID_FILE_ATTRIBUTES); + } +diff -r 1e75c69141ca -r 9b6b694dd82e ipc/chromium/src/base/shared_memory_posix.cc +--- a/mozilla/ipc/chromium/src/base/shared_memory_posix.cc Wed Apr 15 23:57:40 2015 +0200 ++++ b/mozilla/ipc/chromium/src/base/shared_memory_posix.cc Wed Apr 15 23:59:44 2015 +0200 +@@ -93,7 +93,7 @@ + + FilePath path(WideToUTF8(mem_filename)); + if (file_util::PathExists(path)) { +- return file_util::Delete(path, false); ++ return file_util::Delete(path); + } + + // Doesn't exist, so success. +@@ -170,7 +170,7 @@ + // Deleting the file prevents anyone else from mapping it in + // (making it private), and prevents the need for cleanup (once + // the last fd is closed, it is truly freed). +- file_util::Delete(path, false); ++ file_util::Delete(path); + } else { + std::wstring mem_filename; + if (FilenameForMemoryName(name, &mem_filename) == false) diff --git a/musl-new/www-client/firefox/files/musl-esr-patches/firefox-38.3.0-fix-netwerk.patch b/www-client/firefox/files/musl-esr-patches/firefox-38.3.0-fix-netwerk.patch new file mode 100644 index 0000000..4a35e82 --- /dev/null +++ b/www-client/firefox/files/musl-esr-patches/firefox-38.3.0-fix-netwerk.patch @@ -0,0 +1,37 @@ +--- a/mozilla/netwerk/sctp/src/netinet/sctp_os_userspace.h ++++ b/mozilla/netwerk/sctp/src/netinet/sctp_os_userspace.h +@@ -400,11 +400,8 @@ + }; + + #else /* !defined(Userspace_os_Windows) */ +-#include /* needed? added from old __FreeBSD__ */ + #include +-#if defined(__Userspace_os_DragonFly) || defined(__Userspace_os_FreeBSD) || defined(__Userspace_os_Linux) || defined(__Userspace_os_NetBSD) || defined(__Userspace_os_OpenBSD) || defined(ANDROID) + #include +-#endif + typedef pthread_mutex_t userland_mutex_t; + typedef pthread_cond_t userland_cond_t; + typedef pthread_t userland_thread_t; +--- a/mozilla/netwerk/sctp/src/netinet/sctp_pcb.c ++++ b/mozilla/netwerk/sctp/src/netinet/sctp_pcb.c +@@ -30,6 +30,9 @@ + * THE POSSIBILITY OF SUCH DAMAGE. + */ + ++#define _BSD_SOURCE /* for IPPORT_RESERVED */ ++#include ++ + #ifdef __FreeBSD__ + #include + __FBSDID("$FreeBSD: head/sys/netinet/sctp_pcb.c 258765 2013-11-30 12:51:19Z tuexen $"); +--- a/mozilla/netwerk/sctp/src/user_queue.h ++++ b/mozilla/netwerk/sctp/src/user_queue.h +@@ -31,7 +31,7 @@ + #ifndef _USER_QUEUE_H_ + #define _USER_QUEUE_H_ + +-#if !defined (__Userspace_os_Windows) ++#if defined(__Userspace_os_FreeBSD) + #include + #endif + /* diff --git a/musl-new/www-client/firefox/files/musl-esr-patches/firefox-38.3.0-fix-sysctl-headers.patch b/www-client/firefox/files/musl-esr-patches/firefox-38.3.0-fix-sysctl-headers.patch new file mode 100644 index 0000000..25f8198 --- /dev/null +++ b/www-client/firefox/files/musl-esr-patches/firefox-38.3.0-fix-sysctl-headers.patch @@ -0,0 +1,33 @@ +# HG changeset patch +# User Felix Janda +# Date 1423171460 -3600 +# Thu Feb 05 22:24:20 2015 +0100 +# Node ID af818fbea923d7c026bc8e22a6512f14f788ba56 +# Parent 9c40ffbcf6b32d688abf089f2cce3c85dd8bdb29 +Bug 1130175 - nICEr: avoid sysctl.h include. r=bwc + +diff -r 9c40ffbcf6b3 -r af818fbea923 media/mtransport/third_party/nICEr/src/stun/addrs.c +--- a/mozilla/media/mtransport/third_party/nICEr/src/stun/addrs.c Mon Feb 23 07:39:00 2015 -0500 ++++ b/mozilla/media/mtransport/third_party/nICEr/src/stun/addrs.c Thu Feb 05 22:24:20 2015 +0100 +@@ -45,13 +45,11 @@ + #include + #include + #ifndef ANDROID +-#include + #include + #else + #include + /* Work around an Android NDK < r8c bug */ + #undef __unused +-#include + #endif + #ifndef LINUX + #include +@@ -122,6 +120,7 @@ + */ + + #include ++#include + + static void stun_rt_xaddrs(caddr_t, caddr_t, struct rt_addrinfo *); + static int stun_grab_addrs(char *name, int addrcount, diff --git a/musl-new/www-client/firefox/files/musl-esr-patches/firefox-38.3.0-fix-u_int64_t.patch b/www-client/firefox/files/musl-esr-patches/firefox-38.3.0-fix-u_int64_t.patch new file mode 100644 index 0000000..a01ecd1 --- /dev/null +++ b/www-client/firefox/files/musl-esr-patches/firefox-38.3.0-fix-u_int64_t.patch @@ -0,0 +1,68 @@ +# HG changeset patch +# User Felix Janda +# Date 1423173074 -3600 +# Thu Feb 05 22:51:14 2015 +0100 +# Node ID a446b4e607445d1c6faec25b43a5d9b5d45bcacf +# Parent 89120ad0518fb4932de5b5f466debed68ee787ce +Bug 1130164 - tools/profiler: Use types. r=jseward + +diff -r 89120ad0518f -r a446b4e60744 tools/profiler/UnwinderThread2.cpp +--- a/mozilla/tools/profiler/UnwinderThread2.cpp Thu Mar 05 06:04:03 2015 -0500 ++++ b/mozilla/tools/profiler/UnwinderThread2.cpp Thu Feb 05 22:51:14 2015 +0100 +@@ -470,7 +470,7 @@ + ////////////////////////////////////////////////////////// + + // This is the interface to LUL. +-typedef struct { u_int64_t pc; u_int64_t sp; } PCandSP; ++typedef struct { uint64_t pc; uint64_t sp; } PCandSP; + + // Forward declaration. Implementation is below. + static +@@ -1338,7 +1338,7 @@ + else { + // We have at least one N and one P entry available. + // Scan forwards to find the SP of the current P entry +- u_int64_t sp_cur_P = 0; ++ uint64_t sp_cur_P = 0; + unsigned int m = next_P + 1; + while (1) { + /* This assertion should hold because in a well formed +@@ -1349,7 +1349,7 @@ + if (ent.is_ent_hint('Q')) + break; + if (ent.is_ent('S')) { +- sp_cur_P = reinterpret_cast(ent.get_tagPtr()); ++ sp_cur_P = reinterpret_cast(ent.get_tagPtr()); + break; + } + m++; +@@ -1358,7 +1358,7 @@ + if (0) LOG(" P <= last_was_P && sp_cur_P == 0"); + use_P = true; + } else { +- u_int64_t sp_cur_N = pairs[next_N].sp; ++ uint64_t sp_cur_N = pairs[next_N].sp; + use_P = (sp_cur_P > sp_cur_N); + if (0) LOGF(" %s <= sps P %p N %p", + use_P ? "P" : "N", (void*)(intptr_t)sp_cur_P, +diff -r 89120ad0518f -r a446b4e60744 tools/profiler/local_debug_info_symbolizer.cc +--- a/mozilla/tools/profiler/local_debug_info_symbolizer.cc Thu Mar 05 06:04:03 2015 -0500 ++++ b/mozilla/tools/profiler/local_debug_info_symbolizer.cc Thu Feb 05 22:51:14 2015 +0100 +@@ -222,7 +222,7 @@ + debug_info_module = it->second; + } + +- u_int64_t address = frame->instruction - frame->module->base_address(); ++ uint64_t address = frame->instruction - frame->module->base_address(); + Module::Function* function = + debug_info_module->FindFunctionByAddress(address); + if (function) { +@@ -282,7 +282,7 @@ + if (it == symbols_.end()) return NULL; + + Module* module = it->second; +- u_int64_t address = frame->instruction - frame->module->base_address(); ++ uint64_t address = frame->instruction - frame->module->base_address(); + Module::StackFrameEntry* entry = + module->FindStackFrameEntryByAddress(address); + if (!entry) diff --git a/musl-new/www-client/firefox/files/musl-esr-patches/firefox-38.3.0-fix-xpcom-blocksize.patch b/www-client/firefox/files/musl-esr-patches/firefox-38.3.0-fix-xpcom-blocksize.patch new file mode 100644 index 0000000..628f6f8 --- /dev/null +++ b/www-client/firefox/files/musl-esr-patches/firefox-38.3.0-fix-xpcom-blocksize.patch @@ -0,0 +1,31 @@ +# HG changeset patch +# User Felix Janda +# Date 1431977414 -7200 +# Node ID fd517a7fc20f9a63e0d3d3246aa617a0b203d141 +# Parent 580e0c9bb03f867512b4f839edc45c338ebdb411 +Bug 1152176 - xpcom: Define linux kernel BLOCK_SIZE if necessary. r=nfroyd + +diff --git a/xpcom/io/nsLocalFileUnix.cpp b/xpcom/io/nsLocalFileUnix.cpp +--- a/mozilla/xpcom/io/nsLocalFileUnix.cpp ++++ b/mozilla/xpcom/io/nsLocalFileUnix.cpp +@@ -23,16 +23,19 @@ + #if defined(VMS) + #include + #endif + + #if defined(HAVE_SYS_QUOTA_H) && defined(HAVE_LINUX_QUOTA_H) + #define USE_LINUX_QUOTACTL + #include + #include ++#ifndef BLOCK_SIZE ++#define BLOCK_SIZE 1024 /* kernel block size */ ++#endif + #endif + + #include "xpcom-private.h" + #include "nsDirectoryServiceDefs.h" + #include "nsCRT.h" + #include "nsCOMPtr.h" + #include "nsMemory.h" + #include "nsIFile.h" + diff --git a/musl-new/www-client/firefox/files/musl-esr-patches/firefox-38.3.0-profiler-gettid.patch b/www-client/firefox/files/musl-esr-patches/firefox-38.3.0-profiler-gettid.patch new file mode 100644 index 0000000..c2630ff --- /dev/null +++ b/www-client/firefox/files/musl-esr-patches/firefox-38.3.0-profiler-gettid.patch @@ -0,0 +1,51 @@ +# HG changeset patch +# User Felix Janda +# Date 1423173146 -3600 +# Thu Feb 05 22:52:26 2015 +0100 +# Node ID c084550fcab646d911bbf4f05747f228759161e4 +# Parent 2d344ef8da33717224d5a08570dc834ca2254f9f +profiler: avoid getcontext and gettid + +diff -r 2d344ef8da33 -r c084550fcab6 tools/profiler/GeckoTaskTracer.cpp +--- a/mozilla/tools/profiler/GeckoTaskTracer.cpp Sun Feb 01 19:32:36 2015 +0100 ++++ b/mozilla/tools/profiler/GeckoTaskTracer.cpp Thu Feb 05 22:52:26 2015 +0100 +@@ -18,8 +18,8 @@ + + #include + +-#if defined(__GLIBC__) +-// glibc doesn't implement gettid(2). ++#if defined(OS_LINUX) && !defined(ANDROID) ++// only bionic wraps gettid(2). + #include + static pid_t gettid() + { +diff -r 2d344ef8da33 -r c084550fcab6 tools/profiler/platform-linux.cc +--- a/mozilla/tools/profiler/platform-linux.cc Sun Feb 01 19:32:36 2015 +0100 ++++ b/mozilla/tools/profiler/platform-linux.cc Thu Feb 05 22:52:26 2015 +0100 +@@ -92,8 +92,8 @@ + + #define SIGNAL_SAVE_PROFILE SIGUSR2 + +-#if defined(__GLIBC__) +-// glibc doesn't implement gettid(2). ++#if !defined(ANDROID) ++// only android wraps gettid(2). + #include + pid_t gettid() + { +@@ -652,10 +652,10 @@ + { + MOZ_ASSERT(aContext); + ucontext_t* pContext = reinterpret_cast(aContext); +- if (!getcontext(pContext)) { +- context = pContext; +- SetSampleContext(this, aContext); +- } ++// if (!getcontext(pContext)) { ++// context = pContext; ++// SetSampleContext(this, aContext); ++// } + } + + void OS::SleepMicro(int microseconds) diff --git a/musl-new/www-client/firefox/files/musl-esr-patches/firefox-38.3.0-queue.patch b/www-client/firefox/files/musl-esr-patches/firefox-38.3.0-queue.patch new file mode 100644 index 0000000..ad87fdd --- /dev/null +++ b/www-client/firefox/files/musl-esr-patches/firefox-38.3.0-queue.patch @@ -0,0 +1,28 @@ +# HG changeset patch +# User Felix Janda +# Date 1428437372 -7200 +# Tue Apr 07 22:09:32 2015 +0200 +# Node ID e783ca150f8370a4d8811ceecc28707617e6a4b8 +# Parent ab0490972e1e47a356c3fc2f9e749a2d77a9739b +# https://bugzilla.mozilla.org/show_bug.cgi?id=1152185 +Include port/generic/include also for webrtc/signaling/test + +diff -r ab0490972e1e media/webrtc/signaling/test/moz.build +--- a/mozilla/media/webrtc/signaling/test/moz.build Mon Apr 06 21:30:03 2015 -0400 ++++ b/mozilla/media/webrtc/signaling/test/moz.build Tue Apr 07 22:51:38 2015 +0200 +@@ -35,6 +35,7 @@ + '/media/mtransport/third_party/nrappkit/src/event', + '/media/mtransport/third_party/nrappkit/src/log', + '/media/mtransport/third_party/nrappkit/src/plugin', ++ '/media/mtransport/third_party/nrappkit/src/port/generic/include', + '/media/mtransport/third_party/nrappkit/src/registry', + '/media/mtransport/third_party/nrappkit/src/share', + '/media/mtransport/third_party/nrappkit/src/stats', +@@ -84,7 +85,6 @@ + if CONFIG['OS_TARGET'] in ('DragonFly', 'FreeBSD', 'NetBSD', 'OpenBSD'): + LOCAL_INCLUDES += [ + '/media/mtransport/third_party/nrappkit/src/port/darwin/include', +- '/media/mtransport/third_party/nrappkit/src/port/generic/include', + ] + + USE_LIBS += [ diff --git a/musl-new/www-client/firefox/files/musl-esr-patches/firefox-38.3.0-sandbox-cdefs.patch b/www-client/firefox/files/musl-esr-patches/firefox-38.3.0-sandbox-cdefs.patch new file mode 100644 index 0000000..692e39e --- /dev/null +++ b/www-client/firefox/files/musl-esr-patches/firefox-38.3.0-sandbox-cdefs.patch @@ -0,0 +1,22 @@ +# HG changeset patch +# User Felix Janda +# Date 1423172498 -3600 +# Thu Feb 05 22:41:38 2015 +0100 +# Node ID 375c73854f92701f13403b8461b35727dccde825 +# Parent 2d344ef8da33717224d5a08570dc834ca2254f9f +# https://code.google.com/p/chromium/issues/detail?id=463208 +# https://bugzilla.mozilla.org/show_bug.cgi?id=1157864 +chromium sandbox: Avoid cdefs.h + +diff -r 2d344ef8da33 -r 375c73854f92 security/sandbox/chromium/sandbox/linux/seccomp-bpf/linux_seccomp.h +--- a/mozilla/security/sandbox/chromium/sandbox/linux/seccomp-bpf/linux_seccomp.h Sun Feb 01 19:32:36 2015 +0100 ++++ b/mozilla/security/sandbox/chromium/sandbox/linux/seccomp-bpf/linux_seccomp.h Thu Feb 05 22:41:38 2015 +0100 +@@ -16,7 +16,7 @@ + #include + #include + +-#include ++#include + // Old Bionic versions do not have sys/user.h. The if can be removed once we no + // longer need to support these old Bionic versions. + // All x86_64 builds use a new enough bionic to have sys/user.h. diff --git a/musl-new/www-client/firefox/files/musl-esr-patches/firefox-38.3.0-updater.patch b/www-client/firefox/files/musl-esr-patches/firefox-38.3.0-updater.patch new file mode 100644 index 0000000..ce892d6 --- /dev/null +++ b/www-client/firefox/files/musl-esr-patches/firefox-38.3.0-updater.patch @@ -0,0 +1,43 @@ +# HG changeset patch +# User Felix Janda +# Date 1428142217 -7200 +# Sat Apr 04 12:10:17 2015 +0200 +# Node ID c04cc88f3bb26e254356df6de06583a542ae6796 +# Parent 90adc073cbc6398f4fab9b1cd07b685368559f34 +# https://bugzilla.mozilla.org/show_bug.cgi?id=1157850 +updater: no fts.h and MAXNAMLEN + +diff -r 90adc073cbc6 -r c04cc88f3bb2 toolkit/mozapps/update/common/updatedefines.h +--- a/mozilla/toolkit/mozapps/update/common/updatedefines.h Thu Apr 02 08:10:00 2015 -0400 ++++ b/mozilla/toolkit/mozapps/update/common/updatedefines.h Sat Apr 04 12:10:17 2015 +0200 +@@ -109,7 +109,7 @@ + # include + # include + +-#ifdef SOLARIS ++#if 1 + # include + #else + # include +diff -r 90adc073cbc6 -r c04cc88f3bb2 toolkit/mozapps/update/updater/updater.cpp +--- a/mozilla/toolkit/mozapps/update/updater/updater.cpp Thu Apr 02 08:10:00 2015 -0400 ++++ b/mozilla/toolkit/mozapps/update/updater/updater.cpp Sat Apr 04 12:10:17 2015 +0200 +@@ -3338,7 +3338,8 @@ + return rv; + } + +-#elif defined(SOLARIS) ++#elif 1 ++//#defined(SOLARIS) + int add_dir_entries(const NS_tchar *dirpath, ActionList *list) + { + int rv = OK; +@@ -3346,7 +3347,7 @@ + NS_tchar foundpath[MAXPATHLEN]; + struct { + dirent dent_buffer; +- char chars[MAXNAMLEN]; ++ char chars[NAME_MAX]; + } ent_buf; + struct dirent* ent; + diff --git a/musl-new/www-client/firefox/files/musl-esr-patches/firefox-38.3.0-xre.patch b/www-client/firefox/files/musl-esr-patches/firefox-38.3.0-xre.patch new file mode 100644 index 0000000..9b0480d --- /dev/null +++ b/www-client/firefox/files/musl-esr-patches/firefox-38.3.0-xre.patch @@ -0,0 +1,37 @@ +# HG changeset patch +# User Felix Janda +# Date 1423172841 -3600 +# Thu Feb 05 22:47:21 2015 +0100 +# Node ID 48efa200aae98f4b5fced4f1afa4f1b8c8cde9e1 +# Parent 3693f117ad5018927922c92cf5bd9739bc25f394 +Bug 1130710 - xre: Use stdint uint*_t instead of nonstandard __uint*_t. r=bsmedberg + +diff -r 3693f117ad50 -r 48efa200aae9 toolkit/xre/nsSigHandlers.cpp +--- a/mozilla/toolkit/xre/nsSigHandlers.cpp Mon Dec 01 18:50:26 2014 +0100 ++++ b/mozilla/toolkit/xre/nsSigHandlers.cpp Thu Feb 05 22:47:21 2015 +0100 +@@ -165,7 +165,7 @@ + status->__invalid = status->__denorm = status->__zdiv = status->__ovrfl = status->__undfl = + status->__precis = status->__stkflt = status->__errsumm = 0; + +- __uint32_t *mxcsr = &uc->uc_mcontext->__fs.__fpu_mxcsr; ++ uint32_t *mxcsr = &uc->uc_mcontext->__fs.__fpu_mxcsr; + *mxcsr |= SSE_EXCEPTION_MASK; /* disable all SSE exceptions */ + *mxcsr &= ~SSE_STATUS_FLAGS; /* clear all pending SSE exceptions */ + #endif +@@ -185,13 +185,13 @@ + *sw &= ~FPU_STATUS_FLAGS; + #endif + #if defined(__amd64__) +- __uint16_t *cw = &uc->uc_mcontext.fpregs->cwd; ++ uint16_t *cw = &uc->uc_mcontext.fpregs->cwd; + *cw |= FPU_EXCEPTION_MASK; + +- __uint16_t *sw = &uc->uc_mcontext.fpregs->swd; ++ uint16_t *sw = &uc->uc_mcontext.fpregs->swd; + *sw &= ~FPU_STATUS_FLAGS; + +- __uint32_t *mxcsr = &uc->uc_mcontext.fpregs->mxcsr; ++ uint32_t *mxcsr = &uc->uc_mcontext.fpregs->mxcsr; + *mxcsr |= SSE_EXCEPTION_MASK; /* disable all SSE exceptions */ + *mxcsr &= ~SSE_STATUS_FLAGS; /* clear all pending SSE exceptions */ + #endif diff --git a/musl-new/www-client/firefox/firefox-38.4.0-r99.ebuild b/www-client/firefox/firefox-38.4.0-r99.ebuild new file mode 100644 index 0000000..c2e54a2 --- /dev/null +++ b/www-client/firefox/firefox-38.4.0-r99.ebuild @@ -0,0 +1,426 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI="5" +VIRTUALX_REQUIRED="pgo" +WANT_AUTOCONF="2.1" +MOZ_ESR=1 + +# This list can be updated with scripts/get_langs.sh from the mozilla overlay +# No official support as of fetch time +# csb +MOZ_LANGS=( af ar as ast be bg bn-BD bn-IN br bs ca cs cy da de el en +en-GB en-US en-ZA eo es-AR es-CL es-ES es-MX et eu fa fi fr fy-NL ga-IE gd +gl gu-IN he hi-IN hr hu hy-AM id is it ja kk km kn ko lt lv mai mk ml mr +nb-NO nl nn-NO or pa-IN pl pt-BR pt-PT rm ro ru si sk sl son sq sr sv-SE ta te +th tr uk vi xh zh-CN zh-TW ) + +# Convert the ebuild version to the upstream mozilla version, used by mozlinguas +MOZ_PV="${PV/_alpha/a}" # Handle alpha for SRC_URI +MOZ_PV="${MOZ_PV/_beta/b}" # Handle beta for SRC_URI +MOZ_PV="${MOZ_PV/_rc/rc}" # Handle rc for SRC_URI + +if [[ ${MOZ_ESR} == 1 ]]; then + # ESR releases have slightly version numbers + MOZ_PV="${MOZ_PV}esr" +fi + +# Patch version +PATCH="${PN}-38.0-patches-04" +MOZ_HTTP_URI="http://archive.mozilla.org/pub/${PN}/releases" + +MOZCONFIG_OPTIONAL_WIFI=1 +MOZCONFIG_OPTIONAL_JIT="enabled" + +inherit check-reqs flag-o-matic toolchain-funcs eutils gnome2-utils mozconfig-v6.38 multilib pax-utils fdo-mime autotools virtualx mozlinguas + +DESCRIPTION="Firefox Web Browser" +HOMEPAGE="http://www.mozilla.com/firefox" + +KEYWORDS="amd64 ~arm ~ppc x86" + +SLOT="0" +LICENSE="MPL-2.0 GPL-2 LGPL-2.1" +IUSE="bindist egl hardened +minimal neon pgo selinux +gmp-autoupdate test" +RESTRICT="!bindist? ( bindist )" + +# More URIs appended below... +SRC_URI="${SRC_URI} + https://dev.gentoo.org/~anarchy/mozilla/patchsets/${PATCH}.tar.xz + https://dev.gentoo.org/~axs/mozilla/patchsets/${PATCH}.tar.xz + https://dev.gentoo.org/~polynomial-c/mozilla/patchsets/${PATCH}.tar.xz" + +ASM_DEPEND=">=dev-lang/yasm-1.1" + +# Mesa 7.10 needed for WebGL + bugfixes +RDEPEND=" + >=dev-libs/nss-3.20.1 + >=dev-libs/nspr-4.10.10 + selinux? ( sec-policy/selinux-mozilla )" + +DEPEND="${RDEPEND} + pgo? ( + >=sys-devel/gcc-4.5 ) + amd64? ( ${ASM_DEPEND} + virtual/opengl ) + x86? ( ${ASM_DEPEND} + virtual/opengl )" + +# No source releases for alpha|beta +if [[ ${PV} =~ alpha ]]; then + CHANGESET="8a3042764de7" + SRC_URI="${SRC_URI} + https://dev.gentoo.org/~nirbheek/mozilla/firefox/firefox-${MOZ_PV}_${CHANGESET}.source.tar.bz2" + S="${WORKDIR}/mozilla-aurora-${CHANGESET}" +elif [[ ${PV} =~ beta ]]; then + S="${WORKDIR}/mozilla-release" + SRC_URI="${SRC_URI} + ${MOZ_HTTP_URI}/${MOZ_PV}/source/firefox-${MOZ_PV}.source.tar.bz2" +else + SRC_URI="${SRC_URI} + ${MOZ_HTTP_URI}/${MOZ_PV}/source/firefox-${MOZ_PV}.source.tar.bz2" + if [[ ${MOZ_ESR} == 1 ]]; then + S="${WORKDIR}/mozilla-esr${PV%%.*}" + else + S="${WORKDIR}/mozilla-release" + fi +fi + +QA_PRESTRIPPED="usr/$(get_libdir)/${PN}/firefox" + +BUILD_OBJ_DIR="${S}/ff" + +pkg_setup() { + moz_pkgsetup + + # Avoid PGO profiling problems due to enviroment leakage + # These should *always* be cleaned up anyway + unset DBUS_SESSION_BUS_ADDRESS \ + DISPLAY \ + ORBIT_SOCKETDIR \ + SESSION_MANAGER \ + XDG_SESSION_COOKIE \ + XAUTHORITY + + if ! use bindist; then + einfo + elog "You are enabling official branding. You may not redistribute this build" + elog "to any users on your network or the internet. Doing so puts yourself into" + elog "a legal problem with Mozilla Foundation" + elog "You can disable it by emerging ${PN} _with_ the bindist USE-flag" + fi + + if use pgo; then + einfo + ewarn "You will do a double build for profile guided optimization." + ewarn "This will result in your build taking at least twice as long as before." + fi +} + +pkg_pretend() { + # Ensure we have enough disk space to compile + if use pgo || use debug || use test ; then + CHECKREQS_DISK_BUILD="8G" + else + CHECKREQS_DISK_BUILD="4G" + fi + check-reqs_pkg_setup +} + +src_unpack() { + unpack ${A} + + # Unpack language packs + mozlinguas_src_unpack +} + +src_prepare() { + # Apply our patches + EPATCH_SUFFIX="patch" \ + EPATCH_FORCE="yes" \ + EPATCH_EXCLUDE="8011_bug1194520-freetype261_until_moz43.patch" \ + epatch "${WORKDIR}/firefox" + + + ## patches for building with musl libc + + epatch "${FILESDIR}"/musl-esr-patches/firefox-38.3.0-crashreporter.patch # fixed? + epatch "${FILESDIR}"/musl-esr-patches/firefox-38.3.0-fix-fts-header.patch # bug 1139173, fixed in 40.0.a1 + epatch "${FILESDIR}"/musl-esr-patches/firefox-38.3.0-fix-u_int64_t.patch # bug 1130164, fixed in 39.0a1 + epatch "${FILESDIR}"/musl-esr-patches/firefox-38.3.0-profiler-gettid.patch # fixed? + epatch "${FILESDIR}"/musl-esr-patches/firefox-38.3.0-sandbox-cdefs.patch # bug 1157864, fixed in 42.0a1 + epatch "${FILESDIR}"/musl-esr-patches/firefox-38.3.0-updater.patch # bug 1157850, not fixed as of today + epatch "${FILESDIR}"/musl-esr-patches/firefox-38.3.0-basename.patch # bug 1041962, not fixed as of today + epatch "${FILESDIR}"/musl-esr-patches/firefox-38.3.0-fix-sysctl-headers.patch # bug 1130175, fixed in 39.0a1 + epatch "${FILESDIR}"/musl-esr-patches/firefox-38.3.0-fix-xpcom-blocksize.patch # bug 1152176, fixed in 41.0a1 + epatch "${FILESDIR}"/musl-esr-patches/firefox-38.3.0-fix-cdefs-header.patch # bug 1151202, fixed in 40.0a1 + epatch "${FILESDIR}"/musl-esr-patches/firefox-38.3.0-xre.patch # bug 1130710, fixed in 40.0a1 + epatch "${FILESDIR}"/musl-esr-patches/firefox-38.3.0-fix-netwerk.patch # from alpine + epatch "${FILESDIR}"/musl-esr-patches/firefox-38.3.0-fix-bug-1130709.patch # bug 1130709, fixed in 40.0a1 + epatch "${FILESDIR}"/musl-esr-patches/firefox-38.3.0-queue.patch # bug 1152185, fixed in 41.0a1 | works, but not sure if needed + +# epatch "${FILESDIR}"/musl-esr-patches/firefox-38.3.0-fix-bug-1130175.patch # cannot be applied due to major changes in mozilla/media/mtransport/third_party/nICEr/src/stun/addrs.c + + ## end of musl patching + + + # Allow user to apply any additional patches without modifing ebuild + epatch_user + + # Enable gnomebreakpad + if use debug ; then + sed -i -e "s:GNOME_DISABLE_CRASH_DIALOG=1:GNOME_DISABLE_CRASH_DIALOG=0:g" \ + "${S}"/build/unix/run-mozilla.sh || die "sed failed!" + fi + + # Ensure that our plugins dir is enabled as default + sed -i -e "s:/usr/lib/mozilla/plugins:/usr/lib/nsbrowser/plugins:" \ + "${S}"/xpcom/io/nsAppFileLocationProvider.cpp || die "sed failed to replace plugin path for 32bit!" + sed -i -e "s:/usr/lib64/mozilla/plugins:/usr/lib64/nsbrowser/plugins:" \ + "${S}"/xpcom/io/nsAppFileLocationProvider.cpp || die "sed failed to replace plugin path for 64bit!" + + # Fix sandbox violations during make clean, bug 372817 + sed -e "s:\(/no-such-file\):${T}\1:g" \ + -i "${S}"/config/rules.mk \ + -i "${S}"/nsprpub/configure{.in,} \ + || die + + # Don't exit with error when some libs are missing which we have in + # system. + sed '/^MOZ_PKG_FATAL_WARNINGS/s@= 1@= 0@' \ + -i "${S}"/browser/installer/Makefile.in || die + + # Don't error out when there's no files to be removed: + sed 's@\(xargs rm\)$@\1 -f@' \ + -i "${S}"/toolkit/mozapps/installer/packager.mk || die + + eautoreconf + + # Must run autoconf in js/src + cd "${S}"/js/src || die + eautoconf + + # Need to update jemalloc's configure + cd "${S}"/memory/jemalloc/src || die + WANT_AUTOCONF= eautoconf +} + +src_configure() { + MOZILLA_FIVE_HOME="/usr/$(get_libdir)/${PN}" + MEXTENSIONS="default" + # Google API keys (see http://www.chromium.org/developers/how-tos/api-keys) + # Note: These are for Gentoo Linux use ONLY. For your own distribution, please + # get your own set of keys. + _google_api_key=AIzaSyDEAOvatFo0eTgsV_ZlEzx0ObmepsMzfAc + + #################################### + # + # mozconfig, CFLAGS and CXXFLAGS setup + # + #################################### + + mozconfig_init + mozconfig_config + + # It doesn't compile on alpha without this LDFLAGS + use alpha && append-ldflags "-Wl,--no-relax" + + # Add full relro support for hardened + use hardened && append-ldflags "-Wl,-z,relro,-z,now" + + if use neon ; then + mozconfig_annotate '' --with-fpu=neon + mozconfig_annotate '' --with-thumb=yes + mozconfig_annotate '' --with-thumb-interwork=no + fi + + if [[ ${CHOST} == armv* ]] ; then + mozconfig_annotate '' --with-float-abi=hard + mozconfig_annotate '' --enable-skia + + if ! use system-libvpx ; then + sed -i -e "s|softfp|hard|" \ + "${S}"/media/libvpx/moz.build + fi + fi + + use egl && mozconfig_annotate 'Enable EGL as GL provider' --with-gl-provider=EGL + + # Setup api key for location services + echo -n "${_google_api_key}" > "${S}"/google-api-key + mozconfig_annotate '' --with-google-api-keyfile="${S}/google-api-key" + + mozconfig_annotate '' --enable-extensions="${MEXTENSIONS}" + mozconfig_annotate '' --disable-mailnews + + # Other ff-specific settings + mozconfig_annotate '' --with-default-mozilla-five-home=${MOZILLA_FIVE_HOME} + + # Allow for a proper pgo build + if use pgo; then + echo "mk_add_options PROFILE_GEN_SCRIPT='\$(PYTHON) \$(OBJDIR)/_profile/pgo/profileserver.py'" >> "${S}"/.mozconfig + fi + + echo "mk_add_options MOZ_OBJDIR=${BUILD_OBJ_DIR}" >> "${S}"/.mozconfig + + # Finalize and report settings + mozconfig_final + + if [[ $(gcc-major-version) -lt 4 ]]; then + append-cxxflags -fno-stack-protector + fi + + # workaround for funky/broken upstream configure... + emake -f client.mk configure +} + +src_compile() { + if use pgo; then + addpredict /root + addpredict /etc/gconf + # Reset and cleanup environment variables used by GNOME/XDG + gnome2_environment_reset + + # Firefox tries to use dri stuff when it's run, see bug 380283 + shopt -s nullglob + cards=$(echo -n /dev/dri/card* | sed 's/ /:/g') + if test -z "${cards}"; then + cards=$(echo -n /dev/ati/card* /dev/nvidiactl* | sed 's/ /:/g') + if test -n "${cards}"; then + # Binary drivers seem to cause access violations anyway, so + # let's use indirect rendering so that the device files aren't + # touched at all. See bug 394715. + export LIBGL_ALWAYS_INDIRECT=1 + fi + fi + shopt -u nullglob + addpredict "${cards}" + + CC="$(tc-getCC)" CXX="$(tc-getCXX)" LD="$(tc-getLD)" \ + MOZ_MAKE_FLAGS="${MAKEOPTS}" SHELL="${SHELL:-${EPREFIX%/}/bin/bash}" \ + Xemake -f client.mk profiledbuild || die "Xemake failed" + else + CC="$(tc-getCC)" CXX="$(tc-getCXX)" LD="$(tc-getLD)" \ + MOZ_MAKE_FLAGS="${MAKEOPTS}" SHELL="${SHELL:-${EPREFIX%/}/bin/bash}" \ + emake -f client.mk realbuild + fi + +} + +src_install() { + MOZILLA_FIVE_HOME="/usr/$(get_libdir)/${PN}" + DICTPATH="\"${EPREFIX}/usr/share/myspell\"" + + cd "${BUILD_OBJ_DIR}" || die + + # Pax mark xpcshell for hardened support, only used for startupcache creation. + pax-mark m "${BUILD_OBJ_DIR}"/dist/bin/xpcshell + + # Add our default prefs for firefox + cp "${FILESDIR}"/gentoo-default-prefs.js-1 \ + "${BUILD_OBJ_DIR}/dist/bin/browser/defaults/preferences/all-gentoo.js" \ + || die + + # Set default path to search for dictionaries. + echo "pref(\"spellchecker.dictionary_path\", ${DICTPATH});" \ + >> "${BUILD_OBJ_DIR}/dist/bin/browser/defaults/preferences/all-gentoo.js" \ + || die + + echo "pref(\"extensions.autoDisableScopes\", 3);" >> \ + "${BUILD_OBJ_DIR}/dist/bin/browser/defaults/preferences/all-gentoo.js" \ + || die + + local plugin + use gmp-autoupdate || for plugin in \ + gmp-gmpopenh264 ; do + echo "pref(\"media.${plugin}.autoupdate\", false);" >> \ + "${BUILD_OBJ_DIR}/dist/bin/browser/defaults/preferences/all-gentoo.js" \ + || die + done + + MOZ_MAKE_FLAGS="${MAKEOPTS}" \ + emake DESTDIR="${D}" install + + # Install language packs + mozlinguas_src_install + + local size sizes icon_path icon name + if use bindist; then + sizes="16 32 48" + icon_path="${S}/browser/branding/aurora" + # Firefox's new rapid release cycle means no more codenames + # Let's just stick with this one... + icon="aurora" + name="Aurora" + else + sizes="16 22 24 32 256" + icon_path="${S}/browser/branding/official" + icon="${PN}" + name="Mozilla Firefox" + fi + + # Install icons and .desktop for menu entry + for size in ${sizes}; do + insinto "/usr/share/icons/hicolor/${size}x${size}/apps" + newins "${icon_path}/default${size}.png" "${icon}.png" + done + # The 128x128 icon has a different name + insinto "/usr/share/icons/hicolor/128x128/apps" + newins "${icon_path}/mozicon128.png" "${icon}.png" + # Install a 48x48 icon into /usr/share/pixmaps for legacy DEs + newicon "${icon_path}/content/icon48.png" "${icon}.png" + newmenu "${FILESDIR}/icon/${PN}.desktop" "${PN}.desktop" + sed -i -e "s:@NAME@:${name}:" -e "s:@ICON@:${icon}:" \ + "${ED}/usr/share/applications/${PN}.desktop" || die + + # Add StartupNotify=true bug 237317 + if use startup-notification ; then + echo "StartupNotify=true"\ + >> "${ED}/usr/share/applications/${PN}.desktop" \ + || die + fi + + # Required in order to use plugins and even run firefox on hardened. + if use jit; then + pax-mark m "${ED}"${MOZILLA_FIVE_HOME}/{firefox,firefox-bin,plugin-container} + else + pax-mark m "${ED}"${MOZILLA_FIVE_HOME}/plugin-container + fi + + if use minimal; then + rm -r "${ED}"/usr/include "${ED}${MOZILLA_FIVE_HOME}"/{idl,include,lib,sdk} \ + || die "Failed to remove sdk and headers" + fi + + # very ugly hack to make firefox not sigbus on sparc + # FIXME: is this still needed?? + use sparc && { sed -e 's/Firefox/FirefoxGentoo/g' \ + -i "${ED}/${MOZILLA_FIVE_HOME}/application.ini" \ + || die "sparc sed failed"; } + + # revdep-rebuild entry + insinto /etc/revdep-rebuild + echo "SEARCH_DIRS_MASK=${MOZILLA_FIVE_HOME}" >> ${T}/10firefox + doins "${T}"/10${PN} || die + + # workaround to make firefox find libmozalloc.so on musl + into / + echo "LDPATH=${MOZILLA_FIVE_HOME}" > "${T}"/20firefox + doenvd "${T}"/20firefox || die + +} + +pkg_preinst() { + gnome2_icon_savelist +} + +pkg_postinst() { + # Update mimedb for the new .desktop file + fdo-mime_desktop_database_update + gnome2_icon_cache_update +} + +pkg_postrm() { + gnome2_icon_cache_update +}