svn commit: r348676 - in head/www: linux-seamonkey seamonkey seamonkey-i18n seamonkey/files
Beat Gaetzi
beat at FreeBSD.org
Thu Mar 20 10:15:03 UTC 2014
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 at 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 at 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 ***
More information about the svn-ports-head
mailing list