Bug 188133 - www/firefox coredumps when rewinding HTML5 video content provided by multimedia/gstreamer1-libav
Summary: www/firefox coredumps when rewinding HTML5 video content provided by multimed...
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: Normal Affects Only Me
Assignee: freebsd-gecko (Nobody)
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2014-03-31 16:20 UTC by jakub_lach
Modified: 2014-04-29 21:40 UTC (History)
0 users

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description jakub_lach 2014-03-31 16:20:00 UTC
When rewinding video content provided by gstreamer1-libav (usually h264, I'm stressing this because till recent update libav was miscompiled and wasn't loaded when starting www/firefox at all, and I don't think this problem manifested itself) www/firefox core dumps.

The farthest I've got, thanks to recent correction enabling me to build www/firefox with debug support-

Core was generated by `firefox'.
Program terminated with signal 11, Segmentation fault.
#0  0x00000008011e5e9a in thr_kill () from /lib/libc.so.7
(gdb) bt
#0  0x00000008011e5e9a in thr_kill () from /lib/libc.so.7
#1  0x000000080594803b in nsProfileLock::FatalSignalHandler (signo=11,
    info=0x7ffffd4c7330, context=0x7ffffd4c6fc0)
    at /usr/obj/usr/ports/www/firefox/work/mozilla-release/profile/dirserviceprovider/s
#2  0x000000080619a24f in AsmJSFaultHandler (signum=11, info=0x7ffffd4c7330,
    context=0x7ffffd4c6fc0)
    at ../../../js/src/jit/AsmJSSignalHandlers.cpp:931
#3  0x0000000800f62586 in ?? () from /lib/libthr.so.3
#4  0x0000000800f6212f in ?? () from /lib/libthr.so.3
#5  0x00007ffffffff003 in ?? ()
#6  0x0000000800f61ff0 in ?? () from /lib/libthr.so.3
#7  0x0000000000000000 in ?? ()

I know it's not much.

How-To-Repeat: Rewind/Skip to a point in multiple videos and try your luck.
Comment 1 Edwin Groothuis freebsd_committer freebsd_triage 2014-03-31 16:20:03 UTC
Responsible Changed
From-To: freebsd-ports-bugs->gecko

Over to maintainer (via the GNATS Auto Assign Tool)
Comment 2 Mark Linimon 2014-04-02 01:54:25 UTC
----- Forwarded message from Jakub Lach <jakub_lach@mailplus.pl> -----

Date: Tue, 01 Apr 2014 17:20:23 +0200
From: Jakub Lach <jakub_lach@mailplus.pl>
To: Mark Linimon <linimon@lonesome.com>
Subject: Re: submitted FreeBSD ports PR/188133

Could you add this log to the PR?

http://pastebin.com/ZdWKcqrg

-- 
best regards
- Jakub Lach

----- End forwarded message -----
Comment 3 wjenkner 2014-04-18 20:46:24 UTC
I got a coredump now as well, but it's the first time that firefox
28.0,1 crashed since I installed it almost a month ago.

Here's a backtrace (produced by the base gdb) of what seems to be the
relevant thread.

For comparison purposes, gdb762 from ports misses frames #4-#18 while
lldb does show frames #6-#17 (with the same arguments) plus an inlined
call to gst_single_queue_push_one (with arguments `unavailable') between
frame #12 and #13 below but also misses #4 and #5.

Note that the backtrace is similar to

https://bugzilla.gnome.org/show_bug.cgi?id=726835

[1 ~]$ gdb /usr/local/lib/firefox/firefox firefox.core
*** output flushed ***
(gdb) bt
#0  thr_kill () at thr_kill.S:3
#1  0x0000000803c1f045 in nsProfileLock::FatalSignalHandler () from /usr/local/lib/firefox/libxul.so
#2  0x0000000800f45587 in handle_signal (actp=<value optimized out>, sig=11, info=0x7ffff881f370, 
    ucp=0x7ffff881f000) at /usr/src/lib/libthr/thread/thr_sig.c:238
#3  0x0000000800f4512f in thr_sighandler (sig=<value optimized out>, info=<value optimized out>, 
    _ucp=<value optimized out>) at /usr/src/lib/libthr/thread/thr_sig.c:183
#4  <signal handler called>
#5  0x0000000822d6ab5f in gst_mini_object_replace (olddata=0x40, newdata=0x0) at gstminiobject.c:497
#6  0x000000082a3f2917 in .text () from /usr/local/lib/gstreamer-1.0/libgstlibav.so
#7  0x000000082a3f1692 in .text () from /usr/local/lib/gstreamer-1.0/libgstlibav.so
#8  0x000000082367c86c in gst_video_decoder_decode_frame (decoder=0x81cde4680, frame=0x81c38cce0)
    at gstvideodecoder.c:2832
#9  0x0000000823680198 in gst_video_decoder_chain_forward (decoder=0x81cde4680, buf=<value optimized out>, 
    at_eos=0) at gstvideodecoder.c:1757
#10 0x000000082367e372 in gst_video_decoder_chain (pad=<value optimized out>, parent=0x81cde4680, 
    buf=0x820fbd940) at gstvideodecoder.c:2037
#11 0x0000000822d71e1e in gst_pad_chain_data_unchecked (pad=0x82438a350, type=<value optimized out>, 
    data=<value optimized out>) at gstpad.c:3760
#12 0x0000000822d7264b in gst_pad_push_data (pad=0x82438a120, type=4112, data=<value optimized out>)
    at gstpad.c:3990
#13 0x00000008298ca19c in gst_multi_queue_loop (pad=<value optimized out>) at gstmultiqueue.c:1089
#14 0x0000000822d9d6e9 in gst_task_func (task=0x82522cef0) at gsttask.c:316
#15 0x000000080dda8fb2 in g_thread_pool_get_max_idle_time () from /usr/local/lib/libglib-2.0.so.0
---Type <return> to continue, or q <return> to quit---
#16 0x000000080dda80fa in g_thread_proxy () from /usr/local/lib/libglib-2.0.so.0
#17 0x0000000800f404e5 in thread_start (curthread=0x826bef800) at /usr/src/lib/libthr/thread/thr_create.c:284
#18 0x00007ffff8620000 in ?? ()
Cannot access memory at address 0x7ffff8820000
Current language:  auto; currently asm
(gdb)
Comment 4 wjenkner 2014-04-19 17:38:53 UTC
Perhaps, until gst-libav-1.2.4 comes to ports it's worth trying out the
patch given in

https://bugzilla.gnome.org/show_bug.cgi?id=727779

viz.,

https://bug727779.bugzilla-attachments.gnome.org/attachment.cgi?id=274396

I use the following script to transform such git-style patches into
a patch-foo file which can be dropped into the ./files subdirectory of
the port (multimedia/gstreamer1-libav in this case).

#! /usr/bin/sed -Ef

/^diff --git / s,a/([^ ]+) b/([^ ]+),\1.orig \2,
/^--- / s,a/(.*)$,\1.orig,
/^\+\+\+ / s,b/(.*)$,\1,
Comment 5 dfilter service freebsd_committer freebsd_triage 2014-04-20 14:11:38 UTC
Author: tijl
Date: Sun Apr 20 13:11:35 2014
New Revision: 351621
URL: http://svnweb.freebsd.org/changeset/ports/351621
QAT: https://qat.redports.org/buildarchive/r351621/

Log:
  - Update gstreamer1-libav to 1.2.4 (fixes crashes when seeking).
  - USES=libtool, INSTALL_TARGET=install-strip
  - Replace tiny pkg-plist with PLIST_FILES.
  
  PR:		ports/188133, ports/188803

Deleted:
  head/multimedia/gstreamer1-libav/pkg-plist
Modified:
  head/multimedia/gstreamer1-libav/Makefile
  head/multimedia/gstreamer1-libav/distinfo

Modified: head/multimedia/gstreamer1-libav/Makefile
==============================================================================
--- head/multimedia/gstreamer1-libav/Makefile	Sun Apr 20 12:51:11 2014	(r351620)
+++ head/multimedia/gstreamer1-libav/Makefile	Sun Apr 20 13:11:35 2014	(r351621)
@@ -3,7 +3,7 @@
 #    $MCom: ports/multimedia/gstreamer1-libav/Makefile,v 1.4 2013/01/15 21:43:45 kwm Exp $
 
 PORTNAME=	gstreamer1-libav
-PORTVERSION=	1.2.3
+PORTVERSION=	1.2.4
 CATEGORIES=	multimedia
 MASTER_SITES=	http://gstreamer.freedesktop.org/src/gst-libav/
 DISTNAME=	gst-libav-${PORTVERSION}
@@ -17,11 +17,12 @@ BUILD_DEPENDS=	yasm:${PORTSDIR}/devel/ya
 		orc>=0.4.16:${PORTSDIR}/devel/orc
 LIB_DEPENDS=	liborc-0.4.so:${PORTSDIR}/devel/orc
 
-USES=		compiler gmake pkgconfig tar:xz
+USES=		compiler gmake libtool pkgconfig tar:xz
 USE_LDCONFIG=	yes
 USE_GSTREAMER1=	yes
 GNU_CONFIGURE=	yes
-PLIST_SUB=	VERSION="1.0"
+INSTALL_TARGET=	install-strip
+PLIST_FILES=	lib/gstreamer-1.0/libgstlibav.so
 
 .include <bsd.port.pre.mk>
 
@@ -44,7 +45,4 @@ post-patch:
 	@${REINPLACE_CMD} '/libgstlibav_la_LDFLAGS =/s/$$/ -Wl,-Bsymbolic/' \
 		${WRKSRC}/ext/libav/Makefile.in
 
