Date: Thu, 20 Mar 2014 10:15:01 +0000 (UTC) From: Beat Gaetzi <beat@FreeBSD.org> To: ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org Subject: svn commit: r348676 - in head/www: linux-seamonkey seamonkey seamonkey-i18n seamonkey/files Message-ID: <201403201015.s2KAF1MM060416@svn.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: beat Date: Thu Mar 20 10:15:01 2014 New Revision: 348676 URL: http://svnweb.freebsd.org/changeset/ports/348676 QAT: https://qat.redports.org/buildarchive/r348676/ Log: - Update to 2.25 Submitted by: Jan Beich Security: http://www.vuxml.org/freebsd/610de647-af8d-11e3-a25b-b4b52fce4ce8.html Added: head/www/seamonkey/files/patch-bug806917 (contents, props changed) head/www/seamonkey/files/patch-bug847568 (contents, props changed) head/www/seamonkey/files/patch-bug961264 (contents, props changed) head/www/seamonkey/files/patch-bug961816 (contents, props changed) head/www/seamonkey/files/patch-bug962345 (contents, props changed) head/www/seamonkey/files/patch-bug973744 (contents, props changed) head/www/seamonkey/files/patch-bug975634 (contents, props changed) head/www/seamonkey/files/patch-bug977457 (contents, props changed) head/www/seamonkey/files/patch-clang34-disable-stdcall (contents, props changed) head/www/seamonkey/files/patch-mozilla-js-src-Makefile.in (contents, props changed) head/www/seamonkey/files/patch-mozilla-memory-jemalloc-Makefile.in (contents, props changed) head/www/seamonkey/files/patch-z-bug517422 (contents, props changed) Deleted: head/www/seamonkey/files/patch-bug810716 head/www/seamonkey/files/patch-bug945046 head/www/seamonkey/files/patch-bug946560 head/www/seamonkey/files/patch-clang32-libc++-visibility-hack Modified: head/www/linux-seamonkey/Makefile head/www/linux-seamonkey/Makefile.common head/www/linux-seamonkey/distinfo head/www/seamonkey-i18n/Makefile head/www/seamonkey-i18n/distinfo head/www/seamonkey/Makefile head/www/seamonkey/distinfo head/www/seamonkey/files/extra-patch-mailnews-extensions-enigmail-config-getOsTarget.pl head/www/seamonkey/files/patch-bug826985 head/www/seamonkey/files/patch-bug893397 Modified: head/www/linux-seamonkey/Makefile ============================================================================== --- head/www/linux-seamonkey/Makefile Thu Mar 20 10:13:21 2014 (r348675) +++ head/www/linux-seamonkey/Makefile Thu Mar 20 10:15:01 2014 (r348676) @@ -2,7 +2,7 @@ # $FreeBSD$ PORTNAME= seamonkey -DISTVERSION= 2.24 +DISTVERSION= 2.25 CATEGORIES= www mail news editors irc ipv6 MASTER_SITES= MOZILLA/${PORTNAME}/releases/${DISTVERSION}/linux-i686/en-US Modified: head/www/linux-seamonkey/Makefile.common ============================================================================== --- head/www/linux-seamonkey/Makefile.common Thu Mar 20 10:13:21 2014 (r348675) +++ head/www/linux-seamonkey/Makefile.common Thu Mar 20 10:15:01 2014 (r348676) @@ -76,7 +76,7 @@ post-patch: @${DO_NADA} >>${PREFS_FILE} . if (${DISTVERSION:R:R} < 28 && ${PORTNAME} != "seamonkey") || \ - (${PORTNAME} == "seamonkey" && ${DISTVERSION:C/[0-9]*\.//:C/b.*//} < 25) + (${PORTNAME} == "seamonkey" && ${DISTVERSION:C/[0-9]*\.//:C/[ab].*//} < 25) # dummy resident-unique for make about:memory's "measure" @${REINPLACE_CMD} -i '' \ 's,/proc/self/smaps\(.Private\),////////dev/null\1,' \ Modified: head/www/linux-seamonkey/distinfo ============================================================================== --- head/www/linux-seamonkey/distinfo Thu Mar 20 10:13:21 2014 (r348675) +++ head/www/linux-seamonkey/distinfo Thu Mar 20 10:15:01 2014 (r348676) @@ -1,2 +1,6 @@ -SHA256 (seamonkey-2.24.tar.bz2) = ed4ad37ff9c5d0d36f66bf25b272698e6d5bcf828cfac694d15467d4a4014ce5 -SIZE (seamonkey-2.24.tar.bz2) = 29803592 +SHA256 (seamonkey-2.25.tar.bz2) = 67892c00243b9a4f2964ac61c9661e2d954ce33bc27fb10588f650922d5e3c62 +SIZE (seamonkey-2.25.tar.bz2) = 30377947 +SHA256 (glib2-2.22.2-2.fc12.i686.rpm) = e3b459c245ec14e7248e9de4b506963a4773407f3e58835db5070d0ed02ecc99 +SIZE (glib2-2.22.2-2.fc12.i686.rpm) = 1162908 +SHA256 (gtk2-2.18.3-19.fc12.i686.rpm) = aea9cf7ffe9c8dae0faa2bf3d2aa1b2117c55dce03da72dcce8c268279ec0a4b +SIZE (gtk2-2.18.3-19.fc12.i686.rpm) = 3198708 Modified: head/www/seamonkey-i18n/Makefile ============================================================================== --- head/www/seamonkey-i18n/Makefile Thu Mar 20 10:13:21 2014 (r348675) +++ head/www/seamonkey-i18n/Makefile Thu Mar 20 10:15:01 2014 (r348676) @@ -2,8 +2,7 @@ # $FreeBSD$ PORTNAME= seamonkey-i18n -PORTVERSION= 2.24 -PORTREVISION= 1 +PORTVERSION= 2.25 CATEGORIES= www mail news editors irc MASTER_SITES= MOZILLA/${PORTNAME:S|-i18n||}/releases/${PORTVERSION}/langpack PKGNAMEPREFIX= Modified: head/www/seamonkey-i18n/distinfo ============================================================================== --- head/www/seamonkey-i18n/distinfo Thu Mar 20 10:13:21 2014 (r348675) +++ head/www/seamonkey-i18n/distinfo Thu Mar 20 10:15:01 2014 (r348676) @@ -1,54 +1,54 @@ -SHA256 (xpi/seamonkey-i18n-2.24/seamonkey-2.24.be.langpack.xpi) = 73048f93f2bc1de227d78f4baacced8ed481d0effc1d7b3b1073464dcdb7d872 -SIZE (xpi/seamonkey-i18n-2.24/seamonkey-2.24.be.langpack.xpi) = 814307 -SHA256 (xpi/seamonkey-i18n-2.24/seamonkey-2.24.ca.langpack.xpi) = 40bb6f6ac6e3e2739777eb9b219c88e232e2b20437ec15ff93344cabd6f61047 -SIZE (xpi/seamonkey-i18n-2.24/seamonkey-2.24.ca.langpack.xpi) = 811480 -SHA256 (xpi/seamonkey-i18n-2.24/seamonkey-2.24.cs.langpack.xpi) = 5605ff0b35abd28c7e84b87d2a30434803f74263e53b8b1350a9836fafea71f7 -SIZE (xpi/seamonkey-i18n-2.24/seamonkey-2.24.cs.langpack.xpi) = 809460 -SHA256 (xpi/seamonkey-i18n-2.24/seamonkey-2.24.de.langpack.xpi) = 842fdef4a36a9f5f9ba99e51e4bd99e0890eb279ec151f1a6527c90d123a1997 -SIZE (xpi/seamonkey-i18n-2.24/seamonkey-2.24.de.langpack.xpi) = 816146 -SHA256 (xpi/seamonkey-i18n-2.24/seamonkey-2.24.en-GB.langpack.xpi) = 8da55c64db56bdb9356c51d21a4a09a4530541a38e946543496c60bdc60ef1d3 -SIZE (xpi/seamonkey-i18n-2.24/seamonkey-2.24.en-GB.langpack.xpi) = 781088 -SHA256 (xpi/seamonkey-i18n-2.24/seamonkey-2.24.en-US.langpack.xpi) = 3fae3e80f0b046ee88133c949705264e7b002ec00b2ada403c5d811a77ae87d1 -SIZE (xpi/seamonkey-i18n-2.24/seamonkey-2.24.en-US.langpack.xpi) = 782073 -SHA256 (xpi/seamonkey-i18n-2.24/seamonkey-2.24.es-AR.langpack.xpi) = 28de7925df64046ce11476a5fc463e6d166bcf1f895ead8d96c563c636075052 -SIZE (xpi/seamonkey-i18n-2.24/seamonkey-2.24.es-AR.langpack.xpi) = 838204 -SHA256 (xpi/seamonkey-i18n-2.24/seamonkey-2.24.es-ES.langpack.xpi) = 88d260366fb1c841c46f464510b45e4fe76b636faa02ee649e8143dba8143434 -SIZE (xpi/seamonkey-i18n-2.24/seamonkey-2.24.es-ES.langpack.xpi) = 811306 -SHA256 (xpi/seamonkey-i18n-2.24/seamonkey-2.24.fi.langpack.xpi) = 209e64e3e4132d05beb124f3642e57cd5a341d73e417644725c2a8060cd56a90 -SIZE (xpi/seamonkey-i18n-2.24/seamonkey-2.24.fi.langpack.xpi) = 780302 -SHA256 (xpi/seamonkey-i18n-2.24/seamonkey-2.24.fr.langpack.xpi) = db23d07a62d4f0a7f5a42f2fd1d33a0704ba484c4801e9d218469deadb122106 -SIZE (xpi/seamonkey-i18n-2.24/seamonkey-2.24.fr.langpack.xpi) = 790321 -SHA256 (xpi/seamonkey-i18n-2.24/seamonkey-2.24.gl.langpack.xpi) = 9bc816dda158a5840dfe666e63c7045a73c12021ad1b19ff57ad8b8435124789 -SIZE (xpi/seamonkey-i18n-2.24/seamonkey-2.24.gl.langpack.xpi) = 789063 -SHA256 (xpi/seamonkey-i18n-2.24/seamonkey-2.24.hu.langpack.xpi) = 44099a7e28c99e40483bcec2d1e33e9fe46c493f6dd5b2f95ad83d3b164e81ce -SIZE (xpi/seamonkey-i18n-2.24/seamonkey-2.24.hu.langpack.xpi) = 823607 -SHA256 (xpi/seamonkey-i18n-2.24/seamonkey-2.24.it.langpack.xpi) = c4225ca1648957624fb801000404166072277730ce5b3aab3cf815a787c64acc -SIZE (xpi/seamonkey-i18n-2.24/seamonkey-2.24.it.langpack.xpi) = 725388 -SHA256 (xpi/seamonkey-i18n-2.24/seamonkey-2.24.ja-JP-mac.langpack.xpi) = 8a273e9d1070c8467ddf19290f5fc4a9382f67cc30b498e2523b48f8756965da -SIZE (xpi/seamonkey-i18n-2.24/seamonkey-2.24.ja-JP-mac.langpack.xpi) = 887433 -SHA256 (xpi/seamonkey-i18n-2.24/seamonkey-2.24.ja.langpack.xpi) = 246c15ce3c6f2245b518b08a88390879a5b0e329467f4d108f13e526c7d9201d -SIZE (xpi/seamonkey-i18n-2.24/seamonkey-2.24.ja.langpack.xpi) = 862158 -SHA256 (xpi/seamonkey-i18n-2.24/seamonkey-2.24.lt.langpack.xpi) = d92d7755ccb9a27e2c473eb36c76f3735633d6671dd681d3613ab0e0ea4987d2 -SIZE (xpi/seamonkey-i18n-2.24/seamonkey-2.24.lt.langpack.xpi) = 827034 -SHA256 (xpi/seamonkey-i18n-2.24/seamonkey-2.24.nb-NO.langpack.xpi) = 083be6b731ff4c0e97c1385d66719765e1e09992015686acec6057ecdd2f8837 -SIZE (xpi/seamonkey-i18n-2.24/seamonkey-2.24.nb-NO.langpack.xpi) = 802295 -SHA256 (xpi/seamonkey-i18n-2.24/seamonkey-2.24.nl.langpack.xpi) = f58c6c559b678fc978d7822b67b11cdc0d54d055bb5a6c6059d2bf8e6ebc5d54 -SIZE (xpi/seamonkey-i18n-2.24/seamonkey-2.24.nl.langpack.xpi) = 776386 -SHA256 (xpi/seamonkey-i18n-2.24/seamonkey-2.24.pl.langpack.xpi) = e5406c7cdf55841544806445e3f9f86532bed9e09d3da3077363d4e6cebe9fce -SIZE (xpi/seamonkey-i18n-2.24/seamonkey-2.24.pl.langpack.xpi) = 852730 -SHA256 (xpi/seamonkey-i18n-2.24/seamonkey-2.24.pt-PT.langpack.xpi) = 66dfe3c112c1c6c071b6a0086531f101579d1c92a0d909bbcfee48aedb647969 -SIZE (xpi/seamonkey-i18n-2.24/seamonkey-2.24.pt-PT.langpack.xpi) = 812004 -SHA256 (xpi/seamonkey-i18n-2.24/seamonkey-2.24.ru.langpack.xpi) = d6679b379995552a0ad7b096daa94dffb10d9392a3f8936592deedef4859791b -SIZE (xpi/seamonkey-i18n-2.24/seamonkey-2.24.ru.langpack.xpi) = 882614 -SHA256 (xpi/seamonkey-i18n-2.24/seamonkey-2.24.sk.langpack.xpi) = 4976e86f4faa81cc7ca5ca73305f827d0347a0e2990377fc00c505ce468cb777 -SIZE (xpi/seamonkey-i18n-2.24/seamonkey-2.24.sk.langpack.xpi) = 836795 -SHA256 (xpi/seamonkey-i18n-2.24/seamonkey-2.24.sv-SE.langpack.xpi) = a1cd1c18dcbeb56ca35e4d14c3c2f63e682ce3f51179901c640277cbd0ecb33a -SIZE (xpi/seamonkey-i18n-2.24/seamonkey-2.24.sv-SE.langpack.xpi) = 804953 -SHA256 (xpi/seamonkey-i18n-2.24/seamonkey-2.24.tr.langpack.xpi) = 59f170597e514ca92fab8f7139a5ece6f99d1410e2f52ca4b8452ba687c9b007 -SIZE (xpi/seamonkey-i18n-2.24/seamonkey-2.24.tr.langpack.xpi) = 850114 -SHA256 (xpi/seamonkey-i18n-2.24/seamonkey-2.24.uk.langpack.xpi) = 62972d16d400379183758c09373b4ace1e579a2afa2195f6b31026d50033aea9 -SIZE (xpi/seamonkey-i18n-2.24/seamonkey-2.24.uk.langpack.xpi) = 852876 -SHA256 (xpi/seamonkey-i18n-2.24/seamonkey-2.24.zh-CN.langpack.xpi) = 54d7957ffbc32b34ab6490d1abce26af07e949c265bedc887c15d8a5608f4914 -SIZE (xpi/seamonkey-i18n-2.24/seamonkey-2.24.zh-CN.langpack.xpi) = 813619 -SHA256 (xpi/seamonkey-i18n-2.24/seamonkey-2.24.zh-TW.langpack.xpi) = 90f6ec47141d5ea1aa6809c2ae2ba6c5a8c17e86b0647e5f627c19c0d490fe6c -SIZE (xpi/seamonkey-i18n-2.24/seamonkey-2.24.zh-TW.langpack.xpi) = 837900 +SHA256 (xpi/seamonkey-i18n-2.25/seamonkey-2.25.be.langpack.xpi) = 89685620ee38c099b3621de2ef1e79b63ea2f8c2c73d333c1afb79068e971d14 +SIZE (xpi/seamonkey-i18n-2.25/seamonkey-2.25.be.langpack.xpi) = 817911 +SHA256 (xpi/seamonkey-i18n-2.25/seamonkey-2.25.ca.langpack.xpi) = ea59f8370f00ca40358ecdf489658316ffd44f58c75a3a2b0d4823b0b0a65a5e +SIZE (xpi/seamonkey-i18n-2.25/seamonkey-2.25.ca.langpack.xpi) = 815229 +SHA256 (xpi/seamonkey-i18n-2.25/seamonkey-2.25.cs.langpack.xpi) = 9e1ed7d0540634f4dfa96e71219c9b5ef13389b498185f8160ddc732402f8329 +SIZE (xpi/seamonkey-i18n-2.25/seamonkey-2.25.cs.langpack.xpi) = 813471 +SHA256 (xpi/seamonkey-i18n-2.25/seamonkey-2.25.de.langpack.xpi) = 38634d0c30f1c81a2b86d85542038dcc78efe82a9423718fd5feae15749a9764 +SIZE (xpi/seamonkey-i18n-2.25/seamonkey-2.25.de.langpack.xpi) = 821039 +SHA256 (xpi/seamonkey-i18n-2.25/seamonkey-2.25.en-GB.langpack.xpi) = ab5e441d1b2b474b2724fa67afc1ae77433efdeb3d8f2292b27376b08f433c61 +SIZE (xpi/seamonkey-i18n-2.25/seamonkey-2.25.en-GB.langpack.xpi) = 784862 +SHA256 (xpi/seamonkey-i18n-2.25/seamonkey-2.25.en-US.langpack.xpi) = 7fd81253636a639c33665c0276f88748cb80fe084eff12a9ae7535c2fb5daed3 +SIZE (xpi/seamonkey-i18n-2.25/seamonkey-2.25.en-US.langpack.xpi) = 785842 +SHA256 (xpi/seamonkey-i18n-2.25/seamonkey-2.25.es-AR.langpack.xpi) = bea734c6766993aa99b0c2bc78370e732680d00de7ca1dd65a02a2a92383794d +SIZE (xpi/seamonkey-i18n-2.25/seamonkey-2.25.es-AR.langpack.xpi) = 836043 +SHA256 (xpi/seamonkey-i18n-2.25/seamonkey-2.25.es-ES.langpack.xpi) = e1f52133ff623e90dcb9cd9988abd9c5e6e31d8679c6ee2ccd723f52028bae33 +SIZE (xpi/seamonkey-i18n-2.25/seamonkey-2.25.es-ES.langpack.xpi) = 813327 +SHA256 (xpi/seamonkey-i18n-2.25/seamonkey-2.25.fi.langpack.xpi) = caaaf807a1bf85408c2a9dcbab74e6ee2e9a794114a9d72a86f218ad1b2d4a5b +SIZE (xpi/seamonkey-i18n-2.25/seamonkey-2.25.fi.langpack.xpi) = 783351 +SHA256 (xpi/seamonkey-i18n-2.25/seamonkey-2.25.fr.langpack.xpi) = 3983ba2cf14165d78724dd97e4652833c7f4197c8fa2218eb48c575c8359249f +SIZE (xpi/seamonkey-i18n-2.25/seamonkey-2.25.fr.langpack.xpi) = 794139 +SHA256 (xpi/seamonkey-i18n-2.25/seamonkey-2.25.gl.langpack.xpi) = b48fe273f37bf4a76b6d607377e390d64053019df7213c59b0aa35bce6a6e533 +SIZE (xpi/seamonkey-i18n-2.25/seamonkey-2.25.gl.langpack.xpi) = 792993 +SHA256 (xpi/seamonkey-i18n-2.25/seamonkey-2.25.hu.langpack.xpi) = 3818cf807f912dcf089d992520debf7deda24346f083172ab50fad1ef3b6b197 +SIZE (xpi/seamonkey-i18n-2.25/seamonkey-2.25.hu.langpack.xpi) = 827480 +SHA256 (xpi/seamonkey-i18n-2.25/seamonkey-2.25.it.langpack.xpi) = 1b1b28a69f18af2cf089860722c8a85e8a8b53087adf7bdb881b7fce14a571dd +SIZE (xpi/seamonkey-i18n-2.25/seamonkey-2.25.it.langpack.xpi) = 727323 +SHA256 (xpi/seamonkey-i18n-2.25/seamonkey-2.25.ja-JP-mac.langpack.xpi) = ce6ee62d188107055a7bfaff2a47b375ae06a4e11898d22c4af3636b653487f2 +SIZE (xpi/seamonkey-i18n-2.25/seamonkey-2.25.ja-JP-mac.langpack.xpi) = 891817 +SHA256 (xpi/seamonkey-i18n-2.25/seamonkey-2.25.ja.langpack.xpi) = 66916fd154ef6e33f2c6d3a53fe0dd46d1fd03542241361a18cd589ee7683483 +SIZE (xpi/seamonkey-i18n-2.25/seamonkey-2.25.ja.langpack.xpi) = 866418 +SHA256 (xpi/seamonkey-i18n-2.25/seamonkey-2.25.lt.langpack.xpi) = 043edbbe70608661eb33be1c372f5a4132d2f37e56d570bd6a953495cf99002c +SIZE (xpi/seamonkey-i18n-2.25/seamonkey-2.25.lt.langpack.xpi) = 830877 +SHA256 (xpi/seamonkey-i18n-2.25/seamonkey-2.25.nb-NO.langpack.xpi) = 0773a90b97b3b24f28dea4c637a95c1cf0b4a0aa4b7957232dec7d2de23775e6 +SIZE (xpi/seamonkey-i18n-2.25/seamonkey-2.25.nb-NO.langpack.xpi) = 806695 +SHA256 (xpi/seamonkey-i18n-2.25/seamonkey-2.25.nl.langpack.xpi) = e6b91de4deb292b61ad18e593338f912a5d5749b045bc2698b7e38e394d148ee +SIZE (xpi/seamonkey-i18n-2.25/seamonkey-2.25.nl.langpack.xpi) = 780751 +SHA256 (xpi/seamonkey-i18n-2.25/seamonkey-2.25.pl.langpack.xpi) = 420d34f2475fbfe0f5c80ba3e9d526e02b9fb605e2edc8cfe0011d1e4afd93b2 +SIZE (xpi/seamonkey-i18n-2.25/seamonkey-2.25.pl.langpack.xpi) = 855085 +SHA256 (xpi/seamonkey-i18n-2.25/seamonkey-2.25.pt-PT.langpack.xpi) = 54c80b0243f946249bf53f84b424ef0102cc4cbd0b4fa7861ba77b7977880ff6 +SIZE (xpi/seamonkey-i18n-2.25/seamonkey-2.25.pt-PT.langpack.xpi) = 816434 +SHA256 (xpi/seamonkey-i18n-2.25/seamonkey-2.25.ru.langpack.xpi) = 1f03d4fe581603c64e619562af0aa747e9e73a5be179d99b9b6d5d568ca995dd +SIZE (xpi/seamonkey-i18n-2.25/seamonkey-2.25.ru.langpack.xpi) = 884848 +SHA256 (xpi/seamonkey-i18n-2.25/seamonkey-2.25.sk.langpack.xpi) = 841c06545a7b5f57842674d9f59849e0840dda51d4d5029c1d1dade100df66cb +SIZE (xpi/seamonkey-i18n-2.25/seamonkey-2.25.sk.langpack.xpi) = 840780 +SHA256 (xpi/seamonkey-i18n-2.25/seamonkey-2.25.sv-SE.langpack.xpi) = 1455d1aff8f321d40a1e724d8771db39eee93e74deaf8733fa5a01badc3affd8 +SIZE (xpi/seamonkey-i18n-2.25/seamonkey-2.25.sv-SE.langpack.xpi) = 809391 +SHA256 (xpi/seamonkey-i18n-2.25/seamonkey-2.25.tr.langpack.xpi) = 3c3c54f359b08a508ce014b1edb99db4ed0455237f423051a25e746a775f1dd1 +SIZE (xpi/seamonkey-i18n-2.25/seamonkey-2.25.tr.langpack.xpi) = 789890 +SHA256 (xpi/seamonkey-i18n-2.25/seamonkey-2.25.uk.langpack.xpi) = b64369e2191eaa97fbb11a8e3e343cef42f3156ffccb75d97ed48a71158ea29f +SIZE (xpi/seamonkey-i18n-2.25/seamonkey-2.25.uk.langpack.xpi) = 852254 +SHA256 (xpi/seamonkey-i18n-2.25/seamonkey-2.25.zh-CN.langpack.xpi) = 2e00de1f63e08914d954af80b6bd19552a268f566ca16de587ea673df4d6217c +SIZE (xpi/seamonkey-i18n-2.25/seamonkey-2.25.zh-CN.langpack.xpi) = 817701 +SHA256 (xpi/seamonkey-i18n-2.25/seamonkey-2.25.zh-TW.langpack.xpi) = fc24d601697ee73d6cebb6bc06cc8b22e192716b343138834788d4ff7c9a1863 +SIZE (xpi/seamonkey-i18n-2.25/seamonkey-2.25.zh-TW.langpack.xpi) = 842075 Modified: head/www/seamonkey/Makefile ============================================================================== --- head/www/seamonkey/Makefile Thu Mar 20 10:13:21 2014 (r348675) +++ head/www/seamonkey/Makefile Thu Mar 20 10:15:01 2014 (r348676) @@ -2,7 +2,7 @@ # $FreeBSD$ PORTNAME= seamonkey -DISTVERSION= 2.24 +DISTVERSION= 2.25 CATEGORIES?= www mail news editors irc ipv6 MASTER_SITES= MOZILLA/${PORTNAME}/releases/${DISTVERSION}/source \ https://ftp.mozilla.org/pub/mozilla.org/${PORTNAME}/candidates/${DISTVERSION}-candidates/build1/source/ @@ -12,18 +12,23 @@ EXTRACT_ONLY= ${PORTNAME}-${DISTVERSION} MAINTAINER= gecko@FreeBSD.org COMMENT= The open source, standards compliant web browser -BUILD_DEPENDS= nspr>=4.10.2:${PORTSDIR}/devel/nspr \ +BUILD_DEPENDS= nspr>=4.10.3:${PORTSDIR}/devel/nspr \ nss>=3.15.4:${PORTSDIR}/security/nss \ - sqlite3>=3.8.0.2:${PORTSDIR}/databases/sqlite3 \ + harfbuzz>=0.9.25:${PORTSDIR}/print/harfbuzz \ + libvorbis>=1.3.4:${PORTSDIR}/audio/libvorbis \ + opus>=1.1:${PORTSDIR}/audio/opus \ + libvpx>=1.3.0:${PORTSDIR}/multimedia/libvpx \ + sqlite3>=3.8.1:${PORTSDIR}/databases/sqlite3 \ ${PYTHON_PKGNAMEPREFIX}sqlite3>0:${PORTSDIR}/databases/py-sqlite3 \ v4l_compat>0:${PORTSDIR}/multimedia/v4l_compat \ + zip:${PORTSDIR}/archivers/zip \ unzip:${PORTSDIR}/archivers/unzip # cairo>=1.12.16,2:${PORTSDIR}/graphics/cairo \ LIB_DEPENDS= libv4l2.so:${PORTSDIR}/multimedia/libv4l EM_VERSION= 1.6.1_pre20140112 -L_VERSION= 2.9b1 +L_VERSION= 3.0b1 SSP_UNSAFE= yes USE_AUTOTOOLS= autoconf213:env @@ -78,6 +83,23 @@ MOZSRC:= ${WRKSRC}/mozilla XPI_LIBDIR= ${PREFIX}/lib/xpi +# avoid clang 3.2/3.3 crash in js/src/jsgc.cpp on refillFreeList<(js::AllowGC)1> +# http://svnweb.freebsd.org/changeset/base/255804 +.if ${CHOSEN_COMPILER_TYPE} == clang && ${ARCH} == i386 && ${OSVERSION} < 1000056 +. if ${PORT_OPTIONS:MOPTIMIZED_CFLAGS} +BROKEN= Cannot build with OPTIMIZED_CFLAGS option due to \ + a ${CHOSEN_COMPILER_TYPE} bug: unset the option or \ + use FAVORITE_COMPILER=gcc in Makefile.local/make.conf +# apply workaround only for -O2 or greater +. elif ${CXXFLAGS:M-O*} && ! ${CXXFLAGS:M-O[01]} +. if ${MACHINE_CPU:Msse2} +CXXFLAGS+= -msse2 +. else +CXXFLAGS+= -O1 +. endif +. endif +.endif + .if ${PORT_OPTIONS:MALSA} BUILD_DEPENDS+= alsa-lib>=1.0.27.2_1:${PORTSDIR}/audio/alsa-lib .endif Modified: head/www/seamonkey/distinfo ============================================================================== --- head/www/seamonkey/distinfo Thu Mar 20 10:13:21 2014 (r348675) +++ head/www/seamonkey/distinfo Thu Mar 20 10:15:01 2014 (r348676) @@ -1,4 +1,4 @@ -SHA256 (seamonkey-2.24.source.tar.bz2) = 63855265b4754dd056af8d611b50219577a592466cdf1d3865028d86ed680474 -SIZE (seamonkey-2.24.source.tar.bz2) = 149845514 +SHA256 (seamonkey-2.25.source.tar.bz2) = d99c19338737d75016561340c4bfa0087e13d055971579135eb205ae975c022a +SIZE (seamonkey-2.25.source.tar.bz2) = 155695615 SHA256 (enigmail-1.6.1_pre20140112.tar.xz) = 2d89a9186c3ccfc9397c933c6f63c0518224fea0096d7a292dba3765de088149 SIZE (enigmail-1.6.1_pre20140112.tar.xz) = 916028 Modified: head/www/seamonkey/files/extra-patch-mailnews-extensions-enigmail-config-getOsTarget.pl ============================================================================== --- head/www/seamonkey/files/extra-patch-mailnews-extensions-enigmail-config-getOsTarget.pl Thu Mar 20 10:13:21 2014 (r348675) +++ head/www/seamonkey/files/extra-patch-mailnews-extensions-enigmail-config-getOsTarget.pl Thu Mar 20 10:15:01 2014 (r348676) @@ -41,3 +41,13 @@ index 91285cd..cf4a233 100755 if ($targetOs eq "SunOS") { $targetComp = "sunc"; } +@@ -107,6 +109,9 @@ elsif ($srcComp =~ /cc/) { + elsif ($targetOs eq "AIX") { + $targetComp = "ibmc"; + } ++ else { ++ $targetComp = "gcc3"; ++ } + } + else { + $targetComp = $srcComp; Added: head/www/seamonkey/files/patch-bug806917 ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/www/seamonkey/files/patch-bug806917 Thu Mar 20 10:15:01 2014 (r348676) @@ -0,0 +1,1996 @@ +commit cb40a26 +Author: Alessandro Decina <alessandro.d@gmail.com> +Date: Fri Jan 03 08:16:54 2014 -0800 + + Bug 806917 - support GStreamer 1.0 +--- + configure.in | 66 ++- + content/media/gstreamer/GStreamerAllocator.cpp | 198 +++++++ + content/media/gstreamer/GStreamerAllocator.h | 25 + + content/media/gstreamer/GStreamerFormatHelper.cpp | 13 +- + content/media/gstreamer/GStreamerFunctionList.h | 93 +++- + content/media/gstreamer/GStreamerLoader.cpp | 48 +- + content/media/gstreamer/GStreamerLoader.h | 8 + + content/media/gstreamer/GStreamerReader-0.10.cpp | 203 +++++++ + content/media/gstreamer/GStreamerReader.cpp | 632 ++++++++++++++-------- + content/media/gstreamer/GStreamerReader.h | 42 +- + content/media/gstreamer/moz.build | 11 +- + content/media/test/manifest.js | 6 +- + 12 files changed, 1061 insertions(+), 284 deletions(-) + +diff --git configure.in configure.in +index 9776b8d..0b1698d 100644 +--- mozilla/configure.in ++++ mozilla/configure.in +@@ -3955,6 +3955,7 @@ MOZ_SAMPLE_TYPE_FLOAT32= + MOZ_SAMPLE_TYPE_S16= + MOZ_OPUS=1 + MOZ_WEBM=1 ++MOZ_GSTREAMER= + MOZ_DIRECTSHOW= + MOZ_WMF= + MOZ_FMP4= +@@ -5606,43 +5607,60 @@ dnl = Enable GStreamer + dnl ======================================================== + if test "$OS_TARGET" = "Linux"; then + MOZ_GSTREAMER=1 ++ GST_API_VERSION=0.10 + fi + +-MOZ_ARG_ENABLE_BOOL(gstreamer, +-[ --enable-gstreamer Enable GStreamer support], +-MOZ_GSTREAMER=1, +-MOZ_GSTREAMER=) +- +-if test "$MOZ_GSTREAMER"; then +- # API version, eg 0.10, 1.0 etc ++MOZ_ARG_ENABLE_STRING(gstreamer, ++[ --enable-gstreamer[=0.10] Enable GStreamer support], ++[ MOZ_GSTREAMER=1 ++ # API version, eg 0.10, 1.0 etc ++ if test -z "$enableval" -o "$enableval" = "yes"; then + GST_API_VERSION=0.10 ++ elif test "$enableval" = "no"; then ++ MOZ_GSTREAMER= ++ else ++ GST_API_VERSION=$enableval ++ fi], ++) ++ ++if test -n "$MOZ_GSTREAMER"; then + # core/base release number +- GST_VERSION=0.10.25 ++ if test "$GST_API_VERSION" = "1.0"; then ++ GST_VERSION=1.0 ++ else ++ GST_VERSION=0.10.25 ++ fi ++ + PKG_CHECK_MODULES(GSTREAMER, + gstreamer-$GST_API_VERSION >= $GST_VERSION + gstreamer-app-$GST_API_VERSION +- gstreamer-plugins-base-$GST_API_VERSION, , +- AC_MSG_ERROR([gstreamer and gstreamer-plugins-base development packages are needed to build gstreamer backend. Install them or disable gstreamer support with --disable-gstreamer])) +- if test -n "$GSTREAMER_LIBS"; then +- _SAVE_LDFLAGS=$LDFLAGS +- LDFLAGS="$LDFLAGS $GSTREAMER_LIBS -lgstvideo-$GST_API_VERSION" +- AC_TRY_LINK(,[return 0;],_HAVE_LIBGSTVIDEO=1,_HAVE_LIBGSTVIDEO=) +- if test -n "$_HAVE_LIBGSTVIDEO" ; then +- GSTREAMER_LIBS="$GSTREAMER_LIBS -lgstvideo-$GST_API_VERSION" +- else +- AC_MSG_ERROR([gstreamer-plugins-base found, but no libgstvideo. Something has gone terribly wrong. Try reinstalling gstreamer-plugins-base; failing that, disable the gstreamer backend with --disable-gstreamer.]) +- fi +- LDFLAGS=$_SAVE_LDFLAGS ++ gstreamer-plugins-base-$GST_API_VERSION, ++ [_HAVE_GSTREAMER=1], ++ [_HAVE_GSTREAMER=]) ++ if test -z "$_HAVE_GSTREAMER"; then ++ AC_MSG_ERROR([gstreamer and gstreamer-plugins-base development packages are needed to build gstreamer backend. Install them or disable gstreamer support with --disable-gstreamer]) ++ fi ++ ++ _SAVE_LDFLAGS=$LDFLAGS ++ LDFLAGS="$LDFLAGS $GSTREAMER_LIBS -lgstvideo-$GST_API_VERSION" ++ AC_TRY_LINK(,[return 0;],_HAVE_LIBGSTVIDEO=1,_HAVE_LIBGSTVIDEO=) ++ if test -n "$_HAVE_LIBGSTVIDEO" ; then ++ GSTREAMER_LIBS="$GSTREAMER_LIBS -lgstvideo-$GST_API_VERSION" + else +- AC_MSG_ERROR([gstreamer and gstreamer-plugins-base development packages are needed to build gstreamer backend. Install them or disable gstreamer support with --disable-gstreamer]) ++ AC_MSG_ERROR([gstreamer-plugins-base found, but no libgstvideo. Something has gone terribly wrong. Try reinstalling gstreamer-plugins-base; failing that, disable the gstreamer backend with --disable-gstreamer.]) + fi ++ LDFLAGS=$_SAVE_LDFLAGS ++ ++ AC_SUBST(GSTREAMER_CFLAGS) ++ AC_SUBST(GSTREAMER_LIBS) + fi +-AC_SUBST(GSTREAMER_CFLAGS) +-AC_SUBST(GSTREAMER_LIBS) ++ + AC_SUBST(MOZ_GSTREAMER) ++AC_SUBST(GST_API_VERSION) + + if test -n "$MOZ_GSTREAMER"; then +- AC_DEFINE(MOZ_GSTREAMER) ++ AC_DEFINE(MOZ_GSTREAMER) ++ AC_DEFINE_UNQUOTED(GST_API_VERSION, "$GST_API_VERSION") + fi + + +diff --git content/media/gstreamer/GStreamerAllocator.cpp content/media/gstreamer/GStreamerAllocator.cpp +new file mode 100644 +index 0000000..69d0385 +--- /dev/null ++++ mozilla/content/media/gstreamer/GStreamerAllocator.cpp +@@ -0,0 +1,198 @@ ++#ifdef HAVE_CONFIG_H ++#include "config.h" ++#endif ++ ++#include "GStreamerAllocator.h" ++ ++#include <gst/video/video.h> ++#include <gst/video/gstvideometa.h> ++ ++#include "GStreamerLoader.h" ++ ++using namespace mozilla::layers; ++ ++namespace mozilla { ++ ++typedef struct ++{ ++ GstAllocator parent; ++ GStreamerReader *reader; ++} MozGfxMemoryAllocator; ++ ++typedef struct ++{ ++ GstAllocatorClass parent; ++} MozGfxMemoryAllocatorClass; ++ ++typedef struct ++{ ++ GstMemory memory; ++ PlanarYCbCrImage* image; ++ guint8* data; ++} MozGfxMemory; ++ ++typedef struct ++{ ++ GstMeta meta; ++} MozGfxMeta; ++ ++typedef struct ++{ ++ GstVideoBufferPoolClass parent_class; ++} MozGfxBufferPoolClass; ++ ++typedef struct ++{ ++ GstVideoBufferPool pool; ++} MozGfxBufferPool; ++ ++G_DEFINE_TYPE(MozGfxMemoryAllocator, moz_gfx_memory_allocator, GST_TYPE_ALLOCATOR); ++G_DEFINE_TYPE(MozGfxBufferPool, moz_gfx_buffer_pool, GST_TYPE_VIDEO_BUFFER_POOL); ++ ++void ++moz_gfx_memory_reset(MozGfxMemory *mem) ++{ ++ if (mem->image) ++ mem->image->Release(); ++ ++ ImageContainer* container = ((MozGfxMemoryAllocator*) mem->memory.allocator)->reader->GetImageContainer(); ++ ImageFormat format = PLANAR_YCBCR; ++ mem->image = reinterpret_cast<PlanarYCbCrImage*>(container->CreateImage(&format, 1).get()); ++ mem->data = mem->image->AllocateAndGetNewBuffer(mem->memory.size); ++} ++ ++static GstMemory* ++moz_gfx_memory_allocator_alloc(GstAllocator* aAllocator, gsize aSize, ++ GstAllocationParams* aParams) ++{ ++ MozGfxMemory* mem = g_slice_new (MozGfxMemory); ++ gsize maxsize = aSize + aParams->prefix + aParams->padding; ++ gst_memory_init(GST_MEMORY_CAST (mem), ++ (GstMemoryFlags)aParams->flags, ++ aAllocator, NULL, maxsize, aParams->align, ++ aParams->prefix, aSize); ++ mem->image = NULL; ++ moz_gfx_memory_reset(mem); ++ ++ return (GstMemory *) mem; ++} ++ ++static void ++moz_gfx_memory_allocator_free (GstAllocator * allocator, GstMemory * gmem) ++{ ++ MozGfxMemory *mem = (MozGfxMemory *) gmem; ++ ++ if (mem->memory.parent) ++ goto sub_mem; ++ ++ if (mem->image) ++ mem->image->Release(); ++ ++sub_mem: ++ g_slice_free (MozGfxMemory, mem); ++} ++ ++static gpointer ++moz_gfx_memory_map (MozGfxMemory * mem, gsize maxsize, GstMapFlags flags) ++{ ++ // check that the allocation didn't fail ++ if (mem->data == nullptr) ++ return nullptr; ++ ++ return mem->data + mem->memory.offset; ++} ++ ++static gboolean ++moz_gfx_memory_unmap (MozGfxMemory * mem) ++{ ++ return TRUE; ++} ++ ++static MozGfxMemory * ++moz_gfx_memory_share (MozGfxMemory * mem, gssize offset, gsize size) ++{ ++ MozGfxMemory *sub; ++ GstMemory *parent; ++ ++ /* find the real parent */ ++ if ((parent = mem->memory.parent) == NULL) ++ parent = (GstMemory *) mem; ++ ++ if (size == (gsize) -1) ++ size = mem->memory.size - offset; ++ ++ /* the shared memory is always readonly */ ++ sub = g_slice_new (MozGfxMemory); ++ ++ gst_memory_init (GST_MEMORY_CAST (sub), ++ (GstMemoryFlags) (GST_MINI_OBJECT_FLAGS (parent) | GST_MINI_OBJECT_FLAG_LOCK_READONLY), ++ mem->memory.allocator, &mem->memory, mem->memory.maxsize, mem->memory.align, ++ mem->memory.offset + offset, size); ++ ++ sub->image = mem->image; ++ sub->data = mem->data; ++ ++ return sub; ++} ++ ++static void ++moz_gfx_memory_allocator_class_init (MozGfxMemoryAllocatorClass * klass) ++{ ++ GstAllocatorClass *allocator_class; ++ ++ allocator_class = (GstAllocatorClass *) klass; ++ ++ allocator_class->alloc = moz_gfx_memory_allocator_alloc; ++ allocator_class->free = moz_gfx_memory_allocator_free; ++} ++ ++static void ++moz_gfx_memory_allocator_init (MozGfxMemoryAllocator * allocator) ++{ ++ GstAllocator *alloc = GST_ALLOCATOR_CAST (allocator); ++ ++ alloc->mem_type = "moz-gfx-image"; ++ alloc->mem_map = (GstMemoryMapFunction) moz_gfx_memory_map; ++ alloc->mem_unmap = (GstMemoryUnmapFunction) moz_gfx_memory_unmap; ++ alloc->mem_share = (GstMemoryShareFunction) moz_gfx_memory_share; ++ /* fallback copy and is_span */ ++} ++ ++void ++moz_gfx_memory_allocator_set_reader(GstAllocator* aAllocator, GStreamerReader* aReader) ++{ ++ MozGfxMemoryAllocator *allocator = (MozGfxMemoryAllocator *) aAllocator; ++ allocator->reader = aReader; ++} ++ ++nsRefPtr<PlanarYCbCrImage> ++moz_gfx_memory_get_image(GstMemory *aMemory) ++{ ++ NS_ASSERTION(GST_IS_MOZ_GFX_MEMORY_ALLOCATOR(aMemory->allocator), "Should be a gfx image"); ++ ++ return ((MozGfxMemory *) aMemory)->image; ++} ++ ++void ++moz_gfx_buffer_pool_reset_buffer (GstBufferPool* aPool, GstBuffer* aBuffer) ++{ ++ GstMemory* mem = gst_buffer_peek_memory(aBuffer, 0); ++ ++ NS_ASSERTION(GST_IS_MOZ_GFX_MEMORY_ALLOCATOR(mem->allocator), "Should be a gfx image"); ++ moz_gfx_memory_reset((MozGfxMemory *) mem); ++ GST_BUFFER_POOL_CLASS(moz_gfx_buffer_pool_parent_class)->reset_buffer(aPool, aBuffer); ++} ++ ++static void ++moz_gfx_buffer_pool_class_init (MozGfxBufferPoolClass * klass) ++{ ++ GstBufferPoolClass *pool_class = (GstBufferPoolClass *) klass; ++ pool_class->reset_buffer = moz_gfx_buffer_pool_reset_buffer; ++} ++ ++static void ++moz_gfx_buffer_pool_init (MozGfxBufferPool * pool) ++{ ++} ++ ++} // namespace mozilla +diff --git content/media/gstreamer/GStreamerAllocator.h content/media/gstreamer/GStreamerAllocator.h +new file mode 100644 +index 0000000..05a4412 +--- /dev/null ++++ mozilla/content/media/gstreamer/GStreamerAllocator.h +@@ -0,0 +1,25 @@ ++/* This Source Code Form is subject to the terms of the Mozilla Public ++ * 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/. */ ++ ++#if !defined(GStreamerAllocator_h_) ++#define GStreamerAllocator_h_ ++ ++#include "GStreamerReader.h" ++ ++#define GST_TYPE_MOZ_GFX_MEMORY_ALLOCATOR (moz_gfx_memory_allocator_get_type()) ++#define GST_IS_MOZ_GFX_MEMORY_ALLOCATOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GST_TYPE_MOZ_GFX_MEMORY_ALLOCATOR)) ++#define GST_TYPE_MOZ_GFX_BUFFER_POOL (moz_gfx_buffer_pool_get_type()) ++#define GST_IS_MOZ_GFX_BUFFER_POOL(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GST_TYPE_MOZ_GFX_BUFFER_POOL)) ++ ++namespace mozilla { ++ ++GType moz_gfx_memory_allocator_get_type(); ++void moz_gfx_memory_allocator_set_reader(GstAllocator *aAllocator, GStreamerReader* aReader); ++nsRefPtr<layers::PlanarYCbCrImage> moz_gfx_memory_get_image(GstMemory *aMemory); ++ ++GType moz_gfx_buffer_pool_get_type(); ++ ++} // namespace mozilla ++ ++#endif +diff --git content/media/gstreamer/GStreamerFormatHelper.cpp content/media/gstreamer/GStreamerFormatHelper.cpp +index be71331..a5e5db8 100644 +--- mozilla/content/media/gstreamer/GStreamerFormatHelper.cpp ++++ mozilla/content/media/gstreamer/GStreamerFormatHelper.cpp +@@ -294,12 +294,23 @@ bool GStreamerFormatHelper::CanHandleCodecCaps(GstCaps* aCaps) + GList* GStreamerFormatHelper::GetFactories() { + NS_ASSERTION(sLoadOK, "GStreamer library not linked"); + +- uint32_t cookie = gst_default_registry_get_feature_list_cookie (); ++#if GST_VERSION_MAJOR >= 1 ++ uint32_t cookie = gst_registry_get_feature_list_cookie(gst_registry_get()); ++#else ++ uint32_t cookie = gst_default_registry_get_feature_list_cookie(); ++#endif + if (cookie != mCookie) { + g_list_free(mFactories); ++#if GST_VERSION_MAJOR >= 1 ++ mFactories = ++ gst_registry_feature_filter(gst_registry_get(), ++ (GstPluginFeatureFilter)FactoryFilter, ++ false, nullptr); ++#else + mFactories = + gst_default_registry_feature_filter((GstPluginFeatureFilter)FactoryFilter, + false, nullptr); ++#endif + mCookie = cookie; + } + +diff --git content/media/gstreamer/GStreamerFunctionList.h content/media/gstreamer/GStreamerFunctionList.h +index 56877c0..e169449 100644 +--- mozilla/content/media/gstreamer/GStreamerFunctionList.h ++++ mozilla/content/media/gstreamer/GStreamerFunctionList.h +@@ -9,7 +9,6 @@ + * List of symbol names we need to dlsym from the gstreamer library. + */ + GST_FUNC(LIBGSTAPP, gst_app_sink_get_type) +-GST_FUNC(LIBGSTAPP, gst_app_sink_pull_buffer) + GST_FUNC(LIBGSTAPP, gst_app_sink_set_callbacks) + GST_FUNC(LIBGSTAPP, gst_app_src_end_of_stream) + GST_FUNC(LIBGSTAPP, gst_app_src_get_size) +@@ -22,10 +21,8 @@ GST_FUNC(LIBGSTAPP, gst_app_src_set_stream_type) + GST_FUNC(LIBGSTREAMER, gst_bin_get_by_name) + GST_FUNC(LIBGSTREAMER, gst_bin_get_type) + GST_FUNC(LIBGSTREAMER, gst_bin_iterate_recurse) +-GST_FUNC(LIBGSTREAMER, gst_buffer_copy_metadata) + GST_FUNC(LIBGSTREAMER, gst_buffer_get_type) + GST_FUNC(LIBGSTREAMER, gst_buffer_new) +-GST_FUNC(LIBGSTREAMER, gst_buffer_new_and_alloc) + GST_FUNC(LIBGSTREAMER, gst_bus_set_sync_handler) + GST_FUNC(LIBGSTREAMER, gst_bus_timed_pop_filtered) + GST_FUNC(LIBGSTREAMER, gst_caps_append) +@@ -37,47 +34,37 @@ GST_FUNC(LIBGSTREAMER, gst_caps_new_any) + GST_FUNC(LIBGSTREAMER, gst_caps_new_empty) + GST_FUNC(LIBGSTREAMER, gst_caps_new_full) + GST_FUNC(LIBGSTREAMER, gst_caps_new_simple) +-GST_FUNC(LIBGSTREAMER, gst_caps_unref) +-GST_FUNC(LIBGSTREAMER, gst_element_factory_get_klass) ++GST_FUNC(LIBGSTREAMER, gst_caps_set_simple) + GST_FUNC(LIBGSTREAMER, gst_element_factory_get_static_pad_templates) + GST_FUNC(LIBGSTREAMER, gst_element_factory_get_type) + GST_FUNC(LIBGSTREAMER, gst_element_factory_make) + GST_FUNC(LIBGSTREAMER, gst_element_get_factory) +-GST_FUNC(LIBGSTREAMER, gst_element_get_pad) ++GST_FUNC(LIBGSTREAMER, gst_element_get_static_pad) + GST_FUNC(LIBGSTREAMER, gst_element_get_type) + GST_FUNC(LIBGSTREAMER, gst_element_query_convert) + GST_FUNC(LIBGSTREAMER, gst_element_query_duration) + GST_FUNC(LIBGSTREAMER, gst_element_seek_simple) + GST_FUNC(LIBGSTREAMER, gst_element_set_state) +-GST_FUNC(LIBGSTREAMER, gst_event_parse_new_segment) + GST_FUNC(LIBGSTREAMER, gst_flow_get_name) + GST_FUNC(LIBGSTREAMER, gst_init) + GST_FUNC(LIBGSTREAMER, gst_init_check) + GST_FUNC(LIBGSTREAMER, gst_iterator_next) + GST_FUNC(LIBGSTREAMER, gst_message_parse_error) + GST_FUNC(LIBGSTREAMER, gst_message_type_get_name) +-GST_FUNC(LIBGSTREAMER, gst_mini_object_get_type) +-GST_FUNC(LIBGSTREAMER, gst_mini_object_new) + GST_FUNC(LIBGSTREAMER, gst_mini_object_ref) + GST_FUNC(LIBGSTREAMER, gst_mini_object_unref) + GST_FUNC(LIBGSTREAMER, gst_object_get_name) + GST_FUNC(LIBGSTREAMER, gst_object_get_parent) + GST_FUNC(LIBGSTREAMER, gst_object_unref) +-GST_FUNC(LIBGSTREAMER, gst_pad_add_event_probe) +-GST_FUNC(LIBGSTREAMER, gst_pad_alloc_buffer) + GST_FUNC(LIBGSTREAMER, gst_pad_get_element_private) +-GST_FUNC(LIBGSTREAMER, gst_pad_get_negotiated_caps) +-GST_FUNC(LIBGSTREAMER, gst_pad_set_bufferalloc_function) + GST_FUNC(LIBGSTREAMER, gst_pad_set_element_private) + GST_FUNC(LIBGSTREAMER, gst_parse_bin_from_description) + GST_FUNC(LIBGSTREAMER, gst_pipeline_get_bus) + GST_FUNC(LIBGSTREAMER, gst_pipeline_get_type) + GST_FUNC(LIBGSTREAMER, gst_plugin_feature_get_rank) + GST_FUNC(LIBGSTREAMER, gst_registry_feature_filter) +-GST_FUNC(LIBGSTREAMER, gst_registry_get_default) + GST_FUNC(LIBGSTREAMER, gst_registry_get_feature_list_cookie) + GST_FUNC(LIBGSTREAMER, gst_segment_init) +-GST_FUNC(LIBGSTREAMER, gst_segment_set_newsegment) + GST_FUNC(LIBGSTREAMER, gst_segment_to_stream_time) + GST_FUNC(LIBGSTREAMER, gst_static_caps_get) + GST_FUNC(LIBGSTREAMER, gst_structure_copy) +@@ -85,11 +72,82 @@ GST_FUNC(LIBGSTREAMER, gst_structure_get_int) + GST_FUNC(LIBGSTREAMER, gst_structure_get_value) + GST_FUNC(LIBGSTREAMER, gst_structure_new) + GST_FUNC(LIBGSTREAMER, gst_util_uint64_scale) ++ ++#if GST_VERSION_MAJOR == 0 ++GST_FUNC(LIBGSTAPP, gst_app_sink_pull_buffer) ++GST_FUNC(LIBGSTREAMER, gst_buffer_copy_metadata) ++GST_FUNC(LIBGSTREAMER, gst_buffer_new_and_alloc) ++GST_FUNC(LIBGSTREAMER, gst_caps_unref) ++GST_FUNC(LIBGSTREAMER, gst_element_factory_get_klass) ++GST_FUNC(LIBGSTREAMER, gst_element_get_pad) ++GST_FUNC(LIBGSTREAMER, gst_event_parse_new_segment) ++GST_FUNC(LIBGSTREAMER, gst_mini_object_get_type) ++GST_FUNC(LIBGSTREAMER, gst_mini_object_new) ++GST_FUNC(LIBGSTREAMER, gst_pad_add_event_probe) ++GST_FUNC(LIBGSTREAMER, gst_pad_alloc_buffer) ++GST_FUNC(LIBGSTREAMER, gst_pad_get_negotiated_caps) ++GST_FUNC(LIBGSTREAMER, gst_pad_set_bufferalloc_function) ++GST_FUNC(LIBGSTREAMER, gst_registry_get_default) ++GST_FUNC(LIBGSTREAMER, gst_segment_set_newsegment) + GST_FUNC(LIBGSTVIDEO, gst_video_format_get_component_height) + GST_FUNC(LIBGSTVIDEO, gst_video_format_get_component_offset) + GST_FUNC(LIBGSTVIDEO, gst_video_format_get_component_width) ++GST_FUNC(LIBGSTVIDEO, gst_video_format_get_pixel_stride) + GST_FUNC(LIBGSTVIDEO, gst_video_format_get_row_stride) + GST_FUNC(LIBGSTVIDEO, gst_video_format_parse_caps) ++#else ++ ++GST_FUNC(LIBGSTAPP, gst_app_sink_pull_sample) ++GST_FUNC(LIBGSTREAMER, _gst_caps_any) ++GST_FUNC(LIBGSTREAMER, gst_allocator_get_type) ++GST_FUNC(LIBGSTREAMER, gst_buffer_copy_into) ++GST_FUNC(LIBGSTREAMER, gst_buffer_extract) ++GST_FUNC(LIBGSTREAMER, gst_buffer_get_meta) ++GST_FUNC(LIBGSTREAMER, gst_buffer_get_size) ++GST_FUNC(LIBGSTREAMER, gst_buffer_map) ++GST_FUNC(LIBGSTREAMER, gst_buffer_new_allocate) ++GST_FUNC(LIBGSTREAMER, gst_buffer_n_memory) ++GST_FUNC(LIBGSTREAMER, gst_buffer_peek_memory) ++GST_FUNC(LIBGSTREAMER, gst_buffer_pool_acquire_buffer) ++GST_FUNC(LIBGSTREAMER, gst_buffer_pool_config_set_allocator) ++GST_FUNC(LIBGSTREAMER, gst_buffer_pool_config_set_params) ++GST_FUNC(LIBGSTREAMER, gst_buffer_pool_get_config) ++GST_FUNC(LIBGSTREAMER, gst_buffer_pool_get_type) ++GST_FUNC(LIBGSTREAMER, gst_buffer_pool_is_active) ++GST_FUNC(LIBGSTREAMER, gst_buffer_pool_set_active) ++GST_FUNC(LIBGSTREAMER, gst_buffer_pool_set_config) ++GST_FUNC(LIBGSTREAMER, gst_buffer_set_size) ++GST_FUNC(LIBGSTREAMER, gst_buffer_unmap) ++GST_FUNC(LIBGSTREAMER, gst_element_factory_get_metadata) ++GST_FUNC(LIBGSTREAMER, gst_event_parse_segment) ++GST_FUNC(LIBGSTREAMER, gst_memory_init) ++GST_FUNC(LIBGSTREAMER, gst_memory_map) ++GST_FUNC(LIBGSTREAMER, gst_memory_unmap) ++GST_FUNC(LIBGSTREAMER, gst_object_get_type) ++GST_FUNC(LIBGSTREAMER, gst_pad_add_probe) ++GST_FUNC(LIBGSTREAMER, gst_pad_get_current_caps) ++GST_FUNC(LIBGSTREAMER, gst_pad_probe_info_get_query) ++GST_FUNC(LIBGSTREAMER, gst_query_add_allocation_meta) ++GST_FUNC(LIBGSTREAMER, gst_query_add_allocation_param) ++GST_FUNC(LIBGSTREAMER, gst_query_add_allocation_pool) ++GST_FUNC(LIBGSTREAMER, gst_query_parse_allocation) ++GST_FUNC(LIBGSTREAMER, gst_registry_get) ++GST_FUNC(LIBGSTREAMER, gst_sample_get_buffer) ++GST_FUNC(LIBGSTREAMER, gst_segment_copy_into) ++GST_FUNC(LIBGSTREAMER, gst_structure_free) ++GST_FUNC(LIBGSTVIDEO, gst_buffer_pool_config_get_video_alignment) ++GST_FUNC(LIBGSTVIDEO, gst_buffer_pool_has_option) ++GST_FUNC(LIBGSTVIDEO, gst_video_buffer_pool_get_type) ++GST_FUNC(LIBGSTVIDEO, gst_video_frame_map) ++GST_FUNC(LIBGSTVIDEO, gst_video_frame_unmap) ++GST_FUNC(LIBGSTVIDEO, gst_video_info_align) ++GST_FUNC(LIBGSTVIDEO, gst_video_info_from_caps) ++GST_FUNC(LIBGSTVIDEO, gst_video_info_init) ++GST_FUNC(LIBGSTVIDEO, gst_video_meta_api_get_type) ++GST_FUNC(LIBGSTVIDEO, gst_video_meta_map) ++GST_FUNC(LIBGSTVIDEO, gst_video_meta_unmap) ++ ++#endif + + /* + * Functions that have been defined in the header file. We replace them so that +@@ -99,6 +157,11 @@ GST_FUNC(LIBGSTVIDEO, gst_video_format_parse_caps) + REPLACE_FUNC(gst_buffer_ref); + REPLACE_FUNC(gst_buffer_unref); + REPLACE_FUNC(gst_message_unref); ++ ++#if GST_VERSION_MAJOR == 1 ++REPLACE_FUNC(gst_caps_unref); ++REPLACE_FUNC(gst_sample_unref); ++#endif + #endif + + #endif // !defined(__APPLE__) +diff --git content/media/gstreamer/GStreamerLoader.cpp content/media/gstreamer/GStreamerLoader.cpp +index 5961b23..e6457e0 100644 +--- mozilla/content/media/gstreamer/GStreamerLoader.cpp ++++ mozilla/content/media/gstreamer/GStreamerLoader.cpp +@@ -6,13 +6,21 @@ + #include <dlfcn.h> + #include <stdio.h> + +-#include "GStreamerLoader.h" ++#include "nsDebug.h" + #include "mozilla/NullPtr.h" + ++#include "GStreamerLoader.h" ++ + #define LIBGSTREAMER 0 + #define LIBGSTAPP 1 + #define LIBGSTVIDEO 2 + ++#ifdef __OpenBSD__ ++#define LIB_GST_SUFFIX ".so" ++#else ++#define LIB_GST_SUFFIX ".so.0" ++#endif ++ + namespace mozilla { + + /* +@@ -32,6 +40,11 @@ namespace mozilla { + GstBuffer * gst_buffer_ref_impl(GstBuffer *buf); + void gst_buffer_unref_impl(GstBuffer *buf); + void gst_message_unref_impl(GstMessage *msg); ++void gst_caps_unref_impl(GstCaps *caps); ++ ++#if GST_VERSION_MAJOR == 1 ++void gst_sample_unref_impl(GstSample *sample); ++#endif + + bool + load_gstreamer() +@@ -58,32 +71,25 @@ load_gstreamer() + if (major == GST_VERSION_MAJOR && minor == GST_VERSION_MINOR) { + gstreamerLib = RTLD_DEFAULT; + } else { +-#ifdef __OpenBSD__ +- gstreamerLib = dlopen("libgstreamer-0.10.so", RTLD_NOW | RTLD_LOCAL); +-#else +- gstreamerLib = dlopen("libgstreamer-0.10.so.0", RTLD_NOW | RTLD_LOCAL); +-#endif ++ gstreamerLib = dlopen("libgstreamer-" GST_API_VERSION LIB_GST_SUFFIX, RTLD_NOW | RTLD_LOCAL); + } + +- void *handles[] = { ++ void *handles[3] = { + gstreamerLib, +-#ifdef __OpenBSD__ +- dlopen("libgstapp-0.10.so", RTLD_NOW | RTLD_LOCAL), +- dlopen("libgstvideo-0.10.so", RTLD_NOW | RTLD_LOCAL) +-#else +- dlopen("libgstapp-0.10.so.0", RTLD_NOW | RTLD_LOCAL), +- dlopen("libgstvideo-0.10.so.0", RTLD_NOW | RTLD_LOCAL) +-#endif ++ dlopen("libgstapp-" GST_API_VERSION LIB_GST_SUFFIX, RTLD_NOW | RTLD_LOCAL), ++ dlopen("libgstvideo-" GST_API_VERSION LIB_GST_SUFFIX, RTLD_NOW | RTLD_LOCAL) + }; + + for (size_t i = 0; i < sizeof(handles) / sizeof(handles[0]); i++) { + if (!handles[i]) { ++ NS_WARNING("Couldn't link gstreamer libraries"); + goto fail; + } + } + + #define GST_FUNC(lib, symbol) \ + if (!(symbol = (typeof(symbol))dlsym(handles[lib], #symbol))) { \ ++ NS_WARNING("Couldn't link symbol " #symbol); \ + goto fail; \ + } + #define REPLACE_FUNC(symbol) symbol = symbol##_impl; +@@ -123,4 +129,18 @@ gst_message_unref_impl(GstMessage *msg) + gst_mini_object_unref(GST_MINI_OBJECT_CAST(msg)); + } + ++#if GST_VERSION_MAJOR == 1 ++void ++gst_sample_unref_impl(GstSample *sample) ++{ ++ gst_mini_object_unref(GST_MINI_OBJECT_CAST(sample)); ++} ++#endif ++ ++void ++gst_caps_unref_impl(GstCaps *caps) ++{ ++ gst_mini_object_unref(GST_MINI_OBJECT_CAST(caps)); ++} ++ + } +diff --git content/media/gstreamer/GStreamerLoader.h content/media/gstreamer/GStreamerLoader.h +index 2d801722..cd7fe6d 100644 +--- mozilla/content/media/gstreamer/GStreamerLoader.h ++++ mozilla/content/media/gstreamer/GStreamerLoader.h +@@ -22,6 +22,11 @@ + #include <gst/video/video.h> + #pragma GCC diagnostic pop + ++#if GST_VERSION_MAJOR == 1 ++#include <gst/video/gstvideometa.h> ++#include <gst/video/gstvideopool.h> ++#endif ++ + namespace mozilla { + + /* +@@ -42,4 +47,7 @@ bool load_gstreamer(); + + } + ++#undef GST_CAPS_ANY ++#define GST_CAPS_ANY (*_gst_caps_any) ++ + #endif // GStreamerLoader_h_ +diff --git content/media/gstreamer/GStreamerReader-0.10.cpp content/media/gstreamer/GStreamerReader-0.10.cpp +new file mode 100644 +index 0000000..fb98bde +--- /dev/null ++++ mozilla/content/media/gstreamer/GStreamerReader-0.10.cpp +@@ -0,0 +1,203 @@ ++#include "nsError.h" ++#include "MediaDecoderStateMachine.h" ++#include "AbstractMediaDecoder.h" ++#include "MediaResource.h" ++#include "GStreamerReader.h" ++#include "GStreamerMozVideoBuffer.h" ++#include "GStreamerFormatHelper.h" ++#include "VideoUtils.h" ++#include "mozilla/dom/TimeRanges.h" ++#include "mozilla/Preferences.h" ++ ++using namespace mozilla; ++using mozilla::layers::PlanarYCbCrImage; ++using mozilla::layers::ImageContainer; ++ ++GstFlowReturn GStreamerReader::AllocateVideoBufferCb(GstPad* aPad, ++ guint64 aOffset, ++ guint aSize, ++ GstCaps* aCaps, ++ GstBuffer** aBuf) ++{ ++ GStreamerReader* reader = reinterpret_cast<GStreamerReader*>(gst_pad_get_element_private(aPad)); ++ return reader->AllocateVideoBuffer(aPad, aOffset, aSize, aCaps, aBuf); ++} ++ ++GstFlowReturn GStreamerReader::AllocateVideoBuffer(GstPad* aPad, ++ guint64 aOffset, ++ guint aSize, ++ GstCaps* aCaps, ++ GstBuffer** aBuf) ++{ ++ nsRefPtr<PlanarYCbCrImage> image; ++ return AllocateVideoBufferFull(aPad, aOffset, aSize, aCaps, aBuf, image); ++} ++ ++GstFlowReturn GStreamerReader::AllocateVideoBufferFull(GstPad* aPad, ++ guint64 aOffset, ++ guint aSize, ++ GstCaps* aCaps, ++ GstBuffer** aBuf, ++ nsRefPtr<PlanarYCbCrImage>& aImage) ++{ ++ /* allocate an image using the container */ ++ ImageContainer* container = mDecoder->GetImageContainer(); ++ if (!container) { ++ // We don't have an ImageContainer. We probably belong to an <audio> ++ // element. ++ return GST_FLOW_NOT_SUPPORTED; ++ } ++ ImageFormat format = PLANAR_YCBCR; ++ PlanarYCbCrImage* img = reinterpret_cast<PlanarYCbCrImage*>(container->CreateImage(&format, 1).get()); ++ nsRefPtr<PlanarYCbCrImage> image = dont_AddRef(img); ++ ++ /* prepare a GstBuffer pointing to the underlying PlanarYCbCrImage buffer */ ++ GstBuffer* buf = GST_BUFFER(gst_moz_video_buffer_new()); ++ GST_BUFFER_SIZE(buf) = aSize; ++ /* allocate the actual YUV buffer */ ++ GST_BUFFER_DATA(buf) = image->AllocateAndGetNewBuffer(aSize); ++ ++ aImage = image; ++ ++ /* create a GstMozVideoBufferData to hold the image */ ++ GstMozVideoBufferData* bufferdata = new GstMozVideoBufferData(image); ++ ++ /* Attach bufferdata to our GstMozVideoBuffer, it will take care to free it */ ++ gst_moz_video_buffer_set_data(GST_MOZ_VIDEO_BUFFER(buf), bufferdata); ++ ++ *aBuf = buf; ++ return GST_FLOW_OK; ++} ++ ++gboolean GStreamerReader::EventProbe(GstPad* aPad, GstEvent* aEvent) ++{ ++ GstElement* parent = GST_ELEMENT(gst_pad_get_parent(aPad)); ++ switch(GST_EVENT_TYPE(aEvent)) { ++ case GST_EVENT_NEWSEGMENT: ++ { ++ gboolean update; *** DIFF OUTPUT TRUNCATED AT 1000 LINES ***
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201403201015.s2KAF1MM060416>