Bug 186580 - www/seamonkey fails to build on sparc64
www/seamonkey fails to build on sparc64
Status: Closed FIXED
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s)
Latest
Any Any
: Normal Affects Only Me
Assigned To: gecko
:
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2014-02-09 09:50 UTC by craig001
Modified: 2014-03-24 18:39 UTC (History)
0 users

See Also:


Attachments
patch-bufferunrotate (400 bytes, text/x-patch)
2014-02-20 11:36 UTC, craig001
no flags Details
patch-bug970031-new (520 bytes, text/x-patch)
2014-02-20 11:36 UTC, craig001
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description craig001 2014-02-09 09:50:00 UTC
seamonkey (and firefox) fail to build on sparc64... I think it has something to do with assembler code, and the linker

/////
./../xpcom/reflect/xptcall/src/xptcall.o:(.data.rel.ro._ZTV14nsXPTCStubBase[vtable for nsXPTCStubBase]+0x7a0): undefined reference to `nsXPTCStubBase::Stub242()'
./../xpcom/reflect/xptcall/src/xptcall.o:(.data.rel.ro._ZTV14nsXPTCStubBase[vtable for nsXPTCStubBase]+0x7a8): undefined reference to `nsXPTCStubBase::Stub243()'
./../xpcom/reflect/xptcall/src/xptcall.o:(.data.rel.ro._ZTV14nsXPTCStubBase[vtable for nsXPTCStubBase]+0x7b0): undefined reference to `nsXPTCStubBase::Stub244()'
./../xpcom/reflect/xptcall/src/xptcall.o:(.data.rel.ro._ZTV14nsXPTCStubBase[vtable for nsXPTCStubBase]+0x7b8): undefined reference to `nsXPTCStubBase::Stub245()'
./../xpcom/reflect/xptcall/src/xptcall.o:(.data.rel.ro._ZTV14nsXPTCStubBase[vtable for nsXPTCStubBase]+0x7c0): undefined reference to `nsXPTCStubBase::Stub246()'
./../xpcom/reflect/xptcall/src/xptcall.o:(.data.rel.ro._ZTV14nsXPTCStubBase[vtable for nsXPTCStubBase]+0x7c8): undefined reference to `nsXPTCStubBase::Stub247()'
./../xpcom/reflect/xptcall/src/xptcall.o:(.data.rel.ro._ZTV14nsXPTCStubBase[vtable for nsXPTCStubBase]+0x7d0): undefined reference to `nsXPTCStubBase::Stub248()'
./../xpcom/reflect/xptcall/src/xptcall.o:(.data.rel.ro._ZTV14nsXPTCStubBase[vtable for nsXPTCStubBase]+0x7d8): undefined reference to `nsXPTCStubBase::Stub249()'
./../xpcom/reflect/xptcall/src/xptcall.o:(.data.rel.ro._ZTV14nsXPTCStubBase[vtable for nsXPTCStubBase]+0x7e0): undefined reference to `nsXPTCStubBase::Sentinel0()'
./../xpcom/reflect/xptcall/src/xptcall.o:(.data.rel.ro._ZTV14nsXPTCStubBase[vtable for nsXPTCStubBase]+0x7e8): undefined reference to `nsXPTCStubBase::Sentinel1()'
./../xpcom/reflect/xptcall/src/xptcall.o:(.data.rel.ro._ZTV14nsXPTCStubBase[vtable for nsXPTCStubBase]+0x7f0): undefined reference to `nsXPTCStubBase::Sentinel2()'
./../xpcom/reflect/xptcall/src/xptcall.o:(.data.rel.ro._ZTV14nsXPTCStubBase[vtable for nsXPTCStubBase]+0x7f8): undefined reference to `nsXPTCStubBase::Sentinel3()'
./../xpcom/reflect/xptcall/src/xptcall.o:(.data.rel.ro._ZTV14nsXPTCStubBase[vtable for nsXPTCStubBase]+0x800): undefined reference to `nsXPTCStubBase::Sentinel4()'
./../xpcom/reflect/xptcall/src/md/unix/xptcinvoke_asm_sparc64_openbsd.o: In function `NS_InvokeByIndex':
(.text+0x20): warning: undefined reference to `invoke_copy_to_stack'
./../xpcom/reflect/xptcall/src/md/unix/xptcstubs_asm_sparc64_openbsd.o: In function `SharedStub':
(.text+0x30): warning: undefined reference to `PrepareAndDispatch'
/usr/local/bin/ld: libxul.so: hidden symbol `nsXPTCStubBase::Stub234()' isn't defined
/usr/local/bin/ld: final link failed: Bad value
collect2: ld returned 1 exit status
gmake[4]: *** [libxul.so] Error 1
gmake[4]: Leaving directory `/work/a/ports/www/seamonkey/work/comm-release/obj-sparc64-portbld-freebsd9.2/mozilla/toolkit/library'
/////

Fix: 

unknown, would like help diagnosing and creating a fix if possible.
How-To-Repeat: build port on sparc64
Comment 1 Edwin Groothuis freebsd_committer 2014-02-09 09:50:09 UTC
Responsible Changed
From-To: freebsd-ports-bugs->gecko

Over to maintainer (via the GNATS Auto Assign Tool)
Comment 2 flo 2014-02-10 18:40:28 UTC
Can you try the patch from
https://trillian.chruetertee.ch/freebsd-gecko/changeset/1487?
Comment 3 craig001 2014-02-10 21:14:10 UTC
On Mon, 2014-02-10 at 19:40 +0100, Florian Smeets wrote:
> Can you try the patch from
> https://trillian.chruetertee.ch/freebsd-gecko/changeset/1487?
> 

Hello Florian

Thank you for taking the time out to help us with this issue.

I have checked out from head the ports that this patch touches and
extracted the changeset over the top.  I am currently rebuilding libxul,
then I will try seamonkey first and firefox after.

I should have some results in about 3 days (judging from the last run).

I'll run the seamonkey and firefox builds in a script session.

Kind Regards

Craig Butler
Comment 4 craig001 2014-02-15 23:48:00 UTC
----- Original Message -----
> From: "Craig Butler" <craig001@lerwick.hopto.org>
> To: "Florian Smeets" <flo@smeets.im>
> Cc: bug-followup@FreeBSD.org
> Sent: Monday, 10 February, 2014 9:14:10 PM
> Subject: Re: ports/186580: www/seamonkey fails to build on sparc64
> 
> On Mon, 2014-02-10 at 19:40 +0100, Florian Smeets wrote:
> > Can you try the patch from
> > https://trillian.chruetertee.ch/freebsd-gecko/changeset/1487?
> > 
> 
> Hello Florian
> 
> Thank you for taking the time out to help us with this issue.
> 
> I have checked out from head the ports that this patch touches and
> extracted the changeset over the top.  I am currently rebuilding
> libxul,
> then I will try seamonkey first and firefox after.
> 
> I should have some results in about 3 days (judging from the last
> run).
> 
> I'll run the seamonkey and firefox builds in a script session.
> 
> Kind Regards
> 
> Craig Butler
> 

Hello Florian

Just a quick update - libxul compiled and installed without issue.  Seamonkey and Firefox are still compiling.

Kind Regards

Craig Butler
Comment 5 craig001 2014-02-20 11:36:44 UTC
On Sat, 2014-02-15 at 23:48 +0000, Craig Butler wrote:
> 
> ----- Original Message -----
> > From: "Craig Butler" <craig001@lerwick.hopto.org>
> > To: "Florian Smeets" <flo@smeets.im>
> > Cc: bug-followup@FreeBSD.org
> > Sent: Monday, 10 February, 2014 9:14:10 PM
> > Subject: Re: ports/186580: www/seamonkey fails to build on sparc64
> > 
> > On Mon, 2014-02-10 at 19:40 +0100, Florian Smeets wrote:
> > > Can you try the patch from
> > > https://trillian.chruetertee.ch/freebsd-gecko/changeset/1487?
> > > 
> > 
> > Hello Florian
> > 
> > Thank you for taking the time out to help us with this issue.
> > 
> > I have checked out from head the ports that this patch touches and
> > extracted the changeset over the top.  I am currently rebuilding
> > libxul,
> > then I will try seamonkey first and firefox after.
> > 
> > I should have some results in about 3 days (judging from the last
> > run).
> > 
> > I'll run the seamonkey and firefox builds in a script session.
> > 
> > Kind Regards
> > 
> > Craig Butler
> > 
> 
> Hello Florian
> 
> Just a quick update - libxul compiled and installed without issue.  Seamonkey and Firefox are still compiling.
> 
> Kind Regards
> 
> Craig Butler

Great News... After some impressive compile times Firefox and Seamonkey
are in and working.

Firefox compiled and installed without issue. 

Seamonkey needed a little extra work;
 * the bug patch is slightly different (I think it effects a different
line in the newer seamonkey version)

 * had to add an include line in BufferUnrotate.cpp to get it to
compile.

Both patches are attached.

Thank you again for your help Florian, Mozilla goodness now working on
sparc64.

Kind Regards

Craig Butler


Comment 6 dfilter freebsd_committer 2014-03-19 20:46:46 UTC
Author: beat
Date: Wed Mar 19 20:46:37 2014
New Revision: 348650
URL: http://svnweb.freebsd.org/changeset/ports/348650
QAT: https://qat.redports.org/buildarchive/r348650/

Log:
  - Update Firefox to 28.0
  - Update Firefox ESR to 24.4.0
  - Update Thunderbird to 24.4.0
  - Update NSPR to 4.10.4
  - Update NSS to 3.15.5
  - Switch GSTREAMER option for non-esr ports to depend on
    multimedia/gstreamer1 [2]
  - Switch to Uses/compiler.mk, defaults to lang/gcc47 on 8.x and 9.x
  - Use port dependencies for libogg, libvorbis, libopus, harfbuzz, graphite2
  - Enable readahead in url-classifier, asmjs, download resume like on Linux
  - Build www/firefox and www/seamonkey faster using unified compilation
  - Unbreak build on sparc64 [1]
  - Workaround OPTIMIZED_CFLAGS startup crash on 8.x and 9.x
  - OPTIMIZED_CFLAGS is enabled by default
  - A few DEBUG build fixes
  - Add clang 3.2/3.3/3.4 workarounds for i386
  - Mention known GSTREAMER issue in pkg-message
  
  Submitted by:	Jan Beich
  PR:		ports/186580 [1]
  Requested by:	kwm [2]
  Security:	http://www.vuxml.org/freebsd/610de647-af8d-11e3-a25b-b4b52fce4ce8.html

Added:
  head/mail/thunderbird/files/patch-bug961264   (contents, props changed)
  head/mail/thunderbird/files/patch-bug961816   (contents, props changed)
  head/mail/thunderbird/files/patch-bug962345   (contents, props changed)
  head/mail/thunderbird/files/patch-bug975634   (contents, props changed)
  head/mail/thunderbird/files/patch-bug977457   (contents, props changed)
  head/mail/thunderbird/files/patch-clang34-disable-stdcall   (contents, props changed)
  head/mail/thunderbird/files/patch-mozilla-memory-jemalloc-Makefile.in   (contents, props changed)
  head/mail/thunderbird/files/patch-z-bug847568   (contents, props changed)
  head/mail/thunderbird/files/patch-zz-bug517422   (contents, props changed)
  head/www/firefox-esr/files/patch-bug961264   (contents, props changed)
  head/www/firefox-esr/files/patch-bug961816   (contents, props changed)
  head/www/firefox-esr/files/patch-bug962345   (contents, props changed)
  head/www/firefox-esr/files/patch-bug975634   (contents, props changed)
  head/www/firefox-esr/files/patch-bug977457   (contents, props changed)
  head/www/firefox-esr/files/patch-clang34-disable-stdcall   (contents, props changed)
  head/www/firefox-esr/files/patch-memory-jemalloc-Makefile.in   (contents, props changed)
  head/www/firefox-esr/files/patch-z-bug847568   (contents, props changed)
  head/www/firefox-esr/files/patch-zz-bug517422   (contents, props changed)
  head/www/firefox/files/patch-bug806917   (contents, props changed)
  head/www/firefox/files/patch-bug847568   (contents, props changed)
  head/www/firefox/files/patch-bug961264   (contents, props changed)
  head/www/firefox/files/patch-bug961816   (contents, props changed)
  head/www/firefox/files/patch-bug962345   (contents, props changed)
  head/www/firefox/files/patch-bug973744   (contents, props changed)
  head/www/firefox/files/patch-bug975634   (contents, props changed)
  head/www/firefox/files/patch-bug977457   (contents, props changed)
  head/www/firefox/files/patch-clang34-disable-stdcall   (contents, props changed)
  head/www/firefox/files/patch-js-src-Makefile.in   (contents, props changed)
  head/www/firefox/files/patch-memory-jemalloc-Makefile.in   (contents, props changed)
  head/www/firefox/files/patch-z-bug517422   (contents, props changed)
  head/www/libxul/files/patch-bug961264   (contents, props changed)
  head/www/libxul/files/patch-bug975634   (contents, props changed)
  head/www/libxul/files/patch-bug977457   (contents, props changed)
  head/www/libxul/files/patch-clang34-disable-stdcall   (contents, props changed)
  head/www/libxul/files/patch-memory-jemalloc-Makefile.in   (contents, props changed)
  head/www/libxul/files/patch-z-bug847568   (contents, props changed)
  head/www/libxul/files/patch-zz-bug517422   (contents, props changed)
Deleted:
  head/mail/thunderbird/files/patch-clang32-libc++-visibility-hack
  head/www/firefox-esr/files/patch-clang32-libc++-visibility-hack
  head/www/firefox/files/patch-bug810716
  head/www/firefox/files/patch-bug945046
  head/www/firefox/files/patch-bug946560
  head/www/firefox/files/patch-clang32-libc++-visibility-hack
  head/www/firefox/files/patch-toolkit_xre_Makefile.in
  head/www/libxul/files/patch-clang32-libc++-visibility-hack
Modified:
  head/Mk/bsd.gecko.mk
  head/devel/nspr/Makefile
  head/devel/nspr/distinfo
  head/devel/nspr/files/patch-tests
  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-bug893397
  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-bug893397
  head/www/firefox-esr/files/patch-bug948946
  head/www/firefox-esr/pkg-message
  head/www/firefox-i18n/Makefile
  head/www/firefox-i18n/distinfo
  head/www/firefox/Makefile
  head/www/firefox/Makefile.options
  head/www/firefox/distinfo
  head/www/firefox/files/patch-bug826985
  head/www/firefox/files/patch-bug893397
  head/www/firefox/files/patch-bug948946
  head/www/firefox/pkg-message
  head/www/libxul/Makefile
  head/www/libxul/files/patch-bug893397
  head/www/linux-firefox/Makefile
  head/www/linux-firefox/distinfo

Modified: head/Mk/bsd.gecko.mk
==============================================================================
--- head/Mk/bsd.gecko.mk	Wed Mar 19 20:25:58 2014	(r348649)
+++ head/Mk/bsd.gecko.mk	Wed Mar 19 20:46:37 2014	(r348650)
@@ -176,7 +176,7 @@ Gecko_Pre_Include=			bsd.gecko.mk
 #                         is given by the maintainer via the port or by the
 #                         user via defined variable try to find the highest
 #                         stable installed version.
-#                         Available values: yes 24+ 27+ 24 27
+#                         Available values: yes 24+ 28+ 24 28
 #                         NOTE:
 #                         default value 24 is used in case of USE_FIREFOX=yes
 #
@@ -218,11 +218,11 @@ _FIREFOX_BUILD_DEPENDS=		yes
 .endif
 
 _FIREFOX_DEFAULT_VERSION=	24
-_FIREFOX_VERSIONS=			24 27
-_FIREFOX_RANGE_VERSIONS=	24+ 27+
+_FIREFOX_VERSIONS=			24 28
+_FIREFOX_RANGE_VERSIONS=	24+ 28+
 
 # For specifying [24, ..]+
-_FIREFOX_27P=	27 ${_FIREFOX_24P}
+_FIREFOX_28P=	28 ${_FIREFOX_24P}
 _FIREFOX_24P=	24
 
 # Set the default Firefox version and check if USE_FIREFOX=yes was given
@@ -269,7 +269,7 @@ IGNORE=			cannot install: unknown Firefo
 
 # Dependence lines for different Firefox versions
 24_DEPENDS=		${LOCALBASE}/lib/firefox/firefox:${PORTSDIR}/www/firefox-esr
-27_DEPENDS=		${LOCALBASE}/lib/firefox/firefox:${PORTSDIR}/www/firefox
+28_DEPENDS=		${LOCALBASE}/lib/firefox/firefox:${PORTSDIR}/www/firefox
 
 # Add dependencies
 .if defined(USE_FIREFOX)
@@ -436,12 +436,11 @@ Gecko_Pre_Include=	bsd.gecko.mk
 #
 # Ports can use the following:
 #
-# USE_MOZILLA			By default, it enables the denendencies: cairo,
-# 						event, ffi, hunspell, jpeg, nspr, nss, png, sqlite,
-# 						vpx and zip. Search for '_ALL_DEPENDS' below to see
-# 						the list. If your port doesn't need one of list then
-# 						you can use '-' like 'USE_MOZILLA= -png -zip' to
-# 						subtract the dependencies.
+# USE_MOZILLA			By default, it enables every system dependency
+# 						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.
 #
 # GECKO_PLIST_PRE_FILES	Manual add files in the plist if it needs.
 #
@@ -501,11 +500,10 @@ MOZILLA_VER?=	${PORTVERSION}
 MOZILLA_BIN?=	${PORTNAME}-bin
 MOZILLA_EXEC_NAME?=${MOZILLA}
 MOZ_RPATH?=	${MOZILLA}
-USE_GNOME+=	libidl desktopfileutils
-USES+=		gmake iconv perl5 pkgconfig
+USE_GNOME+=	desktopfileutils
+USES+=		compiler:c++11-lib gmake iconv perl5 pkgconfig
 USE_PERL5=	build
-USE_XORG=	printproto sm xt xi xext x11 xinerama \
-		ice xproto
+USE_XORG=	xext xrender xt
 
 NO_STAGE=	yes
 
@@ -540,25 +538,7 @@ MOZ_EXPORT+=	${CONFIGURE_ENV} \
 MOZ_OPTIONS+=	--prefix="${FAKEDIR}"
 
 CPPFLAGS+=		-isystem${LOCALBASE}/include
-LDFLAGS+=		-L${LOCALBASE}/lib -Wl,-R,${PREFIX}/lib/${MOZILLA}
-
-# prefer base clang, for lang/clang{,-devel} see ports/177224
-.if ${CC} == "cc" && (exists(/usr/bin/clang) && ${OSVERSION} >= 900014)
-CC=				/usr/bin/clang
-.endif
-.if ${CXX} == "c++" && (exists(/usr/bin/clang++) && ${OSVERSION} >= 900014)
-CXX=			/usr/bin/clang++
-.endif
-.if ${CPP} == "cpp" && (exists(/usr/bin/clang-cpp) && ${OSVERSION} >= 900045)
-CPP=			/usr/bin/clang-cpp
-.endif
-.if ${CC} != "cc" && ${CPP} == "cpp"
-CPP=			${CC} -E
-.endif
-# fallback to gcc otherwise
-.if ${CC} == "cc" || ${CXX} == "c++"
-USE_GCC?=		yes
-.endif
+LDFLAGS+=		-L${LOCALBASE}/lib -Wl,-rpath,${PREFIX}/lib/${MOZILLA}
 
 # use jemalloc 3.0.0 API for stats/tuning
 MOZ_EXPORT+=	MOZ_JEMALLOC3=1
@@ -567,58 +547,79 @@ MOZ_OPTIONS+=	--enable-jemalloc
 .endif
 
 # Standard depends
-_ALL_DEPENDS=	cairo event ffi hunspell icu jpeg nspr nss png sqlite vpx zip
+_ALL_DEPENDS=	cairo event ffi harfbuzz hunspell icu jpeg nspr nss opus png pixman sqlite vorbis vpx
 
-cairo_LIB_DEPENDS=	cairo:${PORTSDIR}/graphics/cairo
-cairo_MOZ_OPTIONS=	--enable-system-cairo --enable-system-pixman
-cairo_EXTRACT_AFTER_ARGS=	--exclude mozilla*/gfx/cairo
+cairo_LIB_DEPENDS=	libcairo.so:${PORTSDIR}/graphics/cairo
+cairo_MOZ_OPTIONS=	--enable-system-cairo
+cairo_EXTRACT_AFTER_ARGS=	--exclude mozilla*/gfx/cairo/cairo
 
-event_LIB_DEPENDS=	event-2.0:${PORTSDIR}/devel/libevent2
+event_LIB_DEPENDS=	libevent-2.0.so:${PORTSDIR}/devel/libevent2
 event_MOZ_OPTIONS=	--with-system-libevent
 event_EXTRACT_AFTER_ARGS=	--exclude mozilla*/ipc/chromium/src/third_party/libevent
 
-ffi_LIB_DEPENDS=	ffi:${PORTSDIR}/devel/libffi
+ffi_LIB_DEPENDS=	libffi.so:${PORTSDIR}/devel/libffi
 ffi_MOZ_OPTIONS=	--enable-system-ffi
 ffi_EXTRACT_AFTER_ARGS=	--exclude mozilla*/js/src/ctypes/libffi
 
-hunspell_LIB_DEPENDS=	hunspell-1.3:${PORTSDIR}/textproc/hunspell
+.if exists(${FILESDIR}/patch-bug847568) || exists(${FILESDIR}/patch-z-bug847568)
+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
+.endif
+
+hunspell_LIB_DEPENDS=	libhunspell-1.3.so:${PORTSDIR}/textproc/hunspell
 hunspell_MOZ_OPTIONS=	--enable-system-hunspell
 
-icu_LIB_DEPENDS=		icui18n:${PORTSDIR}/devel/icu
+icu_LIB_DEPENDS=		libicui18n.so:${PORTSDIR}/devel/icu
 icu_MOZ_OPTIONS=		--with-system-icu --with-intl-api --enable-intl-api
 
 -jpeg_BUILD_DEPENDS=yasm:${PORTSDIR}/devel/yasm
-# XXX: depends on pkgng package flavor support
-#jpeg_LIB_DEPENDS=	jpeg:${PORTSDIR}/graphics/libjpeg-turbo
-jpeg_LIB_DEPENDS=	jpeg:${PORTSDIR}/graphics/jpeg
+# XXX depends on ports/180159 or package flavor support
+#jpeg_LIB_DEPENDS=	libjpeg.so:${PORTSDIR}/graphics/libjpeg-turbo
+jpeg_LIB_DEPENDS=	libjpeg.so:${PORTSDIR}/graphics/jpeg
 jpeg_MOZ_OPTIONS=	--with-system-jpeg=${LOCALBASE}
 jpeg_EXTRACT_AFTER_ARGS=	--exclude mozilla*/media/libjpeg
 
-nspr_LIB_DEPENDS=	nspr4:${PORTSDIR}/devel/nspr
+nspr_LIB_DEPENDS=	libnspr4.so:${PORTSDIR}/devel/nspr
 nspr_MOZ_OPTIONS=	--with-system-nspr
 
-nss_LIB_DEPENDS=	nss3:${PORTSDIR}/security/nss
+nss_LIB_DEPENDS=	libnss3.so:${PORTSDIR}/security/nss
 nss_MOZ_OPTIONS=	--with-system-nss
 nss_EXTRACT_AFTER_ARGS=	--exclude mozilla*/dbm \
 						--exclude mozilla*/security/coreconf \
 						--exclude mozilla*/security/nss
 
-png_LIB_DEPENDS=	png15:${PORTSDIR}/graphics/png
+.if exists(${FILESDIR}/patch-z-bug517422) || exists(${FILESDIR}/patch-zz-bug517422)
+opus_LIB_DEPENDS=	libopus.so:${PORTSDIR}/audio/opus
+opus_MOZ_OPTIONS=	--with-system-opus
+opus_EXTRACT_AFTER_ARGS=	--exclude mozilla*/media/libopus
+.endif
+
+pixman_LIB_DEPENDS=	libpixman-1.so:${PORTSDIR}/x11/pixman
+pixman_MOZ_OPTIONS=	--enable-system-pixman
+pixman_EXTRACT_AFTER_ARGS=	--exclude mozilla*/gfx/cairo/libpixman
+
+png_LIB_DEPENDS=	libpng15.so:${PORTSDIR}/graphics/png
 png_MOZ_OPTIONS=	--with-system-png=${LOCALBASE}
 png_EXTRACT_AFTER_ARGS=	--exclude mozilla*/media/libpng
 
-sqlite_LIB_DEPENDS=	sqlite3:${PORTSDIR}/databases/sqlite3
+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)
+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 \
+							--exclude mozilla*/media/libogg
+.endif
+
 -vpx_BUILD_DEPENDS=	yasm:${PORTSDIR}/devel/yasm
-vpx_LIB_DEPENDS=	vpx:${PORTSDIR}/multimedia/libvpx
+vpx_LIB_DEPENDS=	libvpx.so:${PORTSDIR}/multimedia/libvpx
 vpx_MOZ_OPTIONS=	--with-system-libvpx
 vpx_EXTRACT_AFTER_ARGS=	--exclude mozilla*/media/libvpx
 
-zip_BUILD_DEPENDS=		zip:${PORTSDIR}/archivers/zip
-zip_RUN_DEPENDS=		${zip_BUILD_DEPENDS}
-
 .for use in ${USE_MOZILLA}
 ${use:S/-/_WITHOUT_/}=	${TRUE}
 .endfor
@@ -656,6 +657,7 @@ MOZ_OPTIONS+=	--enable-necko-protocols=$
 # others
 MOZ_OPTIONS+=	--with-system-zlib		\
 		--with-system-bz2		\
+		--enable-unified-compilation	\
 		--disable-debug-symbols		\
 		--disable-glibtest		\
 		--disable-gtktest		\
@@ -676,7 +678,11 @@ MOZ_TOOLKIT=	cairo-gtk3
 USE_MOZILLA+=	-cairo # ports/169343
 USE_DISPLAY=yes # install
 USE_GNOME+=	pango
+. if ${MOZILLA_VER:R:R} >= 30
+USE_QT5+=	qmake_build buildtools_build gui network quick printsupport
+. else
 USE_QT4+=	qmake_build moc_build rcc_build gui network opengl
+. endif
 MOZ_EXPORT+=	HOST_QMAKE="${QMAKE}" HOST_MOC="${MOC}" HOST_RCC="${RCC}"
 .elif ${MOZ_TOOLKIT:Mcairo-gtk3}
 USE_GNOME+=	gtk30
@@ -693,9 +699,9 @@ MOZ_OPTIONS+=	--disable-optimize
 .endif
 
 .if ${PORT_OPTIONS:MDBUS}
-LIB_DEPENDS+=	dbus-glib-1.2:${PORTSDIR}/devel/dbus-glib \
-				notify.4:${PORTSDIR}/devel/libnotify \
-				startup-notification-1.0:${PORTSDIR}/x11/startup-notification
+BUILD_DEPENDS+=	libnotify>0:${PORTSDIR}/devel/libnotify
+LIB_DEPENDS+=	libdbus-glib-1.so:${PORTSDIR}/devel/dbus-glib \
+				libstartup-notification-1.so:${PORTSDIR}/x11/startup-notification
 MOZ_OPTIONS+=	--enable-startup-notification
 .else
 MOZ_OPTIONS+=	--disable-dbus --disable-libnotify
@@ -714,7 +720,8 @@ MOZ_OPTIONS+=	--disable-gstreamer
 .endif
 
 .if ${PORT_OPTIONS:MGCONF}
-USE_GNOME+=		gconf2
+BUILD_DEPENDS+=	${gconf2_DETECT}:${gconf2_LIB_DEPENDS:C/.*://}
+USE_GNOME+=		gconf2:build
 MOZ_OPTIONS+=	--enable-gconf
 .else
 MOZ_OPTIONS+=	--disable-gconf
@@ -727,14 +734,16 @@ MOZ_OPTIONS+=	--disable-gio
 .endif
 
 .if ${PORT_OPTIONS:MGNOMEUI}
-USE_GNOME+=		libgnomeui
+BUILD_DEPENDS+=	${libgnomeui_DETECT}:${libgnomeui_LIB_DEPENDS:C/.*://}
+USE_GNOME+=		libgnomeui:build
 MOZ_OPTIONS+=	--enable-gnomeui
 .else
 MOZ_OPTIONS+=	--disable-gnomeui
 .endif
 
 .if ${PORT_OPTIONS:MGNOMEVFS2}
-USE_GNOME+=		gnomevfs2
+BUILD_DEPENDS+=	${gnomevfs2_DETECT}:${gnomevfs2_LIB_DEPENDS:C/.*://}
+USE_GNOME+=		gnomevfs2:build
 MOZ_OPTIONS+=	--enable-gnomevfs
 MOZ_OPTIONS:=	${MOZ_OPTIONS:C/(extensions)=(.*)/\1=\2,gnomevfs/}
 .else
@@ -742,7 +751,7 @@ MOZ_OPTIONS+=	--disable-gnomevfs
 .endif
 
 .if ${PORT_OPTIONS:MLIBPROXY}
-LIB_DEPENDS+=	proxy:${PORTSDIR}/net/libproxy
+LIB_DEPENDS+=	libproxy.so:${PORTSDIR}/net/libproxy
 MOZ_OPTIONS+=	--enable-libproxy
 .else
 MOZ_OPTIONS+=	--disable-libproxy
@@ -755,16 +764,17 @@ USE_DISPLAY=yes
 .undef GNU_CONFIGURE
 MAKEFILE=	${WRKSRC}/client.mk
 ALL_TARGET=	profiledbuild
+MOZ_EXPORT+=MOZ_OPTIMIZE_FLAGS="-Os" MOZ_PGO_OPTIMIZE_FLAGS="${CFLAGS:M-O*}"
 .endif
 
 .if ${PORT_OPTIONS:MALSA}
-LIB_DEPENDS+=	asound.2:${PORTSDIR}/audio/alsa-lib
+LIB_DEPENDS+=	libasound.so:${PORTSDIR}/audio/alsa-lib
 RUN_DEPENDS+=	${LOCALBASE}/lib/alsa-lib/libasound_module_pcm_oss.so:${PORTSDIR}/audio/alsa-plugins
 MOZ_OPTIONS+=	--enable-alsa
 .endif
 
 .if ${PORT_OPTIONS:MPULSEAUDIO}
-LIB_DEPENDS+=	pulse.0:${PORTSDIR}/audio/pulseaudio
+BUILD_DEPENDS+=	pulseaudio>0:${PORTSDIR}/audio/pulseaudio
 MOZ_OPTIONS+=	--enable-pulseaudio
 .else
 MOZ_OPTIONS+=	--disable-pulseaudio
@@ -772,6 +782,7 @@ MOZ_OPTIONS+=	--disable-pulseaudio
 
 .if ${PORT_OPTIONS:MDEBUG}
 MOZ_OPTIONS+=	--enable-debug --disable-release
+STRIP=	# ports/184285
 .else
 MOZ_OPTIONS+=	--disable-debug --enable-release
 .endif
@@ -790,6 +801,7 @@ MOZ_OPTIONS+=	--disable-profiling
 .endif
 
 .if ${PORT_OPTIONS:MTEST}
+USE_XORG+=		xscrnsaver
 MOZ_OPTIONS+=	--enable-tests
 .else
 MOZ_OPTIONS+=	--disable-tests
@@ -915,21 +927,6 @@ gecko-post-patch:
 		${PATCH} ${PATCH_ARGS} -d ${MOZSRC}/security/nss < $$i; \
 	done
 .endif
-.for subdir in "" nsprpub js/src
-	@if [ -f ${MOZSRC}/${subdir}/config/system-headers ] ; then \
-	for f in \
-			cairo-qt.h \
-			kvm.h \
-			malloc_np.h \
-			ostream \
-			spawn.h \
-			sys/thr.h \
-			sys/user.h \
-			unwind.h; do \
-		${ECHO_CMD} "$$f" >> ${MOZSRC}/${subdir}/config/system-headers ; \
-	done; \
-	fi
-.endfor
 	@for f in \
 			${WRKSRC}/directory/c-sdk/config/FreeBSD.mk \
 			${WRKSRC}/directory/c-sdk/configure \

Modified: head/devel/nspr/Makefile
==============================================================================
--- head/devel/nspr/Makefile	Wed Mar 19 20:25:58 2014	(r348649)
+++ head/devel/nspr/Makefile	Wed Mar 19 20:46:37 2014	(r348650)
@@ -2,7 +2,7 @@
 # $FreeBSD$
 
 PORTNAME=	nspr
-DISTVERSION=	4.10.3
+DISTVERSION=	4.10.4
 CATEGORIES=	devel
 MASTER_SITES=	MOZILLA/${PORTNAME}/releases/v${PORTVERSION}/src
 

Modified: head/devel/nspr/distinfo
==============================================================================
--- head/devel/nspr/distinfo	Wed Mar 19 20:25:58 2014	(r348649)
+++ head/devel/nspr/distinfo	Wed Mar 19 20:46:37 2014	(r348650)
@@ -1,2 +1,2 @@
-SHA256 (nspr-4.10.3.tar.gz) = f25779b1a665dab0090b9c977dc6c29a63320f442956ed78629b66b405cb01e5
-SIZE (nspr-4.10.3.tar.gz) = 1104478
+SHA256 (nspr-4.10.4.tar.gz) = eb3fcc5e4cbd90f244c19ea05c2dfb4d22df4acc777d34ec6946dbfae560d838
+SIZE (nspr-4.10.4.tar.gz) = 1107127

Modified: head/devel/nspr/files/patch-tests
==============================================================================
--- head/devel/nspr/files/patch-tests	Wed Mar 19 20:25:58 2014	(r348649)
+++ head/devel/nspr/files/patch-tests	Wed Mar 19 20:46:37 2014	(r348650)
@@ -279,9 +279,8 @@
          while ( rh != NULL )
          {
 -            PR_GET_COUNTER_NAME_FROM_HANDLE( rh, qname, rname, desc );
--            tCtr = PR_GET_COUNTER(tCtr, rh);
 +            PR_GET_COUNTER_NAME_FROM_HANDLE( rh, &qn, &rn, &dn );
-+            PR_GET_COUNTER(tCtr, rh);
+             PR_GET_COUNTER(tCtr, rh);
              PR_LOG( lm, msgLevel,
                  ( "QName: %s  RName: %s  Desc: %s  Value: %ld\n", 
 @@ -134,13 +134,13 @@

Modified: head/mail/linux-thunderbird/Makefile
==============================================================================
--- head/mail/linux-thunderbird/Makefile	Wed Mar 19 20:25:58 2014	(r348649)
+++ head/mail/linux-thunderbird/Makefile	Wed Mar 19 20:46:37 2014	(r348650)
@@ -2,7 +2,7 @@
 # $FreeBSD$
 
 PORTNAME=	thunderbird
-DISTVERSION=	24.3.0
+DISTVERSION=	24.4.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	Wed Mar 19 20:25:58 2014	(r348649)
+++ head/mail/linux-thunderbird/distinfo	Wed Mar 19 20:46:37 2014	(r348650)
@@ -1,5 +1,5 @@
-SHA256 (thunderbird-24.3.0.tar.bz2) = 45b33aca1a7afc94c6214313af904409f712ef4ed8450c4e435a74b75260b898
-SIZE (thunderbird-24.3.0.tar.bz2) = 28920220
+SHA256 (thunderbird-24.4.0.tar.bz2) = 376ab51e3c424db7e235b2e94494d48ce2fa9a8f1fbf5ef5cf9e367bbaf7422d
+SIZE (thunderbird-24.4.0.tar.bz2) = 28923795
 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	Wed Mar 19 20:25:58 2014	(r348649)
+++ head/mail/thunderbird-i18n/Makefile	Wed Mar 19 20:46:37 2014	(r348650)
@@ -2,8 +2,7 @@
 # $FreeBSD$
 
 PORTNAME=	thunderbird-i18n
-PORTVERSION=	24.3.0
-PORTREVISION=	1
+PORTVERSION=	24.4.0
 CATEGORIES=	mail news net-im
 MASTER_SITES=	MOZILLA/${PORTNAME:S|-i18n||}/releases/${PORTVERSION}/linux-i686/xpi
 PKGNAMEPREFIX=

Modified: head/mail/thunderbird-i18n/distinfo
==============================================================================
--- head/mail/thunderbird-i18n/distinfo	Wed Mar 19 20:25:58 2014	(r348649)
+++ head/mail/thunderbird-i18n/distinfo	Wed Mar 19 20:46:37 2014	(r348650)
@@ -1,110 +1,110 @@
-SHA256 (xpi/thunderbird-i18n-24.3.0/ar.xpi) = eb3acf0cc5c5f88430f572da1fc41ae1d4160854a33023241207b4b17cd7466b
-SIZE (xpi/thunderbird-i18n-24.3.0/ar.xpi) = 457862
-SHA256 (xpi/thunderbird-i18n-24.3.0/ast.xpi) = f08d003ee88e0ae3e50c2c1bc46c37876c6e4016cf17532b72487d3895560103
-SIZE (xpi/thunderbird-i18n-24.3.0/ast.xpi) = 373831
-SHA256 (xpi/thunderbird-i18n-24.3.0/be.xpi) = 7f4b7c6419e846c697814ddfba5a298e07c7b6895b7837d0e6610b88aaa4a6fa
-SIZE (xpi/thunderbird-i18n-24.3.0/be.xpi) = 416882
-SHA256 (xpi/thunderbird-i18n-24.3.0/bg.xpi) = 7acdb8ff7b42b0e17055889ca956c886313a46f009bb4de8e98c839b9631df63
-SIZE (xpi/thunderbird-i18n-24.3.0/bg.xpi) = 485023
-SHA256 (xpi/thunderbird-i18n-24.3.0/bn-BD.xpi) = 88aa6d466baba1be9355ca17677fc6d3764359858f56de45811027ed8cb0eb34
-SIZE (xpi/thunderbird-i18n-24.3.0/bn-BD.xpi) = 537257
-SHA256 (xpi/thunderbird-i18n-24.3.0/br.xpi) = 7a02be30fef4b1a87175601c4ea4343634efae235dbdf125d10a983c503ab819
-SIZE (xpi/thunderbird-i18n-24.3.0/br.xpi) = 427679
-SHA256 (xpi/thunderbird-i18n-24.3.0/ca.xpi) = 10bc88d7c4caffdad364440910144c10ca1f57f1b4677f46510d0240fde2c98e
-SIZE (xpi/thunderbird-i18n-24.3.0/ca.xpi) = 429746
-SHA256 (xpi/thunderbird-i18n-24.3.0/cs.xpi) = d80c6bfb0f1ed8b877f3a83794a34e2661d21d0a801afc3c8388275408c051f1
-SIZE (xpi/thunderbird-i18n-24.3.0/cs.xpi) = 431476
-SHA256 (xpi/thunderbird-i18n-24.3.0/da.xpi) = bf47586c7259bbd31a00569636d1c255e5e0a018082ca8116c57a46725f84739
-SIZE (xpi/thunderbird-i18n-24.3.0/da.xpi) = 409627
-SHA256 (xpi/thunderbird-i18n-24.3.0/de.xpi) = 502d63e2da4d606f391f156ad42852d4e44e2472f7113ba09329330b5b432ce5
-SIZE (xpi/thunderbird-i18n-24.3.0/de.xpi) = 408674
-SHA256 (xpi/thunderbird-i18n-24.3.0/el.xpi) = 2f030edd3dea6d702ef842e85180d7cb636864e6c4431a1432912fa427c21f04
-SIZE (xpi/thunderbird-i18n-24.3.0/el.xpi) = 464552
-SHA256 (xpi/thunderbird-i18n-24.3.0/en-GB.xpi) = 968f5465f9e0a9f3a045eb01e104bad382aab171c28bd6877466df753b0c1e18
-SIZE (xpi/thunderbird-i18n-24.3.0/en-GB.xpi) = 400962
-SHA256 (xpi/thunderbird-i18n-24.3.0/en-US.xpi) = 536cbf66ea568cbf58b152db5aabe227f9dd9be096893a067709919281a2e9bb
-SIZE (xpi/thunderbird-i18n-24.3.0/en-US.xpi) = 402144
-SHA256 (xpi/thunderbird-i18n-24.3.0/es-AR.xpi) = eae8cf494055f0c3c20c876da567b295eebe67e00fad8b5cdea4c625eebfa91b
-SIZE (xpi/thunderbird-i18n-24.3.0/es-AR.xpi) = 425657
-SHA256 (xpi/thunderbird-i18n-24.3.0/es-ES.xpi) = be50f0ae213c14dc981a2b67059e5514b3a360e10396cdf4a74ca629231b0015
-SIZE (xpi/thunderbird-i18n-24.3.0/es-ES.xpi) = 366308
-SHA256 (xpi/thunderbird-i18n-24.3.0/et.xpi) = c2bdf747af30b02ab0750f9d115522f909e51c9bea27013c394499b6b8d19d00
-SIZE (xpi/thunderbird-i18n-24.3.0/et.xpi) = 422893
-SHA256 (xpi/thunderbird-i18n-24.3.0/eu.xpi) = 4ed003933609f7d31f0d801e89e9d7098138a7dbc1066ce54f5ace176a159f0c
-SIZE (xpi/thunderbird-i18n-24.3.0/eu.xpi) = 418497
-SHA256 (xpi/thunderbird-i18n-24.3.0/fi.xpi) = e72e0e96fe583b82583891577709a7192cdd6597db8490057a5c82d748eaa341
-SIZE (xpi/thunderbird-i18n-24.3.0/fi.xpi) = 424264
-SHA256 (xpi/thunderbird-i18n-24.3.0/fr.xpi) = 393f251cd1c39e635d4fddaa41035885ebb88d3016e00b8d3c8f8ed81c1dc07c
-SIZE (xpi/thunderbird-i18n-24.3.0/fr.xpi) = 431288
-SHA256 (xpi/thunderbird-i18n-24.3.0/fy-NL.xpi) = f558ec45c28824ed9e7ac89b64ee8dfce0370227d183af42a62ff6a51858350b
-SIZE (xpi/thunderbird-i18n-24.3.0/fy-NL.xpi) = 426098
-SHA256 (xpi/thunderbird-i18n-24.3.0/ga-IE.xpi) = 6f38cc9fa24503e79e2ddac0c565da172fe2be03a2655cfc95f52e74f5107c70
-SIZE (xpi/thunderbird-i18n-24.3.0/ga-IE.xpi) = 437114
-SHA256 (xpi/thunderbird-i18n-24.3.0/gd.xpi) = 5c3ba8dc982ee893fddb51721ca68fdd44a64fa1cc319094366bacc36d091b67
-SIZE (xpi/thunderbird-i18n-24.3.0/gd.xpi) = 440091
-SHA256 (xpi/thunderbird-i18n-24.3.0/gl.xpi) = 39ca80f526f5cd56c768d9bbfbd32d3e59e94be5c88135d60ec68af57ad3f125
-SIZE (xpi/thunderbird-i18n-24.3.0/gl.xpi) = 427543
-SHA256 (xpi/thunderbird-i18n-24.3.0/he.xpi) = 19e12020696c313474d27152ae17946a8c5855cf8b1b6ad7978db685d2b07cbf
-SIZE (xpi/thunderbird-i18n-24.3.0/he.xpi) = 457065
-SHA256 (xpi/thunderbird-i18n-24.3.0/hr.xpi) = 1e80b7ab936fc9e9ee73a11414e555ab7aadcd54e4676a0cc4d2c5f8bbf1e9d2
-SIZE (xpi/thunderbird-i18n-24.3.0/hr.xpi) = 422387
-SHA256 (xpi/thunderbird-i18n-24.3.0/hu.xpi) = f5abf52ba86925cbebddff25467902fd48d04a8974dccc8f885f1900e0ccd0c3
-SIZE (xpi/thunderbird-i18n-24.3.0/hu.xpi) = 441512
-SHA256 (xpi/thunderbird-i18n-24.3.0/hy-AM.xpi) = 615df82212978f66d1d2ab7ec266abbf5801ac5474e08b0cea9fbfa6d28f946a
-SIZE (xpi/thunderbird-i18n-24.3.0/hy-AM.xpi) = 477922
-SHA256 (xpi/thunderbird-i18n-24.3.0/id.xpi) = 5bf12a7cd0a0ddd13989efee450e50f1f919480035ab56979008823607c8317d
-SIZE (xpi/thunderbird-i18n-24.3.0/id.xpi) = 457498
-SHA256 (xpi/thunderbird-i18n-24.3.0/is.xpi) = 004b4452e02dcafd26905dd206e62772ad772644e0670aa863734b5507ce1573
-SIZE (xpi/thunderbird-i18n-24.3.0/is.xpi) = 425710
-SHA256 (xpi/thunderbird-i18n-24.3.0/it.xpi) = 35db725a07d70e7235d19a114075c5361a7269008b82ff04908ac96616e062e7
-SIZE (xpi/thunderbird-i18n-24.3.0/it.xpi) = 357933
-SHA256 (xpi/thunderbird-i18n-24.3.0/ja.xpi) = 429691064a5bcb49a02f1ab0fd5e0ec883db380ff8cef18992465cc8de279cb8
-SIZE (xpi/thunderbird-i18n-24.3.0/ja.xpi) = 475559
-SHA256 (xpi/thunderbird-i18n-24.3.0/ko.xpi) = fb5d6825982fb4e4fb9f496f451943f0ce14958313c25f4d6550179b6a557ba1
-SIZE (xpi/thunderbird-i18n-24.3.0/ko.xpi) = 428070
-SHA256 (xpi/thunderbird-i18n-24.3.0/lt.xpi) = 07632205a7a9c9cc1f10caa842309ba6baaa917c63bd2ce0b25b99039213a236
-SIZE (xpi/thunderbird-i18n-24.3.0/lt.xpi) = 443260
-SHA256 (xpi/thunderbird-i18n-24.3.0/nb-NO.xpi) = 8467a8d87580521d1fc9f4d7f2caa8564598055542e252329e2d479dabdfbc20
-SIZE (xpi/thunderbird-i18n-24.3.0/nb-NO.xpi) = 418922
-SHA256 (xpi/thunderbird-i18n-24.3.0/nl.xpi) = 7b37b9d8f86a0e6b6072216e6e6087cb60457765363891739ffb02ab43a8ba16
-SIZE (xpi/thunderbird-i18n-24.3.0/nl.xpi) = 418763
-SHA256 (xpi/thunderbird-i18n-24.3.0/nn-NO.xpi) = 838d64ca3d022302dc9c53365773398f2b4e8f1f10f38641aa933db83205193b
-SIZE (xpi/thunderbird-i18n-24.3.0/nn-NO.xpi) = 421134
-SHA256 (xpi/thunderbird-i18n-24.3.0/pa-IN.xpi) = 9dc5c0ac3405b2c89efc01fee8da94ee98f6301e8c8df8001bdaa936f617600a
-SIZE (xpi/thunderbird-i18n-24.3.0/pa-IN.xpi) = 508272
-SHA256 (xpi/thunderbird-i18n-24.3.0/pl.xpi) = ff6599388a7dce54fd317fa598a26f69dcbc3e7ad31f19965fe0639acacc745c
-SIZE (xpi/thunderbird-i18n-24.3.0/pl.xpi) = 401752
-SHA256 (xpi/thunderbird-i18n-24.3.0/pt-BR.xpi) = c937c0cd61cfb44e28fd824acfef2f51da030a7a27582c477882c501f8c2f2b7
-SIZE (xpi/thunderbird-i18n-24.3.0/pt-BR.xpi) = 430909
-SHA256 (xpi/thunderbird-i18n-24.3.0/pt-PT.xpi) = 27baffd426ee9527288cf97b0e10eb26962d18c91fe65ba1463e240cd26da6bc
-SIZE (xpi/thunderbird-i18n-24.3.0/pt-PT.xpi) = 425025
-SHA256 (xpi/thunderbird-i18n-24.3.0/rm.xpi) = f286c6b010015e023ba896cefce600cf3d1aab70ed7e4cbcc4d472f796fdfbf8
-SIZE (xpi/thunderbird-i18n-24.3.0/rm.xpi) = 432384
-SHA256 (xpi/thunderbird-i18n-24.3.0/ro.xpi) = b21fd8065e79c3e2846af5e6905473233474a465f9bcc34dc841cd5d6a023d7c
-SIZE (xpi/thunderbird-i18n-24.3.0/ro.xpi) = 497491
-SHA256 (xpi/thunderbird-i18n-24.3.0/ru.xpi) = eac09f024f522ffb4e51d0da26163025a70d645aa995d7fa4cd0182ea1a58c7b
-SIZE (xpi/thunderbird-i18n-24.3.0/ru.xpi) = 425097
-SHA256 (xpi/thunderbird-i18n-24.3.0/si.xpi) = be7eccb183a6e80c70dca9715ff29f51526582a2e15bc04b2137c8975338829e
-SIZE (xpi/thunderbird-i18n-24.3.0/si.xpi) = 511167
-SHA256 (xpi/thunderbird-i18n-24.3.0/sk.xpi) = 92abe71ccd4e9beb1063de1a2c061f4c1283ce1e0b7ff2864be7eec0282c4974
-SIZE (xpi/thunderbird-i18n-24.3.0/sk.xpi) = 440106
-SHA256 (xpi/thunderbird-i18n-24.3.0/sl.xpi) = 065e77c20255fcc2e5167151d4b1068fcd8bdbdc044815ab43d74aa507b1e3c8
-SIZE (xpi/thunderbird-i18n-24.3.0/sl.xpi) = 421706
-SHA256 (xpi/thunderbird-i18n-24.3.0/sq.xpi) = 0361917b93bae3031034c98273fed74ed9417c031c9856460384c6f49b6b7b29
-SIZE (xpi/thunderbird-i18n-24.3.0/sq.xpi) = 435214
-SHA256 (xpi/thunderbird-i18n-24.3.0/sr.xpi) = 85ba7995a72c8844ba754202505153c320d7da72f8c886fb550471133018fe07
-SIZE (xpi/thunderbird-i18n-24.3.0/sr.xpi) = 518889
-SHA256 (xpi/thunderbird-i18n-24.3.0/sv-SE.xpi) = b9cd64df28b125c15dc41529f636b210045e897281bc1f4bd9377569bccd7418
-SIZE (xpi/thunderbird-i18n-24.3.0/sv-SE.xpi) = 423815
-SHA256 (xpi/thunderbird-i18n-24.3.0/ta-LK.xpi) = b4f7e541ba7fbb0956875ac1b57034a10b644614d114fd69f3ddba3dd3e8fde0
-SIZE (xpi/thunderbird-i18n-24.3.0/ta-LK.xpi) = 534923
-SHA256 (xpi/thunderbird-i18n-24.3.0/tr.xpi) = 957205ea8d0bd69ed5112cf77f6b90464b2fd4893adfc23fe57a77d802c7390c
-SIZE (xpi/thunderbird-i18n-24.3.0/tr.xpi) = 438067
-SHA256 (xpi/thunderbird-i18n-24.3.0/uk.xpi) = 6d71338dea7560fb005623d87b7605f038d832c888124de251644720c1b5b4a4
-SIZE (xpi/thunderbird-i18n-24.3.0/uk.xpi) = 480949
-SHA256 (xpi/thunderbird-i18n-24.3.0/vi.xpi) = ed26d6a732e8458849a210a94949ced8499672f4fc45fee6cbfd870ba4fca50c
-SIZE (xpi/thunderbird-i18n-24.3.0/vi.xpi) = 495558
-SHA256 (xpi/thunderbird-i18n-24.3.0/zh-CN.xpi) = d03a570c077926ef75f6ae32377857420faaf539e7d09ec16c0e69ece685bbff
-SIZE (xpi/thunderbird-i18n-24.3.0/zh-CN.xpi) = 449181
-SHA256 (xpi/thunderbird-i18n-24.3.0/zh-TW.xpi) = e4b439793b79f8d201871553a820c9a423695937cb809775bbbaf8f441e5f30c
-SIZE (xpi/thunderbird-i18n-24.3.0/zh-TW.xpi) = 450001
+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

Modified: head/mail/thunderbird/Makefile
==============================================================================
--- head/mail/thunderbird/Makefile	Wed Mar 19 20:25:58 2014	(r348649)
+++ head/mail/thunderbird/Makefile	Wed Mar 19 20:46:37 2014	(r348650)
@@ -2,8 +2,7 @@
 # $FreeBSD$
 
 PORTNAME=	thunderbird
-DISTVERSION=	24.3.0
-PORTREVISION=	2
+DISTVERSION=	24.4.0
 CATEGORIES=	mail news net-im ipv6
 MASTER_SITES=	MOZILLA/${PORTNAME}/releases/${DISTVERSION}/source
 DISTFILES=	${PORTNAME}-${DISTVERSION}.source${EXTRACT_SUFX}
@@ -12,17 +11,21 @@ EXTRACT_ONLY=	${PORTNAME}-${DISTVERSION}
 MAINTAINER=	gecko@FreeBSD.org
 COMMENT=	Mozilla Thunderbird is standalone mail and news that stands above
 
-BUILD_DEPENDS=	nspr>=4.10:${PORTSDIR}/devel/nspr \
+BUILD_DEPENDS=	nspr>=4.10.2:${PORTSDIR}/devel/nspr \
 		nss>=3.15.4:${PORTSDIR}/security/nss \
 		sqlite3>=3.7.17:${PORTSDIR}/databases/sqlite3 \
 		${PYTHON_PKGNAMEPREFIX}sqlite3>0:${PORTSDIR}/databases/py-sqlite3 \
 		cairo>=1.10.2_1,1:${PORTSDIR}/graphics/cairo \
+		harfbuzz>=0.9.16:${PORTSDIR}/print/harfbuzz \
+		libvorbis>=1.3.4:${PORTSDIR}/audio/libvorbis \
+		opus>=1.1:${PORTSDIR}/audio/opus \
 		v4l_compat>0:${PORTSDIR}/multimedia/v4l_compat \
+		zip:${PORTSDIR}/archivers/zip \
 		unzip:${PORTSDIR}/archivers/unzip
 LIB_DEPENDS=	libv4l2.so:${PORTSDIR}/multimedia/libv4l
 
 EM_VERSION=	1.6
-L_VERSION=	2.6.4
+L_VERSION=	2.6.5
 
 SSP_UNSAFE=	yes
 USE_AUTOTOOLS=	autoconf213:env

Modified: head/mail/thunderbird/distinfo
==============================================================================
--- head/mail/thunderbird/distinfo	Wed Mar 19 20:25:58 2014	(r348649)
+++ head/mail/thunderbird/distinfo	Wed Mar 19 20:46:37 2014	(r348650)
@@ -1,4 +1,4 @@
-SHA256 (thunderbird-24.3.0.source.tar.bz2) = b8cc29ed8e3d1bd9d410b8c6c2c069c38ded11844121f93a6fa1b0d1d753e51d
-SIZE (thunderbird-24.3.0.source.tar.bz2) = 140081720
+SHA256 (thunderbird-24.4.0.source.tar.bz2) = 9aecdc2bf00cbe33629169aca8225a30d2674f4d372e845c2fc38c5d9f2bc7b6
+SIZE (thunderbird-24.4.0.source.tar.bz2) = 140040804
 SHA256 (enigmail-1.6.tar.gz) = 10d5eb7ba364b9b6e6275aae8bba1d0e4321ed7d55a715337d566ccf2a56ea4d
 SIZE (enigmail-1.6.tar.gz) = 1231111

Modified: head/mail/thunderbird/files/patch-bug893397
==============================================================================
--- head/mail/thunderbird/files/patch-bug893397	Wed Mar 19 20:25:58 2014	(r348649)
+++ head/mail/thunderbird/files/patch-bug893397	Wed Mar 19 20:46:37 2014	(r348650)
@@ -2,7 +2,7 @@ diff --git configure.in configure.in
 index 549ad06..2878d9f 100644
 --- mozilla/configure.in
 +++ mozilla/configure.in
-@@ -8491,7 +8491,7 @@ case "$OS_TARGET" in
+@@ -8091,7 +8091,7 @@ case "$OS_TARGET" in
        NECKO_WIFI=1
      fi
      ;;
@@ -15,9 +15,9 @@ diff --git netwerk/wifi/moz.build netwer
 index 07b01de..11706af 100644
 --- mozilla/netwerk/wifi/moz.build
 +++ mozilla/netwerk/wifi/moz.build
-@@ -34,6 +34,10 @@ if CONFIG['OS_ARCH'] == 'Darwin':
-     CMMSRCS += [
-         'osx_corewlan.mm',
+@@ -31,6 +31,10 @@ if CONFIG['OS_ARCH'] == 'Darwin':
+     CPP_SOURCES += [
+         'nsWifiScannerMac.cpp',
      ]
 +elif CONFIG['OS_ARCH'] == 'FreeBSD':
 +    CPP_SOURCES += [
@@ -31,7 +31,7 @@ new file mode 100644
 index 0000000..80d4cb6
 --- /dev/null
 +++ mozilla/netwerk/wifi/nsWifiScannerFreeBSD.cpp
-@@ -0,0 +1,172 @@
+@@ -0,0 +1,167 @@
 +/* 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/. */
@@ -60,43 +60,39 @@ index 0000000..80d4cb6
 +static nsresult
 +FreeBSDGetAccessPointData(nsCOMArray<nsWifiAccessPoint> &accessPoints)
 +{
-+  bool res = false;
-+  char *dupn = NULL;
-+  struct ifaddrs *ifal, *ifa;
-+  unsigned len;
-+
 +  // get list of interfaces
-+  if (getifaddrs(&ifal) < 0)
++  struct ifaddrs *ifal;
++  if (getifaddrs(&ifal) < 0) {
 +    return NS_ERROR_FAILURE;
++  }
 +
 +  accessPoints.Clear();
 +
 +  // loop through the interfaces
++  nsresult rv = NS_ERROR_FAILURE;
++  struct ifaddrs *ifa;
 +  for (ifa = ifal; ifa; ifa = ifa->ifa_next) {
-+    int s;
-+    struct ifreq ifr;
-+    struct ifmediareq ifmr;
-+    struct ieee80211req i802r;
-+    char iscanbuf[32*1024], *vsr;
-+
-+    memset(&ifr, 0, sizeof(ifr));
-+
-+    // list can contain duplicates, so ignore those
-+    if (dupn != NULL && strcmp(dupn, ifa->ifa_name) == 0)
++    // limit to one interface per address
++    if (ifa->ifa_addr->sa_family != AF_LINK) {
 +      continue;
-+    dupn = ifa->ifa_name;
++    }
 +
 +    // store interface name in socket structure
++    struct ifreq ifr;
++    memset(&ifr, 0, sizeof(ifr));
 +    strncpy(ifr.ifr_name, ifa->ifa_name, sizeof(ifr.ifr_name));
 +    ifr.ifr_addr.sa_family = AF_LOCAL;
 +
 +    // open socket to interface
-+    if ((s = socket(ifr.ifr_addr.sa_family, SOCK_DGRAM, 0)) < 0)
++    int s = socket(ifr.ifr_addr.sa_family, SOCK_DGRAM, 0);
++    if (s < 0) {
 +      continue;
++    }
 +
 +    // clear interface media structure
-+    (void) memset(&ifmr, 0, sizeof(ifmr));
-+    (void) strncpy(ifmr.ifm_name, ifa->ifa_name, sizeof(ifmr.ifm_name));
++    struct ifmediareq ifmr;
++    memset(&ifmr, 0, sizeof(ifmr));
++    strncpy(ifmr.ifm_name, ifa->ifa_name, sizeof(ifmr.ifm_name));
 +
 +    // get interface media information
 +    if (ioctl(s, SIOCGIFMEDIA, (caddr_t)&ifmr) < 0) {
@@ -111,8 +107,10 @@ index 0000000..80d4cb6
 +    }
 +
 +    // perform WiFi scan
-+    (void) memset(&i802r, 0, sizeof(i802r));
-+    (void) strncpy(i802r.i_name, ifa->ifa_name, sizeof(i802r.i_name));
++    struct ieee80211req i802r;
++    char iscanbuf[32*1024];
++    memset(&i802r, 0, sizeof(i802r));
++    strncpy(i802r.i_name, ifa->ifa_name, sizeof(i802r.i_name));
 +    i802r.i_type = IEEE80211_IOC_SCAN_RESULTS;
 +    i802r.i_data = iscanbuf;
 +    i802r.i_len = sizeof(iscanbuf);
@@ -125,36 +123,33 @@ index 0000000..80d4cb6
 +    close(s);
 +
 +    // loop through WiFi networks and build geoloc-lookup structure
-+    vsr = (char *) i802r.i_data;
-+    len = i802r.i_len;
++    char *vsr = (char *) i802r.i_data;
++    unsigned len = i802r.i_len;
 +    while (len >= sizeof(struct ieee80211req_scan_result)) {
-+      struct ieee80211req_scan_result *isr;
-+      char *id;
-+      int idlen;
-+      char ssid[IEEE80211_NWID_LEN+1];
-+      nsWifiAccessPoint *ap;
-+
-+      isr = (struct ieee80211req_scan_result *) vsr;
++      struct ieee80211req_scan_result *isr =
++        (struct ieee80211req_scan_result *) vsr;
 +
 +      // determine size of this entry
++      char *id;
++      int idlen;
 +      if (isr->isr_meshid_len) {
 +        id = vsr + isr->isr_ie_off + isr->isr_ssid_len;
 +        idlen = isr->isr_meshid_len;
-+      }
-+      else {
++      } else {
 +        id = vsr + isr->isr_ie_off;
 +        idlen = isr->isr_ssid_len;
 +      }
 +
 +      // copy network data
++      char ssid[IEEE80211_NWID_LEN+1];
 +      strncpy(ssid, id, idlen);
 +      ssid[idlen] = '\0';
-+      ap = new nsWifiAccessPoint();
++      nsWifiAccessPoint *ap = new nsWifiAccessPoint();
 +      ap->setSSID(ssid, strlen(ssid));
 +      ap->setMac(isr->isr_bssid);
 +      ap->setSignal(isr->isr_rssi);
 +      accessPoints.AppendObject(ap);
-+      res = true;
++      rv = NS_OK;
 +
 +      // log the data
 +      LOG(( "FreeBSD access point: "
@@ -172,7 +167,7 @@ index 0000000..80d4cb6
 +
 +  freeifaddrs(ifal);
 +
-+  return res ? NS_OK : NS_ERROR_FAILURE;
++  return rv;
 +}
 +
 +nsresult

Added: head/mail/thunderbird/files/patch-bug961264
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/mail/thunderbird/files/patch-bug961264	Wed Mar 19 20:46:37 2014	(r348650)
@@ -0,0 +1,266 @@
+commit d099acd
+Author: Trevor Saunders <trev.saunders@gmail.com>
+Date:   Fri Jan 17 15:08:00 2014 -0800
+
+    Bug 961264 - Remove obsolete checks for gcc visibility stuff.
+---
+ configure.in        | 115 +++-------------------------------------------------
+ js/src/configure.in | 111 ++------------------------------------------------
+ 2 files changed, 8 insertions(+), 218 deletions(-)
+
+diff --git configure.in configure.in
+index dfb8193..33d71b3 100644
+--- mozilla/configure.in
++++ mozilla/configure.in
+@@ -2507,118 +2507,15 @@ MOZ_CXX11
+ 
+ AC_LANG_C
+ 
+-dnl Check for .hidden assembler directive and visibility attribute.
+-dnl Borrowed from glibc configure.in
++dnl Setup default hidden visibility and wrapped system headers.
+ dnl ===============================================================
+ if test "$GNU_CC"; then
+-  AC_CACHE_CHECK(for visibility(hidden) attribute,
+-                 ac_cv_visibility_hidden,
+-                 [cat > conftest.c <<EOF
+-                  int foo __attribute__ ((visibility ("hidden"))) = 1;
+-EOF
+-                  ac_cv_visibility_hidden=no
+-                  if ${CC-cc} -Werror -S conftest.c -o conftest.s >/dev/null 2>&1; then
+-                    if egrep '\.(hidden|private_extern).*foo' conftest.s >/dev/null; then
+-                      ac_cv_visibility_hidden=yes
+-                    fi
+-                  fi
+-                  rm -f conftest.[cs]
+-                 ])
+-  if test "$ac_cv_visibility_hidden" = "yes"; then
+-    AC_DEFINE(HAVE_VISIBILITY_HIDDEN_ATTRIBUTE)
+-
+-    AC_CACHE_CHECK(for visibility(default) attribute,
+-                   ac_cv_visibility_default,
+-                   [cat > conftest.c <<EOF
+-                    int foo __attribute__ ((visibility ("default"))) = 1;
+-EOF
+-                    ac_cv_visibility_default=no
+-                    if ${CC-cc} -fvisibility=hidden -Werror -S conftest.c -o conftest.s >/dev/null 2>&1; then
+-                      if ! egrep '\.(hidden|private_extern).*foo' conftest.s >/dev/null; then
+-                        ac_cv_visibility_default=yes
+-                      fi
+-                    fi
+-                    rm -f conftest.[cs]
+-                   ])
+-    if test "$ac_cv_visibility_default" = "yes"; then
+-      AC_DEFINE(HAVE_VISIBILITY_ATTRIBUTE)
+-
+-      AC_CACHE_CHECK(for visibility pragma support,
+-                     ac_cv_visibility_pragma,
+-                     [cat > conftest.c <<EOF
+-#pragma GCC visibility push(hidden)
+-                      int foo_hidden = 1;
+-#pragma GCC visibility push(default)
+-                      int foo_default = 1;
+-EOF
+-                      ac_cv_visibility_pragma=no
+-                      if ${CC-cc} -Werror -S conftest.c -o conftest.s >/dev/null 2>&1; then
+-                        if egrep '\.(hidden|private_extern).*foo_hidden' conftest.s >/dev/null; then
+-                          if ! egrep '\.(hidden|private_extern).*foo_default' conftest.s > /dev/null; then
+-                            ac_cv_visibility_pragma=yes
+-                          fi
+-                        fi
+-                      fi
+-                      rm -f conftest.[cs]
+-                    ])
+-      if test "$ac_cv_visibility_pragma" = "yes"; then
+-        AC_CACHE_CHECK(For gcc visibility bug with class-level attributes (GCC bug 26905),
+-                       ac_cv_have_visibility_class_bug,
+-                       [cat > conftest.c <<EOF
+-#pragma GCC visibility push(hidden)
+-struct __attribute__ ((visibility ("default"))) TestStruct {
+-  static void Init();
+-};
+-__attribute__ ((visibility ("default"))) void TestFunc() {
+-  TestStruct::Init();
+-}
+-EOF
+-                       ac_cv_have_visibility_class_bug=no
+-                       if ! ${CXX-g++} ${CXXFLAGS} ${DSO_PIC_CFLAGS} ${DSO_LDOPTS} -S -o conftest.S conftest.c > /dev/null 2>&1 ; then
+-                         ac_cv_have_visibility_class_bug=yes
+-                       else
+-                         if test `egrep -c '@PLT|\\$stub' conftest.S` = 0; then
+-                           ac_cv_have_visibility_class_bug=yes
+-                         fi
+-                       fi
+-                       rm -rf conftest.{c,S}
+-                       ])
+-
+-        AC_CACHE_CHECK(For x86_64 gcc visibility bug with builtins (GCC bug 20297),
+-                       ac_cv_have_visibility_builtin_bug,
+-                       [cat > conftest.c <<EOF
+-#pragma GCC visibility push(hidden)
+-#pragma GCC visibility push(default)
+-#include <string.h>
+-#pragma GCC visibility pop
+-
+-__attribute__ ((visibility ("default"))) void Func() {
+-  char c[[100]];
+-  memset(c, 0, sizeof(c));
+-}
+-EOF
+-                       ac_cv_have_visibility_builtin_bug=no
+-                       if ! ${CC-cc} ${CFLAGS} ${DSO_PIC_CFLAGS} ${DSO_LDOPTS} -O2 -S -o conftest.S conftest.c > /dev/null 2>&1 ; then
+-                         ac_cv_have_visibility_builtin_bug=yes
+-                       else
+-                         if test `grep -c "@PLT" conftest.S` = 0; then
+-                           ac_cv_visibility_builtin_bug=yes
+-                         fi
+-                       fi
+-                       rm -f conftest.{c,S}
+-                       ])
+-        if test "$ac_cv_have_visibility_builtin_bug" = "no" -a \
+-                "$ac_cv_have_visibility_class_bug" = "no"; then
+-          VISIBILITY_FLAGS='-I$(DIST)/system_wrappers -include $(topsrcdir)/config/gcc_hidden.h'
+-          WRAP_SYSTEM_INCLUDES=1
+-          STL_FLAGS='-I$(DIST)/stl_wrappers'
+-          WRAP_STL_INCLUDES=1
+-        else
+-          VISIBILITY_FLAGS='-fvisibility=hidden'
+-        fi # have visibility pragma bug
+-      fi   # have visibility pragma
+-    fi     # have visibility(default) attribute
+-  fi       # have visibility(hidden) attribute
++  AC_DEFINE(HAVE_VISIBILITY_HIDDEN_ATTRIBUTE)
++  AC_DEFINE(HAVE_VISIBILITY_ATTRIBUTE)
++  VISIBILITY_FLAGS='-I$(DIST)/system_wrappers -include $(topsrcdir)/config/gcc_hidden.h'
++  WRAP_SYSTEM_INCLUDES=1
++  STL_FLAGS='-I$(DIST)/stl_wrappers'
++  WRAP_STL_INCLUDES=1
+ fi         # GNU_CC
+ 
+ # visibility hidden flag for Sun Studio on Solaris
+diff --git js/src/configure.in js/src/configure.in
+index bddd46d..d4b522e 100644
+--- mozilla/js/src/configure.in
++++ mozilla/js/src/configure.in
+@@ -2348,116 +2348,13 @@ fi
+ 
+ AC_LANG_C
+ 
+-dnl Check for .hidden assembler directive and visibility attribute.
+-dnl Borrowed from glibc configure.in
++dnl Setup default hidden visibility and wrapped system headers.
+ dnl ===============================================================
+ if test "$GNU_CC"; then
+-  AC_CACHE_CHECK(for visibility(hidden) attribute,
+-                 ac_cv_visibility_hidden,
+-                 [cat > conftest.c <<EOF
+-                  int foo __attribute__ ((visibility ("hidden"))) = 1;
+-EOF
+-                  ac_cv_visibility_hidden=no
+-                  if ${CC-cc} -Werror -S conftest.c -o conftest.s >/dev/null 2>&1; then
+-                    if egrep '\.(hidden|private_extern).*foo' conftest.s >/dev/null; then
+-                      ac_cv_visibility_hidden=yes
+-                    fi
+-                  fi
+-                  rm -f conftest.[cs]
+-                 ])
+-  if test "$ac_cv_visibility_hidden" = "yes"; then
+-    AC_DEFINE(HAVE_VISIBILITY_HIDDEN_ATTRIBUTE)
+-
+-    AC_CACHE_CHECK(for visibility(default) attribute,
+-                   ac_cv_visibility_default,
+-                   [cat > conftest.c <<EOF
+-                    int foo __attribute__ ((visibility ("default"))) = 1;
+-EOF
+-                    ac_cv_visibility_default=no
+-                    if ${CC-cc} -fvisibility=hidden -Werror -S conftest.c -o conftest.s >/dev/null 2>&1; then
+-                      if ! egrep '\.(hidden|private_extern).*foo' conftest.s >/dev/null; then
+-                        ac_cv_visibility_default=yes
+-                      fi
+-                    fi

*** 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"
Comment 7 Beat Gaetzi freebsd_committer 2014-03-24 18:39:42 UTC
State Changed
From-To: open->closed

Committed. Thanks!