-post-install:
-	@${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/gstreamer-1.0/libgstlibav.so
-
 .include <bsd.port.post.mk>

Modified: head/multimedia/gstreamer1-libav/distinfo
==============================================================================
--- head/multimedia/gstreamer1-libav/distinfo	Sun Apr 20 12:51:11 2014	(r351620)
+++ head/multimedia/gstreamer1-libav/distinfo	Sun Apr 20 13:11:35 2014	(r351621)
@@ -1,2 +1,2 @@
-SHA256 (gst-libav-1.2.3.tar.xz) = ebc7fbe10955f40df6ccc4bf689075e7e296205fc7ecd8ff383d43c5cdf5bcd6
-SIZE (gst-libav-1.2.3.tar.xz) = 4582312
+SHA256 (gst-libav-1.2.4.tar.xz) = 2a69480d63fc2db93249d9e2e229ab3541bbc2db881b0f64de13d0bfc7d1f037
+SIZE (gst-libav-1.2.4.tar.xz) = 4580144
_______________________________________________
svn-ports-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-ports-all
To unsubscribe, send any mail to "svn-ports-all-unsubscribe@freebsd.org"
Comment 6 Tijl Coosemans freebsd_committer freebsd_triage 2014-04-20 14:12:15 UTC
State Changed
From-To: open->closed

Fixed in r351621.
Comment 7 dfilter service freebsd_committer freebsd_triage 2014-04-29 21:35:37 UTC
Author: beat
Date: Tue Apr 29 20:35:24 2014
New Revision: 352640
URL: http://svnweb.freebsd.org/changeset/ports/352640
QAT: https://qat.redports.org/buildarchive/r352640/

Log:
  - Update Firefox to 29.0
  - Update Firefox ESR to 24.5.0
  - Update Thunderbird to 24.5.0
  - Update NSS to 3.16
  - Use port dependency for soundtouch library
  - Require recent graphite2 version explicitly [1]
  - Require gst-libav version that doesn't crash on seeking [2]
    and doesn't error out on plugin load [3]
  - Remove gstreamer note in pkg-message for www/firefox, [3] may still
    happen with www/firefox-esr but only until it tracks esr31 (ca 2014-09-01)
  - Fix USE_XPI in mail/thunderbird-i18n [4]
  
  Security:	http://www.vuxml.org/freebsd/985d4d6c-cfbd-11e3-a003-b4b52fce4ce8.html
  PR:		ports/187939 [1]
  PR:		ports/188133 [2]
  PR:		ports/181964 [3]
  PR:		ports/188984 [4]
  Submitted by:	Toomas Aas <toomas.aas@raad.tartu.ee> [1]
  Submitted by:	Jakub Lach <jakub_lach@mailplus.pl> [2]
  Submitted by:	Jan Beich [3] and this update!
  Submitted by:	Toni Ballesta <mustelator@yahoo.es> [4]
  Approved by:	portmgr (bdrewery, security update to non-staged port)

Added:
  head/mail/thunderbird/files/patch-bug985848
     - copied unchanged from r352248, head/mail/thunderbird/files/patch-no-videoio.h
  head/mail/thunderbird/files/patch-bug991253
     - copied unchanged from r352248, head/mail/thunderbird/files/patch-mozilla-extensions-spellcheck-hunspell-src-mozHunspell.cpp
  head/mail/thunderbird/files/patch-ijg-libjpeg
     - copied, changed from r352443, head/mail/thunderbird/files/patch-bug791305
  head/mail/thunderbird/files/patch-mozilla-media-mtransport-third_party-nICEr-src-util-mbslen.c   (contents, props changed)
  head/www/firefox-esr/files/patch-bug985848
     - copied unchanged from r352248, head/www/firefox-esr/files/patch-no-videoio.h
  head/www/firefox-esr/files/patch-bug991253
     - copied unchanged from r352248, head/www/firefox-esr/files/patch-extensions-spellcheck-hunspell-src-mozHunspell.cpp
  head/www/firefox-esr/files/patch-ijg-libjpeg
     - copied, changed from r352248, head/www/firefox-esr/files/patch-bug791305
  head/www/firefox-esr/files/patch-media-mtransport-third_party-nICEr-src-util-mbslen.c   (contents, props changed)
  head/www/firefox/files/patch-bug985848
     - copied unchanged from r352248, head/www/firefox/files/patch-no-videoio.h
  head/www/firefox/files/patch-bug991253
     - copied unchanged from r352248, head/www/firefox/files/patch-extensions-spellcheck-hunspell-src-mozHunspell.cpp
  head/www/firefox/files/patch-ijg-libjpeg
     - copied, changed from r352248, head/www/firefox/files/patch-bug791305
  head/www/firefox/files/patch-media-mtransport-third_party-nICEr-src-util-mbslen.c   (contents, props changed)
  head/www/libxul/files/patch-bug985848
     - copied unchanged from r352248, head/www/libxul/files/patch-no-videoio.h
  head/www/libxul/files/patch-bug991253
     - copied unchanged from r352248, head/www/libxul/files/patch-extensions-spellcheck-hunspell-src-mozHunspell.cpp
  head/www/libxul/files/patch-ijg-libjpeg
     - copied, changed from r352248, head/www/libxul/files/patch-bug791305
  head/www/libxul/files/patch-media-mtransport-third_party-nICEr-src-util-mbslen.c   (contents, props changed)
Deleted:
  head/mail/thunderbird/files/patch-bug791305
  head/mail/thunderbird/files/patch-mozilla-extensions-spellcheck-hunspell-src-mozHunspell.cpp
  head/mail/thunderbird/files/patch-mozilla-security-manager-ssl-src-nsNSSComponent.cpp
  head/mail/thunderbird/files/patch-no-videoio.h
  head/www/firefox-esr/files/patch-bug791305
  head/www/firefox-esr/files/patch-extensions-spellcheck-hunspell-src-mozHunspell.cpp
  head/www/firefox-esr/files/patch-no-videoio.h
  head/www/firefox-esr/files/patch-security_manager_ssl_src_nsNSSComponent.cpp
  head/www/firefox/files/patch-bug791305
  head/www/firefox/files/patch-bug878791
  head/www/firefox/files/patch-bug948946
  head/www/firefox/files/patch-bug961816
  head/www/firefox/files/patch-extensions-spellcheck-hunspell-src-mozHunspell.cpp
  head/www/firefox/files/patch-js-src-Makefile.in
  head/www/firefox/files/patch-no-videoio.h
  head/www/firefox/files/patch-security_manager_ssl_src_nsNSSComponent.cpp
  head/www/libxul/files/patch-bug791305
  head/www/libxul/files/patch-extensions-spellcheck-hunspell-src-mozHunspell.cpp
  head/www/libxul/files/patch-no-videoio.h
  head/www/libxul/files/patch-security_manager_ssl_src_nsNSSComponent.cpp
Modified:
  head/Mk/Uses/gecko.mk
  head/Mk/bsd.gecko.mk
  head/mail/linux-thunderbird/Makefile
  head/mail/linux-thunderbird/distinfo
  head/mail/thunderbird-i18n/Makefile
  head/mail/thunderbird-i18n/distinfo
  head/mail/thunderbird/Makefile
  head/mail/thunderbird/distinfo
  head/mail/thunderbird/files/patch-bug916589
  head/mail/thunderbird/files/patch-z-bug847568
  head/mail/thunderbird/files/patch-zz-bug517422
  head/security/ca_root_nss/Makefile
  head/security/ca_root_nss/distinfo
  head/security/nss/Makefile
  head/security/nss/distinfo
  head/www/firefox-esr-i18n/Makefile
  head/www/firefox-esr-i18n/distinfo
  head/www/firefox-esr/Makefile
  head/www/firefox-esr/distinfo
  head/www/firefox-esr/files/patch-bug916589
  head/www/firefox-esr/files/patch-z-bug847568
  head/www/firefox-esr/files/patch-zz-bug517422
  head/www/firefox-i18n/Makefile
  head/www/firefox-i18n/distinfo
  head/www/firefox/Makefile
  head/www/firefox/distinfo
  head/www/firefox/files/patch-bug806917
  head/www/firefox/files/patch-bug826985
  head/www/firefox/files/patch-bug847568
  head/www/firefox/files/patch-bug916589
  head/www/firefox/files/patch-bug961264
  head/www/firefox/files/patch-bug962345
  head/www/firefox/files/patch-config-baseconfig.mk
  head/www/firefox/files/patch-z-bug517422
  head/www/firefox/pkg-message
  head/www/libxul/Makefile
  head/www/libxul/files/patch-bug916589
  head/www/libxul/files/patch-z-bug847568
  head/www/libxul/files/patch-zz-bug517422
  head/www/linux-firefox/Makefile
  head/www/linux-firefox/distinfo

Modified: head/Mk/Uses/gecko.mk
==============================================================================
--- head/Mk/Uses/gecko.mk	Tue Apr 29 20:32:11 2014	(r352639)
+++ head/Mk/Uses/gecko.mk	Tue Apr 29 20:35:24 2014	(r352640)
@@ -39,12 +39,12 @@ RUN_DEPENDS+=	libxul>=24:${PORTSDIR}/www
 .elif ${_GECKO_ARGS:Mfirefox}
 
 _GECKO_DEFAULT_VERSION=	24
-_GECKO_VERSIONS=		24 28
+_GECKO_VERSIONS=		24 29
 _GECKO_TYPE=	firefox
 
 # Dependence lines for different Firefox versions
 24_DEPENDS=		${LOCALBASE}/lib/firefox/firefox:${PORTSDIR}/www/firefox-esr
-25_DEPENDS=		${LOCALBASE}/lib/firefox/firefox:${PORTSDIR}/www/firefox
+29_DEPENDS=		${LOCALBASE}/lib/firefox/firefox:${PORTSDIR}/www/firefox
 
 .if exists(${LOCALBASE}/bin/firefox)
 _GECKO_INSTALLED_VER!=	${LOCALBASE}/bin/firefox --version 2>/dev/null

Modified: head/Mk/bsd.gecko.mk
==============================================================================
--- head/Mk/bsd.gecko.mk	Tue Apr 29 20:32:11 2014	(r352639)
+++ head/Mk/bsd.gecko.mk	Tue Apr 29 20:35:24 2014	(r352640)
@@ -33,7 +33,8 @@ Gecko_Pre_Include=	bsd.gecko.mk
 # 						listed in '_ALL_DEPENDS'. If your port doesn't
 # 						need one of those then you can use '-' like
 # 						'USE_MOZILLA= -png -vpx' to subtract the
-# 						dependencies.
+# 						dependencies. Experimental deps use '+' like
+# 						'USE_MOZILLA= +speex +theora'.
 #
 # GECKO_PLIST_PRE_FILES	Manual add files in the plist if it needs.
 #
@@ -140,7 +141,7 @@ MOZ_OPTIONS+=	--enable-jemalloc
 .endif
 
 # Standard depends
-_ALL_DEPENDS=	cairo event ffi harfbuzz hunspell icu jpeg nspr nss opus png pixman sqlite vorbis vpx
+_ALL_DEPENDS=	cairo event ffi graphite harfbuzz hunspell icu jpeg nspr nss opus png pixman soundtouch sqlite vorbis vpx
 
 cairo_LIB_DEPENDS=	libcairo.so:${PORTSDIR}/graphics/cairo
 cairo_MOZ_OPTIONS=	--enable-system-cairo
@@ -155,10 +156,13 @@ ffi_MOZ_OPTIONS=	--enable-system-ffi
 ffi_EXTRACT_AFTER_ARGS=	--exclude mozilla*/js/src/ctypes/libffi
 
 .if exists(${FILESDIR}/patch-bug847568) || exists(${FILESDIR}/patch-z-bug847568)
+graphite_LIB_DEPENDS=	libgraphite2.so:${PORTSDIR}/graphics/graphite2
+graphite_MOZ_OPTIONS=	--with-system-graphite2
+graphite_EXTRACT_AFTER_ARGS=	--exclude mozilla*/gfx/graphite2
+
 harfbuzz_LIB_DEPENDS=	libharfbuzz.so:${PORTSDIR}/print/harfbuzz
-harfbuzz_MOZ_OPTIONS=	--with-system-harfbuzz --with-system-graphite2
-harfbuzz_EXTRACT_AFTER_ARGS=	--exclude mozilla*/gfx/harfbuzz \
-								--exclude mozilla*/gfx/graphite2
+harfbuzz_MOZ_OPTIONS=	--with-system-harfbuzz
+harfbuzz_EXTRACT_AFTER_ARGS=	--exclude mozilla*/gfx/harfbuzz
 .endif
 
 hunspell_LIB_DEPENDS=	libhunspell-1.3.so:${PORTSDIR}/textproc/hunspell
@@ -197,11 +201,27 @@ png_LIB_DEPENDS=	libpng15.so:${PORTSDIR}
 png_MOZ_OPTIONS=	--with-system-png=${LOCALBASE}
 png_EXTRACT_AFTER_ARGS=	--exclude mozilla*/media/libpng
 
+.if exists(${FILESDIR}/patch-z-bug517422) || exists(${FILESDIR}/patch-zz-bug517422)
+soundtouch_LIB_DEPENDS=	libSoundTouch.so:${PORTSDIR}/audio/soundtouch
+soundtouch_MOZ_OPTIONS=	--with-system-soundtouch
+soundtouch_EXTRACT_AFTER_ARGS=	--exclude mozilla*/media/libsoundtouch
+
+# XXX disabled: bug 913854 not yet upstreamed
+speex_LIB_DEPENDS=	libspeexdsp.so:${PORTSDIR}/audio/speex
+speex_MOZ_OPTIONS=	--with-system-speex
+speex_EXTRACT_AFTER_ARGS=	--exclude mozilla*/media/libspeex_resampler
+.endif
+
 sqlite_LIB_DEPENDS=	libsqlite3.so:${PORTSDIR}/databases/sqlite3
 sqlite_MOZ_OPTIONS=	--enable-system-sqlite
 sqlite_EXTRACT_AFTER_ARGS=	--exclude mozilla*/db/sqlite3
 
 .if exists(${FILESDIR}/patch-z-bug517422) || exists(${FILESDIR}/patch-zz-bug517422)
+# XXX disabled: update to 1.2.x or review backported fixes
+theora_LIB_DEPENDS=	libtheora.so:${PORTSDIR}/multimedia/libtheora
+theora_MOZ_OPTIONS=	--with-system-theora
+theora_EXTRACT_AFTER_ARGS=	--exclude mozilla*/media/libtheora
+
 vorbis_LIB_DEPENDS=	libvorbis.so:${PORTSDIR}/audio/libvorbis
 vorbis_MOZ_OPTIONS=	--with-system-vorbis --with-system-ogg
 vorbis_EXTRACT_AFTER_ARGS=	--exclude mozilla*/media/libvorbis \
@@ -217,7 +237,7 @@ vpx_EXTRACT_AFTER_ARGS=	--exclude mozill
 ${use:S/-/_WITHOUT_/}=	${TRUE}
 .endfor
 
-.for dep in ${_ALL_DEPENDS}
+.for dep in ${_ALL_DEPENDS} ${USE_MOZILLA:M+*:S/+//}
 .if !defined(_WITHOUT_${dep})
 BUILD_DEPENDS+=	${${dep}_BUILD_DEPENDS}
 LIB_DEPENDS+=	${${dep}_LIB_DEPENDS}
@@ -367,7 +387,12 @@ MOZ_OPTIONS+=	--enable-alsa
 .endif
 
 .if ${PORT_OPTIONS:MPULSEAUDIO}
+. if ${PORT_OPTIONS:MALSA}
 BUILD_DEPENDS+=	pulseaudio>0:${PORTSDIR}/audio/pulseaudio
+. else
+# pull pulse package if we cannot fallback to another backend
+LIB_DEPENDS+=	libpulse.so:${PORTSDIR}/audio/pulseaudio
+. endif
 MOZ_OPTIONS+=	--enable-pulseaudio
 .else
 MOZ_OPTIONS+=	--disable-pulseaudio

Modified: head/mail/linux-thunderbird/Makefile
==============================================================================
--- head/mail/linux-thunderbird/Makefile	Tue Apr 29 20:32:11 2014	(r352639)
+++ head/mail/linux-thunderbird/Makefile	Tue Apr 29 20:35:24 2014	(r352640)
@@ -2,7 +2,7 @@
 # $FreeBSD$
 
 PORTNAME=	thunderbird
-DISTVERSION=	24.4.0
+DISTVERSION=	24.5.0
 CATEGORIES=	mail news net-im ipv6
 DISTNAME=	${PORTNAME}-${DISTVERSION}
 MASTER_SITES=	MOZILLA/${PORTNAME}/releases/${DISTVERSION}/linux-i686/en-US

Modified: head/mail/linux-thunderbird/distinfo
==============================================================================
--- head/mail/linux-thunderbird/distinfo	Tue Apr 29 20:32:11 2014	(r352639)
+++ head/mail/linux-thunderbird/distinfo	Tue Apr 29 20:35:24 2014	(r352640)
@@ -1,5 +1,5 @@
-SHA256 (thunderbird-24.4.0.tar.bz2) = 376ab51e3c424db7e235b2e94494d48ce2fa9a8f1fbf5ef5cf9e367bbaf7422d
-SIZE (thunderbird-24.4.0.tar.bz2) = 28923795
+SHA256 (thunderbird-24.5.0.tar.bz2) = 6441f90eda22808c37bca023748efee7735cf9b18b1d21ce75878c10da8baad7
+SIZE (thunderbird-24.5.0.tar.bz2) = 28958353
 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

Modified: head/mail/thunderbird-i18n/Makefile
==============================================================================
--- head/mail/thunderbird-i18n/Makefile	Tue Apr 29 20:32:11 2014	(r352639)
+++ head/mail/thunderbird-i18n/Makefile	Tue Apr 29 20:35:24 2014	(r352640)
@@ -2,7 +2,7 @@
 # $FreeBSD$
 
 PORTNAME=	thunderbird-i18n
-PORTVERSION=	24.4.0
+PORTVERSION=	24.5.0
 CATEGORIES=	mail news net-im
 MASTER_SITES=	MOZILLA/${PORTNAME:S|-i18n||}/releases/${PORTVERSION}/linux-i686/xpi
 PKGNAMEPREFIX=
@@ -15,7 +15,7 @@ COMMENT=	Localized interface for Thunder
 EXTRACT_DEPENDS=	zip:${PORTSDIR}/archivers/zip
 
 USES=		zip:infozip gecko:thunderbird
-USE_XPI=	firefox linux-firefox
+USE_XPI=	thunderbird
 
 NO_BUILD=	yes
 NO_ARCH=	yes

Modified: head/mail/thunderbird-i18n/distinfo
==============================================================================
--- head/mail/thunderbird-i18n/distinfo	Tue Apr 29 20:32:11 2014	(r352639)
+++ head/mail/thunderbird-i18n/distinfo	Tue Apr 29 20:35:24 2014	(r352640)
@@ -1,110 +1,110 @@
-SHA256 (xpi/thunderbird-i18n-24.4.0/ar.xpi) = ea847b5e42930343d2ec2e2f9182d59ff84d23b6a864e2c93eb0455cf452f296
-SIZE (xpi/thunderbird-i18n-24.4.0/ar.xpi) = 457862
-SHA256 (xpi/thunderbird-i18n-24.4.0/ast.xpi) = 0ec76e7938dafb72e7fe94941dd9514223d8c5c3880cb4bfd92c2075c7a1528b
-SIZE (xpi/thunderbird-i18n-24.4.0/ast.xpi) = 373831
-SHA256 (xpi/thunderbird-i18n-24.4.0/be.xpi) = f16da428ed0246b0f08e00bc0f23eddba4e524dd856b30e93628f7fe0a636fce
-SIZE (xpi/thunderbird-i18n-24.4.0/be.xpi) = 416882
-SHA256 (xpi/thunderbird-i18n-24.4.0/bg.xpi) = 7d2e98470e62bb63c7acfd5f350cfb909598755b33ad2ff77d9792d3de341b7f
-SIZE (xpi/thunderbird-i18n-24.4.0/bg.xpi) = 485023
-SHA256 (xpi/thunderbird-i18n-24.4.0/bn-BD.xpi) = 72afde682492061234e3887253fd10fccfc738677b952a5b2932d1963f181ed7
-SIZE (xpi/thunderbird-i18n-24.4.0/bn-BD.xpi) = 537257
-SHA256 (xpi/thunderbird-i18n-24.4.0/br.xpi) = bf218d7f6d2eaf2f6444944de439cefe8f33e4e56a36eef83ee3e8986a98b944
-SIZE (xpi/thunderbird-i18n-24.4.0/br.xpi) = 427679
-SHA256 (xpi/thunderbird-i18n-24.4.0/ca.xpi) = 7f22bd3ec7b29c272dd3c35062c2fb6d92cfbe248365d1e8ea9c86a1af83fdfd
-SIZE (xpi/thunderbird-i18n-24.4.0/ca.xpi) = 429746
-SHA256 (xpi/thunderbird-i18n-24.4.0/cs.xpi) = f139479d6984a6bf62b2a9ac398f16fd2ad057aa47115fae7072b50446877ede
-SIZE (xpi/thunderbird-i18n-24.4.0/cs.xpi) = 431476
-SHA256 (xpi/thunderbird-i18n-24.4.0/da.xpi) = 0c59bf84b45dc399fa3090d3d34a5f27772630300115b10546fb7172823d0a4f
-SIZE (xpi/thunderbird-i18n-24.4.0/da.xpi) = 409626
-SHA256 (xpi/thunderbird-i18n-24.4.0/de.xpi) = 7bf488e61a07ab600b057921b117376eadf919a874e59f3350c16a171bcc5a5b
-SIZE (xpi/thunderbird-i18n-24.4.0/de.xpi) = 408674
-SHA256 (xpi/thunderbird-i18n-24.4.0/el.xpi) = ba85515ab06c4255f2b0953c8a9f6e0d4ccf26f4a240e8972b29fbde708d08ce
-SIZE (xpi/thunderbird-i18n-24.4.0/el.xpi) = 464552
-SHA256 (xpi/thunderbird-i18n-24.4.0/en-GB.xpi) = 3ceb78e9d95e104113121d4667c25b48bdc2faedcab168884453765dd4994a8f
-SIZE (xpi/thunderbird-i18n-24.4.0/en-GB.xpi) = 400962
-SHA256 (xpi/thunderbird-i18n-24.4.0/en-US.xpi) = 9d59b39cb6e8c38a1f94b91ec28882a324a460a7725dfad5fc4dcfca852a93a1
-SIZE (xpi/thunderbird-i18n-24.4.0/en-US.xpi) = 402144
-SHA256 (xpi/thunderbird-i18n-24.4.0/es-AR.xpi) = 6ff2ec8f30aba2261dfa59b7fc3cf664502966e1d9247f2a0f6b0290b4752c0d
-SIZE (xpi/thunderbird-i18n-24.4.0/es-AR.xpi) = 425657
-SHA256 (xpi/thunderbird-i18n-24.4.0/es-ES.xpi) = 52721d25f1c81d8562dd830d0b946e3b3573e88e07370f53d4bfc181bd87ed5b
-SIZE (xpi/thunderbird-i18n-24.4.0/es-ES.xpi) = 366308
-SHA256 (xpi/thunderbird-i18n-24.4.0/et.xpi) = b4ceaedc90bc8bd6efa8a77de2f58ea239b24dd3df3cc88db65857eb51b5f98b
-SIZE (xpi/thunderbird-i18n-24.4.0/et.xpi) = 422894
-SHA256 (xpi/thunderbird-i18n-24.4.0/eu.xpi) = 1369771f945eca750e85fa17ee02fccd57c58ca07e57ebe7ac8e4cc93a26a400
-SIZE (xpi/thunderbird-i18n-24.4.0/eu.xpi) = 418497
-SHA256 (xpi/thunderbird-i18n-24.4.0/fi.xpi) = 96dab3bfecee70e22015ae1f6c207e396c29d8670f270ed3f972f81fa7c383db
-SIZE (xpi/thunderbird-i18n-24.4.0/fi.xpi) = 424264
-SHA256 (xpi/thunderbird-i18n-24.4.0/fr.xpi) = 3848ae6f610b8862ff96ec7a0b54e6485f76831283ac12a619f0ce8107a59655
-SIZE (xpi/thunderbird-i18n-24.4.0/fr.xpi) = 431288
-SHA256 (xpi/thunderbird-i18n-24.4.0/fy-NL.xpi) = 2506c3ad7483c1c7d1ba23970a22fe069833a12bd63e2963f07d97176b476c85
-SIZE (xpi/thunderbird-i18n-24.4.0/fy-NL.xpi) = 426098
-SHA256 (xpi/thunderbird-i18n-24.4.0/ga-IE.xpi) = 313765ea94fd9b05738a8322f84bdf3368827695342ae09fe3ab1da8b9f99277
-SIZE (xpi/thunderbird-i18n-24.4.0/ga-IE.xpi) = 437114
-SHA256 (xpi/thunderbird-i18n-24.4.0/gd.xpi) = 63a4b1fb749551596b5f94130e63645585d384bcf57ead9256008241e8bbefd7
-SIZE (xpi/thunderbird-i18n-24.4.0/gd.xpi) = 440091
-SHA256 (xpi/thunderbird-i18n-24.4.0/gl.xpi) = ac58f14a44b67bb6fd6c20efe79e81ad05c5a10b174595f5cf077d676a76d0bd
-SIZE (xpi/thunderbird-i18n-24.4.0/gl.xpi) = 427543
-SHA256 (xpi/thunderbird-i18n-24.4.0/he.xpi) = b563c9372a99c6e5aff15ba73e70424828acf2083402b22de1d033380432cd81
-SIZE (xpi/thunderbird-i18n-24.4.0/he.xpi) = 457065
-SHA256 (xpi/thunderbird-i18n-24.4.0/hr.xpi) = db5718e663468cdcc2d4701dd5b01e6b2e39e0bb6ca11e58a4056c7c22e4db20
-SIZE (xpi/thunderbird-i18n-24.4.0/hr.xpi) = 422387
-SHA256 (xpi/thunderbird-i18n-24.4.0/hu.xpi) = 4b516919dd26a7d6294e57ca6b45f07ca1f65e887ad49c3ded5458d7f895b066
-SIZE (xpi/thunderbird-i18n-24.4.0/hu.xpi) = 441512
-SHA256 (xpi/thunderbird-i18n-24.4.0/hy-AM.xpi) = 09a95139e9bbcabd0b3ca45eb8c5d6f3f8fbbbb2cae8d22c85b505f0f5feff8e
-SIZE (xpi/thunderbird-i18n-24.4.0/hy-AM.xpi) = 477922
-SHA256 (xpi/thunderbird-i18n-24.4.0/id.xpi) = 5a4d8b2e0e96972d91fe60c1799c66f6387ea0858392dd545a2dcef02c753a8e
-SIZE (xpi/thunderbird-i18n-24.4.0/id.xpi) = 457498
-SHA256 (xpi/thunderbird-i18n-24.4.0/is.xpi) = e85519acd2619815c350f49c9406c4f36585cc61c6555448bc2a323cf0bbf2ca
-SIZE (xpi/thunderbird-i18n-24.4.0/is.xpi) = 425710
-SHA256 (xpi/thunderbird-i18n-24.4.0/it.xpi) = d32a5e3ed927502c7163243b59686e977a42c85822eeae964c0635ded3071002
-SIZE (xpi/thunderbird-i18n-24.4.0/it.xpi) = 357933
-SHA256 (xpi/thunderbird-i18n-24.4.0/ja.xpi) = 425c787bc6f432b246f165c4e6bdbd814f6d058bb662a873c61f72ace8816515
-SIZE (xpi/thunderbird-i18n-24.4.0/ja.xpi) = 475559
-SHA256 (xpi/thunderbird-i18n-24.4.0/ko.xpi) = 23750b422f4395630555b4dd60ed86a6f8d70a328d0334d1a04431c85a537562
-SIZE (xpi/thunderbird-i18n-24.4.0/ko.xpi) = 428070
-SHA256 (xpi/thunderbird-i18n-24.4.0/lt.xpi) = 93873a2aad2433626675f23be74781d74472971edb0c891d1bfcfc29d10e920d
-SIZE (xpi/thunderbird-i18n-24.4.0/lt.xpi) = 443260
-SHA256 (xpi/thunderbird-i18n-24.4.0/nb-NO.xpi) = fbfd546b9617631c4df0cb85cf2e939d75b56c3c6ff7601f4556f840df7fb3e3
-SIZE (xpi/thunderbird-i18n-24.4.0/nb-NO.xpi) = 418922
-SHA256 (xpi/thunderbird-i18n-24.4.0/nl.xpi) = 7fd2b9560a00e3172a573796899fba26d1d1cae69e2b17c81213a223da8c2712
-SIZE (xpi/thunderbird-i18n-24.4.0/nl.xpi) = 418763
-SHA256 (xpi/thunderbird-i18n-24.4.0/nn-NO.xpi) = d0fc15725d6a8f120040ba4051740a10d47fcdfce3345619a4cd7598370dafac
-SIZE (xpi/thunderbird-i18n-24.4.0/nn-NO.xpi) = 421134
-SHA256 (xpi/thunderbird-i18n-24.4.0/pa-IN.xpi) = c0c55f8c1b8009795e30318297b527f9ece985db4439b2ad0dbe7af937da62c4
-SIZE (xpi/thunderbird-i18n-24.4.0/pa-IN.xpi) = 508273
-SHA256 (xpi/thunderbird-i18n-24.4.0/pl.xpi) = ce486fffc5366b91d8d57b43ffcf5af93c7119960136344892cad5b32fcbb877
-SIZE (xpi/thunderbird-i18n-24.4.0/pl.xpi) = 401752
-SHA256 (xpi/thunderbird-i18n-24.4.0/pt-BR.xpi) = 2b9ecf69dc46a62fb613eddcdd7d2c417046eff3ca20c400e7ec8389f1ae9436
-SIZE (xpi/thunderbird-i18n-24.4.0/pt-BR.xpi) = 430909
-SHA256 (xpi/thunderbird-i18n-24.4.0/pt-PT.xpi) = 3f3b6695433f8a23d1fc1c90426165168a31e6ee505a9e0dc30773fb87d1ef0a
-SIZE (xpi/thunderbird-i18n-24.4.0/pt-PT.xpi) = 425025
-SHA256 (xpi/thunderbird-i18n-24.4.0/rm.xpi) = d4281b792ad6c2662b9dda2e4d087a11b50978901d508e7855cd945d9578ab06
-SIZE (xpi/thunderbird-i18n-24.4.0/rm.xpi) = 432384
-SHA256 (xpi/thunderbird-i18n-24.4.0/ro.xpi) = efd0d40b632d181aa289dcf9a21d8ba213f90ca6f43a886e7cc67a4b1d3e88d0
-SIZE (xpi/thunderbird-i18n-24.4.0/ro.xpi) = 497491
-SHA256 (xpi/thunderbird-i18n-24.4.0/ru.xpi) = 284e9c3fcaee7caa55f442d3fe6127d68bbd1a0e294015a3d97bcbac9a477a13
-SIZE (xpi/thunderbird-i18n-24.4.0/ru.xpi) = 425097
-SHA256 (xpi/thunderbird-i18n-24.4.0/si.xpi) = 9f97455e774e74b4a3d5effe631d7b4eaeebdee3f0f0fdcc3b3ec90c17a7de67
-SIZE (xpi/thunderbird-i18n-24.4.0/si.xpi) = 511167
-SHA256 (xpi/thunderbird-i18n-24.4.0/sk.xpi) = 8154cdc41071c4e4d06dd8bf37b5166e6078a90c00753e13d01d20c5a4b5ba4e
-SIZE (xpi/thunderbird-i18n-24.4.0/sk.xpi) = 440106
-SHA256 (xpi/thunderbird-i18n-24.4.0/sl.xpi) = 4fbd8dce101e088cec044113cf298464b56f729d7de9c48c3e295aa8763a8b20
-SIZE (xpi/thunderbird-i18n-24.4.0/sl.xpi) = 421706
-SHA256 (xpi/thunderbird-i18n-24.4.0/sq.xpi) = 3d6ce7ca0a312345d7c8b7006fd05961e7f23c67bbbe73da971448de916ea511
-SIZE (xpi/thunderbird-i18n-24.4.0/sq.xpi) = 435215
-SHA256 (xpi/thunderbird-i18n-24.4.0/sr.xpi) = 95fc6006ce2b05f66945710e56304d2abda2295272b4fe6c976a7885cdc63b85
-SIZE (xpi/thunderbird-i18n-24.4.0/sr.xpi) = 518889
-SHA256 (xpi/thunderbird-i18n-24.4.0/sv-SE.xpi) = c509fa6766b0bad5e0fea3bb66e8faf56a4c3ed6a955d64ef2dd3aaf354c5dbe
-SIZE (xpi/thunderbird-i18n-24.4.0/sv-SE.xpi) = 423815
-SHA256 (xpi/thunderbird-i18n-24.4.0/ta-LK.xpi) = ca2a242106b6b8cfd4123961704aaa0ea50ef08a59413ab5782971460d47a371
-SIZE (xpi/thunderbird-i18n-24.4.0/ta-LK.xpi) = 534923
-SHA256 (xpi/thunderbird-i18n-24.4.0/tr.xpi) = 6e49a73b80664b92d590888d34f19aa2f77490459c2a9d89cdf6d65ca5f4a569
-SIZE (xpi/thunderbird-i18n-24.4.0/tr.xpi) = 438067
-SHA256 (xpi/thunderbird-i18n-24.4.0/uk.xpi) = 8846c8bf8f30206afb21663fc0b37ca05f382cd2704beb5dbbf2fac94276e500
-SIZE (xpi/thunderbird-i18n-24.4.0/uk.xpi) = 480949
-SHA256 (xpi/thunderbird-i18n-24.4.0/vi.xpi) = 9986e317e7c830111e9e018fd37f9e39c99a5b841115c7b661c5b296532c8548
-SIZE (xpi/thunderbird-i18n-24.4.0/vi.xpi) = 495558
-SHA256 (xpi/thunderbird-i18n-24.4.0/zh-CN.xpi) = 230d8f16b03d1b2f1b3a6a502f78027d0e9d7fe8d62751ddf85935d4247fa696
-SIZE (xpi/thunderbird-i18n-24.4.0/zh-CN.xpi) = 449181
-SHA256 (xpi/thunderbird-i18n-24.4.0/zh-TW.xpi) = 4041db9d40a5c2d6256f8d3cf3e307d1708fa7db8645291383f6d09241225bdd
-SIZE (xpi/thunderbird-i18n-24.4.0/zh-TW.xpi) = 450001
+SHA256 (xpi/thunderbird-i18n-24.5.0/ar.xpi) = 61c387758c281431653c0d2a40f9779dea513358129fca8838b7568bfcb2f046
+SIZE (xpi/thunderbird-i18n-24.5.0/ar.xpi) = 457862
+SHA256 (xpi/thunderbird-i18n-24.5.0/ast.xpi) = a24e106915b718563a6b59e43d0152c027ac8f851192ca9c26135eaf2d0bf5f4
+SIZE (xpi/thunderbird-i18n-24.5.0/ast.xpi) = 373831
+SHA256 (xpi/thunderbird-i18n-24.5.0/be.xpi) = 46f2f6a22fc8eaa40793be47e7f3351297182cc7ddfb8116b00da965d6ef4a20
+SIZE (xpi/thunderbird-i18n-24.5.0/be.xpi) = 416882
+SHA256 (xpi/thunderbird-i18n-24.5.0/bg.xpi) = e36c78b5dc1667c2a66000a94d4858fd315637b2072491abd5678739c3745f88
+SIZE (xpi/thunderbird-i18n-24.5.0/bg.xpi) = 485023
+SHA256 (xpi/thunderbird-i18n-24.5.0/bn-BD.xpi) = 84b0646dc6ab24c3d366dcb93f30c0e93a53215f2d837acfbfe6757d36cf8b2a
+SIZE (xpi/thunderbird-i18n-24.5.0/bn-BD.xpi) = 537258
+SHA256 (xpi/thunderbird-i18n-24.5.0/br.xpi) = 735a7dcf944090ded122ac7fd94ca081599018091b6b948629281b2dd053ea11
+SIZE (xpi/thunderbird-i18n-24.5.0/br.xpi) = 427679
+SHA256 (xpi/thunderbird-i18n-24.5.0/ca.xpi) = b44c121db7370a79569b8309658dcff73df319f19ce446695964a8913dfffa6d
+SIZE (xpi/thunderbird-i18n-24.5.0/ca.xpi) = 429746
+SHA256 (xpi/thunderbird-i18n-24.5.0/cs.xpi) = 500809375921ab12902f81c0d700c6b66ec2c3bd3a0d03cd58fd94bc59e61040
+SIZE (xpi/thunderbird-i18n-24.5.0/cs.xpi) = 431476
+SHA256 (xpi/thunderbird-i18n-24.5.0/da.xpi) = d9c3e799b534164318262e936b9a5b50016ffea58276d67a6f6cca3c8fad6a83
+SIZE (xpi/thunderbird-i18n-24.5.0/da.xpi) = 409626
+SHA256 (xpi/thunderbird-i18n-24.5.0/de.xpi) = e03fa8c3a32b66955c7b95ccb0651d555e73f62411ed55aa2a44237dbc27b624
+SIZE (xpi/thunderbird-i18n-24.5.0/de.xpi) = 408674
+SHA256 (xpi/thunderbird-i18n-24.5.0/el.xpi) = 490f21edef433189cbcb0e16acb87ebc6e4047bce5c53ae35073782ac2539ea5
+SIZE (xpi/thunderbird-i18n-24.5.0/el.xpi) = 464552
+SHA256 (xpi/thunderbird-i18n-24.5.0/en-GB.xpi) = df6884048a7cc4579cf8d01b9846f4a4fada50c35486a5ef753b92c9e6e9eca4
+SIZE (xpi/thunderbird-i18n-24.5.0/en-GB.xpi) = 400962
+SHA256 (xpi/thunderbird-i18n-24.5.0/en-US.xpi) = 7b6c84303047b2cd7b8def5050978852d5133837f2b805b445da553b7c61ad26
+SIZE (xpi/thunderbird-i18n-24.5.0/en-US.xpi) = 402144
+SHA256 (xpi/thunderbird-i18n-24.5.0/es-AR.xpi) = 1f89c991a958a89913c4ce7d398d3727505f1c5ea18188691f2503d4fc4808f0
+SIZE (xpi/thunderbird-i18n-24.5.0/es-AR.xpi) = 425656
+SHA256 (xpi/thunderbird-i18n-24.5.0/es-ES.xpi) = f4793deb6ddbe8be6af31fe809ba2e6b1a85c16c42fc023d9c798b2a48ed1aab
+SIZE (xpi/thunderbird-i18n-24.5.0/es-ES.xpi) = 366308
+SHA256 (xpi/thunderbird-i18n-24.5.0/et.xpi) = 96a8367da63bbb573386ef2301089a676b963e5000a7638dd616cf66f0fefc06
+SIZE (xpi/thunderbird-i18n-24.5.0/et.xpi) = 422893
+SHA256 (xpi/thunderbird-i18n-24.5.0/eu.xpi) = b3617b39f949ad5e2cc06ad96de92eb76240fb5299fc9ef65479365a390ba2f3
+SIZE (xpi/thunderbird-i18n-24.5.0/eu.xpi) = 418497
+SHA256 (xpi/thunderbird-i18n-24.5.0/fi.xpi) = 3732e9d56156d836dbe69cac9e0d17e2b9e65b3436d54337f01bad07ca79ad86
+SIZE (xpi/thunderbird-i18n-24.5.0/fi.xpi) = 424264
+SHA256 (xpi/thunderbird-i18n-24.5.0/fr.xpi) = 4f6749e30cd43d41d3ad963e09e891c5455f4afba5d659482c945bf2d3ffa041
+SIZE (xpi/thunderbird-i18n-24.5.0/fr.xpi) = 431289
+SHA256 (xpi/thunderbird-i18n-24.5.0/fy-NL.xpi) = 5fd8a7748cb741587e6f8f5608edd1b930adfd597d7c41572ef938acabf5527d
+SIZE (xpi/thunderbird-i18n-24.5.0/fy-NL.xpi) = 426098
+SHA256 (xpi/thunderbird-i18n-24.5.0/ga-IE.xpi) = 5c680e902636dbbdb0850afd8c52016716d2a45bee15661626f8e66dc40d7f3c
+SIZE (xpi/thunderbird-i18n-24.5.0/ga-IE.xpi) = 437114
+SHA256 (xpi/thunderbird-i18n-24.5.0/gd.xpi) = 49941bbc298c4ca251dc799280236e3f687a75a1650bf47ece9da7a6390f1c76
+SIZE (xpi/thunderbird-i18n-24.5.0/gd.xpi) = 440091
+SHA256 (xpi/thunderbird-i18n-24.5.0/gl.xpi) = 2498b883e3cd6d7a81c02824afdaede981228dde6f0a9c13217a34e6d6dfa7c1
+SIZE (xpi/thunderbird-i18n-24.5.0/gl.xpi) = 427543
+SHA256 (xpi/thunderbird-i18n-24.5.0/he.xpi) = a5546f26a205db3a0196c5032c8e69314affecd2174f7880f5ae517af73785f9
+SIZE (xpi/thunderbird-i18n-24.5.0/he.xpi) = 457065
+SHA256 (xpi/thunderbird-i18n-24.5.0/hr.xpi) = b225e5428b4ec30eb618fcac0de66557e2f7bfdc88957dc739ec142d7968a3b2
+SIZE (xpi/thunderbird-i18n-24.5.0/hr.xpi) = 422387
+SHA256 (xpi/thunderbird-i18n-24.5.0/hu.xpi) = a24e6b47bb40a6b71319b5a4f7638574e3eede2163238da059bf0876cf7ec3fa
+SIZE (xpi/thunderbird-i18n-24.5.0/hu.xpi) = 441511
+SHA256 (xpi/thunderbird-i18n-24.5.0/hy-AM.xpi) = a8021d93dc1f3d372ee94d4c7eaacae2f30df06e2bd6cfc37a1ab564c90b6fb4
+SIZE (xpi/thunderbird-i18n-24.5.0/hy-AM.xpi) = 477923
+SHA256 (xpi/thunderbird-i18n-24.5.0/id.xpi) = 41222ef78db07a5da8b388485cd3536184caf8eb7264830e410026c279972454
+SIZE (xpi/thunderbird-i18n-24.5.0/id.xpi) = 457499
+SHA256 (xpi/thunderbird-i18n-24.5.0/is.xpi) = 3fdd5a7f5692ba2103bec6037d77bf848f78cb02eb1644d46641e89fe52cae2c
+SIZE (xpi/thunderbird-i18n-24.5.0/is.xpi) = 425710
+SHA256 (xpi/thunderbird-i18n-24.5.0/it.xpi) = 7c9a296019584d63c44ec03dda76200b83f07f50dcbafbe7c3b69af8f894f5cd
+SIZE (xpi/thunderbird-i18n-24.5.0/it.xpi) = 357933
+SHA256 (xpi/thunderbird-i18n-24.5.0/ja.xpi) = 624bf5f383fbcaf6eff9164232b72395733ae01a3a1f5e10d4a3e6fda10de1b8
+SIZE (xpi/thunderbird-i18n-24.5.0/ja.xpi) = 475559
+SHA256 (xpi/thunderbird-i18n-24.5.0/ko.xpi) = 830f3245b7f246e2269a758b7cc9186d7aadbf519ee72fa33b3d2325e285a291
+SIZE (xpi/thunderbird-i18n-24.5.0/ko.xpi) = 428071
+SHA256 (xpi/thunderbird-i18n-24.5.0/lt.xpi) = dff8b84bcfbb8c07d76d415b6ef378d6024bd81f0655ca438927572b85f4e37c
+SIZE (xpi/thunderbird-i18n-24.5.0/lt.xpi) = 443259
+SHA256 (xpi/thunderbird-i18n-24.5.0/nb-NO.xpi) = 2ae8f6c1a61d6f17cfb4f86d5d9926688fb8a403ab64fe1950c89a8997bcdd55
+SIZE (xpi/thunderbird-i18n-24.5.0/nb-NO.xpi) = 418922
+SHA256 (xpi/thunderbird-i18n-24.5.0/nl.xpi) = da2532d21fb594927f59979d4c022297b0ee5f0c29cdf2209d7e4f9296931cd9
+SIZE (xpi/thunderbird-i18n-24.5.0/nl.xpi) = 418764
+SHA256 (xpi/thunderbird-i18n-24.5.0/nn-NO.xpi) = 2a52857fca772239f14207755946dbdd36ba1c0209f8c09f30cfe6cdc94a5892
+SIZE (xpi/thunderbird-i18n-24.5.0/nn-NO.xpi) = 421134
+SHA256 (xpi/thunderbird-i18n-24.5.0/pa-IN.xpi) = f817ef8578af107efe45cc2406be7568440c1b4e020c3764afbec774b3b17a4b
+SIZE (xpi/thunderbird-i18n-24.5.0/pa-IN.xpi) = 508272
+SHA256 (xpi/thunderbird-i18n-24.5.0/pl.xpi) = 13fd347b116e6d5e1c0b168f020270cc179f32b1e056e333cc3a86a8406f901a
+SIZE (xpi/thunderbird-i18n-24.5.0/pl.xpi) = 401752
+SHA256 (xpi/thunderbird-i18n-24.5.0/pt-BR.xpi) = 57f7c85aa5ff76cd01387ff1752a63e8d2b26749765dd7daf7137de4a06eb6fe
+SIZE (xpi/thunderbird-i18n-24.5.0/pt-BR.xpi) = 430909
+SHA256 (xpi/thunderbird-i18n-24.5.0/pt-PT.xpi) = 828f0920581519070aa58c366f603d964638a60b2de74ad49fcf9397db169145
+SIZE (xpi/thunderbird-i18n-24.5.0/pt-PT.xpi) = 425025
+SHA256 (xpi/thunderbird-i18n-24.5.0/rm.xpi) = b5ad4b75ba5670223b6f16686830f2eed904a764c72a61c88e054d9574518d44
+SIZE (xpi/thunderbird-i18n-24.5.0/rm.xpi) = 432384
+SHA256 (xpi/thunderbird-i18n-24.5.0/ro.xpi) = a5a8215d718a6be1c576059168c9913c55d557b26bed500a4e39a888e0f18c4b
+SIZE (xpi/thunderbird-i18n-24.5.0/ro.xpi) = 497491
+SHA256 (xpi/thunderbird-i18n-24.5.0/ru.xpi) = 53277de17e52ed168368153902b498ea478eed06e00fc9a3f6b880cfbcb48c1f
+SIZE (xpi/thunderbird-i18n-24.5.0/ru.xpi) = 425097
+SHA256 (xpi/thunderbird-i18n-24.5.0/si.xpi) = aca1ede31da89a6ab476aad09696306f61522cdd878c5e1dabd37ba7f5b28713
+SIZE (xpi/thunderbird-i18n-24.5.0/si.xpi) = 511166
+SHA256 (xpi/thunderbird-i18n-24.5.0/sk.xpi) = a64b7290e92579b75a6cf34ba1baed18bb086265c8452c08ddb0228c714b5ed5
+SIZE (xpi/thunderbird-i18n-24.5.0/sk.xpi) = 440106
+SHA256 (xpi/thunderbird-i18n-24.5.0/sl.xpi) = ebab16114f3fe94cd15c9993a94693412afa121ce8975afadf54bf06d9a5fbab
+SIZE (xpi/thunderbird-i18n-24.5.0/sl.xpi) = 421706
+SHA256 (xpi/thunderbird-i18n-24.5.0/sq.xpi) = 5f933fa1e66e16c15d6237099cf65f5f3300ff423d3352f6e5aa3b2d207c7f0a
+SIZE (xpi/thunderbird-i18n-24.5.0/sq.xpi) = 435215
+SHA256 (xpi/thunderbird-i18n-24.5.0/sr.xpi) = 21ee6b0854e5e0052ef4eacca593c0ff41ea000dd0dc75f1d7b647b34591ad49
+SIZE (xpi/thunderbird-i18n-24.5.0/sr.xpi) = 518889
+SHA256 (xpi/thunderbird-i18n-24.5.0/sv-SE.xpi) = 17e752fbcf6e24203b6d27bce06df39766a7878fced1db516b96e2f9ec7e7426
+SIZE (xpi/thunderbird-i18n-24.5.0/sv-SE.xpi) = 423815
+SHA256 (xpi/thunderbird-i18n-24.5.0/ta-LK.xpi) = 55b10f60dea2abc565c69c841988110b989e69e7ce880500f9990af1b7e7437a
+SIZE (xpi/thunderbird-i18n-24.5.0/ta-LK.xpi) = 534922
+SHA256 (xpi/thunderbird-i18n-24.5.0/tr.xpi) = 25b1be7c836addc60bfa36e6c759dcd2b12c73c468351bc830f125080489dd92
+SIZE (xpi/thunderbird-i18n-24.5.0/tr.xpi) = 438066
+SHA256 (xpi/thunderbird-i18n-24.5.0/uk.xpi) = 331ed11d6d4b873db63e33db707a205d98eb0f4b6201a75921431b2e7e4e0755
+SIZE (xpi/thunderbird-i18n-24.5.0/uk.xpi) = 480949
+SHA256 (xpi/thunderbird-i18n-24.5.0/vi.xpi) = 993eb8b5869166b51dab725fea1126445cc132cafadab1b5096f6850f2aaadd3
+SIZE (xpi/thunderbird-i18n-24.5.0/vi.xpi) = 495558
+SHA256 (xpi/thunderbird-i18n-24.5.0/zh-CN.xpi) = e587849f5bae5bbb65bc68087fb9bbe672162e5bca69a7e99f0ca7e4559d5354
+SIZE (xpi/thunderbird-i18n-24.5.0/zh-CN.xpi) = 449181
+SHA256 (xpi/thunderbird-i18n-24.5.0/zh-TW.xpi) = ace0e695c8112ba1754f16603ee14418303ae053b97f8af0b23272a308c4f066
+SIZE (xpi/thunderbird-i18n-24.5.0/zh-TW.xpi) = 450000

Modified: head/mail/thunderbird/Makefile
==============================================================================
--- head/mail/thunderbird/Makefile	Tue Apr 29 20:32:11 2014	(r352639)
+++ head/mail/thunderbird/Makefile	Tue Apr 29 20:35:24 2014	(r352640)
@@ -2,9 +2,10 @@
 # $FreeBSD$
 
 PORTNAME=	thunderbird
-DISTVERSION=	24.4.0
+DISTVERSION=	24.5.0
 CATEGORIES=	mail news net-im ipv6
-MASTER_SITES=	MOZILLA/${PORTNAME}/releases/${DISTVERSION}/source
+MASTER_SITES=	MOZILLA/${PORTNAME}/releases/${DISTVERSION}/source \
+		https://ftp.mozilla.org/pub/mozilla.org/${PORTNAME}/candidates/${DISTVERSION}-candidates/build1/source/
 DISTFILES=	${PORTNAME}-${DISTVERSION}.source${EXTRACT_SUFX}
 EXTRACT_ONLY=	${PORTNAME}-${DISTVERSION}.source${EXTRACT_SUFX}
 
@@ -16,7 +17,9 @@ BUILD_DEPENDS=	nspr>=4.10.2:${PORTSDIR}/
 		sqlite3>=3.7.17:${PORTSDIR}/databases/sqlite3 \
 		${PYTHON_PKGNAMEPREFIX}sqlite3>0:${PORTSDIR}/databases/py-sqlite3 \
 		cairo>=1.10.2_1,1:${PORTSDIR}/graphics/cairo \
+		soundtouch>=1.7.0:${PORTSDIR}/audio/soundtouch \
 		harfbuzz>=0.9.16:${PORTSDIR}/print/harfbuzz \
+		graphite2>=1.2.3:${PORTSDIR}/graphics/graphite2 \
 		libvorbis>=1.3.4:${PORTSDIR}/audio/libvorbis \
 		opus>=1.1:${PORTSDIR}/audio/opus \
 		v4l_compat>0:${PORTSDIR}/multimedia/v4l_compat \

Modified: head/mail/thunderbird/distinfo
==============================================================================
--- head/mail/thunderbird/distinfo	Tue Apr 29 20:32:11 2014	(r352639)
+++ head/mail/thunderbird/distinfo	Tue Apr 29 20:35:24 2014	(r352640)
@@ -1,4 +1,4 @@
-SHA256 (thunderbird-24.4.0.source.tar.bz2) = 9aecdc2bf00cbe33629169aca8225a30d2674f4d372e845c2fc38c5d9f2bc7b6
-SIZE (thunderbird-24.4.0.source.tar.bz2) = 140040804
+SHA256 (thunderbird-24.5.0.source.tar.bz2) = 971c48db11328613340ed97a92018403647b8cca6a692b3d6b4145aed124382a
+SIZE (thunderbird-24.5.0.source.tar.bz2) = 140048545
 SHA256 (enigmail-1.6.tar.gz) = 10d5eb7ba364b9b6e6275aae8bba1d0e4321ed7d55a715337d566ccf2a56ea4d
 SIZE (enigmail-1.6.tar.gz) = 1231111

Modified: head/mail/thunderbird/files/patch-bug916589
==============================================================================
--- head/mail/thunderbird/files/patch-bug916589	Tue Apr 29 20:32:11 2014	(r352639)
+++ head/mail/thunderbird/files/patch-bug916589	Tue Apr 29 20:35:24 2014	(r352640)
@@ -2,12 +2,16 @@ diff --git media/mtransport/third_party/
 index 5b50785..7cf47d5 100644
 --- mozilla/media/mtransport/third_party/nrappkit/src/port/generic/include/sys/queue.h
 +++ mozilla/media/mtransport/third_party/nrappkit/src/port/generic/include/sys/queue.h
-@@ -31,11 +31,14 @@
+@@ -31,11 +31,18 @@
   */
  
 -#ifndef _SYS_QUEUE_H_
 +#if (defined(BSD) && !defined(__OpenBSD__)) || defined(DARWIN)
 +#include_next <sys/queue.h>
++# if defined(__DragonFly__)
++#define STAILQ_FOREACH_SAFE STAILQ_FOREACH_MUTABLE
++#define TAILQ_FOREACH_SAFE TAILQ_FOREACH_MUTABLE
++# endif
 +#elif !defined(_SYS_QUEUE_H_)
  #define	_SYS_QUEUE_H_
  

Copied: head/mail/thunderbird/files/patch-bug985848 (from r352248, head/mail/thunderbird/files/patch-no-videoio.h)
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/mail/thunderbird/files/patch-bug985848	Tue Apr 29 20:35:24 2014	(r352640, copy of r352248, head/mail/thunderbird/files/patch-no-videoio.h)
@@ -0,0 +1,22 @@
+--- mozilla/media/webrtc/trunk/webrtc/modules/video_capture/linux/device_info_linux.cc
++++ mozilla/media/webrtc/trunk/webrtc/modules/video_capture/linux/device_info_linux.cc
+@@ -19,7 +19,7 @@
+ #include <stdlib.h>
+ 
+ //v4l includes
+-#if defined(__DragonFly__) || defined(__NetBSD__) || defined(__OpenBSD__)
++#if defined(__NetBSD__) || defined(__OpenBSD__)
+ #include <sys/videoio.h>
+ #elif defined(__sun)
+ #include <sys/videodev2.h>
+--- mozilla/media/webrtc/trunk/webrtc/modules/video_capture/linux/video_capture_linux.cc
++++ mozilla/media/webrtc/trunk/webrtc/modules/video_capture/linux/video_capture_linux.cc
+@@ -18,7 +18,7 @@
+ #include <string.h>
+ 
+ //v4l includes
+-#if defined(__DragonFly__) || defined(__NetBSD__) || defined(__OpenBSD__)
++#if defined(__NetBSD__) || defined(__OpenBSD__)
+ #include <sys/videoio.h>
+ #elif defined(__sun)
+ #include <sys/videodev2.h>

Copied: head/mail/thunderbird/files/patch-bug991253 (from r352248, head/mail/thunderbird/files/patch-mozilla-extensions-spellcheck-hunspell-src-mozHunspell.cpp)
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/mail/thunderbird/files/patch-bug991253	Tue Apr 29 20:35:24 2014	(r352640, copy of r352248, head/mail/thunderbird/files/patch-mozilla-extensions-spellcheck-hunspell-src-mozHunspell.cpp)
@@ -0,0 +1,15 @@
+--- mozilla/extensions/spellcheck/hunspell/src/mozHunspell.cpp~
++++ mozilla/extensions/spellcheck/hunspell/src/mozHunspell.cpp
+@@ -400,6 +400,12 @@ mozHunspell::LoadDictionaryList()
+     }
+   }
+ 
++  // load system hunspell dictionaries
++  nsIFile* hunDir;
++  NS_NewNativeLocalFile(NS_LITERAL_CSTRING("%%LOCALBASE%%/share/hunspell"),
++			true, &hunDir);
++  LoadDictionariesFromDir(hunDir);
++
+   // find dictionaries from extensions requiring restart
+   nsCOMPtr<nsISimpleEnumerator> dictDirs;
+   rv = dirSvc->Get(DICTIONARY_SEARCH_DIRECTORY_LIST,

Copied and modified: head/mail/thunderbird/files/patch-ijg-libjpeg (from r352443, head/mail/thunderbird/files/patch-bug791305)
==============================================================================
--- head/mail/thunderbird/files/patch-bug791305	Sun Apr 27 17:54:56 2014	(r352443, copy source)
+++ head/mail/thunderbird/files/patch-ijg-libjpeg	Tue Apr 29 20:35:24 2014	(r352640)
@@ -1,19 +1,4 @@
-commit c269a16
-Author: Jeff Muizelaar <jmuizelaar@mozilla.com>
-Date:   Fri Sep 14 15:54:55 2012 -0400
-
-    Bug 791305. Use libjpeg's color conversion code instead of our own. r=joe,r=khuey
-    
-    libjpeg-turbo supports converting directly to a format compatible with cairo's
-    FORMAT_RGB24. Use that instead of our own handcoded function. This also gives
-    us SSE2 and NEON version of this function.
-    
-    --HG--
-    extra : rebase_source : 18f48925f023a33ec2a097d4f4e5cc2ab40be1e9
----
- configure.in                     |   6 +-
- image/decoders/nsJPEGDecoder.cpp | 311 ++-------------------------------------
- 2 files changed, 20 insertions(+), 297 deletions(-)
+# Partially revert bug 791305 to allow building with system IJG jpeg library
 
 diff --git configure.in configure.in
 index f0aeb5d..1c01010 100644

Added: head/mail/thunderbird/files/patch-mozilla-media-mtransport-third_party-nICEr-src-util-mbslen.c
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/mail/thunderbird/files/patch-mozilla-media-mtransport-third_party-nICEr-src-util-mbslen.c	Tue Apr 29 20:35:24 2014	(r352640)
@@ -0,0 +1,16 @@
+--- mozilla/media/mtransport/third_party/nICEr/src/util/mbslen.c~
++++ mozilla/media/mtransport/third_party/nICEr/src/util/mbslen.c
+@@ -54,6 +54,13 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ # endif
+ #endif
+ 
++#ifdef __DragonFly__
++#include <osreldate.h>
++# if __DragonFly_version > 300502
++#  define HAVE_XLOCALE
++# endif
++#endif
++
+ #ifdef HAVE_XLOCALE
+ #include <xlocale.h>
+ #endif /* HAVE_XLOCALE */

Modified: head/mail/thunderbird/files/patch-z-bug847568
==============================================================================
--- head/mail/thunderbird/files/patch-z-bug847568	Tue Apr 29 20:32:11 2014	(r352639)
+++ head/mail/thunderbird/files/patch-z-bug847568	Tue Apr 29 20:35:24 2014	(r352640)
@@ -14,10 +14,10 @@ index 14bfc0d..5383399 100644
  	$(INSTALL) system_wrappers $(DIST)
  
 diff --git config/system-headers config/system-headers
-index 126391e..b711fc3 100644
+index 18e8703..bdc5f82 100644
 --- mozilla/config/system-headers
 +++ mozilla/config/system-headers
-@@ -1144,3 +1144,11 @@ unicode/utypes.h
+@@ -1145,3 +1145,11 @@ unicode/utypes.h
  #endif
  libutil.h
  unwind.h
@@ -30,40 +30,58 @@ index 126391e..b711fc3 100644
 +harfbuzz/hb.h
 +#endif
 diff --git configure.in configure.in
-index bbc7b40..1747206 100644
+index ac38f40..87536b7 100644
 --- mozilla/configure.in
 +++ mozilla/configure.in
-@@ -7830,6 +7830,38 @@ if test "$USE_FC_FREETYPE"; then
+@@ -8032,6 +8032,56 @@ if test "$USE_FC_FREETYPE"; then
  fi
  
  dnl ========================================================
-+dnl Check for graphite2 and harfbuzz
++dnl Check for harfbuzz
 +dnl ========================================================
 +
 +MOZ_ARG_WITH_BOOL(system-harfbuzz,
 +[  --with-system-harfbuzz  Use system harfbuzz (located with pkgconfig)],
 +MOZ_NATIVE_HARFBUZZ=1,
-+MOZ_NATIVE_HARFBUZZ= )
++MOZ_NATIVE_HARFBUZZ=)
 +
 +if test -n "$MOZ_NATIVE_HARFBUZZ"; then
 +    PKG_CHECK_MODULES(MOZ_HARFBUZZ, harfbuzz >= 0.9.16)
 +else
 +    MOZ_HARFBUZZ_LIBS='$(DEPTH)/gfx/harfbuzz/src/$(LIB_PREFIX)mozharfbuzz.$(LIB_SUFFIX)'
 +fi
++
 +AC_SUBST(MOZ_NATIVE_HARFBUZZ)
 +AC_SUBST(MOZ_HARFBUZZ_CFLAGS)
 +AC_SUBST(MOZ_HARFBUZZ_LIBS)
 +
++dnl ========================================================
++dnl Check for graphite2
++dnl ========================================================
 +MOZ_ARG_WITH_BOOL(system-graphite2,
 +[  --with-system-graphite2 Use system graphite2 (located with pkgconfig)],
 +MOZ_NATIVE_GRAPHITE2=1,
-+MOZ_NATIVE_GRAPHITE2= )
++MOZ_NATIVE_GRAPHITE2=)
 +
 +if test -n "$MOZ_NATIVE_GRAPHITE2"; then
-+    PKG_CHECK_MODULES(MOZ_GRAPHITE, graphite2 >= 1.2.3)
-+else
-+    MOZ_GRAPHITE_LIBS='$(DEPTH)/gfx/graphite2/src/$(LIB_PREFIX)mozgraphite2.$(LIB_SUFFIX)'
++    PKG_CHECK_MODULES(MOZ_GRAPHITE, graphite2)
++
++    dnl graphite2.pc has bogus version, check manually
++    AC_TRY_COMPILE([ #include <graphite2/Font.h>
++                     #define GR2_VERSION_REQUIRE(major,minor,bugfix)  \
++                             ( GR2_VERSION_MAJOR * 10000 + GR2_VERSION_MINOR \
++                               * 100 + GR2_VERSION_BUGFIX >= \
++                               (major) * 10000 + (minor) * 100 + (bugfix) )
++                   ], [
++                     #if !GR2_VERSION_REQUIRE(1,2,3)
++                     #error "Insufficient graphite2 version."
++                     #endif
++                   ], [],
++                   [AC_MSG_ERROR([--with-system-graphite2 requested but no working libgraphite2 found])])
+++else
+++    MOZ_GRAPHITE_LIBS='$(DEPTH)/gfx/graphite2/src/$(LIB_PREFIX)mozgraphite2.$(LIB_SUFFIX)'
 +fi
++
 +AC_SUBST(MOZ_NATIVE_GRAPHITE2)
 +AC_SUBST(MOZ_GRAPHITE_CFLAGS)
 +AC_SUBST(MOZ_GRAPHITE_LIBS)
@@ -133,7 +151,7 @@ index 519aa46..6929751 100644
      'thebes',
      'ipc',
 diff --git gfx/skia/Makefile.in gfx/skia/Makefile.in
-index 07a77a3..067f7bd 100644
+index ee0efb2..98e169d6f 100644
 --- mozilla/gfx/skia/Makefile.in
 +++ mozilla/gfx/skia/Makefile.in
 @@ -15,6 +15,10 @@ ifeq (qt,$(MOZ_WIDGET_TOOLKIT))
@@ -146,9 +164,9 @@ index 07a77a3..067f7bd 100644
 +
  include $(topsrcdir)/config/rules.mk
  
- ifneq (,$(INTEL_ARCHITECTURE))
+ ifeq ($(CPU_ARCH)_$(GNU_CC),arm_1)
 diff --git gfx/thebes/Makefile.in gfx/thebes/Makefile.in
-index e9f6b6c..0df2d8d 100644
+index 45c36ae..79d32cf 100644
 --- mozilla/gfx/thebes/Makefile.in
 +++ mozilla/gfx/thebes/Makefile.in
 @@ -13,6 +13,14 @@ DEFINES := $(filter-out -DUNICODE,$(DEFINES))
@@ -167,7 +185,7 @@ index e9f6b6c..0df2d8d 100644
  CXXFLAGS += $(CAIRO_FT_CFLAGS)
  endif
 diff --git intl/unicharutil/util/Makefile.in intl/unicharutil/util/Makefile.in
-index f6b9f7c..11c44f4 100644
+index f6b9f7c..60863f4 100644
 --- mozilla/intl/unicharutil/util/Makefile.in
 +++ mozilla/intl/unicharutil/util/Makefile.in
 @@ -21,3 +21,7 @@ ifdef _MSC_VER
@@ -176,7 +194,7 @@ index f6b9f7c..11c44f4 100644
  endif
 +
 +ifdef MOZ_NATIVE_HARFBUZZ
-+nsUnicodePropertyData.$(OBJ_SUFFIX): CXXFLAGS+=$(MOZ_HARFBUZZ_CFLAGS)
++CXXFLAGS += $(MOZ_HARFBUZZ_CFLAGS)
 +endif
 diff --git layout/media/Makefile.in layout/media/Makefile.in
 index 1cacbd7..a8cd156 100644
@@ -202,22 +220,25 @@ index 1cacbd7..a8cd156 100644
  SHARED_LIBRARY_LIBS += $(MOZ_CAIRO_LIBS)
  endif
 diff --git netwerk/dns/Makefile.in netwerk/dns/Makefile.in
-index 1cacbd7..a8cd156 100644
+index 1cacbd7..f5d72bb 100644
 --- mozilla/netwerk/dns/Makefile.in
 +++ mozilla/netwerk/dns/Makefile.in
-@@ -9,3 +9,7 @@ include $(topsrcdir)/config/rules.mk
- # for effective TLD data.
- etld_data.inc: $(srcdir)/prepare_tlds.py $(srcdir)/effective_tld_names.dat
- 	$(PYTHON) $(srcdir)/prepare_tlds.py $(srcdir)/effective_tld_names.dat > etld_data.inc
-+
+@@ -5,6 +5,10 @@
+ 
+ include $(topsrcdir)/config/rules.mk
+ 
 +ifdef MOZ_NATIVE_HARFBUZZ
-+nsIDNService.$(OBJ_SUFFIX): CXXFLAGS+=$(MOZ_HARFBUZZ_CFLAGS)
++CXXFLAGS += $(MOZ_HARFBUZZ_CFLAGS)
 +endif
++
+ # Generate the include file containing compact, static definitions
+ # for effective TLD data.
+ etld_data.inc: $(srcdir)/prepare_tlds.py $(srcdir)/effective_tld_names.dat
 diff --git toolkit/library/Makefile.in toolkit/library/Makefile.in
-index 007f272..27f488e 100644
+index 67f0db9..d42137a 100644
 --- mozilla/toolkit/library/Makefile.in
 +++ mozilla/toolkit/library/Makefile.in
-@@ -103,6 +103,14 @@ ifndef MOZ_TREE_PIXMAN
+@@ -89,6 +89,14 @@ ifndef MOZ_TREE_PIXMAN
  EXTRA_DSO_LDOPTS += $(MOZ_PIXMAN_LIBS)
  endif
  

Modified: head/mail/thunderbird/files/patch-zz-bug517422
==============================================================================
--- head/mail/thunderbird/files/patch-zz-bug517422	Tue Apr 29 20:32:11 2014	(r352639)
+++ head/mail/thunderbird/files/patch-zz-bug517422	Tue Apr 29 20:35:24 2014	(r352640)
@@ -1,16 +1,20 @@
-# Allow building against system-wide ogg/vorbis/opus.
+# Allow more config/external/ libs built against system-wide version.
 
 diff --git config/Makefile.in config/Makefile.in
-index 5383399..4393ae8 100644
+index 5383399..0410004 100644
 --- mozilla/config/Makefile.in
 +++ mozilla/config/Makefile.in
-@@ -79,6 +79,9 @@ export:: $(export-preqs)
+@@ -79,6 +79,13 @@ export:: $(export-preqs)
  		-DMOZ_NATIVE_ICU=$(MOZ_NATIVE_ICU) \
  		-DMOZ_NATIVE_GRAPHITE2=$(MOZ_NATIVE_GRAPHITE2) \
  		-DMOZ_NATIVE_HARFBUZZ=$(MOZ_NATIVE_HARFBUZZ) \
 +		-DMOZ_NATIVE_OGG=$(MOZ_NATIVE_OGG) \
++		-DMOZ_NATIVE_THEORA=$(MOZ_NATIVE_THEORA) \
 +		-DMOZ_NATIVE_VORBIS=$(MOZ_NATIVE_VORBIS) \
++		-DMOZ_NATIVE_TREMOR=$(MOZ_NATIVE_TREMOR) \
 +		-DMOZ_NATIVE_OPUS=$(MOZ_NATIVE_OPUS) \
++		-DMOZ_NATIVE_SPEEX=$(MOZ_NATIVE_SPEEX) \
++		-DMOZ_NATIVE_SOUNDTOUCH=$(MOZ_NATIVE_SOUNDTOUCH) \
  		$(srcdir)/system-headers | $(PERL) $(topsrcdir)/nsprpub/config/make-system-wrappers.pl system_wrappers
  	$(INSTALL) system_wrappers $(DIST)
  
@@ -26,7 +30,8 @@ index c22a36c..2febb45 100644
 +if CONFIG['MOZ_VORBIS'] and not CONFIG['MOZ_NATIVE_VORBIS']:
      add_tier_dir('platform', 'media/libvorbis')
  
- if CONFIG['MOZ_TREMOR']:
+-if CONFIG['MOZ_TREMOR']:
++if CONFIG['MOZ_TREMOR'] and not CONFIG['MOZ_NATIVE_TREMOR']:
      add_tier_dir('platform', 'media/libtremor')
  
 -if CONFIG['MOZ_OPUS']:
@@ -34,22 +39,54 @@ index c22a36c..2febb45 100644
      add_tier_dir('platform', 'media/libopus')
  
  if CONFIG['MOZ_WEBM']:
-@@ -82,7 +82,9 @@ if CONFIG['MOZ_VP8'] and not CONFIG['MOZ
+@@ -82,7 +82,10 @@ if CONFIG['MOZ_VP8'] and not CONFIG['MOZ
      add_tier_dir('platform', 'media/libvpx')
  
  if CONFIG['MOZ_OGG']:
 -    add_tier_dir('platform', ['media/libogg', 'media/libtheora'])
 +    if not CONFIG['MOZ_NATIVE_OGG']:
 +        add_tier_dir('platform', 'media/libogg')
-+    add_tier_dir('platform', 'media/libtheora')
++    if not CONFIG['MOZ_NATIVE_THEORA']:
++        add_tier_dir('platform', 'media/libtheora')
  
  if CONFIG['MOZ_WEBRTC']:
      add_tier_dir('platform', [
+@@ -92,10 +95,10 @@ if CONFIG['MOZ_WEBRTC']:
+         'media/mtransport/standalone',
+     ])
+ 
+-if CONFIG['MOZ_SPEEX_RESAMPLER']:
++if CONFIG['MOZ_SPEEX_RESAMPLER'] and not CONFIG['MOZ_NATIVE_SPEEX']:
+     add_tier_dir('platform', 'media/libspeex_resampler')
+ 
+-if CONFIG['MOZ_SOUNDTOUCH']:
++if CONFIG['MOZ_SOUNDTOUCH'] and not CONFIG['MOZ_NATIVE_SOUNDTOUCH']:
+     add_tier_dir('platform', 'media/libsoundtouch')
+ 
+ if CONFIG['MOZ_CUBEB']:
 diff --git config/system-headers config/system-headers
-index b711fc3..fd3c14f 100644
+index bef567c..9807c29 100644
 --- mozilla/config/system-headers
 +++ mozilla/config/system-headers
-@@ -1152,3 +1152,17 @@ graphite2/Segment.h
+@@ -1050,8 +1050,6 @@ X11/Xutil.h
+ xpt_struct.h
+ xpt_xdr.h
+ zmouse.h
+-speex/speex_resampler.h
+-soundtouch/SoundTouch.h
+ #if MOZ_NATIVE_PNG==1
+ png.h
+ #endif
+@@ -1119,6 +1117,8 @@ ogg/ogg.h
+ ogg/os_types.h
+ nestegg/nestegg.h
+ cubeb/cubeb.h
++speex/speex_resampler.h
++soundtouch/SoundTouch.h
+ #endif
+ gst/gst.h
+ gst/app/gstappsink.h
+@@ -1155,3 +1155,29 @@ graphite2/Segment.h
  harfbuzz/hb-ot.h
  harfbuzz/hb.h
  #endif
@@ -57,21 +94,33 @@ index b711fc3..fd3c14f 100644
 +ogg/ogg.h
 +ogg/os_types.h
 +#endif
++#if MOZ_NATIVE_THEORA==1
++theora/theoradec.h
++#endif
 +#if MOZ_NATIVE_VORBIS==1
 +vorbis/codec.h
 +vorbis/vorbisenc.h
 +#endif
++#if MOZ_NATIVE_TREMOR==1
++tremor/ivorbiscodec.h
++#endif
 +#if MOZ_NATIVE_OPUS==1
 +opus.h
 +opus_multistream.h
 +opus/opus.h
 +opus/opus_multistream.h
 +#endif
++#if MOZ_NATIVE_SPEEX==1
++speex/speex_resampler.h
++#endif
++#if MOZ_NATIVE_SOUNDTOUCH==1
++soundtouch/SoundTouch.h
++#endif
 diff --git configure.in configure.in
-index df49287..05e97ff 100644
+index 87db361..7947626 100644
 --- mozilla/configure.in
 +++ mozilla/configure.in
-@@ -5143,6 +5143,40 @@ if test -n "$MOZ_OGG"; then
+@@ -5211,6 +5211,57 @@ if test "${ac_cv_c_attribute_aligned}" != "0"; then
  fi
  
  dnl ========================================================
@@ -81,7 +130,7 @@ index df49287..05e97ff 100644
 +MOZ_ARG_WITH_BOOL(system-ogg,
 +[  --with-system-ogg       Use system libogg (located with pkgconfig)],
 +MOZ_NATIVE_OGG=1,
-+MOZ_NATIVE_OGG= )
++MOZ_NATIVE_OGG=)
 +
 +if test -n "$MOZ_NATIVE_OGG"; then
 +    PKG_CHECK_MODULES(MOZ_OGG, ogg >= 1.2.1)
@@ -98,7 +147,7 @@ index df49287..05e97ff 100644
 +MOZ_ARG_WITH_BOOL(system-vorbis,
 +[  --with-system-vorbis    Use system libvorbis (located with pkgconfig)],
 +MOZ_NATIVE_VORBIS=1,
-+MOZ_NATIVE_VORBIS= )
++MOZ_NATIVE_VORBIS=)
 +
 +if test -n "$MOZ_NATIVE_VORBIS"; then
 +    PKG_CHECK_MODULES(MOZ_VORBIS, vorbis vorbisenc >= 1.3.4)
@@ -109,10 +158,27 @@ index df49287..05e97ff 100644
 +AC_SUBST(MOZ_VORBIS_LIBS)
 +
 +dnl ========================================================
++dnl Check for integer-only libvorbis aka tremor
++dnl ========================================================
++
++MOZ_ARG_WITH_BOOL(system-tremor,
++[  --with-system-tremor    Use system libtremor (located with pkgconfig)],
++MOZ_NATIVE_TREMOR=1,
++MOZ_NATIVE_TREMOR=)
++
++if test -n "$MOZ_NATIVE_TREMOR"; then
++    PKG_CHECK_MODULES(MOZ_TREMOR, vorbisidec >= 1.2.1)
++fi
++
++AC_SUBST(MOZ_NATIVE_TREMOR)
++AC_SUBST(MOZ_TREMOR_CFLAGS)
++AC_SUBST(MOZ_TREMOR_LIBS)
++
++dnl ========================================================
  dnl = Disable Opus audio codec support
  dnl ========================================================
  MOZ_ARG_DISABLE_BOOL(opus,
-@@ -5151,6 +5185,25 @@ MOZ_ARG_DISABLE_BOOL(opus,
+@@ -5219,6 +5274,76 @@ MOZ_ARG_DISABLE_BOOL(opus,
      MOZ_OPUS=1)
  
  dnl ========================================================
@@ -122,7 +188,7 @@ index df49287..05e97ff 100644
 +MOZ_ARG_WITH_BOOL(system-opus,
 +[  --with-system-opus      Use system libopus (located with pkgconfig)],
 +MOZ_NATIVE_OPUS=1,
-+MOZ_NATIVE_OPUS= )
++MOZ_NATIVE_OPUS=)
 +
 +if test -n "$MOZ_NATIVE_OPUS"; then
 +    PKG_CHECK_MODULES(MOZ_OPUS, opus >= 1.1)
@@ -135,14 +201,66 @@ index df49287..05e97ff 100644
 +AC_SUBST(MOZ_OPUS_LIBS)
 +
 +dnl ========================================================
++dnl Check for libtheora
++dnl ========================================================
++
++MOZ_ARG_WITH_BOOL(system-theora,
++[  --with-system-theora    Use system libtheora (located with pkgconfig)],
++MOZ_NATIVE_THEORA=1,
++MOZ_NATIVE_THEORA=)
++
++if test -n "$MOZ_NATIVE_THEORA"; then
++    PKG_CHECK_MODULES(MOZ_THEORA, theora >= 1.2)
++fi
++
++AC_SUBST(MOZ_NATIVE_THEORA)
++AC_SUBST(MOZ_THEORA_CFLAGS)
++AC_SUBST(MOZ_THEORA_LIBS)
++
++dnl ========================================================
++dnl Check for libspeex resampler
++dnl ========================================================
++
++MOZ_ARG_WITH_BOOL(system-speex,
++[  --with-system-speex     Use system libspeex (located with pkgconfig)],
++MOZ_NATIVE_SPEEX=1,
++MOZ_NATIVE_SPEEX=)
++
++if test -n "$MOZ_NATIVE_SPEEX"; then
++    PKG_CHECK_MODULES(MOZ_SPEEX, speexdsp >= 1.2)
++fi
++
++AC_SUBST(MOZ_NATIVE_SPEEX)
++AC_SUBST(MOZ_SPEEX_CFLAGS)
++AC_SUBST(MOZ_SPEEX_LIBS)
++
++dnl ========================================================
++dnl Check for libsoundtouch
++dnl ========================================================
++
++MOZ_ARG_WITH_BOOL(system-soundtouch,
++[  --with-system-soundtouch Use system libsoundtouch (located with pkgconfig)],
++MOZ_NATIVE_SOUNDTOUCH=1,
++MOZ_NATIVE_SOUNDTOUCH=)
++
++if test -n "$MOZ_NATIVE_SOUNDTOUCH"; then
++    PKG_CHECK_MODULES(MOZ_SOUNDTOUCH, soundtouch >= 1.7.0)
++fi
++
++AC_SUBST(MOZ_NATIVE_SOUNDTOUCH)
++AC_SUBST(MOZ_SOUNDTOUCH_CFLAGS)
++AC_SUBST(MOZ_SOUNDTOUCH_LIBS)
++
++dnl ========================================================
  dnl = Disable VP8 decoder support
  dnl ========================================================
  MOZ_ARG_DISABLE_BOOL(webm,
 diff --git content/media/Makefile.in content/media/Makefile.in
-index 68f360e..76f2d57 100644
+index fd34449..c6c42c8 100644
 --- mozilla/content/media/Makefile.in
 +++ mozilla/content/media/Makefile.in
-@@ -7,4 +7,16 @@ include $(topsrcdir)/config/rules.mk
+@@ -6,4 +6,31 @@ include $(topsrcdir)/config/rules.mk
+ 
  CFLAGS   += $(GSTREAMER_CFLAGS)
  CXXFLAGS += $(GSTREAMER_CFLAGS)
  
@@ -150,20 +268,48 @@ index 68f360e..76f2d57 100644
 +CXXFLAGS += $(MOZ_OGG_CFLAGS)
 +endif
 +
++ifdef MOZ_NATIVE_THEORA
++CXXFLAGS += $(MOZ_THEORA_CFLAGS)
++endif
++
 +ifdef MOZ_NATIVE_VORBIS
 +CXXFLAGS += $(MOZ_VORBIS_CFLAGS)
 +endif
 +
++ifdef MOZ_NATIVE_TREMOR
++CXXFLAGS += $(MOZ_TREMOR_CFLAGS)
++endif
++
 +ifdef MOZ_NATIVE_OPUS
 +CXXFLAGS += $(MOZ_OPUS_CFLAGS)
 +endif
 +
++ifdef MOZ_NATIVE_SPEEX
++CXXFLAGS += $(MOZ_SPEEX_CFLAGS)
++endif
++
++ifdef MOZ_NATIVE_SOUNDTOUCH
++CXXFLAGS += $(MOZ_SOUNDTOUCH_CFLAGS)
++endif
+diff --git media/libcubeb/src/Makefile.in media/libcubeb/src/Makefile.in
+index 4c14494..1cb98e2 100644
+--- mozilla/media/libcubeb/src/Makefile.in
++++ mozilla/media/libcubeb/src/Makefile.in
+@@ -9,3 +9,7 @@ CFLAGS += \
+         $(MOZ_ALSA_CFLAGS) \
+         $(MOZ_PULSEAUDIO_CFLAGS) \
+         $(NULL)
++
++ifdef MOZ_NATIVE_SPEEX
++CFLAGS += $(MOZ_SPEEX_CFLAGS)
++endif
++
  AudioNodeEngineNEON.$(OBJ_SUFFIX): CXXFLAGS += -mfpu=neon
 diff --git layout/media/Makefile.in layout/media/Makefile.in
 index 1cacbd7..a8cd156 100644
 --- mozilla/layout/media/Makefile.in
 +++ mozilla/layout/media/Makefile.in
-@@ -30,12 +36,21 @@ ifdef MOZ_TREE_PIXMAN
+@@ -36,31 +36,45 @@ ifdef MOZ_TREE_PIXMAN
  SHARED_LIBRARY_LIBS += $(MOZ_PIXMAN_LIBS)
  endif
  
@@ -185,9 +331,21 @@ index 1cacbd7..a8cd156 100644
 +endif
  
  ifdef MOZ_TREMOR
++ifndef MOZ_NATIVE_TREMOR
  SHARED_LIBRARY_LIBS	+= \
-@@ -51,10 +66,12 @@ SHARED_LIBRARY_LIBS 	+= \
+ 	$(DEPTH)/media/libtremor/lib/$(LIB_PREFIX)tremor.$(LIB_SUFFIX) \
+-	$(DEPTH)/media/libogg/src/$(LIB_PREFIX)ogg.$(LIB_SUFFIX) \
+ 	$(NULL)
  endif
++endif
+ 
+ ifdef MOZ_OGG
++ifndef MOZ_NATIVE_THEORA
+ SHARED_LIBRARY_LIBS 	+= \
+ 	$(DEPTH)/media/libtheora/lib/$(LIB_PREFIX)theora.$(LIB_SUFFIX) \
+ 	$(NULL)
+ endif
++endif
  
  ifdef MOZ_OPUS
 +ifndef MOZ_NATIVE_OPUS
@@ -199,6 +357,27 @@ index 1cacbd7..a8cd156 100644
  
  ifdef MOZ_WEBM
  SHARED_LIBRARY_LIBS 	+= \
+@@ -77,16 +91,20 @@ endif
+ endif
+ 

*** DIFF OUTPUT TRUNCATED AT 1000 LINES ***
_______________________________________________
svn-ports-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-ports-all
To unsubscribe, send any mail to "svn-ports-all-unsubscribe@freebsd.org"