[Midnightbsd-cvs] mports [20670] update seamonkey to 2.33.1

laffer1 at midnightbsd.org laffer1 at midnightbsd.org
Fri Nov 6 23:15:51 EST 2015


Revision: 20670
          http://svnweb.midnightbsd.org/mports/?rev=20670
Author:   laffer1
Date:     2015-11-06 23:15:50 -0500 (Fri, 06 Nov 2015)
Log Message:
-----------
update seamonkey to 2.33.1

Modified Paths:
--------------
    trunk/www/seamonkey/Makefile
    trunk/www/seamonkey/Makefile.common
    trunk/www/seamonkey/distinfo
    trunk/www/seamonkey/files/seamonkey.desktop.in

Added Paths:
-----------
    trunk/www/seamonkey/files/extra-patch-bug1125514
    trunk/www/seamonkey/files/patch-bug1021761
    trunk/www/seamonkey/files/patch-bug1026499
    trunk/www/seamonkey/files/patch-bug1041268
    trunk/www/seamonkey/files/patch-bug1103858
    trunk/www/seamonkey/files/patch-bug1112904
    trunk/www/seamonkey/files/patch-bug1122547
    trunk/www/seamonkey/files/patch-bug1125579
    trunk/www/seamonkey/files/patch-bug1125580
    trunk/www/seamonkey/files/patch-bug1128161
    trunk/www/seamonkey/files/patch-bug1130155
    trunk/www/seamonkey/files/patch-bug1143411
    trunk/www/seamonkey/files/patch-bug292127
    trunk/www/seamonkey/files/patch-bug702179
    trunk/www/seamonkey/files/patch-bug779713
    trunk/www/seamonkey/files/patch-bug826985
    trunk/www/seamonkey/files/patch-bug847568
    trunk/www/seamonkey/files/patch-bug899126
    trunk/www/seamonkey/files/patch-bug981348
    trunk/www/seamonkey/files/patch-bug991253
    trunk/www/seamonkey/files/patch-ijg-libjpeg
    trunk/www/seamonkey/files/patch-mozilla-config-baseconfig.mk
    trunk/www/seamonkey/files/patch-mozilla-media-libstagefright-foundation-AString.cpp
    trunk/www/seamonkey/files/patch-mozilla-media-mtransport-third_party-nICEr-src-util-mbslen.c
    trunk/www/seamonkey/files/patch-mozilla-media-webrtc-trunk-src-system_wrappers-source-spreadsortlib-spreadsort.hpp
    trunk/www/seamonkey/files/patch-mozilla-memory-jemalloc-Makefile.in
    trunk/www/seamonkey/files/patch-mozilla-memory-jemalloc-configure.ac
    trunk/www/seamonkey/files/patch-mozilla_toolkit_mozapps_installer_packager_mk
    trunk/www/seamonkey/files/patch-suite-app-nsSuiteApp.cpp
    trunk/www/seamonkey/files/patch-suite-installer-Makefile.in
    trunk/www/seamonkey/files/patch-z-bug517422

Removed Paths:
-------------
    trunk/www/seamonkey/files/patch-security-coreconf-FreeBSD.mk
    trunk/www/seamonkey/files/patch-security::coreconf::MidnightBSD.m
    trunk/www/seamonkey/files/patch-security::coreconf::config.mk
    trunk/www/seamonkey/files/patch-security_manager_ssl_src_nsNSSComponent.cpp
    trunk/www/seamonkey/files/patch-storage_build_Makefile.in
    trunk/www/seamonkey/files/patch-sysnss
    trunk/www/seamonkey/files/patch-uriloader_exthandler_unix_nsGNOMERegistry.cpp
    trunk/www/seamonkey/files/patch-xpcom_reflect_xptcall_public_xptcstubsdecl.inc
    trunk/www/seamonkey/files/patch-xpcom_reflect_xptcall_src_md_unix_Makefile.in
    trunk/www/seamonkey/files/patch-xptcall-alpha
    trunk/www/seamonkey/files/patch-xptcall-amd64
    trunk/www/seamonkey/files/patch-xptcall-ia64
    trunk/www/seamonkey/files/patch-xptcall-sparc64

Property Changed:
----------------
    trunk/www/seamonkey/files/moz_pis_S50cleanhome
    trunk/www/seamonkey/files/seamonkey.desktop.in

Modified: trunk/www/seamonkey/Makefile
===================================================================
--- trunk/www/seamonkey/Makefile	2015-11-07 03:45:07 UTC (rev 20669)
+++ trunk/www/seamonkey/Makefile	2015-11-07 04:15:50 UTC (rev 20670)
@@ -1,134 +1,202 @@
 # $MidnightBSD$
 
 PORTNAME=	seamonkey
-DISTVERSION=	1.1.19
-PORTREVISION=	2
-CATEGORIES?=	www ipv6
-MASTER_SITES=	${MASTER_SITE_MOZILLA_EXTENDED}
-MASTER_SITE_SUBDIR=	seamonkey/releases/${DISTVERSION}
-DISTNAME=	${PORTNAME}-${DISTVERSION}.source
+DISTVERSION=	2.33.1
+PORTREVISION=	0
+CATEGORIES?=	www mail news editors irc ipv6
+MASTER_SITES=	MOZILLA/${PORTNAME}/releases/${DISTVERSION}/source \
+		MOZILLA/${PORTNAME}/candidates/${DISTVERSION}-candidates/build1/source
+DISTFILES=	${PORTNAME}-${DISTVERSION}.source${EXTRACT_SUFX}
+EXTRACT_ONLY=	${PORTNAME}-${DISTVERSION}.source${EXTRACT_SUFX}
 
 MAINTAINER=	ports at MidnightBSD.org
 COMMENT=	The open source, standards compliant web browser
 
-LICENSE=	mpl gpl2
-LICENSE_COMB=	dual
+LICENSE=	mpl
 
-USES=		gmake tar:bzip2 desktop-file-utils
-WANT_GNOME=	yes
-WANT_PERL=	yes
-HAS_CONFIGURE=	yes
-ALL_TARGET=	default
+BUILD_DEPENDS=	nspr>=4.10.6:${PORTSDIR}/devel/nspr \
+		nss>=3.17.4:${PORTSDIR}/security/nss \
+		libevent2>=2.0.21_2:${PORTSDIR}/devel/libevent2 \
+		soundtouch>=1.8.0:${PORTSDIR}/audio/soundtouch \
+		harfbuzz>=0.9.34:${PORTSDIR}/print/harfbuzz \
+		graphite2>=1.2.4:${PORTSDIR}/graphics/graphite2 \
+		libvorbis>=1.3.5:${PORTSDIR}/audio/libvorbis \
+		opus>=1.1:${PORTSDIR}/audio/opus \
+		libvpx>=1.3.0:${PORTSDIR}/multimedia/libvpx \
+		sqlite3>=3.8.7.4:${PORTSDIR}/databases/sqlite3 \
+		${PYTHON_PKGNAMEPREFIX}sqlite3>0:${PORTSDIR}/databases/py-sqlite3 \
+		v4l_compat>0:${PORTSDIR}/multimedia/v4l_compat \
+		autoconf-2.13:${PORTSDIR}/devel/autoconf213 \
+		zip:${PORTSDIR}/archivers/zip \
+		unzip:${PORTSDIR}/archivers/unzip
+
+LIB_DEPENDS=	libv4l2.so:${PORTSDIR}/multimedia/libv4l
+
+EM_VERSION=	1.8.2
+L_VERSION=	3.8
+
+SSP_UNSAFE=	yes
+USE_GECKO=	gecko
+USE_QT5=	# empty
+QT_NONSTANDARD=	yes
+USE_GL=		gl
+USES=		dos2unix tar:bzip2
+DOS2UNIX_FILES=	mozilla/media/webrtc/trunk/webrtc/system_wrappers/source/spreadsortlib/spreadsort.hpp
 MOZ_PIS_SCRIPTS=	moz_pis_S50cleanhome
-MAKE_ENV=	LD_LIBRARY_PATH=${WRKSRC}/dist/bin
-CONFIGURE_ENV=	CPPFLAGS="-I${LOCALBASE}/include/cairo" CXXFLAGS="-lc" \
-		ac_cv_func__Unwind_Backtrace=no \
-		LOCALBASE=${LOCALBASE}
 
-FAKE_OPTS=	trueprefix
-
 MOZ_EXTENSIONS=	default
-MOZ_OPTIONS+=	--enable-svg \
-		--enable-application=suite	\
-		--enable-svg-renderer=cairo	\
-		--enable-system-cairo		\
-		--enable-canvas 		\
-		--with-system-nss
-MOZ_MK_OPTIONS+=	MOZ_CO_PROJECT=suite
+MOZ_OPTIONS+=	--program-transform-name='s/seamonkey/${MOZILLA}/' \
+		--enable-application=suite
 
-OPTIONS=MAILNEWS "Enable Mail and News modules" on \
-	COMPOSER "Enable the HTML Composer module" on \
-	LDAP "Enable LDAP for Mailnews (broken)" off \
-	CHATZILLA "Enable the Chatzilla IRC module" on \
-	JAVASCRIPT_DEBUGGER "Enable DTD and JavaScript debuggers" off \
-	SMB "Enable smb:// URI support using gnomevfs" off
+MAKE_ENV+=    __FreeBSD_=9 __FREEBSD_version=90100
 
+USE_MOZILLA=	# empty
+MOZ_PKGCONFIG_FILES=
+
+NOT_FOR_ARCHS=	ia64
+
+OPTIONS_DEFINE=	CHATZILLA COMPOSER ENIGMAIL LDAP LIGHTNING MAILNEWS
+OPTIONS_DEFAULT=CANBERRA CHATZILLA COMPOSER ENIGMAIL LDAP LIGHTNING MAILNEWS
+
+CHATZILLA_DESC?=Chatzilla IRC module
+COMPOSER_DESC?=	HTML Composer module
+LDAP_DESC?=	LDAP support for Mailnews
+MAILNEWS_DESC?=	Mail and News modules
+
+.include "${.CURDIR}/../../www/browser/Makefile.options"
+.include <bsd.mport.options.mk>
+
+.if ${PORT_OPTIONS:MCHATZILLA}
+MOZ_EXTENSIONS:=	${MOZ_EXTENSIONS},irc
+.endif
+
 .include <bsd.port.pre.mk>
 
-.if (${ARCH} == "amd64")
-CONFIGURE_ARGS+= x86_64-midnightbsd-freebsd
-.else
-CONFIGURE_ARGS+= ${ARCH}-midnightbsd-freebsd
+WRKSRC=		${WRKDIR}/comm-release
+MOZSRC:=	${WRKSRC}/mozilla
+
+XPI_LIBDIR=	${PREFIX}/lib/xpi
+
+.if ${PORT_OPTIONS:MALSA}
+RUN_DEPENDS+=	alsa-lib>=1.0.27.2_1:${PORTSDIR}/audio/alsa-lib
 .endif
 
-GECKO_PTHREAD_LIBS!=${CC} -dumpspecs | ${GREP} -m 1 pthread | ${SED} -e 's|^.*%{\!pg: %{pthread:|| ; s|}.*$$||' || ${TRUE}
+.if ! ${PORT_OPTIONS:MBUNDLED_CAIRO}
+BUILD_DEPENDS+=	cairo>=1.12.16_1,2:${PORTSDIR}/graphics/cairo
+.endif
 
-.if exists(${LOCALBASE}/include/cairo/cairo-glitz.h)
-# Glitz support can only be enabled if cairo is built with glitz support
-MOZ_OPTIONS+=	--enable-glitz
-LIB_DEPENDS+=	libglitz.so:${PORTSDIR}/graphics/glitz
+.if ${PORT_OPTIONS:MGSTREAMER}
+RUN_DEPENDS+=	gstreamer1-libav>=1.2.4_1:${PORTSDIR}/multimedia/gstreamer1-libav
 .endif
 
-.if defined(WITHOUT_MAILNEWS)
+.if ! ${PORT_OPTIONS:MMAILNEWS}
 MOZ_OPTIONS+=	--disable-ldap --disable-mailnews
 .else
 # mail and news desired, but not LDAP
-.if defined(WITHOUT_LDAP)
+.if ! ${PORT_OPTIONS:MLDAP}
 MOZ_OPTIONS+=	--disable-ldap --enable-mailnews
 .else
 MOZ_OPTIONS+=	--enable-ldap --enable-mailnews
 .endif
+.if ${PORT_OPTIONS:MENIGMAIL}
+MASTER_SITES+=	https://www.enigmail.net/download/source/:enigmail
+DISTFILES+=	${EM_DISTFILE}:enigmail
+RUN_DEPENDS+=	gpg:${PORTSDIR}/security/gnupg
+EM_DISTNAME=	enigmail-${EM_VERSION}
+EM_DISTFILE=	${EM_DISTNAME}.tar.gz
+EM_XPI_FILE=	${WRKSRC}/mailnews/extensions/enigmail/build/${EM_DISTNAME}-${OPSYS:tl}-${ARCH:S/amd64/x86_64/:S/i386/x86/:S/powerpc/ppc/}-gcc3.xpi
+EM_ORIG_ID=	{847b3a00-7ab1-11d4-8f02-006008948af5}
+EM_ID=		${PORTNAME}@mozilla-enigmail.org
+EM_ID_RFILES=	${XPI_LIBDIR}/${EM_ID}/install.rdf \
+		${XPI_LIBDIR}/${EM_ID}/components/enigmail.js \
+		${XPI_LIBDIR}/${EM_ID}/modules/enigmailCommon.jsm
 .endif
-.if !defined(WITHOUT_CHATZILLA)
-MOZ_EXTENSIONS:=	${MOZ_EXTENSIONS},irc
 .endif
-.if defined(WITH_JAVASCRIPT_DEBUGGER)
-MOZ_OPTIONS+=		--enable-jsd \
-			--enable-dtd-debug
+
+.if ! ${PORT_OPTIONS:MCOMPOSER}
+MOZ_OPTIONS+=	--disable-composer
+.endif
+
+.if ${PORT_OPTIONS:MLIGHTNING}
+MOZ_OPTIONS+=	--enable-calendar
+MOZ_MK_OPTIONS+=	MOZ_CO_PROJECT=calendar
+LIGHTNING_DIR=	share/lightning
+XPI_FILE=	${MOZ_OBJDIR}/dist/xpi-stage/lightning-${L_VERSION}.en-US.${OPSYS:tl}${OSREL}-${ARCH:S/amd64/x86_64/}.xpi
+XPI_ORIG_ID=	{e2fda1a4-762b-4020-b5ad-a41df1933103}
+XPI_ID=		lightning at seamonkey.mozilla.org
 .else
-MOZ_OPTIONS+=		--disable-jsd \
-			--disable-dtd-debug
+MOZ_OPTIONS+=	--disable-calendar
 .endif
 
-.if defined(WITHOUT_COMPOSER)
-MOZ_OPTIONS+=	--disable-composer
+.if ${PORT_OPTIONS:MMAILNEWS} && ${PORT_OPTIONS:MENIGMAIL}
+post-extract:
+	@${TAR} -xf ${_DISTDIR}/${EM_DISTFILE} \
+		-C ${WRKSRC}/mailnews/extensions
 .endif
 
+pre-patch: dos2unix
+
 post-patch:
-	@${REINPLACE_CMD} -e 's|%%LOCALBASE%%|${LOCALBASE}|' \
-		${WRKSRC}/security/manager/ssl/src/Makefile.in
-	${REINPLACE_CMD} -e 's|%%PTHREAD_LIBS%%|${PTHREAD_LIBS:C/-pthread/${GECKO_PTHREAD_LIBS}/}|' \
-		${WRKSRC}/storage/build/Makefile.in
+	@${REINPLACE_CMD} -e '/MOZPNG/s/=[0-9]*/=10511/' \
+		${MOZSRC}/configure.in ${WRKSRC}/configure.in
+	@${REINPLACE_CMD} -e 's|%%LOCALBASE%%|${LOCALBASE}|g' \
+		${WRKSRC}/suite/app/nsSuiteApp.cpp
 	@${REINPLACE_CMD} -e '/accessibility.typeaheadfind.enablesound/s/true/false/' \
-		${WRKSRC}/modules/libpref/src/init/all.js
-	@${REINPLACE_CMD} -e 's|<iconv.h>|\"${LOCALBASE}/include/iconv.h\"|g' \
-		${WRKSRC}/configure \
-		${WRKSRC}/intl/uconv/native/nsNativeUConvService.cpp \
-		${WRKSRC}/xpcom/io/nsNativeCharsetUtils.cpp
-	@${SED} -e 's|%%PREFIX%%|${PREFIX}|g' \
+		${WRKSRC}/mozilla/modules/libpref/init/all.js
+	@${SED} -e 's|%%MOZILLA%%|${MOZILLA}|g' \
 		< ${FILESDIR}/seamonkey.desktop.in > \
-		${WRKDIR}/seamonkey.desktop
-	${LN} -s ${WRKSRC}/security/coreconf/MidnightBSD.mk ${WRKSRC}/security/coreconf/MidnightBSD`${UNAME} -r`.mk
-	${LN} -s ${WRKSRC}/security/coreconf/MidnightBSD.mk ${WRKSRC}/security/coreconf/MidnightBSD${OSREL}.mk
+		${WRKDIR}/${MOZILLA}.desktop
+.if ${PORT_OPTIONS:MMAILNEWS} && ${PORT_OPTIONS:MENIGMAIL}
+	@${REINPLACE_CMD} -e 's,/usr/bin/perl,${PERL},' \
+		${WRKSRC}/mailnews/extensions/enigmail/util/fixlang.pl \
+		${WRKSRC}/mailnews/extensions/enigmail/util/make-lang-xpi.pl
+	@${REINPLACE_CMD} -e '/^xpi/s/$$/ all/' \
+		-e '/^all/s/ xpi//' \
+		-e '/^XPI_MODULE_VERS/s/= .*/= ${EM_VERSION}/' \
+		${WRKSRC}/mailnews/extensions/enigmail/Makefile
+	@${REINPLACE_CMD} -e '/em:version/s,>[^<]*<,>${EM_VERSION}<,' \
+		-e '/em:maxVersion/s/pre//' \
+		${WRKSRC}/mailnews/extensions/enigmail/package/install.rdf
+.endif
 
+pre-configure:
+	(cd ${WRKSRC} && ${LOCALBASE}/bin/autoconf-2.13)
+	(cd ${MOZSRC} && ${LOCALBASE}/bin/autoconf-2.13)
+	(cd ${MOZSRC}/js/src/ && ${LOCALBASE}/bin/autoconf-2.13)
+
+.if ${PORT_OPTIONS:MMAILNEWS} && ${PORT_OPTIONS:MENIGMAIL}
 post-configure:
-	${REINPLACE_CMD} -e 's|@MAJOR@||g' \
-		${WRKSRC}/config/autoconf.mk
+	cd ${WRKSRC}/mailnews/extensions/enigmail/ && \
+		${SETENV} ${CONFIGURE_ENV} ${MAKE_ENV} ./configure --build=${ARCH}-portbld-freebsd9.1 --host=${ARCH}-portbld-freebsd9.1
+.endif
 
-pre-install:
-	if [ ! -L ${PREFIX}/lib/browser_plugins/libjavaplugin_oji.so ]; then \
-		for jpi in ${JPI_LIST}; do \
-			if [ -f $${jpi} ]; then \
-				${ECHO_CMD} lib/browser_plugins/libjavaplugin_oji.so >> ${PLIST} ; \
-				break; \
-			fi; \
-		done; \
-	fi
-	${ECHO_CMD} share/applications/seamonkey.desktop >> ${PLIST}
-	${ECHO_CMD} "@unexec ${RMDIR} %D/share/applications 2>/dev/null || ${TRUE}" >> ${PLIST}
+.if ${PORT_OPTIONS:MMAILNEWS} && ${PORT_OPTIONS:MENIGMAIL}
+post-build:
+	${DO_MAKE_BUILD:S/${MAKEFILE}/Makefile/} all xpi \
+		-C ${WRKSRC}/mailnews/extensions/enigmail
+.endif
 
-do-install:
-	if [ ! -L ${PREFIX}/lib/browser_plugins/libjavaplugin_oji.so ]; then \
-		for jpi in ${JPI_LIST}; do \
-			if [ -f $${jpi} ]; then \
-		    		${LN} -sf $${jpi} \
-			    		${PREFIX}/lib/browser_plugins/libjavaplugin_oji.so ; \
-				break; \
-			fi; \
-		done; \
-	fi
-	${MKDIR} ${PREFIX}/share/applications
-	${INSTALL_DATA} ${WRKDIR}/seamonkey.desktop ${PREFIX}/share/applications
+post-install:
+	${INSTALL_DATA} ${WRKDIR}/${MOZILLA}.desktop ${STAGEDIR}${PREFIX}/share/applications/
+	${LN} -sf ${PREFIX}/lib/${MOZILLA}/chrome/icons/default/default48.png \
+		${STAGEDIR}${PREFIX}/share/pixmaps/${MOZILLA}.png
+.if ${PORT_OPTIONS:MLIGHTNING}
+	@${MKDIR} ${STAGEDIR}${XPI_LIBDIR}/${XPI_ID} ${STAGEDIR}${XPI_LIBDIR}/symlinks/seamonkey
+	@(cd ${STAGEDIR}${XPI_LIBDIR}/${XPI_ID}; ${TAR} -xf ${XPI_FILE})
+	@${REINPLACE_CMD} -i "" "s/${XPI_ORIG_ID}/${XPI_ID}/" ${STAGEDIR}${XPI_LIBDIR}/${XPI_ID}/install.rdf
+	@${CHMOD} -R a+rX,go-w ${STAGEDIR}${XPI_LIBDIR}/${XPI_ID}
+	@${LN} -sf ${XPI_LIBDIR}/${XPI_ID} ${STAGEDIR}${XPI_LIBDIR}/symlinks/seamonkey 2>/dev/null || true
+	@${ECHO_CMD} '@exec ${LN} -sf %D/lib/xpi/${XPI_ID} ${LOCALBASE}/lib/seamonkey/extensions 2>/dev/null || true' >> ${TMPPLIST}
+	@${ECHO_CMD} '@unexec ${RM} -f ${LOCALBASE}/lib/seamonkey/extensions/${XPI_ID}' >> ${TMPPLIST}
+.endif
+.if ${PORT_OPTIONS:MMAILNEWS} && ${PORT_OPTIONS:MENIGMAIL}
+	@${MKDIR} ${STAGEDIR}${XPI_LIBDIR}/${EM_ID} ${STAGEDIR}${XPI_LIBDIR}/symlinks/${PORTNAME}
+	@(cd ${STAGEDIR}${XPI_LIBDIR}/${EM_ID}; ${TAR} -xf ${EM_XPI_FILE})
+	@${REINPLACE_CMD} -i "" "s/${EM_ORIG_ID}/${EM_ID}/" ${EM_ID_RFILES:S/^/${STAGEDIR}/g}
+	@${CHMOD} -R a+rX,go-w ${STAGEDIR}${XPI_LIBDIR}/${EM_ID}
+	@${LN} -sf ${XPI_LIBDIR}/${EM_ID} ${STAGEDIR}${XPI_LIBDIR}/symlinks/${PORTNAME} 2>/dev/null || true
+	@${ECHO_CMD} '@exec ${LN} -sf %D/lib/xpi/${EM_ID} ${LOCALBASE}/lib/${PORTNAME}/extensions 2>/dev/null || true' >> ${TMPPLIST}
+	@${ECHO_CMD} '@unexec ${RM} -f ${LOCALBASE}/lib/${PORTNAME}/extensions/${EM_ID}' >> ${TMPPLIST}
+.endif
 
-.include "Makefile.common"
 .include <bsd.port.post.mk>

Modified: trunk/www/seamonkey/Makefile.common
===================================================================
--- trunk/www/seamonkey/Makefile.common	2015-11-07 03:45:07 UTC (rev 20669)
+++ trunk/www/seamonkey/Makefile.common	2015-11-07 04:15:50 UTC (rev 20670)
@@ -64,7 +64,7 @@
 MOZILLA_VER?=	${PORTVERSION}
 MOZILLA_BIN?=	${PORTNAME}-bin
 MOZ_RPATH?=	${MOZILLA}
-USE_GNOME+=	gtk20 libidl desktopfileutils
+USE_GNOME+=	gtk20 libidl
 USE_ICONV=	yes
 USE_PERL5=	yes
 USE_PERL5_BUILD=yes
@@ -118,7 +118,7 @@
 CPPFLAGS+=		-I${LOCALBASE}/include/nss -I${LOCALBASE}/include/nss/nss
 CFLAGS+=		${PTHREAD_CFLAGS}
 LDFLAGS+=		-L${LOCALBASE}/lib/nss -Wl,-rpath,${PREFIX}/lib/${MOZ_RPATH}
-LIBS+=			${PTHREAD_LIBS} -L${LOCALBASE}/lib -liconv
+LIBS+=			-pthread -L${LOCALBASE}/lib -liconv
 
 _USE_GECKO_OPTIONS_ALL=	java debug logging optimized_cflags
 
@@ -212,7 +212,7 @@
 
 .if defined(WITH_JAVA) && defined(_WITH_JAVA)
 USE_JAVA=	yes
-JAVA_VERSION+=	1.4+
+JAVA_VERSION+=	1.6+
 JAVA_OS+=	native
 CONFIGURE_ENV+=	JAVA_HOME="${JAVA_HOME}"
 MOZ_OPTIONS+=	--enable-javaxpcom

Modified: trunk/www/seamonkey/distinfo
===================================================================
--- trunk/www/seamonkey/distinfo	2015-11-07 03:45:07 UTC (rev 20669)
+++ trunk/www/seamonkey/distinfo	2015-11-07 04:15:50 UTC (rev 20670)
@@ -1,4 +1,4 @@
-MD5 (seamonkey-1.1.19.source.tar.bz2) = cd1680aab7b8732551e6ace97d0f7eb8
-SHA256 (seamonkey-1.1.19.source.tar.bz2) = 665e0998e7af516826b12d943206de9d9ed6d341503660b72251821fccf1932e
-RMD160 (seamonkey-1.1.19.source.tar.bz2) = 56a442825bd5438738e6faf0c5e0dd0acf0f723b
-SIZE (seamonkey-1.1.19.source.tar.bz2) = 36272561
+SHA256 (seamonkey-2.33.1.source.tar.bz2) = b29779cfd4b334ed21a8265ec13327aa7f35ef2895c38a971e41f3e63c85af08
+SIZE (seamonkey-2.33.1.source.tar.bz2) = 203015246
+SHA256 (enigmail-1.8.2.tar.gz) = 1d2700799bc52aaa8e8c9f7a0f5111281ff9fbdffc093cdff070657d574eb2a6
+SIZE (enigmail-1.8.2.tar.gz) = 1604159

Added: trunk/www/seamonkey/files/extra-patch-bug1125514
===================================================================
--- trunk/www/seamonkey/files/extra-patch-bug1125514	                        (rev 0)
+++ trunk/www/seamonkey/files/extra-patch-bug1125514	2015-11-07 04:15:50 UTC (rev 20670)
@@ -0,0 +1,39 @@
+changeset:   258513:ffbd5f5f46f1
+user:        Guilherme Goncalves <guilherme.p.gonc at gmail.com>
+date:        Thu Aug 20 10:05:29 2015 +0900
+summary:     Bug 1125514 - Use jemalloc's metadata statistics to compute bookkeeping. r=glandium
+
+--- mozilla/memory/build/mozjemalloc_compat.c~
++++ mozilla/memory/build/mozjemalloc_compat.c
+@@ -66,6 +66,7 @@ jemalloc_stats_impl(jemalloc_stats_t *st
+ {
+   unsigned narenas;
+   size_t active, allocated, mapped, page, pdirty;
++  size_t meta, ameta;
+   size_t lg_chunk;
+ 
+   // Refresh jemalloc's stats by updating its epoch, see ctl_refresh in
+@@ -79,20 +80,19 @@ jemalloc_stats_impl(jemalloc_stats_t *st
+   CTL_GET("stats.active", active);
+   CTL_GET("stats.allocated", allocated);
+   CTL_GET("stats.mapped", mapped);
++  CTL_GET("stats.metadata", meta);
+   CTL_GET("opt.lg_chunk", lg_chunk);
+ 
+   /* get the summation for all arenas, i == narenas */
+   CTL_I_GET("stats.arenas.0.pdirty", pdirty, narenas);
++  CTL_I_GET("stats.arenas.0.metadata.allocated", ameta, narenas);
+ 
+   stats->chunksize = 1 << lg_chunk;
+   stats->mapped = mapped;
+   stats->allocated = allocated;
+   stats->waste = active - allocated;
+   stats->page_cache = pdirty * page;
+-
+-  // We could get this value out of base.c::base_pages, but that really should
+-  // be an upstream change, so don't worry about it for now.
+-  stats->bookkeeping = 0;
++  stats->bookkeeping = meta - ameta;
+   stats->bin_unused = 0;
+ }
+ 


Property changes on: trunk/www/seamonkey/files/extra-patch-bug1125514
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
Index: trunk/www/seamonkey/files/moz_pis_S50cleanhome
===================================================================
--- trunk/www/seamonkey/files/moz_pis_S50cleanhome	2015-11-07 03:45:07 UTC (rev 20669)
+++ trunk/www/seamonkey/files/moz_pis_S50cleanhome	2015-11-07 04:15:50 UTC (rev 20670)

Property changes on: trunk/www/seamonkey/files/moz_pis_S50cleanhome
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1
\ No newline at end of property
Added: trunk/www/seamonkey/files/patch-bug1021761
===================================================================
--- trunk/www/seamonkey/files/patch-bug1021761	                        (rev 0)
+++ trunk/www/seamonkey/files/patch-bug1021761	2015-11-07 04:15:50 UTC (rev 20670)
@@ -0,0 +1,1102 @@
+diff --git configure.in configure.in
+index 48e60c0..ec08417 100644
+--- mozilla/configure.in
++++ mozilla/configure.in
+@@ -5591,6 +5591,67 @@ fi
+ AC_SUBST(MOZ_WEBM_ENCODER)
+ 
+ dnl ==================================
++dnl = Check OSS availability
++dnl ==================================
++
++dnl If using Linux, Solaris or BSDs, ensure that OSS is available
++case "$OS_TARGET" in
++Linux|SunOS|DragonFly|FreeBSD|NetBSD|GNU/kFreeBSD)
++    MOZ_OSS=1
++    ;;
++esac
++
++MOZ_ARG_WITH_STRING(oss,
++[  --with-oss[=PFX]        Enable OpenSoundSystem support [installed at prefix PFX]],
++   OSSPREFIX=$withval)
++
++if test -n "$OSSPREFIX"; then
++    if test "$OSSPREFIX" != "no"; then
++        MOZ_OSS=1
++    else
++        MOZ_OSS=
++    fi
++fi
++
++_SAVE_CFLAGS=$CFLAGS
++_SAVE_LIBS=$LIBS
++if test -n "$MOZ_OSS"; then
++    dnl Prefer 4Front implementation
++    AC_MSG_CHECKING([MOZ_OSS_CFLAGS])
++    if test "$OSSPREFIX" != "yes"; then
++        oss_conf=${OSSPREFIX%/usr}/etc/oss.conf
++        if test -f "$oss_conf"; then
++            . "$oss_conf"
++        else
++            OSSLIBDIR=$OSSPREFIX/lib/oss
++        fi
++        if test -d "$OSSLIBDIR"; then
++            MOZ_OSS_CFLAGS="$MOZ_OSS_CFLAGS -I$OSSLIBDIR/include"
++        fi
++    fi
++    AC_MSG_RESULT([$MOZ_OSS_CFLAGS])
++
++    CFLAGS="$CFLAGS $MOZ_OSS_CFLAGS"
++    MOZ_CHECK_HEADERS(sys/soundcard.h soundcard.h)
++
++    if test "$ac_cv_header_sys_soundcard_h" != "yes" -a \
++            "$ac_cv_header_soundcard_h" != "yes"; then
++        AC_MSG_ERROR([Need OSS for Ogg, Wave or WebM decoding on $OS_TARGET.  Disable with --disable-ogg --disable-wave --disable-webm.])
++    fi
++
++    dnl Assume NetBSD implementation over SunAudio
++    AC_CHECK_LIB(ossaudio, _oss_ioctl,
++        [AC_DEFINE_UNQUOTED(CUBEB_OSS_DEFAULT_OUTPUT, "/dev/sound")
++         MOZ_OSS_LIBS="$MOZ_OSS_LIBS -lossaudio"])
++fi
++CFLAGS=$_SAVE_CFLAGS
++LIBS=$_SAVE_LIBS
++
++AC_SUBST(MOZ_OSS)
++AC_SUBST_LIST(MOZ_OSS_CFLAGS)
++AC_SUBST_LIST(MOZ_OSS_LIBS)
++
++dnl ==================================
+ dnl = Check alsa availability on Linux
+ dnl ==================================
+ 
+diff --git media/libcubeb/AUTHORS media/libcubeb/AUTHORS
+index b441e8a..950d9e5 100644
+--- mozilla/media/libcubeb/AUTHORS
++++ mozilla/media/libcubeb/AUTHORS
+@@ -4,3 +4,4 @@ Michael Wu <mwu at mozilla.com>
+ Paul Adenot <paul at paul.cx>
+ David Richards <drichards at mozilla.com>
+ Sebastien Alaiwan <sebastien.alaiwan at gmail.com>
++Evgeniy Vodolazskiy <waterlaz at gmail.com>
+diff --git media/libcubeb/src/cubeb.c media/libcubeb/src/cubeb.c
+index 9c3adcc..45d765b 100644
+--- mozilla/media/libcubeb/src/cubeb.c
++++ mozilla/media/libcubeb/src/cubeb.c
+@@ -54,6 +54,9 @@ int opensl_init(cubeb ** context, char const * context_name);
+ #if defined(USE_AUDIOTRACK)
+ int audiotrack_init(cubeb ** context, char const * context_name);
+ #endif
++#if defined(USE_OSS)
++int oss_init(cubeb ** context, char const * context_name);
++#endif
+ 
+ int
+ validate_stream_params(cubeb_stream_params stream_params)
+@@ -120,6 +123,9 @@ cubeb_init(cubeb ** context, char const * context_name)
+ #if defined(USE_AUDIOTRACK)
+     audiotrack_init,
+ #endif
++#if defined(USE_OSS)
++    oss_init,
++#endif
+   };
+   int i;
+ 
+diff --git media/libcubeb/src/cubeb_alsa.c media/libcubeb/src/cubeb_alsa.c
+index a962553..1f780f4 100644
+--- mozilla/media/libcubeb/src/cubeb_alsa.c
++++ mozilla/media/libcubeb/src/cubeb_alsa.c
+@@ -11,6 +11,7 @@
+ #include <sys/time.h>
+ #include <assert.h>
+ #include <limits.h>
++#include <dlfcn.h>
+ #include <poll.h>
+ #include <unistd.h>
+ #include <alsa/asoundlib.h>
+@@ -24,6 +25,50 @@
+ 
+ #define ALSA_PA_PLUGIN "ALSA <-> PulseAudio PCM I/O Plugin"
+ 
++#ifdef DISABLE_LIBASOUND_DLOPEN
++#define WRAP(x) x
++#else
++#define WRAP(x) cubeb_##x
++#define MAKE_TYPEDEF(x) static typeof(x) * cubeb_##x
++MAKE_TYPEDEF(snd_config);
++MAKE_TYPEDEF(snd_config_add);
++MAKE_TYPEDEF(snd_config_copy);
++MAKE_TYPEDEF(snd_config_delete);
++MAKE_TYPEDEF(snd_config_get_id);
++MAKE_TYPEDEF(snd_config_get_string);
++MAKE_TYPEDEF(snd_config_imake_integer);
++MAKE_TYPEDEF(snd_config_search);
++MAKE_TYPEDEF(snd_config_search_definition);
++MAKE_TYPEDEF(snd_lib_error_set_handler);
++MAKE_TYPEDEF(snd_pcm_avail_update);
++MAKE_TYPEDEF(snd_pcm_close);
++MAKE_TYPEDEF(snd_pcm_delay);
++MAKE_TYPEDEF(snd_pcm_drain);
++MAKE_TYPEDEF(snd_pcm_frames_to_bytes);
++MAKE_TYPEDEF(snd_pcm_get_params);
++/* snd_pcm_hw_params_alloca is actually a macro */
++/* MAKE_TYPEDEF(snd_pcm_hw_params_alloca); */
++MAKE_TYPEDEF(snd_pcm_hw_params_sizeof);
++#define snd_pcm_hw_params_sizeof cubeb_snd_pcm_hw_params_sizeof
++MAKE_TYPEDEF(snd_pcm_hw_params_any);
++MAKE_TYPEDEF(snd_pcm_hw_params_get_channels_max);
++MAKE_TYPEDEF(snd_pcm_hw_params_get_rate);
++MAKE_TYPEDEF(snd_pcm_hw_params_set_rate_near);
++MAKE_TYPEDEF(snd_pcm_nonblock);
++MAKE_TYPEDEF(snd_pcm_open);
++MAKE_TYPEDEF(snd_pcm_open_lconf);
++MAKE_TYPEDEF(snd_pcm_pause);
++MAKE_TYPEDEF(snd_pcm_poll_descriptors);
++MAKE_TYPEDEF(snd_pcm_poll_descriptors_count);
++MAKE_TYPEDEF(snd_pcm_poll_descriptors_revents);
++MAKE_TYPEDEF(snd_pcm_recover);
++MAKE_TYPEDEF(snd_pcm_set_params);
++MAKE_TYPEDEF(snd_pcm_state);
++MAKE_TYPEDEF(snd_pcm_writei);
++
++#undef MAKE_TYPEDEF
++#endif
++
+ /* ALSA is not thread-safe.  snd_pcm_t instances are individually protected
+    by the owning cubeb_stream's mutex.  snd_pcm_t creation and destruction
+    is not thread-safe until ALSA 1.0.24 (see alsa-lib.git commit 91c9c8f1),
+@@ -64,6 +109,8 @@ struct cubeb {
+      workaround is not required. */
+   snd_config_t * local_config;
+   int is_pa;
++
++  void * libasound;
+ };
+ 
+ enum stream_state {
+@@ -262,7 +309,7 @@ alsa_refill_stream(cubeb_stream * stm)
+ 
+   pthread_mutex_lock(&stm->mutex);
+ 
+-  r = snd_pcm_poll_descriptors_revents(stm->pcm, stm->fds, stm->nfds, &revents);
++  r = WRAP(snd_pcm_poll_descriptors_revents)(stm->pcm, stm->fds, stm->nfds, &revents);
+   if (r < 0 || revents != POLLOUT) {
+     /* This should be a stream error; it makes no sense for poll(2) to wake
+        for this stream and then have the stream report that it's not ready.
+@@ -271,10 +318,10 @@ alsa_refill_stream(cubeb_stream * stm)
+     return RUNNING;
+   }
+ 
+-  avail = snd_pcm_avail_update(stm->pcm);
++  avail = WRAP(snd_pcm_avail_update)(stm->pcm);
+   if (avail == -EPIPE) {
+-    snd_pcm_recover(stm->pcm, avail, 1);
+-    avail = snd_pcm_avail_update(stm->pcm);
++    WRAP(snd_pcm_recover)(stm->pcm, avail, 1);
++    avail = WRAP(snd_pcm_avail_update)(stm->pcm);
+   }
+ 
+   /* Failed to recover from an xrun, this stream must be broken. */
+@@ -293,8 +340,8 @@ alsa_refill_stream(cubeb_stream * stm)
+      available to write.  If avail is still zero here, the stream must be in
+      a funky state, so recover and try again. */
+   if (avail == 0) {
+-    snd_pcm_recover(stm->pcm, -EPIPE, 1);
+-    avail = snd_pcm_avail_update(stm->pcm);
++    WRAP(snd_pcm_recover)(stm->pcm, -EPIPE, 1);
++    avail = WRAP(snd_pcm_avail_update)(stm->pcm);
+     if (avail <= 0) {
+       pthread_mutex_unlock(&stm->mutex);
+       stm->state_callback(stm, stm->user_ptr, CUBEB_STATE_ERROR);
+@@ -302,7 +349,7 @@ alsa_refill_stream(cubeb_stream * stm)
+     }
+   }
+ 
+-  p = calloc(1, snd_pcm_frames_to_bytes(stm->pcm, avail));
++  p = calloc(1, WRAP(snd_pcm_frames_to_bytes)(stm->pcm, avail));
+   assert(p);
+ 
+   pthread_mutex_unlock(&stm->mutex);
+@@ -327,10 +374,10 @@ alsa_refill_stream(cubeb_stream * stm)
+         b[i] *= stm->volume;
+       }
+     }
+-    wrote = snd_pcm_writei(stm->pcm, p, got);
++    wrote = WRAP(snd_pcm_writei)(stm->pcm, p, got);
+     if (wrote == -EPIPE) {
+-      snd_pcm_recover(stm->pcm, wrote, 1);
+-      wrote = snd_pcm_writei(stm->pcm, p, got);
++      WRAP(snd_pcm_recover)(stm->pcm, wrote, 1);
++      wrote = WRAP(snd_pcm_writei)(stm->pcm, p, got);
+     }
+     assert(wrote >= 0 && wrote == got);
+     stm->write_position += wrote;
+@@ -342,7 +389,7 @@ alsa_refill_stream(cubeb_stream * stm)
+ 
+     /* Fill the remaining buffer with silence to guarantee one full period
+        has been written. */
+-    snd_pcm_writei(stm->pcm, (char *) p + got, avail - got);
++    WRAP(snd_pcm_writei)(stm->pcm, (char *) p + got, avail - got);
+ 
+     set_timeout(&stm->drain_timeout, buffer_time * 1000);
+ 
+@@ -453,26 +500,26 @@ get_slave_pcm_node(snd_config_t * lconf, snd_config_t * root_pcm)
+ 
+   slave_def = NULL;
+ 
+-  r = snd_config_search(root_pcm, "slave", &slave_pcm);
++  r = WRAP(snd_config_search)(root_pcm, "slave", &slave_pcm);
+   if (r < 0) {
+     return NULL;
+   }
+ 
+-  r = snd_config_get_string(slave_pcm, &string);
++  r = WRAP(snd_config_get_string)(slave_pcm, &string);
+   if (r >= 0) {
+-    r = snd_config_search_definition(lconf, "pcm_slave", string, &slave_def);
++    r = WRAP(snd_config_search_definition)(lconf, "pcm_slave", string, &slave_def);
+     if (r < 0) {
+       return NULL;
+     }
+   }
+ 
+   do {
+-    r = snd_config_search(slave_def ? slave_def : slave_pcm, "pcm", &pcm);
++    r = WRAP(snd_config_search)(slave_def ? slave_def : slave_pcm, "pcm", &pcm);
+     if (r < 0) {
+       break;
+     }
+ 
+-    r = snd_config_get_string(slave_def ? slave_def : slave_pcm, &string);
++    r = WRAP(snd_config_get_string)(slave_def ? slave_def : slave_pcm, &string);
+     if (r < 0) {
+       break;
+     }
+@@ -481,7 +528,7 @@ get_slave_pcm_node(snd_config_t * lconf, snd_config_t * root_pcm)
+     if (r < 0 || r > (int) sizeof(node_name)) {
+       break;
+     }
+-    r = snd_config_search(lconf, node_name, &pcm);
++    r = WRAP(snd_config_search)(lconf, node_name, &pcm);
+     if (r < 0) {
+       break;
+     }
+@@ -490,7 +537,7 @@ get_slave_pcm_node(snd_config_t * lconf, snd_config_t * root_pcm)
+   } while (0);
+ 
+   if (slave_def) {
+-    snd_config_delete(slave_def);
++    WRAP(snd_config_delete)(slave_def);
+   }
+ 
+   return NULL;
+@@ -513,22 +560,22 @@ init_local_config_with_workaround(char const * pcm_name)
+ 
+   lconf = NULL;
+ 
+-  if (snd_config == NULL) {
++  if (*WRAP(snd_config) == NULL) {
+     return NULL;
+   }
+ 
+-  r = snd_config_copy(&lconf, snd_config);
++  r = WRAP(snd_config_copy)(&lconf, *WRAP(snd_config));
+   if (r < 0) {
+     return NULL;
+   }
+ 
+   do {
+-    r = snd_config_search_definition(lconf, "pcm", pcm_name, &pcm_node);
++    r = WRAP(snd_config_search_definition)(lconf, "pcm", pcm_name, &pcm_node);
+     if (r < 0) {
+       break;
+     }
+ 
+-    r = snd_config_get_id(pcm_node, &string);
++    r = WRAP(snd_config_get_id)(pcm_node, &string);
+     if (r < 0) {
+       break;
+     }
+@@ -537,7 +584,7 @@ init_local_config_with_workaround(char const * pcm_name)
+     if (r < 0 || r > (int) sizeof(node_name)) {
+       break;
+     }
+-    r = snd_config_search(lconf, node_name, &pcm_node);
++    r = WRAP(snd_config_search)(lconf, node_name, &pcm_node);
+     if (r < 0) {
+       break;
+     }
+@@ -548,12 +595,12 @@ init_local_config_with_workaround(char const * pcm_name)
+     }
+ 
+     /* Fetch the PCM node's type, and bail out if it's not the PulseAudio plugin. */
+-    r = snd_config_search(pcm_node, "type", &node);
++    r = WRAP(snd_config_search)(pcm_node, "type", &node);
+     if (r < 0) {
+       break;
+     }
+ 
+-    r = snd_config_get_string(node, &string);
++    r = WRAP(snd_config_get_string)(node, &string);
+     if (r < 0) {
+       break;
+     }
+@@ -564,18 +611,18 @@ init_local_config_with_workaround(char const * pcm_name)
+ 
+     /* Don't clobber an explicit existing handle_underrun value, set it only
+        if it doesn't already exist. */
+-    r = snd_config_search(pcm_node, "handle_underrun", &node);
++    r = WRAP(snd_config_search)(pcm_node, "handle_underrun", &node);
+     if (r != -ENOENT) {
+       break;
+     }
+ 
+     /* Disable pcm_pulse's asynchronous underrun handling. */
+-    r = snd_config_imake_integer(&node, "handle_underrun", 0);
++    r = WRAP(snd_config_imake_integer)(&node, "handle_underrun", 0);
+     if (r < 0) {
+       break;
+     }
+ 
+-    r = snd_config_add(pcm_node, node);
++    r = WRAP(snd_config_add)(pcm_node, node);
+     if (r < 0) {
+       break;
+     }
+@@ -583,7 +630,7 @@ init_local_config_with_workaround(char const * pcm_name)
+     return lconf;
+   } while (0);
+ 
+-  snd_config_delete(lconf);
++  WRAP(snd_config_delete)(lconf);
+ 
+   return NULL;
+ }
+@@ -595,9 +642,9 @@ alsa_locked_pcm_open(snd_pcm_t ** pcm, snd_pcm_stream_t stream, snd_config_t * l
+ 
+   pthread_mutex_lock(&cubeb_alsa_mutex);
+   if (local_config) {
+-    r = snd_pcm_open_lconf(pcm, CUBEB_ALSA_PCM_NAME, stream, SND_PCM_NONBLOCK, local_config);
++    r = WRAP(snd_pcm_open_lconf)(pcm, CUBEB_ALSA_PCM_NAME, stream, SND_PCM_NONBLOCK, local_config);
+   } else {
+-    r = snd_pcm_open(pcm, CUBEB_ALSA_PCM_NAME, stream, SND_PCM_NONBLOCK);
++    r = WRAP(snd_pcm_open)(pcm, CUBEB_ALSA_PCM_NAME, stream, SND_PCM_NONBLOCK);
+   }
+   pthread_mutex_unlock(&cubeb_alsa_mutex);
+ 
+@@ -610,7 +657,7 @@ alsa_locked_pcm_close(snd_pcm_t * pcm)
+   int r;
+ 
+   pthread_mutex_lock(&cubeb_alsa_mutex);
+-  r = snd_pcm_close(pcm);
++  r = WRAP(snd_pcm_close)(pcm);
+   pthread_mutex_unlock(&cubeb_alsa_mutex);
+ 
+   return r;
+@@ -667,12 +714,65 @@ alsa_init(cubeb ** context, char const * context_name)
+   pthread_attr_t attr;
+   snd_pcm_t * dummy;
+ 
++  void * libasound = NULL;
++
++#ifndef DISABLE_LIBASOUND_DLOPEN
++  libasound = dlopen("libasound.so", RTLD_LAZY);
++  if (!libasound) {
++    return CUBEB_ERROR;
++  }
++
++#define LOAD(x) do { \
++    cubeb_##x = dlsym(libasound, #x); \
++    if (!cubeb_##x) { \
++      dlclose(libasound); \
++      return CUBEB_ERROR; \
++    } \
++  } while(0)
++
++  LOAD(snd_config);
++  LOAD(snd_config_add);
++  LOAD(snd_config_copy);
++  LOAD(snd_config_delete);
++  LOAD(snd_config_get_id);
++  LOAD(snd_config_get_string);
++  LOAD(snd_config_imake_integer);
++  LOAD(snd_config_search);
++  LOAD(snd_config_search_definition);
++  LOAD(snd_lib_error_set_handler);
++  LOAD(snd_pcm_avail_update);
++  LOAD(snd_pcm_close);
++  LOAD(snd_pcm_delay);
++  LOAD(snd_pcm_drain);
++  LOAD(snd_pcm_frames_to_bytes);
++  LOAD(snd_pcm_get_params);
++  /* snd_pcm_hw_params_alloca is actually a macro */
++  /* LOAD(snd_pcm_hw_params_alloca); */
++  LOAD(snd_pcm_hw_params_sizeof);
++  LOAD(snd_pcm_hw_params_any);
++  LOAD(snd_pcm_hw_params_get_channels_max);
++  LOAD(snd_pcm_hw_params_get_rate);
++  LOAD(snd_pcm_hw_params_set_rate_near);
++  LOAD(snd_pcm_nonblock);
++  LOAD(snd_pcm_open);
++  LOAD(snd_pcm_open_lconf);
++  LOAD(snd_pcm_pause);
++  LOAD(snd_pcm_poll_descriptors);
++  LOAD(snd_pcm_poll_descriptors_count);
++  LOAD(snd_pcm_poll_descriptors_revents);
++  LOAD(snd_pcm_recover);
++  LOAD(snd_pcm_set_params);
++  LOAD(snd_pcm_state);
++  LOAD(snd_pcm_writei);
++
++#undef LOAD
++#endif
+   assert(context);
+   *context = NULL;
+ 
+   pthread_mutex_lock(&cubeb_alsa_mutex);
+   if (!cubeb_alsa_error_handler_set) {
+-    snd_lib_error_set_handler(silent_error_handler);
++    WRAP(snd_lib_error_set_handler)(silent_error_handler);
+     cubeb_alsa_error_handler_set = 1;
+   }
+   pthread_mutex_unlock(&cubeb_alsa_mutex);
+@@ -680,6 +780,8 @@ alsa_init(cubeb ** context, char const * context_name)
+   ctx = calloc(1, sizeof(*ctx));
+   assert(ctx);
+ 
++  ctx->libasound = libasound;
++
+   ctx->ops = &alsa_ops;
+ 
+   r = pthread_mutex_init(&ctx->mutex, NULL);
+@@ -729,7 +831,7 @@ alsa_init(cubeb ** context, char const * context_name)
+        config fails with EINVAL, the PA PCM is too old for this workaround. */
+     if (r == -EINVAL) {
+       pthread_mutex_lock(&cubeb_alsa_mutex);
+-      snd_config_delete(ctx->local_config);
++      WRAP(snd_config_delete)(ctx->local_config);
+       pthread_mutex_unlock(&cubeb_alsa_mutex);
+       ctx->local_config = NULL;
+     } else if (r >= 0) {
+@@ -768,9 +870,13 @@ alsa_destroy(cubeb * ctx)
+   pthread_mutex_destroy(&ctx->mutex);
+   free(ctx->fds);
+ 
++  if (ctx->libasound) {
++    dlclose(ctx->libasound);
++  }
++
+   if (ctx->local_config) {
+     pthread_mutex_lock(&cubeb_alsa_mutex);
+-    snd_config_delete(ctx->local_config);
++    WRAP(snd_config_delete)(ctx->local_config);
+     pthread_mutex_unlock(&cubeb_alsa_mutex);
+   }
+ 
+@@ -838,7 +944,7 @@ alsa_stream_init(cubeb * ctx, cubeb_stream ** stream, char const * stream_name,
+     return CUBEB_ERROR;
+   }
+ 
+-  r = snd_pcm_nonblock(stm->pcm, 1);
++  r = WRAP(snd_pcm_nonblock)(stm->pcm, 1);
+   assert(r == 0);
+ 
+   /* Ugly hack: the PA ALSA plugin allows buffer configurations that can't
+@@ -848,23 +954,23 @@ alsa_stream_init(cubeb * ctx, cubeb_stream ** stream, char const * stream_name,
+     latency = latency < 500 ? 500 : latency;
+   }
+ 
+-  r = snd_pcm_set_params(stm->pcm, format, SND_PCM_ACCESS_RW_INTERLEAVED,
+-                         stm->params.channels, stm->params.rate, 1,
+-                         latency * 1000);
++  r = WRAP(snd_pcm_set_params)(stm->pcm, format, SND_PCM_ACCESS_RW_INTERLEAVED,
++                               stm->params.channels, stm->params.rate, 1,
++                               latency * 1000);
+   if (r < 0) {
+     alsa_stream_destroy(stm);
+     return CUBEB_ERROR_INVALID_FORMAT;
+   }
+ 
+-  r = snd_pcm_get_params(stm->pcm, &stm->buffer_size, &stm->period_size);
++  r = WRAP(snd_pcm_get_params)(stm->pcm, &stm->buffer_size, &stm->period_size);
+   assert(r == 0);
+ 
+-  stm->nfds = snd_pcm_poll_descriptors_count(stm->pcm);
++  stm->nfds = WRAP(snd_pcm_poll_descriptors_count)(stm->pcm);
+   assert(stm->nfds > 0);
+ 
+   stm->saved_fds = calloc(stm->nfds, sizeof(struct pollfd));
+   assert(stm->saved_fds);
+-  r = snd_pcm_poll_descriptors(stm->pcm, stm->saved_fds, stm->nfds);
++  r = WRAP(snd_pcm_poll_descriptors)(stm->pcm, stm->saved_fds, stm->nfds);
+   assert((nfds_t) r == stm->nfds);
+ 
+   r = pthread_cond_init(&stm->cond, NULL);
+@@ -895,7 +1001,7 @@ alsa_stream_destroy(cubeb_stream * stm)
+   pthread_mutex_lock(&stm->mutex);
+   if (stm->pcm) {
+     if (stm->state == DRAINING) {
+-      snd_pcm_drain(stm->pcm);
++      WRAP(snd_pcm_drain)(stm->pcm);
+     }
+     alsa_locked_pcm_close(stm->pcm);
+     stm->pcm = NULL;
+@@ -937,12 +1043,12 @@ alsa_get_max_channel_count(cubeb * ctx, uint32_t * max_channels)
+     return CUBEB_ERROR;
+   }
+ 
+-  rv = snd_pcm_hw_params_any(stm->pcm, hw_params);
++  rv = WRAP(snd_pcm_hw_params_any)(stm->pcm, hw_params);
+   if (rv < 0) {
+     return CUBEB_ERROR;
+   }
+ 
+-  rv = snd_pcm_hw_params_get_channels_max(hw_params, max_channels);
++  rv = WRAP(snd_pcm_hw_params_get_channels_max)(hw_params, max_channels);
+   if (rv < 0) {
+     return CUBEB_ERROR;
+   }
+@@ -962,34 +1068,34 @@ alsa_get_preferred_sample_rate(cubeb * ctx, uint32_t * rate) {
+ 
+   /* get a pcm, disabling resampling, so we get a rate the
+    * hardware/dmix/pulse/etc. supports. */
+-  rv = snd_pcm_open(&pcm, "", SND_PCM_STREAM_PLAYBACK | SND_PCM_NO_AUTO_RESAMPLE, 0);
++  rv = WRAP(snd_pcm_open)(&pcm, "", SND_PCM_STREAM_PLAYBACK | SND_PCM_NO_AUTO_RESAMPLE, 0);
+   if (rv < 0) {
+     return CUBEB_ERROR;
+   }
+ 
+-  rv = snd_pcm_hw_params_any(pcm, hw_params);
++  rv = WRAP(snd_pcm_hw_params_any)(pcm, hw_params);
+   if (rv < 0) {
+-    snd_pcm_close(pcm);
++    WRAP(snd_pcm_close)(pcm);
+     return CUBEB_ERROR;
+   }
+ 
+-  rv = snd_pcm_hw_params_get_rate(hw_params, rate, &dir);
++  rv = WRAP(snd_pcm_hw_params_get_rate)(hw_params, rate, &dir);
+   if (rv >= 0) {
+     /* There is a default rate: use it. */
+-    snd_pcm_close(pcm);
++    WRAP(snd_pcm_close)(pcm);
+     return CUBEB_OK;
+   }
+ 
+   /* Use a common rate, alsa may adjust it based on hw/etc. capabilities. */
+   *rate = 44100;
+ 
+-  rv = snd_pcm_hw_params_set_rate_near(pcm, hw_params, rate, NULL);
++  rv = WRAP(snd_pcm_hw_params_set_rate_near)(pcm, hw_params, rate, NULL);
+   if (rv < 0) {
+-    snd_pcm_close(pcm);
++    WRAP(snd_pcm_close)(pcm);
+     return CUBEB_ERROR;
+   }
+ 
+-  snd_pcm_close(pcm);
++  WRAP(snd_pcm_close)(pcm);
+ 
+   return CUBEB_OK;
+ }
+@@ -1013,7 +1119,7 @@ alsa_stream_start(cubeb_stream * stm)
+   ctx = stm->context;
+ 
+   pthread_mutex_lock(&stm->mutex);
+-  snd_pcm_pause(stm->pcm, 0);
++  WRAP(snd_pcm_pause)(stm->pcm, 0);
+   gettimeofday(&stm->last_activity, NULL);
+   pthread_mutex_unlock(&stm->mutex);
+ 
+@@ -1047,7 +1153,7 @@ alsa_stream_stop(cubeb_stream * stm)
+   pthread_mutex_unlock(&ctx->mutex);
+ 
+   pthread_mutex_lock(&stm->mutex);
+-  snd_pcm_pause(stm->pcm, 1);
++  WRAP(snd_pcm_pause)(stm->pcm, 1);
+   pthread_mutex_unlock(&stm->mutex);
+ 
+   return CUBEB_OK;
+@@ -1063,8 +1169,8 @@ alsa_stream_get_position(cubeb_stream * stm, uint64_t * position)
+   pthread_mutex_lock(&stm->mutex);
+ 
+   delay = -1;
+-  if (snd_pcm_state(stm->pcm) != SND_PCM_STATE_RUNNING ||
+-      snd_pcm_delay(stm->pcm, &delay) != 0) {
++  if (WRAP(snd_pcm_state)(stm->pcm) != SND_PCM_STATE_RUNNING ||
++      WRAP(snd_pcm_delay)(stm->pcm, &delay) != 0) {
+     *position = stm->last_position;
+     pthread_mutex_unlock(&stm->mutex);
+     return CUBEB_OK;
+@@ -1089,7 +1195,7 @@ alsa_stream_get_latency(cubeb_stream * stm, uint32_t * latency)
+   snd_pcm_sframes_t delay;
+   /* This function returns the delay in frames until a frame written using
+      snd_pcm_writei is sent to the DAC. The DAC delay should be < 1ms anyways. */
+-  if (snd_pcm_delay(stm->pcm, &delay)) {
++  if (WRAP(snd_pcm_delay)(stm->pcm, &delay)) {
+     return CUBEB_ERROR;
+   }
+ 
+diff --git media/libcubeb/src/cubeb_oss.c media/libcubeb/src/cubeb_oss.c
+new file mode 100644
+index 0000000..5e38e27
+--- /dev/null
++++ mozilla/media/libcubeb/src/cubeb_oss.c
+@@ -0,0 +1,402 @@
++/*
++ * Copyright © 2014 Mozilla Foundation
++ *
++ * This program is made available under an ISC-style license.  See the
++ * accompanying file LICENSE for details.
++ */
++#if defined(HAVE_SYS_SOUNDCARD_H)
++#include <sys/soundcard.h>
++#else
++#include <soundcard.h>
++#endif
++#include <unistd.h>
++#include <stdlib.h>
++#include <sys/types.h>
++#include <sys/stat.h>
++#include <fcntl.h>
++#include <sys/ioctl.h>
++#include <errno.h>
++#include <pthread.h>
++#include <stdio.h>
++
++#include "cubeb/cubeb.h"
++#include "cubeb-internal.h"
++
++#ifndef CUBEB_OSS_DEFAULT_OUTPUT
++#define CUBEB_OSS_DEFAULT_OUTPUT "/dev/dsp"
++#endif
++
++#define OSS_BUFFER_SIZE 1024
++
++struct cubeb {
++  struct cubeb_ops const * ops;
++};
++
++struct cubeb_stream {
++  cubeb * context;
++
++  cubeb_data_callback data_callback;
++  cubeb_state_callback state_callback;
++  void * user_ptr;
++  float volume;
++  float panning;
++
++  pthread_mutex_t state_mutex;
++  pthread_cond_t state_cond;
++
++  int running;
++  int stopped;
++  int floating;
++
++  /* These two vars are needed to support old versions of OSS */
++  unsigned int position_bytes;
++  unsigned int last_position_bytes;
++
++  uint64_t written_frags; /* The number of fragments written to /dev/dsp */
++  uint64_t missed_frags; /* fragments output with stopped stream */
++
++  cubeb_stream_params params;
++  int fd;
++  pthread_t th;
++};
++
++static struct cubeb_ops const oss_ops;
++
++int oss_init(cubeb ** context, char const * context_name)
++{
++  cubeb* ctx = (cubeb*)malloc(sizeof(cubeb));
++  ctx->ops = &oss_ops;
++  *context = ctx;
++  return CUBEB_OK;
++}
++
++static void oss_destroy(cubeb *ctx)
++{
++  free(ctx);
++}
++
++static char const * oss_get_backend_id(cubeb * context)
++{
++  static char oss_name[] = "oss";
++  return oss_name;
++}
++
++static int oss_get_max_channel_count(cubeb * ctx, uint32_t * max_channels)
++{
++  *max_channels = 2; /* Let's support only stereo for now */
++  return CUBEB_OK;
++}
++
++static int oss_get_min_latency(cubeb * context, cubeb_stream_params params,
++                               uint32_t * latency_ms)
++{
++  /* 40ms is a big enough number to work ok */
++  *latency_ms = 40;
++  return CUBEB_OK;
++}
++
++static int oss_get_preferred_sample_rate(cubeb *context, uint32_t * rate)
++{
++  /* 48000 seems a prefered choice for most audio devices
++   * and a good choice for OSS */
++  *rate = 48000;
++  return CUBEB_OK;
++}
++
++static void run_state_callback(cubeb_stream *stream, cubeb_state state)
++{
++  if (stream->state_callback) {
++    stream->state_callback(stream, stream->user_ptr, state);
++  }
++}
++
++static long run_data_callback(cubeb_stream *stream, void *buffer, long nframes)
++{
++  long got = 0;
++  pthread_mutex_lock(&stream->state_mutex);
++  if (stream->data_callback && stream->running && !stream->stopped) {
++    pthread_mutex_unlock(&stream->state_mutex);
++    got = stream->data_callback(stream, stream->user_ptr, buffer, nframes);
++  } else {
++    pthread_mutex_unlock(&stream->state_mutex);
++  }
++  return got;
++}
++
++static void apply_volume(int16_t* buffer, unsigned int n,
++                         float volume, float panning)
++{
++  float left = volume;
++  float right = volume;
++  unsigned int i;
++  int pan[2];
++  if (panning<0) {
++    right *= (1+panning);
++  } else {
++    left *= (1-panning);
++  }
++  pan[0] = 128.0*left;
++  pan[1] = 128.0*right;
++  for(i=0; i<n; i++){
++    buffer[i] = ((int)buffer[i])*pan[i%2]/128;
++  }
++}
++
++static void *writer(void *stm)
++{
++  cubeb_stream* stream = (cubeb_stream*)stm;
++  int16_t buffer[OSS_BUFFER_SIZE];
++  float f_buffer[OSS_BUFFER_SIZE];
++  int got;
++  unsigned long i;
++  while (stream->running) {
++    pthread_mutex_lock(&stream->state_mutex);
++    if (stream->stopped) {
++      pthread_mutex_unlock(&stream->state_mutex);
++      run_state_callback(stream, CUBEB_STATE_STOPPED);
++      pthread_mutex_lock(&stream->state_mutex);
++      while (stream->stopped) {
++        pthread_cond_wait(&stream->state_cond, &stream->state_mutex);
++      }
++      pthread_mutex_unlock(&stream->state_mutex);
++      run_state_callback(stream, CUBEB_STATE_STARTED);
++      continue;
++    }
++    pthread_mutex_unlock(&stream->state_mutex);
++    if (stream->floating) {
++      got = run_data_callback(stream, f_buffer,
++                              OSS_BUFFER_SIZE/stream->params.channels);
++      for (i=0; i<((unsigned long)got)*stream->params.channels; i++) {
++          buffer[i] = f_buffer[i]*32767.0;
++      }
++    } else {
++      got = run_data_callback(stream, buffer,
++                              OSS_BUFFER_SIZE/stream->params.channels);
++    }
++    apply_volume(buffer, got*stream->params.channels,
++                         stream->volume, stream->panning);
++    if (got<0) {
++      run_state_callback(stream, CUBEB_STATE_ERROR);
++      break;
++    }
++    if (!got) {
++      run_state_callback(stream, CUBEB_STATE_DRAINED);
++    }
++    if (got) {
++      size_t i = 0;
++      size_t s = got*stream->params.channels*sizeof(int16_t);
++      while (i < s) {
++        ssize_t n = write(stream->fd, ((char*)buffer) + i, s - i);
++        if (n<=0) {
++          run_state_callback(stream, CUBEB_STATE_ERROR);
++          break;
++        }
++        i+=n;
++      }
++      stream->written_frags+=got;
++    }
++  }
++  return NULL;
++}
++
++static void oss_try_set_latency(cubeb_stream* stream, unsigned int latency)
++{
++  unsigned int latency_bytes, n_frag;
++  int frag;
++  /* fragment size of 1024 is a good choice with good chances to be accepted */
++  unsigned int frag_size=1024;
++  unsigned int frag_log=10; /* 2^frag_log = frag_size */
++  latency_bytes =
++    latency*stream->params.rate*stream->params.channels*sizeof(uint16_t)/1000;
++  n_frag = latency_bytes>>frag_log;
++  frag = (n_frag<<16) | frag_log;
++  /* Even if this fails we wish to continue, not checking for errors */
++  ioctl(stream->fd, SNDCTL_DSP_SETFRAGMENT, &frag);
++}
++
++static int oss_stream_init(cubeb * context, cubeb_stream ** stm,
++                           char const * stream_name,
++                           cubeb_stream_params stream_params,
++                           unsigned int latency,
++                           cubeb_data_callback data_callback,
++                           cubeb_state_callback state_callback, void * user_ptr)
++{
++  cubeb_stream* stream = (cubeb_stream*)malloc(sizeof(cubeb_stream));
++  stream->context = context;
++  stream->data_callback = data_callback;
++  stream->state_callback = state_callback;
++  stream->user_ptr = user_ptr;
++
++  if ((stream->fd = open(CUBEB_OSS_DEFAULT_OUTPUT, O_WRONLY)) == -1) {
++    free(stream);
++    return CUBEB_ERROR;
++  }
++#define SET(what, to) do { unsigned int i = to; \
++    int j = ioctl(stream->fd, what, &i); \
++    if (j == -1 || i != to) { \
++      close(stream->fd); \
++      free(stream); \
++      return CUBEB_ERROR_INVALID_FORMAT; } } while (0)
++
++  stream->params = stream_params;
++  stream->volume = 1.0;
++  stream->panning = 0.0;
++
++  oss_try_set_latency(stream, latency); 
++
++  stream->floating = 0;
++  SET(SNDCTL_DSP_CHANNELS, stream_params.channels);
++  SET(SNDCTL_DSP_SPEED, stream_params.rate);
++  switch (stream_params.format) {
++    case CUBEB_SAMPLE_S16LE:
++      SET(SNDCTL_DSP_SETFMT, AFMT_S16_LE);
++    break;
++    case CUBEB_SAMPLE_S16BE:
++      SET(SNDCTL_DSP_SETFMT, AFMT_S16_BE);
++    break;
++    case CUBEB_SAMPLE_FLOAT32LE:
++      SET(SNDCTL_DSP_SETFMT, AFMT_S16_NE);
++      stream->floating = 1;
++    break;
++    default:
++      close(stream->fd);
++      free(stream);
++      return CUBEB_ERROR;
++  }
++
++
++  pthread_mutex_init(&stream->state_mutex, NULL);
++  pthread_cond_init(&stream->state_cond, NULL);
++
++  stream->running = 1;
++  stream->stopped = 1;
++  stream->position_bytes = 0;
++  stream->last_position_bytes = 0;
++  stream->written_frags = 0;
++  stream->missed_frags = 0;
++
++  pthread_create(&stream->th, NULL, writer, (void*)stream);
++
++  *stm = stream;
++
++  return CUBEB_OK;
++}
++
++static void oss_stream_destroy(cubeb_stream * stream)
++{
++  pthread_mutex_lock(&stream->state_mutex);
++
++  stream->running = 0;
++  stream->stopped = 0;
++  pthread_cond_signal(&stream->state_cond);
++
++  pthread_mutex_unlock(&stream->state_mutex);
++
++  pthread_join(stream->th, NULL);
++
++  pthread_mutex_destroy(&stream->state_mutex);
++  pthread_cond_destroy(&stream->state_cond);
++  close(stream->fd);
++  free(stream);
++}
++
++static int oss_stream_get_latency(cubeb_stream * stream, uint32_t * latency)
++{
++  if (ioctl(stream->fd, SNDCTL_DSP_GETODELAY, latency)==-1) {
++    return CUBEB_ERROR;
++  }
++  /* Convert latency from bytes to frames */
++  *latency /= stream->params.channels*sizeof(int16_t);
++  return CUBEB_OK;
++}
++
++
++static int oss_stream_current_optr(cubeb_stream * stream, uint64_t * position)
++{
++  count_info ci;
++  /* Unfortunately, this ioctl is only available in OSS 4.x */
++#ifdef SNDCTL_DSP_CURRENT_OPTR
++  oss_count_t count;
++  if (ioctl(stream->fd, SNDCTL_DSP_CURRENT_OPTR, &count) != -1) {
++    *position = count.samples;// + count.fifo_samples;
++    return CUBEB_OK;
++  }
++#endif
++  /* Fall back to this ioctl in case the previous one fails */
++  if (ioctl(stream->fd, SNDCTL_DSP_GETOPTR, &ci) == -1) {
++    return CUBEB_ERROR;
++  }
++  /* ci.bytes is only 32 bit and will start to wrap after arithmetic overflow */
++  stream->position_bytes += ci.bytes - stream->last_position_bytes;
++  stream->last_position_bytes = ci.bytes;
++  *position = stream->position_bytes/stream->params.channels/sizeof(int16_t);
++  return CUBEB_OK;
++}
++
++static int oss_stream_get_position(cubeb_stream * stream, uint64_t * position)
++{
++  if ( oss_stream_current_optr(stream, position) == CUBEB_OK ){
++    *position -= stream->missed_frags;
++    return CUBEB_OK;
++  }
++  /* If no correct method to get position works we resort to this */
++  *position = stream->written_frags;
++  return CUBEB_OK;
++}
++
++
++static int oss_stream_start(cubeb_stream * stream)
++{
++  pthread_mutex_lock(&stream->state_mutex);
++  if (stream->stopped) {
++    uint64_t ptr;
++    oss_stream_current_optr(stream, &ptr);
++    stream->missed_frags = ptr - stream->written_frags;
++    stream->stopped = 0;
++    pthread_cond_signal(&stream->state_cond);
++  }
++  pthread_mutex_unlock(&stream->state_mutex);
++  return CUBEB_OK;
++}
++
++static int oss_stream_stop(cubeb_stream * stream)
++{
++  pthread_mutex_lock(&stream->state_mutex);
++  stream->stopped = 1;
++  pthread_mutex_unlock(&stream->state_mutex);
++  return CUBEB_OK;
++}
++
++int oss_stream_set_panning(cubeb_stream * stream, float panning)
++{
++  if (stream->params.channels == 2) {
++    stream->panning=panning;
++  }
++  return CUBEB_OK;
++}
++
++int oss_stream_set_volume(cubeb_stream * stream, float volume)
++{
++  stream->volume=volume;
++  return CUBEB_OK;
++}
++
++static struct cubeb_ops const oss_ops = {
++  .init = oss_init,
++  .get_backend_id = oss_get_backend_id,
++  .get_max_channel_count = oss_get_max_channel_count,
++  .get_min_latency = oss_get_min_latency,
++  .get_preferred_sample_rate = oss_get_preferred_sample_rate,
++  .destroy = oss_destroy,
++  .stream_init = oss_stream_init,
++  .stream_destroy = oss_stream_destroy,
++  .stream_start = oss_stream_start,
++  .stream_stop = oss_stream_stop,
++  .stream_get_position = oss_stream_get_position,
++  .stream_get_latency = oss_stream_get_latency,
++  .stream_set_volume = oss_stream_set_volume,
++  .stream_set_panning = oss_stream_set_panning,
++  .stream_get_current_device = NULL,
++  .stream_device_destroy = NULL,
++  .stream_register_device_changed_callback = NULL
++};
+diff --git media/libcubeb/src/moz.build media/libcubeb/src/moz.build
+index 8b7a0dd..31212ce 100644
+--- mozilla/media/libcubeb/src/moz.build
++++ mozilla/media/libcubeb/src/moz.build
+@@ -17,6 +17,12 @@ if CONFIG['MOZ_ALSA']:
+     ]
+     DEFINES['USE_ALSA'] = True
+ 
++if CONFIG['MOZ_OSS']:
++    SOURCES += [
++        'cubeb_oss.c',
++    ]
++    DEFINES['USE_OSS'] = True
++
+ if CONFIG['MOZ_PULSEAUDIO']:
+     SOURCES += [
+         'cubeb_pulse.c',
+@@ -75,5 +81,6 @@ if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'gonk':
+ 
+ FAIL_ON_WARNINGS = True
+ 
++CFLAGS += CONFIG['MOZ_OSS_CFLAGS']
+ CFLAGS += CONFIG['MOZ_ALSA_CFLAGS']
+ CFLAGS += CONFIG['MOZ_PULSEAUDIO_CFLAGS']
+diff --git media/webrtc/signaling/test/moz.build media/webrtc/signaling/test/moz.build
+index 991f03f..3d99eb5 100644
+--- mozilla/media/webrtc/signaling/test/moz.build
++++ mozilla/media/webrtc/signaling/test/moz.build
+@@ -112,8 +112,8 @@ if CONFIG['JS_SHARED_LIBRARY']:
+ OS_LIBS += CONFIG['MOZ_WEBRTC_X11_LIBS']
+ OS_LIBS += CONFIG['REALTIME_LIBS']
+ 
+-if CONFIG['MOZ_ALSA']:
+-    OS_LIBS += CONFIG['MOZ_ALSA_LIBS']
++if CONFIG['MOZ_OSS']:
++    OS_LIBS += CONFIG['MOZ_OSS_LIBS']
+ 
+ if CONFIG['MOZ_NATIVE_JPEG']:
+     OS_LIBS += CONFIG['MOZ_JPEG_LIBS']
+diff --git toolkit/library/moz.build toolkit/library/moz.build
+index e191f13..4fb268a 100644
+--- mozilla/toolkit/library/moz.build
++++ mozilla/toolkit/library/moz.build
+@@ -234,8 +234,8 @@ if CONFIG['MOZ_NATIVE_LIBVPX']:
+ if not CONFIG['MOZ_TREE_PIXMAN']:
+     OS_LIBS += CONFIG['MOZ_PIXMAN_LIBS']
+ 
+-if CONFIG['MOZ_ALSA']:
+-    OS_LIBS += CONFIG['MOZ_ALSA_LIBS']
++if CONFIG['MOZ_OSS']:
++    OS_LIBS += CONFIG['MOZ_OSS_LIBS']
+ 
+ if CONFIG['HAVE_CLOCK_MONOTONIC']:
+     OS_LIBS += CONFIG['REALTIME_LIBS']


Property changes on: trunk/www/seamonkey/files/patch-bug1021761
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
Added: trunk/www/seamonkey/files/patch-bug1026499
===================================================================
--- trunk/www/seamonkey/files/patch-bug1026499	                        (rev 0)
+++ trunk/www/seamonkey/files/patch-bug1026499	2015-11-07 04:15:50 UTC (rev 20670)
@@ -0,0 +1,68 @@
+commit 8d0efe4
+Author: Martin Husemann <martin at NetBSD.org>
+Date:   Wed Jun 18 18:12:22 2014 +0200
+
+    Bug 1026499 - Use MOZ_ALIGNED_DECL to declare union members in ipdl value declarations. r=bsmedberg
+---
+ ipc/ipdl/ipdl/cxx/ast.py  | 7 ++++---
+ ipc/ipdl/ipdl/cxx/cgen.py | 5 ++++-
+ ipc/ipdl/ipdl/lower.py    | 2 +-
+ 4 files changed, 10 insertions(+), 5 deletions(-)
+
+diff --git ipc/ipdl/ipdl/cxx/ast.py ipc/ipdl/ipdl/cxx/ast.py
+index 3180a65..c2d945b 100644
+--- mozilla/ipc/ipdl/ipdl/cxx/ast.py
++++ mozilla/ipc/ipdl/ipdl/cxx/ast.py
+@@ -336,12 +336,13 @@ Type.VOID = Type('void')
+ Type.VOIDPTR = Type('void', ptr=1)
+ 
+ class TypeArray(Node):
+-    def __init__(self, basetype, nmemb):
+-        '''the type |basetype DECLNAME[nmemb]|.  |nmemb| is an Expr'''
++    def __init__(self, basetype, nmemb, alignType):
++        '''the type |basetype DECLNAME[nmemb]|.  |nmemb| is an Expr, |alignType| is a type'''
+         self.basetype = basetype
+         self.nmemb = nmemb
++        self.alignType = alignType
+     def __deepcopy__(self, memo):
+-        return TypeArray(deepcopy(self.basetype, memo), nmemb)
++        return TypeArray(deepcopy(self.basetype, memo), nmemb, alignType)
+ 
+ class TypeEnum(Node):
+     def __init__(self, name=None):
+diff --git ipc/ipdl/ipdl/cxx/cgen.py ipc/ipdl/ipdl/cxx/cgen.py
+index 48b0988..bc914cf 100644
+--- mozilla/ipc/ipdl/ipdl/cxx/cgen.py
++++ mozilla/ipc/ipdl/ipdl/cxx/cgen.py
+@@ -101,6 +101,7 @@ class CxxCodeGen(CodePrinter, Visitor):
+     def visitDecl(self, d):
+         # C-syntax arrays make code generation much more annoying
+         if isinstance(d.type, TypeArray):
++            self.write('MOZ_ALIGNED_DECL(')
+             d.type.basetype.accept(self)
+         else:
+             d.type.accept(self)
+@@ -111,7 +112,9 @@ class CxxCodeGen(CodePrinter, Visitor):
+         if isinstance(d.type, TypeArray):
+             self.write('[')
+             d.type.nmemb.accept(self)
+-            self.write(']')
++            self.write('], MOZ_ALIGNOF(')
++            d.type.alignType.accept(self)
++            self.write('))')
+ 
+     def visitParam(self, p):
+         self.visitDecl(p)
+diff --git ipc/ipdl/ipdl/lower.py ipc/ipdl/ipdl/lower.py
+index e97a34c..9360f3c 100644
+--- mozilla/ipc/ipdl/ipdl/lower.py
++++ mozilla/ipc/ipdl/ipdl/lower.py
+@@ -768,7 +768,7 @@ IPDL union type."""
+         if self.recursive:
+             return self.ptrToType()
+         else:
+-            return TypeArray(Type('char'), ExprSizeof(self.internalType()))
++            return TypeArray(Type('char'), ExprSizeof(self.internalType()), self.internalType())
+ 
+     def unionValue(self):
+         # NB: knows that Union's storage C union is named |mValue|


Property changes on: trunk/www/seamonkey/files/patch-bug1026499
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
Added: trunk/www/seamonkey/files/patch-bug1041268
===================================================================
--- trunk/www/seamonkey/files/patch-bug1041268	                        (rev 0)
+++ trunk/www/seamonkey/files/patch-bug1041268	2015-11-07 04:15:50 UTC (rev 20670)
@@ -0,0 +1,26 @@
+diff --git media/webrtc/trunk/webrtc/modules/desktop_capture/screen_capturer.cc media/webrtc/trunk/webrtc/modules/desktop_capture/screen_capturer.cc
+index 97f69d3..77a50b3 100644
+--- mozilla/media/webrtc/trunk/webrtc/modules/desktop_capture/screen_capturer.cc
++++ mozilla/media/webrtc/trunk/webrtc/modules/desktop_capture/screen_capturer.cc
+@@ -18,7 +18,7 @@ ScreenCapturer* ScreenCapturer::Create() {
+   return Create(DesktopCaptureOptions::CreateDefault());
+ }
+ 
+-#if defined(WEBRTC_LINUX)
++#if defined(WEBRTC_LINUX) || defined(WEBRTC_BSD)
+ ScreenCapturer* ScreenCapturer::CreateWithXDamage(
+     bool use_update_notifications) {
+   DesktopCaptureOptions options;
+diff --git media/webrtc/trunk/webrtc/modules/desktop_capture/screen_capturer.h media/webrtc/trunk/webrtc/modules/desktop_capture/screen_capturer.h
+index a8d40a7..177a6c1 100644
+--- mozilla/media/webrtc/trunk/webrtc/modules/desktop_capture/screen_capturer.h
++++ mozilla/media/webrtc/trunk/webrtc/modules/desktop_capture/screen_capturer.h
+@@ -74,7 +74,7 @@ class ScreenCapturer : public DesktopCapturer {
+   static ScreenCapturer* Create(const DesktopCaptureOptions& options);
+   static ScreenCapturer* Create();
+ 
+-#if defined(WEBRTC_LINUX)
++#if defined(WEBRTC_LINUX) || defined(WEBRTC_BSD)
+   // Creates platform-specific capturer and instructs it whether it should use
+   // X DAMAGE support.
+   static ScreenCapturer* CreateWithXDamage(bool use_x_damage);


Property changes on: trunk/www/seamonkey/files/patch-bug1041268
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
Added: trunk/www/seamonkey/files/patch-bug1103858
===================================================================
--- trunk/www/seamonkey/files/patch-bug1103858	                        (rev 0)
+++ trunk/www/seamonkey/files/patch-bug1103858	2015-11-07 04:15:50 UTC (rev 20670)
@@ -0,0 +1,42 @@
+diff --git configure.in configure.in
+index b2b45e7..dcfdfb7 100644
+--- mozilla/configure.in
++++ mozilla/configure.in
+@@ -8346,7 +8346,7 @@ case "$OS_TARGET" in
+       NECKO_WIFI=1
+     fi
+     ;;
+-  Darwin|FreeBSD|SunOS|WINNT)
++  Darwin|DragonFly|FreeBSD|SunOS|WINNT)
+     NECKO_WIFI=1
+     ;;
+   Linux)
+diff --git netwerk/wifi/moz.build netwerk/wifi/moz.build
+index d4de063..3949380 100644
+--- mozilla/netwerk/wifi/moz.build
++++ mozilla/netwerk/wifi/moz.build
+@@ -35,7 +35,7 @@ if CONFIG['OS_ARCH'] == 'Darwin':
+     UNIFIED_SOURCES += [
+         'osx_corewlan.mm',
+     ]
+-elif CONFIG['OS_ARCH'] == 'FreeBSD':
++elif CONFIG['OS_ARCH'] in ('DragonFly', 'FreeBSD'):
+     UNIFIED_SOURCES += [
+         'nsWifiScannerFreeBSD.cpp',
+     ]
+diff --git netwerk/wifi/nsWifiScannerFreeBSD.cpp netwerk/wifi/nsWifiScannerFreeBSD.cpp
+index bdf171e..4185d69 100644
+--- mozilla/netwerk/wifi/nsWifiScannerFreeBSD.cpp
++++ mozilla/netwerk/wifi/nsWifiScannerFreeBSD.cpp
+@@ -13,7 +13,11 @@
+ #include <sys/socket.h>
+ #include <net/if.h>
+ #include <net/if_media.h>
++#ifdef __DragonFly__
++#include <netproto/802_11/ieee80211_ioctl.h>
++#else
+ #include <net80211/ieee80211_ioctl.h>
++#endif
+ 
+ #include <ifaddrs.h>
+ #include <string.h>


Property changes on: trunk/www/seamonkey/files/patch-bug1103858
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
Added: trunk/www/seamonkey/files/patch-bug1112904
===================================================================
--- trunk/www/seamonkey/files/patch-bug1112904	                        (rev 0)
+++ trunk/www/seamonkey/files/patch-bug1112904	2015-11-07 04:15:50 UTC (rev 20670)
@@ -0,0 +1,161 @@
+diff --git a/c-sdk/config/FreeBSD.mk b/c-sdk/config/FreeBSD.mk
+--- ldap/sdks/c-sdk/config/FreeBSD.mk
++++ ldap/sdks/c-sdk/config/FreeBSD.mk
+@@ -79,8 +79,8 @@ DLL_SUFFIX		= so.1.0
+ endif
+ 
+ DSO_CFLAGS		= -fPIC
+-DSO_LDOPTS		= -Bshareable
++DSO_LDOPTS		= -shared -Wl,-soname,$(notdir $@)
+ 
+-MKSHLIB			= $(LD) $(DSO_LDOPTS)
++MKSHLIB			= $(CC) $(DSO_LDOPTS)
+ 
+ G++INCLUDES		= -I/usr/include/g++
+diff --git a/c-sdk/configure b/c-sdk/configure
+--- ldap/sdks/c-sdk/configure
++++ ldap/sdks/c-sdk/configure
+@@ -4241,8 +4241,10 @@ EOF
+ #define DRAGONFLY 1
+ EOF
+ 
++    LD='$(CC)'
++    MKSHLIB='$(CC) $(DSO_LDOPTS) -o $@'
+     DSO_CFLAGS=-fPIC
+-    DSO_LDOPTS='-shared'
++    DSO_LDOPTS='-shared -Wl,-soname,$(notdir $@)'
+ 	;;
+ 
+ *-freebsd*)
+@@ -4261,6 +4263,7 @@ EOF
+ #define HAVE_BSD_FLOCK 1
+ EOF
+ 
++    LD='$(CC)'
+     CFLAGS="$CFLAGS $(DSO_CFLAGS) -ansi -Wall"
+     MOZ_OBJFORMAT=`test -x /usr/bin/objformat && /usr/bin/objformat || echo elf`
+     if test "$MOZ_OBJFORMAT" = "elf"; then
+@@ -4268,8 +4271,9 @@ EOF
+     else
+         DLL_SUFFIX=so.1.0
+     fi
++    MKSHLIB='$(CC) $(DSO_LDOPTS) -o $@'
+     DSO_CFLAGS=-fPIC
+-    DSO_LDOPTS=-Bshareable
++    DSO_LDOPTS='-shared -Wl,-soname,$(notdir $@)'
+     ;;
+ 
+ *-hpux*)
+@@ -6512,8 +6516,15 @@ echo "configure:6510: checking whether $
+    if test $? -eq 0; then
+ 	if test -z "`egrep -i '(unrecognize|unknown)' conftest.out | grep pthread`" && test -z "`egrep -i '(error|incorrect)' conftest.out`" ; then
+ 	    ac_cv_have_dash_pthread=yes
+-	    CFLAGS="$CFLAGS -pthread"
+-	    CXXFLAGS="$CXXFLAGS -pthread"
++		case "$target_os" in
++	    dragonfly*|freebsd*)
++# Freebsd doesn't use -pthread for compiles, it uses them for linking
++            ;;
++	    *)
++            CFLAGS="$CFLAGS -pthread"
++            CXXFLAGS="$CXXFLAGS -pthread"
++            ;;
++        esac
+ 	fi
+     fi
+     rm -f conftest*
+@@ -6542,7 +6553,22 @@ echo "configure:6526: checking whether $
+             _PTHREAD_LDFLAGS=
+         fi
+ 	    ;;
+-    *-freebsd*|*-openbsd*|*-bsdi*|*-netbsd*)
++    *-dragonfly*|*-freebsd*)
++	    cat >> confdefs.h <<\EOF
++#define _REENTRANT 1
++EOF
++
++	    cat >> confdefs.h <<\EOF
++#define _THREAD_SAFE 1
++EOF
++
++	    	    if test "$ac_cv_have_dash_pthread" = "yes"; then
++	        _PTHREAD_LDFLAGS="-pthread"
++	    else
++	        _PTHREAD_LDFLAGS="-lc_r"
++	    fi
++	    ;;
++    *-openbsd*|*-bsdi*|*-netbsd*)
+ 	    cat >> confdefs.h <<\EOF
+ #define _THREAD_SAFE 1
+ EOF
+diff --git a/c-sdk/configure.in b/c-sdk/configure.in
+--- ldap/sdks/c-sdk/configure.in
++++ ldap/sdks/c-sdk/configure.in
+@@ -1225,8 +1225,10 @@ tools are selected during the Xcode/Deve
+     fi
+     AC_DEFINE(XP_UNIX)
+     AC_DEFINE(DRAGONFLY)
++    LD='$(CC)'
++    MKSHLIB='$(CC) $(DSO_LDOPTS) -o $@'
+     DSO_CFLAGS=-fPIC
+-    DSO_LDOPTS='-shared'
++    DSO_LDOPTS='-shared -Wl,-soname,$(notdir $@)'
+ 	;;
+ 
+ *-freebsd*)
+@@ -1236,6 +1238,7 @@ tools are selected during the Xcode/Deve
+     AC_DEFINE(XP_UNIX)
+     AC_DEFINE(FREEBSD)
+     AC_DEFINE(HAVE_BSD_FLOCK)
++    LD='$(CC)'
+     CFLAGS="$CFLAGS $(DSO_CFLAGS) -ansi -Wall"
+     MOZ_OBJFORMAT=`test -x /usr/bin/objformat && /usr/bin/objformat || echo elf`
+     if test "$MOZ_OBJFORMAT" = "elf"; then
+@@ -1243,8 +1246,9 @@ tools are selected during the Xcode/Deve
+     else
+         DLL_SUFFIX=so.1.0
+     fi
++    MKSHLIB='$(CC) $(DSO_LDOPTS) -o $@'
+     DSO_CFLAGS=-fPIC
+-    DSO_LDOPTS=-Bshareable
++    DSO_LDOPTS='-shared -Wl,-soname,$(notdir $@)'
+     ;;
+ 
+ *-hpux*)
+@@ -2329,8 +2333,15 @@ if test -n "$USE_PTHREADS"; then
+    if test $? -eq 0; then
+ 	if test -z "`egrep -i '(unrecognize|unknown)' conftest.out | grep pthread`" && test -z "`egrep -i '(error|incorrect)' conftest.out`" ; then
+ 	    ac_cv_have_dash_pthread=yes
+-	    CFLAGS="$CFLAGS -pthread"
+-	    CXXFLAGS="$CXXFLAGS -pthread"
++		case "$target_os" in
++	    dragonfly*|freebsd*)
++# Freebsd doesn't use -pthread for compiles, it uses them for linking
++            ;;
++	    *)
++            CFLAGS="$CFLAGS -pthread"
++            CXXFLAGS="$CXXFLAGS -pthread"
++            ;;
++        esac
+ 	fi
+     fi
+     rm -f conftest*
+@@ -2361,7 +2372,17 @@ if test -n "$USE_PTHREADS"; then
+             _PTHREAD_LDFLAGS=
+         fi
+ 	    ;;
+-    *-freebsd*|*-openbsd*|*-bsdi*|*-netbsd*)
++    *-dragonfly*|*-freebsd*)
++	    AC_DEFINE(_REENTRANT)
++	    AC_DEFINE(_THREAD_SAFE)
++	    dnl -pthread links in -lc_r, so don't specify it explicitly.
++	    if test "$ac_cv_have_dash_pthread" = "yes"; then
++	        _PTHREAD_LDFLAGS="-pthread"
++	    else
++	        _PTHREAD_LDFLAGS="-lc_r"
++	    fi
++	    ;;
++    *-openbsd*|*-bsdi*|*-netbsd*)
+ 	    AC_DEFINE(_THREAD_SAFE)
+ 	    dnl -pthread links in -lc_r, so don't specify it explicitly.
+ 	    if test "$ac_cv_have_dash_pthread" = "yes"; then


Property changes on: trunk/www/seamonkey/files/patch-bug1112904
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
Added: trunk/www/seamonkey/files/patch-bug1122547
===================================================================
--- trunk/www/seamonkey/files/patch-bug1122547	                        (rev 0)
+++ trunk/www/seamonkey/files/patch-bug1122547	2015-11-07 04:15:50 UTC (rev 20670)
@@ -0,0 +1,20 @@
+diff --git media/webrtc/trunk/webrtc/modules/video_coding/main/source/receiver.cc media/webrtc/trunk/webrtc/modules/video_coding/main/source/receiver.cc
+index e68a104..a090241 100644
+--- mozilla/media/webrtc/trunk/webrtc/modules/video_coding/main/source/receiver.cc
++++ mozilla/media/webrtc/trunk/webrtc/modules/video_coding/main/source/receiver.cc
+@@ -159,12 +159,13 @@ VCMEncodedFrame* VCMReceiver::FrameForDecoding(
+   // Assume that render timing errors are due to changes in the video stream.
+   if (next_render_time_ms < 0) {
+     timing_error = true;
+-  } else if (std::abs(next_render_time_ms - now_ms) > max_video_delay_ms_) {
++  } else if (std::abs(static_cast<int>(next_render_time_ms - now_ms)) >
++             max_video_delay_ms_) {
+     WEBRTC_TRACE(webrtc::kTraceWarning, webrtc::kTraceVideoCoding,
+                  VCMId(vcm_id_, receiver_id_),
+                  "This frame is out of our delay bounds, resetting jitter "
+                  "buffer: %d > %d",
+-                 static_cast<int>(std::abs(next_render_time_ms - now_ms)),
++                 std::abs(static_cast<int>(next_render_time_ms - now_ms)),
+                  max_video_delay_ms_);
+     timing_error = true;
+   } else if (static_cast<int>(timing_->TargetVideoDelay()) >


Property changes on: trunk/www/seamonkey/files/patch-bug1122547
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
Added: trunk/www/seamonkey/files/patch-bug1125579
===================================================================
--- trunk/www/seamonkey/files/patch-bug1125579	                        (rev 0)
+++ trunk/www/seamonkey/files/patch-bug1125579	2015-11-07 04:15:50 UTC (rev 20670)
@@ -0,0 +1,16 @@
+diff --git js/src/jit/ExecutableAllocator.h js/src/jit/ExecutableAllocator.h
+index d55c8ed..ab6188f 100644
+--- mozilla/js/src/jit/ExecutableAllocator.h
++++ mozilla/js/src/jit/ExecutableAllocator.h
+@@ -405,6 +405,11 @@ public:
+         _flush_cache(reinterpret_cast<char*>(code), size, BCACHE);
+ #endif
+     }
++#elif defined(JS_CODEGEN_ARM) && (defined(__FreeBSD__) || defined(__NetBSD__))
++    static void cacheFlush(void* code, size_t size)
++    {
++        __clear_cache(code, reinterpret_cast<char*>(code) + size);
++    }
+ #elif defined(JS_CODEGEN_ARM) && (defined(__linux__) || defined(ANDROID)) && defined(__GNUC__)
+     static void cacheFlush(void* code, size_t size)
+     {


Property changes on: trunk/www/seamonkey/files/patch-bug1125579
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
Added: trunk/www/seamonkey/files/patch-bug1125580
===================================================================
--- trunk/www/seamonkey/files/patch-bug1125580	                        (rev 0)
+++ trunk/www/seamonkey/files/patch-bug1125580	2015-11-07 04:15:50 UTC (rev 20670)
@@ -0,0 +1,13 @@
+diff --git js/src/jit/arm/Architecture-arm.cpp js/src/jit/arm/Architecture-arm.cpp
+index fe1373b..76641aa 100644
+--- mozilla/js/src/jit/arm/Architecture-arm.cpp
++++ mozilla/js/src/jit/arm/Architecture-arm.cpp
+@@ -16,7 +16,7 @@
+ #include "jit/arm/Assembler-arm.h"
+ #include "jit/RegisterSets.h"
+ 
+-#if defined(ANDROID) || defined(JS_ARM_SIMULATOR)
++#if !defined(__linux__) || defined(ANDROID) || defined(JS_ARM_SIMULATOR)
+ // The Android NDK and B2G do not include the hwcap.h kernel header, and it is not
+ // defined when building the simulator, so inline the header defines we need.
+ # define HWCAP_VFP        (1 << 6)


Property changes on: trunk/www/seamonkey/files/patch-bug1125580
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
Added: trunk/www/seamonkey/files/patch-bug1128161
===================================================================
--- trunk/www/seamonkey/files/patch-bug1128161	                        (rev 0)
+++ trunk/www/seamonkey/files/patch-bug1128161	2015-11-07 04:15:50 UTC (rev 20670)
@@ -0,0 +1,28 @@
+commit 6af7f0e6
+Author: Chris Double <chris.double at double.co.nz>
+Date:   Tue Feb 3 11:20:17 2015 +1300
+
+    Bug 1128161 - Fix build error when logging is disabled - r=ajones
+---
+ dom/media/mediasource/MediaSourceUtils.cpp | 2 --
+ 1 file changed, 2 deletions(-)
+
+diff --git dom/media/mediasource/MediaSourceUtils.cpp dom/media/mediasource/MediaSourceUtils.cpp
+index 44a40f5..83bba60 100644
+--- mozilla/dom/media/mediasource/MediaSourceUtils.cpp
++++ mozilla/dom/media/mediasource/MediaSourceUtils.cpp
+@@ -11,7 +11,6 @@
+ 
+ namespace mozilla {
+ 
+-#if defined(PR_LOGGING)
+ nsCString
+ DumpTimeRanges(dom::TimeRanges* aRanges)
+ {
+@@ -31,6 +30,5 @@ DumpTimeRanges(dom::TimeRanges* aRanges)
+ 
+   return dump;
+ }
+-#endif
+ 
+ } // namespace mozilla


Property changes on: trunk/www/seamonkey/files/patch-bug1128161
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
Added: trunk/www/seamonkey/files/patch-bug1130155
===================================================================
--- trunk/www/seamonkey/files/patch-bug1130155	                        (rev 0)
+++ trunk/www/seamonkey/files/patch-bug1130155	2015-11-07 04:15:50 UTC (rev 20670)
@@ -0,0 +1,179 @@
+commit eab3e3a
+Author: Mikhail Teterin <mi at aldan.algebra.com>
+Date:   Tue Dec 16 19:34:02 2014 -0800
+
+    Bug 1130155 - Avoid assert failures when consuming only part of buffer.
+---
+ media/libcubeb/src/cubeb_alsa.c | 112 ++++++++++++++++++++++++++++++----------
+ 1 file changed, 85 insertions(+), 27 deletions(-)
+
+diff --git media/libcubeb/src/cubeb_alsa.c media/libcubeb/src/cubeb_alsa.c
+index 9bbc129..e72944a 100644
+--- mozilla/media/libcubeb/src/cubeb_alsa.c
++++ mozilla/media/libcubeb/src/cubeb_alsa.c
+@@ -14,6 +14,8 @@
+ #include <limits.h>
+ #include <dlfcn.h>
+ #include <poll.h>
++#include <stdlib.h>
++#include <stdio.h>
+ #include <unistd.h>
+ #include <alsa/asoundlib.h>
+ #include "cubeb/cubeb.h"
+@@ -45,6 +47,7 @@ MAKE_TYPEDEF(snd_pcm_avail_update);
+ MAKE_TYPEDEF(snd_pcm_close);
+ MAKE_TYPEDEF(snd_pcm_delay);
+ MAKE_TYPEDEF(snd_pcm_drain);
++MAKE_TYPEDEF(snd_pcm_forward);
+ MAKE_TYPEDEF(snd_pcm_frames_to_bytes);
+ MAKE_TYPEDEF(snd_pcm_get_params);
+ /* snd_pcm_hw_params_alloca is actually a macro */
+@@ -305,32 +308,35 @@ alsa_refill_stream(cubeb_stream * stm)
+   long got;
+   void * p;
+   int draining;
++  unsigned pipefailures, againfailures;
+ 
+   draining = 0;
+ 
+   pthread_mutex_lock(&stm->mutex);
+ 
+-  r = WRAP(snd_pcm_poll_descriptors_revents)(stm->pcm, stm->fds, stm->nfds, &revents);
+-  if (r < 0 || revents != POLLOUT) {
+-    /* This should be a stream error; it makes no sense for poll(2) to wake
+-       for this stream and then have the stream report that it's not ready.
+-       Unfortunately, this does happen, so just bail out and try again. */
+-    pthread_mutex_unlock(&stm->mutex);
+-    return RUNNING;
+-  }
++  for (pipefailures = 0;;) {
++    r = WRAP(snd_pcm_poll_descriptors_revents)(stm->pcm, stm->fds, stm->nfds, &revents);
++    if (r < 0 || revents != POLLOUT ||
++      (avail = WRAP(snd_pcm_avail_update)(stm->pcm)) == 0) {
++      /* This should be a stream error; it makes no sense for poll(2) to wake
++         for this stream and then have the stream report that it's not ready.
++         Unfortunately, this does happen, so just bail out and try again. */
++      pthread_mutex_unlock(&stm->mutex);
++      return RUNNING;
++    }
+ 
+-  avail = WRAP(snd_pcm_avail_update)(stm->pcm);
+-  if (avail == -EPIPE) {
++    if (avail > 0)
++      break;
++    if (pipefailures++ > 11) {
++      fprintf(stderr, "%s: repeated failures from snd_pcm_avail_update, "
++              "giving up\n", __func__);
++      pthread_mutex_unlock(&stm->mutex);
++      stm->state_callback(stm, stm->user_ptr, CUBEB_STATE_ERROR);
++      return ERROR;
++    }
+     WRAP(snd_pcm_recover)(stm->pcm, avail, 1);
+-    avail = WRAP(snd_pcm_avail_update)(stm->pcm);
+-  }
+-
+-  /* Failed to recover from an xrun, this stream must be broken. */
+-  if (avail < 0) {
+-    pthread_mutex_unlock(&stm->mutex);
+-    stm->state_callback(stm, stm->user_ptr, CUBEB_STATE_ERROR);
+-    return ERROR;
+   }
++  pipefailures = againfailures = 0;
+ 
+   /* This should never happen. */
+   if ((unsigned int) avail > stm->buffer_size) {
+@@ -359,10 +365,11 @@ alsa_refill_stream(cubeb_stream * stm)
+   if (got < 0) {
+     pthread_mutex_unlock(&stm->mutex);
+     stm->state_callback(stm, stm->user_ptr, CUBEB_STATE_ERROR);
++    free(p);
+     return ERROR;
+   }
+   if (got > 0) {
+-    snd_pcm_sframes_t wrote;
++    snd_pcm_sframes_t wrote, towrite = got;
+ 
+     if (stm->params.format == CUBEB_SAMPLE_FLOAT32NE) {
+       float * b = (float *) p;
+@@ -375,14 +382,62 @@ alsa_refill_stream(cubeb_stream * stm)
+         b[i] *= stm->volume;
+       }
+     }
+-    wrote = WRAP(snd_pcm_writei)(stm->pcm, p, got);
+-    if (wrote == -EPIPE) {
+-      WRAP(snd_pcm_recover)(stm->pcm, wrote, 1);
+-      wrote = WRAP(snd_pcm_writei)(stm->pcm, p, got);
++    for (;;) {
++      wrote = WRAP(snd_pcm_writei)(stm->pcm, p,
++        towrite > avail ? avail : towrite);
++      switch(wrote) {
++      case -EPIPE:
++        if (pipefailures++ > 3) {
++          fprintf(stderr, "%s: Too many underflows, giving up\n", __func__);
++          stm->state_callback(stm, stm->user_ptr, CUBEB_STATE_ERROR);
++          pthread_mutex_unlock(&stm->mutex);
++          free(p);
++          return ERROR;
++        }
++        WRAP(snd_pcm_recover)(stm->pcm, wrote, 1);
++        continue;
++      case -EAGAIN:
++        if (againfailures++ > 3) {
++          fprintf(stderr, "%s: Too many -EAGAIN errors from snd_pcm_writei, "
++	    "giving up\n", __func__);
++          stm->state_callback(stm, stm->user_ptr, CUBEB_STATE_ERROR);
++          pthread_mutex_unlock(&stm->mutex);
++          free(p);
++          return ERROR;
++        }
++        continue;
++      case -EBADFD:
++        fprintf(stderr, "%s: snc_pcm_writei returned -%s, giving up\n",
++                __func__, "EBADFD");
++        free(p);
++        stm->state_callback(stm, stm->user_ptr, CUBEB_STATE_ERROR);
++        pthread_mutex_unlock(&stm->mutex);
++        return ERROR;
++      }
++      if (wrote < 0) {
++        fprintf(stderr, "%s: snc_pcm_writei returned unexpected error %lld, "
++                "giving up\n", __func__, (long long)wrote);
++        free(p);
++        stm->state_callback(stm, stm->user_ptr, CUBEB_STATE_ERROR);
++        pthread_mutex_unlock(&stm->mutex);
++        return ERROR;
++      }
++      pipefailures = againfailures = 0;
++      stm->write_position += wrote;
++      gettimeofday(&stm->last_activity, NULL);
++      if (wrote > towrite) {
++        fprintf(stderr, "%s: snc_pcm_writei wrote %lld frames, which was more "
++	        "than we requested (%lld). This should not happen, giving up\n",
++                __func__, (long long)wrote, (long long)towrite);
++        free(p);
++        stm->state_callback(stm, stm->user_ptr, CUBEB_STATE_ERROR);
++        pthread_mutex_unlock(&stm->mutex);
++        return ERROR;
++      }
++      if (towrite == wrote)
++        break;
++      towrite -= wrote;
+     }
+-    assert(wrote >= 0 && wrote == got);
+-    stm->write_position += wrote;
+-    gettimeofday(&stm->last_activity, NULL);
+   }
+   if (got != avail) {
+     long buffer_fill = stm->buffer_size - (avail - got);
+@@ -1177,7 +1232,10 @@ alsa_stream_get_position(cubeb_stream * stm, uint64_t * position)
+     return CUBEB_OK;
+   }
+ 
+-  assert(delay >= 0);
++  if (delay < 0) {
++    WRAP(snd_pcm_forward)(stm->pcm, -delay);
++    delay = 0;
++  }
+ 
+   *position = 0;
+   if (stm->write_position >= (snd_pcm_uframes_t) delay) {


Property changes on: trunk/www/seamonkey/files/patch-bug1130155
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
Added: trunk/www/seamonkey/files/patch-bug1143411
===================================================================
--- trunk/www/seamonkey/files/patch-bug1143411	                        (rev 0)
+++ trunk/www/seamonkey/files/patch-bug1143411	2015-11-07 04:15:50 UTC (rev 20670)
@@ -0,0 +1,27 @@
+https://bugzilla.mozilla.org/show_bug.cgi?id=1143411
+
+diff --git a/config/system-headers b/config/system-headers
+--- mozilla/config/system-headers
++++ mozilla/config/system-headers
+@@ -465,16 +465,17 @@ freetype/tttables.h
+ freetype/t1tables.h
+ freetype/ftlcdfil.h
+ freetype/ftsizes.h
+ freetype/ftadvanc.h
+ freetype/ftbitmap.h
+ freetype/ftxf86.h
+ freetype.h
+ ftcache.h
++ftfntfmt.h
+ ftglyph.h
+ ftsynth.h
+ ftoutln.h
+ ttnameid.h
+ tttables.h
+ t1tables.h
+ ftlcdfil.h
+ ftsizes.h
+
+
+
+


Property changes on: trunk/www/seamonkey/files/patch-bug1143411
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
Added: trunk/www/seamonkey/files/patch-bug292127
===================================================================
--- trunk/www/seamonkey/files/patch-bug292127	                        (rev 0)
+++ trunk/www/seamonkey/files/patch-bug292127	2015-11-07 04:15:50 UTC (rev 20670)
@@ -0,0 +1,232 @@
+--- ldap/sdks/c-sdk/ldap/include/ldap.h~
++++ ldap/sdks/c-sdk/ldap/include/ldap.h
+@@ -40,6 +40,229 @@
+ #ifndef _LDAP_H
+ #define _LDAP_H
+ 
++/* rename symbols to not clash with openldap (bug 292127) */
++#define ldap_abandon moz_ldap_abandon
++#define ldap_abandon_ext moz_ldap_abandon_ext
++#define ldap_abandoned moz_ldap_abandoned
++#define ldap_add moz_ldap_add
++#define ldap_add_ext moz_ldap_add_ext
++#define ldap_add_ext_s moz_ldap_add_ext_s
++#define ldap_add_result_entry moz_ldap_add_result_entry
++#define ldap_add_s moz_ldap_add_s
++#define ldap_ber_free moz_ldap_ber_free
++#define ldap_bind moz_ldap_bind
++#define ldap_bind_s moz_ldap_bind_s
++#define ldap_build_filter moz_ldap_build_filter
++#define ldap_cache_flush moz_ldap_cache_flush
++#define ldap_charray_add moz_ldap_charray_add
++#define ldap_charray_dup moz_ldap_charray_dup
++#define ldap_charray_free moz_ldap_charray_free
++#define ldap_charray_inlist moz_ldap_charray_inlist
++#define ldap_charray_merge moz_ldap_charray_merge
++#define ldap_charray_position moz_ldap_charray_position
++#define ldap_compare moz_ldap_compare
++#define ldap_compare_ext moz_ldap_compare_ext
++#define ldap_compare_ext_s moz_ldap_compare_ext_s
++#define ldap_compare_s moz_ldap_compare_s
++#define ldap_control_free moz_ldap_control_free
++#define ldap_controls_free moz_ldap_controls_free
++#define ldap_count_entries moz_ldap_count_entries
++#define ldap_count_messages moz_ldap_count_messages
++#define ldap_count_references moz_ldap_count_references
++#define ldap_count_values moz_ldap_count_values
++#define ldap_count_values_len moz_ldap_count_values_len
++#define ldap_create_authzid_control moz_ldap_create_authzid_control
++#define ldap_create_filter moz_ldap_create_filter
++#define ldap_create_geteffectiveRights_control moz_ldap_create_geteffectiveRights_control
++#define ldap_create_passwordpolicy_control moz_ldap_create_passwordpolicy_control
++#define ldap_create_passwordpolicy_control_ext moz_ldap_create_passwordpolicy_control_ext
++#define ldap_create_persistentsearch_control moz_ldap_create_persistentsearch_control
++#define ldap_create_proxiedauth_control moz_ldap_create_proxiedauth_control
++#define ldap_create_proxyauth_control moz_ldap_create_proxyauth_control
++#define ldap_create_sort_control moz_ldap_create_sort_control
++#define ldap_create_sort_keylist moz_ldap_create_sort_keylist
++#define ldap_create_userstatus_control moz_ldap_create_userstatus_control
++#define ldap_create_virtuallist_control moz_ldap_create_virtuallist_control
++#define ldap_delete moz_ldap_delete
++#define ldap_delete_ext moz_ldap_delete_ext
++#define ldap_delete_ext_s moz_ldap_delete_ext_s
++#define ldap_delete_result_entry moz_ldap_delete_result_entry
++#define ldap_delete_s moz_ldap_delete_s
++#define ldap_dn2ufn moz_ldap_dn2ufn
++#define ldap_entry2html moz_ldap_entry2html
++#define ldap_entry2html_search moz_ldap_entry2html_search
++#define ldap_entry2text moz_ldap_entry2text
++#define ldap_entry2text_search moz_ldap_entry2text_search
++#define ldap_err2string moz_ldap_err2string
++#define ldap_errlist moz_ldap_errlist
++#define ldap_explode moz_ldap_explode
++#define ldap_explode_dn moz_ldap_explode_dn
++#define ldap_explode_dns moz_ldap_explode_dns
++#define ldap_explode_rdn moz_ldap_explode_rdn
++#define ldap_extended_operation moz_ldap_extended_operation
++#define ldap_extended_operation_s moz_ldap_extended_operation_s
++#define ldap_find_control moz_ldap_find_control
++#define ldap_first_attribute moz_ldap_first_attribute
++#define ldap_first_disptmpl moz_ldap_first_disptmpl
++#define ldap_first_entry moz_ldap_first_entry
++#define ldap_first_message moz_ldap_first_message
++#define ldap_first_reference moz_ldap_first_reference
++#define ldap_first_searchobj moz_ldap_first_searchobj
++#define ldap_first_tmplcol moz_ldap_first_tmplcol
++#define ldap_first_tmplrow moz_ldap_first_tmplrow
++#define ldap_free_friendlymap moz_ldap_free_friendlymap
++#define ldap_free_searchprefs moz_ldap_free_searchprefs
++#define ldap_free_sort_keylist moz_ldap_free_sort_keylist
++#define ldap_free_templates moz_ldap_free_templates
++#define ldap_free_urldesc moz_ldap_free_urldesc
++#define ldap_friendly_name moz_ldap_friendly_name
++#define ldap_get_dn moz_ldap_get_dn
++#define ldap_get_entry_controls moz_ldap_get_entry_controls
++#define ldap_get_lang_values moz_ldap_get_lang_values
++#define ldap_get_lang_values_len moz_ldap_get_lang_values_len
++#define ldap_get_lderrno moz_ldap_get_lderrno
++#define ldap_get_option moz_ldap_get_option
++#define ldap_get_values moz_ldap_get_values
++#define ldap_get_values_len moz_ldap_get_values_len
++#define ldap_getfilter_free moz_ldap_getfilter_free
++#define ldap_getfirstfilter moz_ldap_getfirstfilter
++#define ldap_getnextfilter moz_ldap_getnextfilter
++#define ldap_init moz_ldap_init
++#define ldap_init_getfilter moz_ldap_init_getfilter
++#define ldap_init_getfilter_buf moz_ldap_init_getfilter_buf
++#define ldap_init_searchprefs moz_ldap_init_searchprefs
++#define ldap_init_searchprefs_buf moz_ldap_init_searchprefs_buf
++#define ldap_init_templates moz_ldap_init_templates
++#define ldap_init_templates_buf moz_ldap_init_templates_buf
++#define ldap_is_dns_dn moz_ldap_is_dns_dn
++#define ldap_is_ldap_url moz_ldap_is_ldap_url
++#define ldap_keysort_entries moz_ldap_keysort_entries
++#define ldap_ld_free moz_ldap_ld_free
++#define ldap_memcache_abandon moz_ldap_memcache_abandon
++#define ldap_memcache_append moz_ldap_memcache_append
++#define ldap_memcache_createkey moz_ldap_memcache_createkey
++#define ldap_memcache_destroy moz_ldap_memcache_destroy
++#define ldap_memcache_flush moz_ldap_memcache_flush
++#define ldap_memcache_flush_results moz_ldap_memcache_flush_results
++#define ldap_memcache_get moz_ldap_memcache_get
++#define ldap_memcache_init moz_ldap_memcache_init
++#define ldap_memcache_new moz_ldap_memcache_new
++#define ldap_memcache_result moz_ldap_memcache_result
++#define ldap_memcache_set moz_ldap_memcache_set
++#define ldap_memcache_update moz_ldap_memcache_update
++#define ldap_memfree moz_ldap_memfree
++#define ldap_modify moz_ldap_modify
++#define ldap_modify_ext moz_ldap_modify_ext
++#define ldap_modify_ext_s moz_ldap_modify_ext_s
++#define ldap_modify_s moz_ldap_modify_s
++#define ldap_modrdn moz_ldap_modrdn
++#define ldap_modrdn2 moz_ldap_modrdn2
++#define ldap_modrdn2_s moz_ldap_modrdn2_s
++#define ldap_modrdn_s moz_ldap_modrdn_s
++#define ldap_mods_free moz_ldap_mods_free
++#define ldap_msgdelete moz_ldap_msgdelete
++#define ldap_msgfree moz_ldap_msgfree
++#define ldap_msgid moz_ldap_msgid
++#define ldap_msgtype moz_ldap_msgtype
++#define ldap_multisort_entries moz_ldap_multisort_entries
++#define ldap_name2template moz_ldap_name2template
++#define ldap_next_attribute moz_ldap_next_attribute
++#define ldap_next_disptmpl moz_ldap_next_disptmpl
++#define ldap_next_entry moz_ldap_next_entry
++#define ldap_next_message moz_ldap_next_message
++#define ldap_next_reference moz_ldap_next_reference
++#define ldap_next_searchobj moz_ldap_next_searchobj
++#define ldap_next_tmplcol moz_ldap_next_tmplcol
++#define ldap_next_tmplrow moz_ldap_next_tmplrow
++#define ldap_oc2template moz_ldap_oc2template
++#define ldap_open moz_ldap_open
++#define ldap_parse_authzid_control moz_ldap_parse_authzid_control
++#define ldap_parse_entrychange_control moz_ldap_parse_entrychange_control
++#define ldap_parse_extended_result moz_ldap_parse_extended_result
++#define ldap_parse_passwd moz_ldap_parse_passwd
++#define ldap_parse_passwordpolicy_control moz_ldap_parse_passwordpolicy_control
++#define ldap_parse_passwordpolicy_control_ext moz_ldap_parse_passwordpolicy_control_ext
++#define ldap_parse_reference moz_ldap_parse_reference
++#define ldap_parse_result moz_ldap_parse_result
++#define ldap_parse_sasl_bind_result moz_ldap_parse_sasl_bind_result
++#define ldap_parse_sort_control moz_ldap_parse_sort_control
++#define ldap_parse_userstatus_control moz_ldap_parse_userstatus_control
++#define ldap_parse_virtuallist_control moz_ldap_parse_virtuallist_control
++#define ldap_parse_whoami moz_ldap_parse_whoami
++#define ldap_passwd moz_ldap_passwd
++#define ldap_passwd_s moz_ldap_passwd_s
++#define ldap_passwordpolicy_err2txt moz_ldap_passwordpolicy_err2txt
++#define ldap_perror moz_ldap_perror
++#define ldap_rename moz_ldap_rename
++#define ldap_rename_s moz_ldap_rename_s
++#define ldap_result moz_ldap_result
++#define ldap_result2error moz_ldap_result2error
++#define ldap_sasl_bind moz_ldap_sasl_bind
++#define ldap_sasl_bind_s moz_ldap_sasl_bind_s
++#define ldap_sasl_interactive_bind_ext_s moz_ldap_sasl_interactive_bind_ext_s
++#define ldap_sasl_interactive_bind_s moz_ldap_sasl_interactive_bind_s
++#define ldap_search moz_ldap_search
++#define ldap_search_ext moz_ldap_search_ext
++#define ldap_search_ext_s moz_ldap_search_ext_s
++#define ldap_search_s moz_ldap_search_s
++#define ldap_search_st moz_ldap_search_st
++#define ldap_set_filter_additions moz_ldap_set_filter_additions
++#define ldap_set_lderrno moz_ldap_set_lderrno
++#define ldap_set_option moz_ldap_set_option
++#define ldap_set_rebind_proc moz_ldap_set_rebind_proc
++#define ldap_setfilteraffixes moz_ldap_setfilteraffixes
++#define ldap_simple_bind moz_ldap_simple_bind
++#define ldap_simple_bind_s moz_ldap_simple_bind_s
++#define ldap_sort_entries moz_ldap_sort_entries
++#define ldap_sort_strcasecmp moz_ldap_sort_strcasecmp
++#define ldap_sort_values moz_ldap_sort_values
++#define ldap_start_tls_s moz_ldap_start_tls_s
++#define ldap_str2charray moz_ldap_str2charray
++#define ldap_tmplattrs moz_ldap_tmplattrs
++#define ldap_tmplerr2string moz_ldap_tmplerr2string
++#define ldap_tmplerrlist moz_ldap_tmplerrlist
++#define ldap_ufn_search_c moz_ldap_ufn_search_c
++#define ldap_ufn_search_ct moz_ldap_ufn_search_ct
++#define ldap_ufn_search_ctx moz_ldap_ufn_search_ctx
++#define ldap_ufn_search_s moz_ldap_ufn_search_s
++#define ldap_ufn_setfilter moz_ldap_ufn_setfilter
++#define ldap_ufn_setprefix moz_ldap_ufn_setprefix
++#define ldap_ufn_timeout moz_ldap_ufn_timeout
++#define ldap_unbind moz_ldap_unbind
++#define ldap_unbind_ext moz_ldap_unbind_ext
++#define ldap_unbind_s moz_ldap_unbind_s
++#define ldap_url_parse moz_ldap_url_parse
++#define ldap_url_parse_no_defaults moz_ldap_url_parse_no_defaults
++#define ldap_url_search moz_ldap_url_search
++#define ldap_url_search_s moz_ldap_url_search_s
++#define ldap_url_search_st moz_ldap_url_search_st
++#define ldap_utf8characters moz_ldap_utf8characters
++#define ldap_utf8copy moz_ldap_utf8copy
++#define ldap_utf8getcc moz_ldap_utf8getcc
++#define ldap_utf8isalnum moz_ldap_utf8isalnum
++#define ldap_utf8isalpha moz_ldap_utf8isalpha
++#define ldap_utf8isdigit moz_ldap_utf8isdigit
++#define ldap_utf8isspace moz_ldap_utf8isspace
++#define ldap_utf8isxdigit moz_ldap_utf8isxdigit
++#define ldap_utf8len moz_ldap_utf8len
++#define ldap_utf8next moz_ldap_utf8next
++#define ldap_utf8prev moz_ldap_utf8prev
++#define ldap_utf8strtok_r moz_ldap_utf8strtok_r
++#define ldap_vals2html moz_ldap_vals2html
++#define ldap_vals2text moz_ldap_vals2text
++#define ldap_value_free moz_ldap_value_free
++#define ldap_value_free_len moz_ldap_value_free_len
++#define ldap_version moz_ldap_version
++#define ldap_whoami moz_ldap_whoami
++#define ldap_whoami_s moz_ldap_whoami_s
++#define ldap_x_calloc moz_ldap_x_calloc
++#define ldap_x_free moz_ldap_x_free
++#define ldap_x_hostlist_first moz_ldap_x_hostlist_first
++#define ldap_x_hostlist_next moz_ldap_x_hostlist_next
++#define ldap_x_hostlist_statusfree moz_ldap_x_hostlist_statusfree
++#define ldap_x_malloc moz_ldap_x_malloc
++#define ldap_x_realloc moz_ldap_x_realloc
++
+ /* Standard LDAP API functions and declarations */ 
+ #include "ldap-standard.h"
+ 


Property changes on: trunk/www/seamonkey/files/patch-bug292127
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
Added: trunk/www/seamonkey/files/patch-bug702179
===================================================================
--- trunk/www/seamonkey/files/patch-bug702179	                        (rev 0)
+++ trunk/www/seamonkey/files/patch-bug702179	2015-11-07 04:15:50 UTC (rev 20670)
@@ -0,0 +1,24 @@
+commit 6ddaacd
+Author: Ginn Chen <ginn.chen at oracle.com>
+Date:   Wed Nov 30 07:23:46 2011 +0800
+
+    Bug 702179 dtrace probes are not installed on Solaris with static js lib r=glandium
+---
+ js/src/Makefile.in        | 3 ---
+ toolkit/library/moz.build | 5 -----
+ 2 files changed, 8 deletions(-)
+
+diff --git js/src/Makefile.in js/src/Makefile.in
+index 62bbfa0..90400cb 100644
+--- mozilla/js/src/Makefile.in
++++ mozilla/js/src/Makefile.in
+@@ -17,9 +17,6 @@ TOPLEVEL_BUILD := 1
+ run_for_side_effects := $(shell echo 'MAKE: $(MAKE)')
+ EXTRA_LIBS		+= $(NSPR_LIBS)
+ 
+-DIST_INSTALL = 1
+-NO_EXPAND_LIBS = 1
+-
+ ifdef JS_HAS_CTYPES
+ ifdef MOZ_NATIVE_FFI
+ LOCAL_INCLUDES = $(MOZ_FFI_CFLAGS)


Property changes on: trunk/www/seamonkey/files/patch-bug702179
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
Added: trunk/www/seamonkey/files/patch-bug779713
===================================================================
--- trunk/www/seamonkey/files/patch-bug779713	                        (rev 0)
+++ trunk/www/seamonkey/files/patch-bug779713	2015-11-07 04:15:50 UTC (rev 20670)
@@ -0,0 +1,77 @@
+diff --git mfbt/Alignment.h mfbt/Alignment.h
+index e0843ca..353ec36 100644
+--- mozilla/mfbt/Alignment.h
++++ mozilla/mfbt/Alignment.h
+@@ -9,11 +9,20 @@
+ #ifndef mozilla_Alignment_h
+ #define mozilla_Alignment_h
+ 
++#include "mozilla/Attributes.h"
++
+ #include <stddef.h>
+ #include <stdint.h>
+ 
+ namespace mozilla {
+ 
++#if defined(MOZ_HAVE_CXX11_ALIGNAS)
++#define MOZ_ALIGNOF(T) alignof(T)
++#elif defined(__GNUC__)
++#define MOZ_ALIGNOF(T) __alignof__(T)
++#elif defined(_MSC_VER)
++#define MOZ_ALIGNOF(T) __alignof(T)
++#else
+ /*
+  * This class, and the corresponding macro MOZ_ALIGNOF, figures out how many
+  * bytes of alignment a given type needs.
+@@ -32,6 +41,7 @@ public:
+ };
+ 
+ #define MOZ_ALIGNOF(T) mozilla::AlignmentFinder<T>::alignment
++#endif
+ 
+ /*
+  * Declare the MOZ_ALIGNED_DECL macro for declaring aligned types.
+@@ -43,7 +53,10 @@ public:
+  * will declare a two-character array |arr| aligned to 8 bytes.
+  */
+ 
+-#if defined(__GNUC__)
++#if defined(MOZ_HAVE_CXX11_ALIGNAS)
++#  define MOZ_ALIGNED_DECL(_type, _align) \
++     alignas(_align) _type
++#elif defined(__GNUC__)
+ #  define MOZ_ALIGNED_DECL(_type, _align) \
+      _type __attribute__((aligned(_align)))
+ #elif defined(_MSC_VER)
+diff --git mfbt/Attributes.h mfbt/Attributes.h
+index d317766..ddb13da 100644
+--- mozilla/mfbt/Attributes.h
++++ mozilla/mfbt/Attributes.h
+@@ -51,6 +51,7 @@
+  * http://stackoverflow.com/questions/20498142/visual-studio-2013-explicit-keyword-bug
+  */
+ #  if _MSC_VER >= 1800
++#    define MOZ_HAVE_CXX11_ALIGNAS
+ #    define MOZ_HAVE_CXX11_DELETE
+ #  endif
+ #  if _MSC_VER >= 1700
+@@ -74,6 +75,9 @@
+ #  ifndef __has_extension
+ #    define __has_extension __has_feature /* compatibility, for older versions of clang */
+ #  endif
++#  if __has_extension(cxx_alignas)
++#    define MOZ_HAVE_CXX11_ALIGNAS
++#  endif
+ #  if __has_extension(cxx_constexpr)
+ #    define MOZ_HAVE_CXX11_CONSTEXPR
+ #  endif
+@@ -95,6 +99,9 @@
+ #  endif
+ #elif defined(__GNUC__)
+ #  if defined(__GXX_EXPERIMENTAL_CXX0X__) || __cplusplus >= 201103L
++#    if MOZ_GCC_VERSION_AT_LEAST(4, 8, 0)
++#      define MOZ_HAVE_CXX11_ALIGNAS
++#    endif
+ #    if MOZ_GCC_VERSION_AT_LEAST(4, 7, 0)
+ #      define MOZ_HAVE_CXX11_OVERRIDE
+ #      define MOZ_HAVE_CXX11_FINAL       final


Property changes on: trunk/www/seamonkey/files/patch-bug779713
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
Added: trunk/www/seamonkey/files/patch-bug826985
===================================================================
--- trunk/www/seamonkey/files/patch-bug826985	                        (rev 0)
+++ trunk/www/seamonkey/files/patch-bug826985	2015-11-07 04:15:50 UTC (rev 20670)
@@ -0,0 +1,179 @@
+commit 8024d93
+Author: Henrik Gulbrandsen <henrik at gulbra.net>
+Date:   Fri Jan 4 13:49:22 2013 +0100
+
+    Bug 826985 - Support more video formats for WebRTC via libv4l2 on Linux.
+---
+ config/system-headers                                   |  1 +
+ configure.in                                            |  7 +++++++
+ media/webrtc/signaling/test/Makefile.in                 |  1 +
+ .../modules/video_capture/linux/device_info_linux.cc    | 17 +++++++++++++++++
+ .../modules/video_capture/linux/video_capture_linux.cc  | 16 +++++++++++++++-
+ .../webrtc/modules/video_capture/video_capture.gypi     | 11 +++++++++++
+ toolkit/library/Makefile.in                             |  1 +
+ 6 files changed, 52 insertions(+), 1 deletion(-)
+
+diff --git config/system-headers config/system-headers
+index 55e4cd1..76567b3 100644
+--- mozilla/config/system-headers
++++ mozilla/config/system-headers
+@@ -635,6 +635,7 @@ libgnomevfs/gnome-vfs-mime-handlers.h
+ libgnomevfs/gnome-vfs-mime-utils.h
+ libgnomevfs/gnome-vfs-ops.h
+ libgnomevfs/gnome-vfs-standard-callbacks.h
++libv4l2.h
+ lib$routines.h
+ limits
+ limits.h
+diff --git configure.in configure.in
+index 55e4cd1..76567b3 100644
+--- mozilla/configure.in
++++ mozilla/configure.in
+@@ -5309,6 +5309,9 @@ if test -n "$MOZ_WEBRTC"; then
+     MOZ_VP8_ENCODER=1
+     MOZ_VP8_ERROR_CONCEALMENT=1
+ 
++    dnl with libv4l2 we can support more cameras
++    PKG_CHECK_MODULES(MOZ_LIBV4L2, libv4l2)
++
+ dnl enable once Signaling lands
+     MOZ_WEBRTC_SIGNALING=1
+     AC_DEFINE(MOZ_WEBRTC_SIGNALING)
+diff --git build/gyp.mozbuild build/gyp.mozbuild
+index b483cd1..f1dd1f0 100644
+--- mozilla/build/gyp.mozbuild
++++ mozilla/build/gyp.mozbuild
+@@ -11,6 +11,7 @@ gyp_vars = {
+     'have_ethtool_cmd_speed_hi': 1 if CONFIG['MOZ_WEBRTC_HAVE_ETHTOOL_SPEED_HI'] else 0,
+     'include_alsa_audio': 1 if CONFIG['MOZ_ALSA'] else 0,
+     'include_pulse_audio': 1 if CONFIG['MOZ_PULSEAUDIO'] else 0,
++    'use_libv4l2': 1 if CONFIG['MOZ_LIBV4L2_LIBS'] else 0,
+     # basic stuff for everything
+     'include_internal_video_render': 0,
+     'clang_use_chrome_plugins': 0,
+diff --git media/webrtc/signaling/test/moz.build media/webrtc/signaling/test/moz.build
+index b483cd1..f1dd1f0 100644
+--- mozilla/media/webrtc/signaling/test/moz.build
++++ mozilla/media/webrtc/signaling/test/moz.build
+@@ -122,6 +122,7 @@ if CONFIG['JS_SHARED_LIBRARY']:
+         'js',
+     ]
+ 
++OS_LIBS += CONFIG['MOZ_LIBV4L2_LIBS']
+ OS_LIBS += CONFIG['MOZ_WEBRTC_X11_LIBS']
+ OS_LIBS += CONFIG['REALTIME_LIBS']
+ 
+diff --git media/webrtc/trunk/webrtc/modules/video_capture/linux/device_info_linux.cc media/webrtc/trunk/webrtc/modules/video_capture/linux/device_info_linux.cc
+index 239a292..bab496c 100644
+--- 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
+@@ -25,10 +25,21 @@
+ #else
+ #include <linux/videodev2.h>
+ #endif
++#ifdef HAVE_LIBV4L2
++#include <libv4l2.h>
++#endif
+ 
+ #include "webrtc/system_wrappers/interface/ref_count.h"
+ #include "webrtc/system_wrappers/interface/trace.h"
+ 
++#ifdef HAVE_LIBV4L2
++#define open	v4l2_open
++#define close	v4l2_close
++#define dup	v4l2_dup
++#define ioctl	v4l2_ioctl
++#define mmap	v4l2_mmap
++#define munmap	v4l2_munmap
++#endif
+ 
+ namespace webrtc
+ {
+@@ -130,6 +142,11 @@ WebRtc_Word32 DeviceInfoLinux::GetDeviceName(
+     memset(deviceNameUTF8, 0, deviceNameLength);
+     memcpy(cameraName, cap.card, sizeof(cap.card));
+ 
++    if (cameraName[0] == '\0')
++    {
++        sprintf(cameraName, "Camera at /dev/video%d", deviceNumber);
++    }
++
+     if (deviceNameLength >= strlen(cameraName))
+     {
+         memcpy(deviceNameUTF8, cameraName, strlen(cameraName));
+diff --git media/webrtc/trunk/webrtc/modules/video_capture/linux/video_capture_linux.cc media/webrtc/trunk/webrtc/modules/video_capture/linux/video_capture_linux.cc
+index 12df1b3..e9863ba 100644
+--- 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
+@@ -25,6 +25,9 @@
+ #else
+ #include <linux/videodev2.h>
+ #endif
++#ifdef HAVE_LIBV4L2
++#include <libv4l2.h>
++#endif
+ 
+ #include <new>
+ 
+@@ -26,6 +31,15 @@
+ #include "critical_section_wrapper.h"
+ #include "video_capture_linux.h"
+ 
++#ifdef HAVE_LIBV4L2
++#define open	v4l2_open
++#define close	v4l2_close
++#define dup	v4l2_dup
++#define ioctl	v4l2_ioctl
++#define mmap	v4l2_mmap
++#define munmap	v4l2_munmap
++#endif
++
+ namespace webrtc
+ {
+ namespace videocapturemodule
+diff --git media/webrtc/trunk/webrtc/modules/video_capture/video_capture.gypi media/webrtc/trunk/webrtc/modules/video_capture/video_capture.gypi
+index d46b5aa..e452223 100644
+--- mozilla/media/webrtc/trunk/webrtc/modules/video_capture/video_capture.gypi
++++ mozilla/media/webrtc/trunk/webrtc/modules/video_capture/video_capture.gypi
+@@ -7,6 +7,9 @@
+ # be found in the AUTHORS file in the root of the source tree.
+ 
+ {
++  'variables': {
++     'use_libv4l2%': 0,
++  },
+   'targets': [
+     {
+       'target_name': 'video_capture_module',
+@@ -46,6 +49,19 @@
+                 'linux/video_capture_linux.cc',
+                 'linux/video_capture_linux.h',
+               ],
++              'conditions': [
++                ['use_libv4l2==1', {
++                  'defines': [
++                    'HAVE_LIBV4L2',
++                  ],
++                  'cflags_mozilla': [
++                    '$(MOZ_LIBV4L2_CFLAGS)',
++                  ],
++                  'libraries': [
++                    '-lv4l2',
++                  ],
++                }],
++              ],
+             }],  # linux
+             ['OS=="mac"', {
+               'sources': [
+diff --git toolkit/library/moz.build toolkit/library/moz.build
+index 9c16ffa..1db3794 100644
+--- mozilla/toolkit/library/moz.build
++++ mozilla/toolkit/library/moz.build
+@@ -163,6 +163,7 @@ if CONFIG['OS_ARCH'] == 'Linux' and CONF
+     ]
+ 
+ OS_LIBS += CONFIG['MOZ_CAIRO_OSLIBS']
++OS_LIBS += CONFIG['MOZ_LIBV4L2_LIBS']
+ OS_LIBS += CONFIG['MOZ_WEBRTC_X11_LIBS']
+ OS_LIBS += CONFIG['MOZ_APP_EXTRA_LIBS']
+ 


Property changes on: trunk/www/seamonkey/files/patch-bug826985
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
Added: trunk/www/seamonkey/files/patch-bug847568
===================================================================
--- trunk/www/seamonkey/files/patch-bug847568	                        (rev 0)
+++ trunk/www/seamonkey/files/patch-bug847568	2015-11-07 04:15:50 UTC (rev 20670)
@@ -0,0 +1,244 @@
+# Allow building against system-wide graphite2/harfbuzz.
+
+diff --git config/Makefile.in config/Makefile.in
+index 14bfc0d..5383399 100644
+--- mozilla/config/Makefile.in
++++ mozilla/config/Makefile.in
+@@ -75,6 +75,8 @@ export:: $(export-preqs)
+ 		-DMOZ_NATIVE_LIBEVENT=$(MOZ_NATIVE_LIBEVENT) \
+ 		-DMOZ_NATIVE_LIBVPX=$(MOZ_NATIVE_LIBVPX) \
+ 		-DMOZ_NATIVE_ICU=$(MOZ_NATIVE_ICU) \
++		-DMOZ_NATIVE_GRAPHITE2=$(MOZ_NATIVE_GRAPHITE2) \
++		-DMOZ_NATIVE_HARFBUZZ=$(MOZ_NATIVE_HARFBUZZ) \
+ 		$(srcdir)/system-headers | $(PERL) $(topsrcdir)/nsprpub/config/make-system-wrappers.pl system_wrappers
+ 	$(INSTALL) system_wrappers $(DIST)
+ 
+diff --git config/system-headers config/system-headers
+index 18e8703..bdc5f82 100644
+--- mozilla/config/system-headers
++++ mozilla/config/system-headers
+@@ -1357,3 +1357,11 @@ unicode/utypes.h
+ #endif
+ libutil.h
+ unwind.h
++#if MOZ_NATIVE_GRAPHITE2==1
++graphite2/Font.h
++graphite2/Segment.h
++#endif
++#if MOZ_NATIVE_HARFBUZZ==1
++harfbuzz/hb-ot.h
++harfbuzz/hb.h
++#endif
+diff --git configure.in configure.in
+index ac38f40..87536b7 100644
+--- mozilla/configure.in
++++ mozilla/configure.in
+@@ -7986,6 +7986,49 @@ if test "$USE_FC_FREETYPE"; then
+ fi
+ 
+ dnl ========================================================
++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=)
++
++if test -n "$MOZ_NATIVE_HARFBUZZ"; then
++    PKG_CHECK_MODULES(MOZ_HARFBUZZ, harfbuzz >= 0.9.34)
++fi
++
++AC_SUBST(MOZ_NATIVE_HARFBUZZ)
++
++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=)
++
++if test -n "$MOZ_NATIVE_GRAPHITE2"; then
++    PKG_CHECK_MODULES(MOZ_GRAPHITE2, 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,4)
++                     #error "Insufficient graphite2 version."
++                     #endif
++                   ], [],
++                   [AC_MSG_ERROR([--with-system-graphite2 requested but no working libgraphite2 found])])
++fi
++
++AC_SUBST(MOZ_NATIVE_GRAPHITE2)
++
++dnl ========================================================
+ dnl Check for pixman and cairo
+ dnl ========================================================
+ 
+diff --git dom/base/moz.build dom/base/moz.build
+index a660ba4..6b2f602 100644
+--- mozilla/dom/base/moz.build
++++ mozilla/dom/base/moz.build
+@@ -196,6 +196,9 @@ SOURCES += [
+     'nsObjectLoadingContent.cpp',
+ ]
+ 
++if CONFIG['MOZ_NATIVE_HARFBUZZ']:
++    SOURCES['nsContentUtils.cpp'].flags += CONFIG['MOZ_HARFBUZZ_CFLAGS']
++
+ EXTRA_COMPONENTS += [
+     'contentAreaDropListener.js',
+     'contentAreaDropListener.manifest',
+diff --git gfx/graphite2/moz-gr-update.sh gfx/graphite2/moz-gr-update.sh
+index f3d76ea..a9e7fb6 100644
+--- mozilla/gfx/graphite2/moz-gr-update.sh
++++ mozilla/gfx/graphite2/moz-gr-update.sh
+@@ -23,8 +23,14 @@ echo "\nSee" $0 "for update procedure.\n" >> gfx/graphite2/README.mozilla
+ find gfx/graphite2/ -name "*.cpp" -exec perl -p -i -e "s/<cstdio>/<stdio.h>/;s/Windows.h/windows.h/;" {} \;
+ find gfx/graphite2/ -name "*.h" -exec perl -p -i -e "s/<cstdio>/<stdio.h>/;s/Windows.h/windows.h/;" {} \;
+ 
++# closest tag/release to require for system version
++TAG=$(cd ../graphitedev/ && hg parents --template {latesttag})
++
++perl -p -i -e "s/[0-9]+\,[0-9]+\,[0-9]+/$TAG/ and tr/./,/ \
++  if /GR2_VERSION_REQUIRE/" configure.in
++
+ # summarize what's been touched
+-echo Updated to $CHANGESET.
++echo Updated to $CHANGESET \($TAG for --with-system-graphite2\)
+ echo Here is what changed in the gfx/graphite2 directory:
+ echo
+ 
+diff --git gfx/harfbuzz/README-mozilla gfx/harfbuzz/README-mozilla
+index ca57d16..1ce21fe 100644
+--- mozilla/gfx/harfbuzz/README-mozilla
++++ mozilla/gfx/harfbuzz/README-mozilla
+@@ -21,3 +21,8 @@ In addition, the src/Makefile.in file here is NOT from upstream, nor is it
+ generated from src/Makefile.am (the original harfbuzz version); it is a mozilla-
+ specific makefile that is maintained by hand. It should only need updating when
+ new source files or exported headers are added in harfbuzz.
++
++The in-tree copy may be omitted during build by --with-system-harfbuzz.
++Make sure to keep pkg-config version check within configure.in in sync
++with checkout version or increment latest tag by one if it's not based
++on upstream release.
+diff --git gfx/moz.build gfx/moz.build
+index 519aa46..6929751 100644
+--- mozilla/gfx/moz.build
++++ mozilla/gfx/moz.build
+@@ -7,6 +7,12 @@
+ if CONFIG['MOZ_TREE_CAIRO']:
+     DIRS += ['cairo']
+ 
++if not CONFIG['MOZ_NATIVE_GRAPHITE2']:
++    DIRS += ['graphite2/src' ]
++
++if not CONFIG['MOZ_NATIVE_HARFBUZZ']:
++    DIRS += ['harfbuzz/src']
++
+ DIRS += [
+     '2d',
+     'ycbcr',
+@@ -15,8 +21,6 @@ DIRS += [
+     'qcms',
+     'gl',
+     'layers',
+-    'graphite2/src',
+-    'harfbuzz/src',
+     'ots/src',
+     'thebes',
+     'ipc',
+diff --git gfx/skia/generate_mozbuild.py gfx/skia/generate_mozbuild.py
+index 28fa6b5..240dced 100755
+--- mozilla/gfx/skia/generate_mozbuild.py
++++ mozilla/gfx/skia/generate_mozbuild.py
+@@ -140,6 +140,9 @@ if CONFIG['GNU_CXX']:
+     if not CONFIG['CLANG_CXX']:
+         CXXFLAGS += ['-Wno-logical-op']
+ 
++if CONFIG['MOZ_NATIVE_HARFBUZZ']:
++    CXXFLAGS += CONFIG['MOZ_HARFBUZZ_CFLAGS']
++
+ if CONFIG['MOZ_WIDGET_TOOLKIT'] in ('gtk2', 'gtk3', 'android', 'gonk', 'qt'):
+     CXXFLAGS += CONFIG['MOZ_CAIRO_CFLAGS']
+     CXXFLAGS += CONFIG['CAIRO_FT_CFLAGS']
+diff --git gfx/skia/moz.build gfx/skia/moz.build
+index 1d0c2f9..adb8941 100644
+--- mozilla/gfx/skia/moz.build
++++ mozilla/gfx/skia/moz.build
+@@ -968,6 +968,9 @@ if CONFIG['GNU_CXX']:
+     if not CONFIG['CLANG_CXX']:
+         CXXFLAGS += ['-Wno-logical-op']
+ 
++if CONFIG['MOZ_NATIVE_HARFBUZZ']:
++    CXXFLAGS += CONFIG['MOZ_HARFBUZZ_CFLAGS']
++
+ if CONFIG['MOZ_WIDGET_TOOLKIT'] in ('gtk2', 'gtk3', 'android', 'gonk', 'qt'):
+     CXXFLAGS += CONFIG['MOZ_CAIRO_CFLAGS']
+     CXXFLAGS += CONFIG['CAIRO_FT_CFLAGS']
+diff --git gfx/thebes/moz.build gfx/thebes/moz.build
+index d5852fa..aeeab25 100644
+--- mozilla/gfx/thebes/moz.build
++++ mozilla/gfx/thebes/moz.build
+@@ -294,7 +294,13 @@ if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'andr
+ if CONFIG['MOZ_WIDGET_TOOLKIT'] in ('gtk2', 'gtk3', 'qt'):
+     CXXFLAGS += CONFIG['MOZ_PANGO_CFLAGS']
+ 
+-DEFINES['GRAPHITE2_STATIC'] = True
++if CONFIG['MOZ_NATIVE_HARFBUZZ']:
++    CXXFLAGS += CONFIG['MOZ_HARFBUZZ_CFLAGS']
++
++if CONFIG['MOZ_NATIVE_GRAPHITE2']:
++    CXXFLAGS += CONFIG['MOZ_GRAPHITE2_CFLAGS']
++else:
++    DEFINES['GRAPHITE2_STATIC'] = True
+ 
+ if CONFIG['GKMEDIAS_SHARED_LIBRARY']:
+     DEFINES['OTS_DLL'] = True
+diff --git intl/unicharutil/util/moz.build intl/unicharutil/util/moz.build
+index d736943..41a931f 100644
+--- mozilla/intl/unicharutil/util/moz.build
++++ mozilla/intl/unicharutil/util/moz.build
+@@ -37,3 +37,6 @@ if CONFIG['_MSC_VER']:
+ 
+ if CONFIG['ENABLE_INTL_API']:
+     CXXFLAGS += CONFIG['MOZ_ICU_CFLAGS']
++
++if CONFIG['MOZ_NATIVE_HARFBUZZ']:
++    CXXFLAGS += CONFIG['MOZ_HARFBUZZ_CFLAGS']
+diff --git netwerk/dns/moz.build netwerk/dns/moz.build
+index 0b0717a..2e665c9 100644
+--- mozilla/netwerk/dns/moz.build
++++ mozilla/netwerk/dns/moz.build
+@@ -63,3 +63,6 @@ GENERATED_FILES = [
+ LOCAL_INCLUDES += [
+     '../base/src',
+ ]
++
++if CONFIG['MOZ_NATIVE_HARFBUZZ']:
++    CXXFLAGS += CONFIG['MOZ_HARFBUZZ_CFLAGS']
+diff --git toolkit/library/moz.build toolkit/library/moz.build
+index 67f0db9..d42137a 100644
+--- mozilla/toolkit/library/moz.build
++++ mozilla/toolkit/library/moz.build
+@@ -187,6 +187,12 @@ if CONFIG['MOZ_NATIVE_LIBVPX']:
+ if not CONFIG['MOZ_TREE_PIXMAN']:
+     OS_LIBS += CONFIG['MOZ_PIXMAN_LIBS']
+ 
++if CONFIG['MOZ_NATIVE_GRAPHITE2']:
++    OS_LIBS += CONFIG['MOZ_GRAPHITE2_LIBS']
++
++if CONFIG['MOZ_NATIVE_HARFBUZZ']:
++    OS_LIBS += CONFIG['MOZ_HARFBUZZ_LIBS']
++
+ if CONFIG['MOZ_OSS']:
+     OS_LIBS += CONFIG['MOZ_OSS_LIBS']
+ 


Property changes on: trunk/www/seamonkey/files/patch-bug847568
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
Added: trunk/www/seamonkey/files/patch-bug899126
===================================================================
--- trunk/www/seamonkey/files/patch-bug899126	                        (rev 0)
+++ trunk/www/seamonkey/files/patch-bug899126	2015-11-07 04:15:50 UTC (rev 20670)
@@ -0,0 +1,95 @@
+commit 0f63381
+Author: Guilherme Goncalves <guilherme.p.gonc at gmail.com>
+Date:   Tue Nov 18 14:03:00 2014 -0800
+
+    Bug 899126 - Part 1 - Implement bin_unused for jemalloc3. r=glandium
+---
+ memory/build/mozjemalloc_compat.c | 57 ++++++++++++++++++++++++++++++++++++++-
+ 1 file changed, 56 insertions(+), 1 deletion(-)
+
+diff --git memory/build/mozjemalloc_compat.c memory/build/mozjemalloc_compat.c
+index 70265a7..0a9b21a 100644
+--- mozilla/memory/build/mozjemalloc_compat.c
++++ mozilla/memory/build/mozjemalloc_compat.c
+@@ -12,6 +12,8 @@
+ #include "jemalloc_types.h"
+ #include "mozilla/Types.h"
+ 
++#include <stdbool.h>
++
+ #if defined(MOZ_NATIVE_JEMALLOC)
+ 
+ MOZ_IMPORT_API int
+@@ -47,6 +49,16 @@ je_(nallocm)(size_t *rsize, size_t size, int flags);
+ 	je_(mallctlbymib)(mib, miblen, &v, &sz, NULL, 0);		\
+ } while (0)
+ 
++#define	CTL_IJ_GET(n, v, i, j) do {					\
++	size_t mib[6];							\
++	size_t miblen = sizeof(mib) / sizeof(mib[0]);			\
++	size_t sz = sizeof(v);						\
++	je_(mallctlnametomib)(n, mib, &miblen);				\
++	mib[2] = i;							\
++	mib[4] = j;							\
++	je_(mallctlbymib)(mib, miblen, &v, &sz, NULL, 0);			\
++} while (0)
++
+ MOZ_MEMORY_API size_t
+ malloc_good_size_impl(size_t size)
+ {
+@@ -61,6 +73,48 @@ malloc_good_size_impl(size_t size)
+   return size;
+ }
+ 
++static size_t
++compute_bin_unused(unsigned int narenas)
++{
++    size_t bin_unused = 0;
++
++    uint32_t nregs; // number of regions per run in the j-th bin
++    size_t reg_size; // size of regions served by the j-th bin
++    size_t curruns; // number of runs belonging to a bin
++    size_t curregs; // number of allocated regions in a bin
++
++    unsigned int nbins; // number of bins per arena
++    unsigned int i, j;
++
++    // curruns and curregs are not defined for uninitialized arenas,
++    // so we skip them when computing bin_unused. However, initialized
++    // arenas are not guaranteed to be sequential, so we must test each
++    // one when iterating below.
++    bool initialized[100]; // should be narenas, but MSVC doesn't have VLAs
++    size_t isz = sizeof(initialized) / sizeof(initialized[0]);
++
++    je_(mallctl)("arenas.initialized", initialized, &isz, NULL, 0);
++    CTL_GET("arenas.nbins", nbins);
++
++    for (j = 0; j < nbins; j++) {
++        CTL_I_GET("arenas.bin.0.nregs", nregs, j);
++        CTL_I_GET("arenas.bin.0.size", reg_size, j);
++
++        for (i = 0; i < narenas; i++) {
++            if (!initialized[i]) {
++                continue;
++            }
++
++            CTL_IJ_GET("stats.arenas.0.bins.0.curruns", curruns, i, j);
++            CTL_IJ_GET("stats.arenas.0.bins.0.curregs", curregs, i, j);
++
++            bin_unused += (nregs * curruns - curregs) * reg_size;
++        }
++    }
++
++    return bin_unused;
++}
++
+ MOZ_JEMALLOC_API void
+ jemalloc_stats_impl(jemalloc_stats_t *stats)
+ {
+@@ -96,4 +150,5 @@ jemalloc_stats_impl(jemalloc_stats_t *stats)
+-  stats->bin_unused = 0;
++
++  stats->bin_unused = compute_bin_unused(narenas);
+ }
+ 
+ MOZ_JEMALLOC_API void


Property changes on: trunk/www/seamonkey/files/patch-bug899126
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
Added: trunk/www/seamonkey/files/patch-bug981348
===================================================================
--- trunk/www/seamonkey/files/patch-bug981348	                        (rev 0)
+++ trunk/www/seamonkey/files/patch-bug981348	2015-11-07 04:15:50 UTC (rev 20670)
@@ -0,0 +1,41 @@
+diff --git dom/system/OSFileConstants.cpp dom/system/OSFileConstants.cpp
+index 4b21361..cb3be32 100644
+--- mozilla/dom/system/OSFileConstants.cpp
++++ mozilla/dom/system/OSFileConstants.cpp
+@@ -596,7 +596,7 @@ static const dom::ConstantSpec gLibcProperties[] =
+ 
+   { "OSFILE_SIZEOF_STATVFS", INT_TO_JSVAL(sizeof (struct statvfs)) },
+ 
+-  { "OSFILE_OFFSETOF_STATVFS_F_BSIZE", INT_TO_JSVAL(offsetof (struct statvfs, f_bsize)) },
++  { "OSFILE_OFFSETOF_STATVFS_F_FRSIZE", INT_TO_JSVAL(offsetof (struct statvfs, f_frsize)) },
+   { "OSFILE_OFFSETOF_STATVFS_F_BAVAIL", INT_TO_JSVAL(offsetof (struct statvfs, f_bavail)) },
+ 
+ #endif // defined(XP_UNIX)
+diff --git toolkit/components/osfile/modules/osfile_unix_back.jsm toolkit/components/osfile/modules/osfile_unix_back.jsm
+index b59fca4..0cf220b 100644
+--- mozilla/toolkit/components/osfile/modules/osfile_unix_back.jsm
++++ mozilla/toolkit/components/osfile/modules/osfile_unix_back.jsm
+@@ -228,8 +228,8 @@
+          let statvfs = new SharedAll.HollowStructure("statvfs",
+            Const.OSFILE_SIZEOF_STATVFS);
+ 
+-         statvfs.add_field_at(Const.OSFILE_OFFSETOF_STATVFS_F_BSIZE,
+-                        "f_bsize", Type.unsigned_long.implementation);
++         statvfs.add_field_at(Const.OSFILE_OFFSETOF_STATVFS_F_FRSIZE,
++                        "f_frsize", Type.unsigned_long.implementation);
+          statvfs.add_field_at(Const.OSFILE_OFFSETOF_STATVFS_F_BAVAIL,
+                         "f_bavail", Type.fsblkcnt_t.implementation);
+ 
+diff --git toolkit/components/osfile/modules/osfile_unix_front.jsm toolkit/components/osfile/modules/osfile_unix_front.jsm
+index 99e5e9b..de642c5 100644
+--- mozilla/toolkit/components/osfile/modules/osfile_unix_front.jsm
++++ mozilla/toolkit/components/osfile/modules/osfile_unix_front.jsm
+@@ -373,7 +373,7 @@
+        throw_on_negative("statvfs",  UnixFile.statvfs(sourcePath, fileSystemInfoPtr));
+ 
+        let bytes = new Type.uint64_t.implementation(
+-                        fileSystemInfo.f_bsize * fileSystemInfo.f_bavail);
++                        fileSystemInfo.f_frsize * fileSystemInfo.f_bavail);
+ 
+        return bytes.value;
+      };


Property changes on: trunk/www/seamonkey/files/patch-bug981348
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
Added: trunk/www/seamonkey/files/patch-bug991253
===================================================================
--- trunk/www/seamonkey/files/patch-bug991253	                        (rev 0)
+++ trunk/www/seamonkey/files/patch-bug991253	2015-11-07 04:15:50 UTC (rev 20670)
@@ -0,0 +1,17 @@
+--- mozilla/extensions/spellcheck/hunspell/src/mozHunspell.cpp~
++++ mozilla/extensions/spellcheck/hunspell/src/mozHunspell.cpp
+@@ -400,6 +400,14 @@ mozHunspell::LoadDictionaryList(bool aNo
+     }
+   }
+ 
++  // load system hunspell dictionaries
++  nsCOMPtr<nsIFile> hunDir;
++  NS_NewNativeLocalFile(NS_LITERAL_CSTRING("%%LOCALBASE%%/share/hunspell"),
++                        true, getter_AddRefs(hunDir));
++  if (hunDir) {
++      LoadDictionariesFromDir(hunDir);
++  }
++
+   // find dictionaries from extensions requiring restart
+   nsCOMPtr<nsISimpleEnumerator> dictDirs;
+   rv = dirSvc->Get(DICTIONARY_SEARCH_DIRECTORY_LIST,


Property changes on: trunk/www/seamonkey/files/patch-bug991253
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
Added: trunk/www/seamonkey/files/patch-ijg-libjpeg
===================================================================
--- trunk/www/seamonkey/files/patch-ijg-libjpeg	                        (rev 0)
+++ trunk/www/seamonkey/files/patch-ijg-libjpeg	2015-11-07 04:15:50 UTC (rev 20670)
@@ -0,0 +1,382 @@
+# Partially revert bug 791305 to allow building with system IJG jpeg library
+
+diff --git configure.in configure.in
+index f0aeb5d..1c01010 100644
+--- mozilla/configure.in
++++ mozilla/configure.in
+@@ -4027,11 +4027,7 @@ if test "$MOZ_NATIVE_JPEG" = 1; then
+                      #include <jpeglib.h> ],
+                    [ #if JPEG_LIB_VERSION < $MOZJPEG
+                      #error "Insufficient JPEG library version ($MOZJPEG required)."
+-                     #endif
+-                     #ifndef JCS_EXTENSIONS
+-                     #error "libjpeg-turbo JCS_EXTENSIONS required"
+-                     #endif
+-                     ],
++                     #endif ],
+                    MOZ_NATIVE_JPEG=1,
+                    AC_MSG_ERROR([Insufficient JPEG library version for --with-system-jpeg]))
+ fi
+diff --git mozilla/image/decoders/nsJPEGDecoder.cpp mozilla/image/decoders/nsJPEGDecoder.cpp
+index 8fa8200..1d2a259 100644
+--- mozilla/image/decoders/nsJPEGDecoder.cpp
++++ mozilla/image/decoders/nsJPEGDecoder.cpp
+@@ -21,13 +21,28 @@
+ 
+ extern "C" {
+ #include "iccjpeg.h"
+-}
+ 
++#ifdef JCS_EXTENSIONS
+ #if defined(IS_BIG_ENDIAN)
+ #define MOZ_JCS_EXT_NATIVE_ENDIAN_XRGB JCS_EXT_XRGB
+ #else
+ #define MOZ_JCS_EXT_NATIVE_ENDIAN_XRGB JCS_EXT_BGRX
+ #endif
++#else
++/* Colorspace conversion (copied from jpegint.h) */
++struct jpeg_color_deconverter {
++  JMETHOD(void, start_pass, (j_decompress_ptr cinfo));
++  JMETHOD(void, color_convert, (j_decompress_ptr cinfo,
++				JSAMPIMAGE input_buf, JDIMENSION input_row,
++				JSAMPARRAY output_buf, int num_rows));
++};
++
++METHODDEF(void)
++ycc_rgb_convert_argb (j_decompress_ptr cinfo,
++                 JSAMPIMAGE input_buf, JDIMENSION input_row,
++                 JSAMPARRAY output_buf, int num_rows);
++#endif
++}
+ 
+ static void cmyk_convert_rgb(JSAMPROW row, JDIMENSION width);
+ 
+@@ -367,6 +382,7 @@ nsJPEGDecoder::WriteInternal(const char*
+         case JCS_GRAYSCALE:
+         case JCS_RGB:
+         case JCS_YCbCr:
++#ifdef JCS_EXTENSIONS
+           // if we're not color managing we can decode directly to
+           // MOZ_JCS_EXT_NATIVE_ENDIAN_XRGB
+           if (mCMSMode != eCMSMode_All) {
+@@ -375,6 +391,9 @@ nsJPEGDecoder::WriteInternal(const char*
+           } else {
+               mInfo.out_color_space = JCS_RGB;
+           }
++#else
++          mInfo.out_color_space = JCS_RGB;
++#endif
+           break;
+         case JCS_CMYK:
+         case JCS_YCCK:
+@@ -433,6 +452,15 @@ nsJPEGDecoder::WriteInternal(const char*
+       return; // I/O suspension
+     }
+ 
++#ifndef JCS_EXTENSIONS
++    /* Force to use our YCbCr to Packed RGB converter when possible */
++    if (!mTransform && (mCMSMode != eCMSMode_All) &&
++        mInfo.jpeg_color_space == JCS_YCbCr && mInfo.out_color_space == JCS_RGB) {
++      /* Special case for the most common case: transform from YCbCr direct into packed ARGB */
++      mInfo.out_color_components = 4; /* Packed ARGB pixels are always 4 bytes...*/
++      mInfo.cconvert->color_convert = ycc_rgb_convert_argb;
++    }
++#endif
+ 
+     // If this is a progressive JPEG ...
+     mState = mInfo.buffered_image ?
+@@ -605,7 +633,11 @@ nsJPEGDecoder::OutputScanlines(bool* sus
+       uint32_t* imageRow = ((uint32_t*)mImageData) +
+                            (mInfo.output_scanline * mInfo.output_width);
+ 
++#ifdef JCS_EXTENSIONS
+       if (mInfo.out_color_space == MOZ_JCS_EXT_NATIVE_ENDIAN_XRGB) {
++#else
++      if (mInfo.cconvert->color_convert == ycc_rgb_convert_argb) {
++#endif
+         // Special case: scanline will be directly converted into packed ARGB
+         if (jpeg_read_scanlines(&mInfo, (JSAMPARRAY)&imageRow, 1) != 1) {
+           *suspend = true; // suspend
+@@ -920,6 +952,282 @@ term_source (j_decompress_ptr jd)
+ } // namespace mozilla
+ 
+ 
++#ifndef JCS_EXTENSIONS
++/**************** YCbCr -> Cairo's RGB24/ARGB32 conversion: most common case **************/
++
++/*
++ * YCbCr is defined per CCIR 601-1, except that Cb and Cr are
++ * normalized to the range 0..MAXJSAMPLE rather than -0.5 .. 0.5.
++ * The conversion equations to be implemented are therefore
++ *      R = Y                + 1.40200 * Cr
++ *      G = Y - 0.34414 * Cb - 0.71414 * Cr
++ *      B = Y + 1.77200 * Cb
++ * where Cb and Cr represent the incoming values less CENTERJSAMPLE.
++ * (These numbers are derived from TIFF 6.0 section 21, dated 3-June-92.)
++ *
++ * To avoid floating-point arithmetic, we represent the fractional constants
++ * as integers scaled up by 2^16 (about 4 digits precision); we have to divide
++ * the products by 2^16, with appropriate rounding, to get the correct answer.
++ * Notice that Y, being an integral input, does not contribute any fraction
++ * so it need not participate in the rounding.
++ *
++ * For even more speed, we avoid doing any multiplications in the inner loop
++ * by precalculating the constants times Cb and Cr for all possible values.
++ * For 8-bit JSAMPLEs this is very reasonable (only 256 entries per table);
++ * for 12-bit samples it is still acceptable.  It's not very reasonable for
++ * 16-bit samples, but if you want lossless storage you shouldn't be changing
++ * colorspace anyway.
++ * The Cr=>R and Cb=>B values can be rounded to integers in advance; the
++ * values for the G calculation are left scaled up, since we must add them
++ * together before rounding.
++ */
++
++#define SCALEBITS       16      /* speediest right-shift on some machines */
++
++/* Use static tables for color processing. */
++/* Four tables, each 256 entries of 4 bytes totals 4K which is not bad... */
++
++const int Cr_r_tab[(MAXJSAMPLE+1) * sizeof(int)] ={
++       -0xb3,       -0xb2,       -0xb1,       -0xaf,       -0xae,       -0xac,
++       -0xab,       -0xaa,       -0xa8,       -0xa7,       -0xa5,       -0xa4,
++       -0xa3,       -0xa1,       -0xa0,       -0x9e,       -0x9d,       -0x9c,
++       -0x9a,       -0x99,       -0x97,       -0x96,       -0x95,       -0x93,
++       -0x92,       -0x90,       -0x8f,       -0x8e,       -0x8c,       -0x8b,
++       -0x89,       -0x88,       -0x87,       -0x85,       -0x84,       -0x82,
++       -0x81,       -0x80,       -0x7e,       -0x7d,       -0x7b,       -0x7a,
++       -0x79,       -0x77,       -0x76,       -0x74,       -0x73,       -0x72,
++       -0x70,       -0x6f,       -0x6d,       -0x6c,       -0x6b,       -0x69,
++       -0x68,       -0x66,       -0x65,       -0x64,       -0x62,       -0x61,
++       -0x5f,       -0x5e,       -0x5d,       -0x5b,       -0x5a,       -0x58,
++       -0x57,       -0x56,       -0x54,       -0x53,       -0x51,       -0x50,
++       -0x4f,       -0x4d,       -0x4c,       -0x4a,       -0x49,       -0x48,
++       -0x46,       -0x45,       -0x43,       -0x42,       -0x40,       -0x3f,
++       -0x3e,       -0x3c,       -0x3b,       -0x39,       -0x38,       -0x37,
++       -0x35,       -0x34,       -0x32,       -0x31,       -0x30,       -0x2e,
++       -0x2d,       -0x2b,       -0x2a,       -0x29,       -0x27,       -0x26,
++       -0x24,       -0x23,       -0x22,       -0x20,       -0x1f,       -0x1d,
++       -0x1c,       -0x1b,       -0x19,       -0x18,       -0x16,       -0x15,
++       -0x14,       -0x12,       -0x11,       -0x0f,       -0x0e,       -0x0d,
++       -0x0b,       -0x0a,       -0x08,       -0x07,       -0x06,       -0x04,
++       -0x03,       -0x01,        0x00,        0x01,        0x03,        0x04,
++        0x06,        0x07,        0x08,        0x0a,        0x0b,        0x0d,
++        0x0e,        0x0f,        0x11,        0x12,        0x14,        0x15,
++        0x16,        0x18,        0x19,        0x1b,        0x1c,        0x1d,
++        0x1f,        0x20,        0x22,        0x23,        0x24,        0x26,
++        0x27,        0x29,        0x2a,        0x2b,        0x2d,        0x2e,
++        0x30,        0x31,        0x32,        0x34,        0x35,        0x37,
++        0x38,        0x39,        0x3b,        0x3c,        0x3e,        0x3f,
++        0x40,        0x42,        0x43,        0x45,        0x46,        0x48,
++        0x49,        0x4a,        0x4c,        0x4d,        0x4f,        0x50,
++        0x51,        0x53,        0x54,        0x56,        0x57,        0x58,
++        0x5a,        0x5b,        0x5d,        0x5e,        0x5f,        0x61,
++        0x62,        0x64,        0x65,        0x66,        0x68,        0x69,
++        0x6b,        0x6c,        0x6d,        0x6f,        0x70,        0x72,
++        0x73,        0x74,        0x76,        0x77,        0x79,        0x7a,
++        0x7b,        0x7d,        0x7e,        0x80,        0x81,        0x82,
++        0x84,        0x85,        0x87,        0x88,        0x89,        0x8b,
++        0x8c,        0x8e,        0x8f,        0x90,        0x92,        0x93,
++        0x95,        0x96,        0x97,        0x99,        0x9a,        0x9c,
++        0x9d,        0x9e,        0xa0,        0xa1,        0xa3,        0xa4,
++        0xa5,        0xa7,        0xa8,        0xaa,        0xab,        0xac,
++        0xae,        0xaf,        0xb1,        0xb2,
++  };
++
++const int Cb_b_tab[(MAXJSAMPLE+1) * sizeof(int)] ={
++       -0xe3,       -0xe1,       -0xdf,       -0xde,       -0xdc,       -0xda,
++       -0xd8,       -0xd6,       -0xd5,       -0xd3,       -0xd1,       -0xcf,
++       -0xce,       -0xcc,       -0xca,       -0xc8,       -0xc6,       -0xc5,
++       -0xc3,       -0xc1,       -0xbf,       -0xbe,       -0xbc,       -0xba,
++       -0xb8,       -0xb7,       -0xb5,       -0xb3,       -0xb1,       -0xaf,
++       -0xae,       -0xac,       -0xaa,       -0xa8,       -0xa7,       -0xa5,
++       -0xa3,       -0xa1,       -0x9f,       -0x9e,       -0x9c,       -0x9a,
++       -0x98,       -0x97,       -0x95,       -0x93,       -0x91,       -0x90,
++       -0x8e,       -0x8c,       -0x8a,       -0x88,       -0x87,       -0x85,
++       -0x83,       -0x81,       -0x80,       -0x7e,       -0x7c,       -0x7a,
++       -0x78,       -0x77,       -0x75,       -0x73,       -0x71,       -0x70,
++       -0x6e,       -0x6c,       -0x6a,       -0x69,       -0x67,       -0x65,
++       -0x63,       -0x61,       -0x60,       -0x5e,       -0x5c,       -0x5a,
++       -0x59,       -0x57,       -0x55,       -0x53,       -0x52,       -0x50,
++       -0x4e,       -0x4c,       -0x4a,       -0x49,       -0x47,       -0x45,
++       -0x43,       -0x42,       -0x40,       -0x3e,       -0x3c,       -0x3a,
++       -0x39,       -0x37,       -0x35,       -0x33,       -0x32,       -0x30,
++       -0x2e,       -0x2c,       -0x2b,       -0x29,       -0x27,       -0x25,
++       -0x23,       -0x22,       -0x20,       -0x1e,       -0x1c,       -0x1b,
++       -0x19,       -0x17,       -0x15,       -0x13,       -0x12,       -0x10,
++       -0x0e,       -0x0c,       -0x0b,       -0x09,       -0x07,       -0x05,
++       -0x04,       -0x02,        0x00,        0x02,        0x04,        0x05,
++        0x07,        0x09,        0x0b,        0x0c,        0x0e,        0x10,
++        0x12,        0x13,        0x15,        0x17,        0x19,        0x1b,
++        0x1c,        0x1e,        0x20,        0x22,        0x23,        0x25,
++        0x27,        0x29,        0x2b,        0x2c,        0x2e,        0x30,
++        0x32,        0x33,        0x35,        0x37,        0x39,        0x3a,
++        0x3c,        0x3e,        0x40,        0x42,        0x43,        0x45,
++        0x47,        0x49,        0x4a,        0x4c,        0x4e,        0x50,
++        0x52,        0x53,        0x55,        0x57,        0x59,        0x5a,
++        0x5c,        0x5e,        0x60,        0x61,        0x63,        0x65,
++        0x67,        0x69,        0x6a,        0x6c,        0x6e,        0x70,
++        0x71,        0x73,        0x75,        0x77,        0x78,        0x7a,
++        0x7c,        0x7e,        0x80,        0x81,        0x83,        0x85,
++        0x87,        0x88,        0x8a,        0x8c,        0x8e,        0x90,
++        0x91,        0x93,        0x95,        0x97,        0x98,        0x9a,
++        0x9c,        0x9e,        0x9f,        0xa1,        0xa3,        0xa5,
++        0xa7,        0xa8,        0xaa,        0xac,        0xae,        0xaf,
++        0xb1,        0xb3,        0xb5,        0xb7,        0xb8,        0xba,
++        0xbc,        0xbe,        0xbf,        0xc1,        0xc3,        0xc5,
++        0xc6,        0xc8,        0xca,        0xcc,        0xce,        0xcf,
++        0xd1,        0xd3,        0xd5,        0xd6,        0xd8,        0xda,
++        0xdc,        0xde,        0xdf,        0xe1,
++  };
++
++const int Cr_g_tab[(MAXJSAMPLE+1) * sizeof(int)] ={
++    0x5b6900,    0x5ab22e,    0x59fb5c,    0x59448a,    0x588db8,    0x57d6e6,
++    0x572014,    0x566942,    0x55b270,    0x54fb9e,    0x5444cc,    0x538dfa,
++    0x52d728,    0x522056,    0x516984,    0x50b2b2,    0x4ffbe0,    0x4f450e,
++    0x4e8e3c,    0x4dd76a,    0x4d2098,    0x4c69c6,    0x4bb2f4,    0x4afc22,
++    0x4a4550,    0x498e7e,    0x48d7ac,    0x4820da,    0x476a08,    0x46b336,
++    0x45fc64,    0x454592,    0x448ec0,    0x43d7ee,    0x43211c,    0x426a4a,
++    0x41b378,    0x40fca6,    0x4045d4,    0x3f8f02,    0x3ed830,    0x3e215e,
++    0x3d6a8c,    0x3cb3ba,    0x3bfce8,    0x3b4616,    0x3a8f44,    0x39d872,
++    0x3921a0,    0x386ace,    0x37b3fc,    0x36fd2a,    0x364658,    0x358f86,
++    0x34d8b4,    0x3421e2,    0x336b10,    0x32b43e,    0x31fd6c,    0x31469a,
++    0x308fc8,    0x2fd8f6,    0x2f2224,    0x2e6b52,    0x2db480,    0x2cfdae,
++    0x2c46dc,    0x2b900a,    0x2ad938,    0x2a2266,    0x296b94,    0x28b4c2,
++    0x27fdf0,    0x27471e,    0x26904c,    0x25d97a,    0x2522a8,    0x246bd6,
++    0x23b504,    0x22fe32,    0x224760,    0x21908e,    0x20d9bc,    0x2022ea,
++    0x1f6c18,    0x1eb546,    0x1dfe74,    0x1d47a2,    0x1c90d0,    0x1bd9fe,
++    0x1b232c,    0x1a6c5a,    0x19b588,    0x18feb6,    0x1847e4,    0x179112,
++    0x16da40,    0x16236e,    0x156c9c,    0x14b5ca,    0x13fef8,    0x134826,
++    0x129154,    0x11da82,    0x1123b0,    0x106cde,    0x0fb60c,    0x0eff3a,
++    0x0e4868,    0x0d9196,    0x0cdac4,    0x0c23f2,    0x0b6d20,    0x0ab64e,
++    0x09ff7c,    0x0948aa,    0x0891d8,    0x07db06,    0x072434,    0x066d62,
++    0x05b690,    0x04ffbe,    0x0448ec,    0x03921a,    0x02db48,    0x022476,
++    0x016da4,    0x00b6d2,    0x000000,   -0x00b6d2,   -0x016da4,   -0x022476,
++   -0x02db48,   -0x03921a,   -0x0448ec,   -0x04ffbe,   -0x05b690,   -0x066d62,
++   -0x072434,   -0x07db06,   -0x0891d8,   -0x0948aa,   -0x09ff7c,   -0x0ab64e,
++   -0x0b6d20,   -0x0c23f2,   -0x0cdac4,   -0x0d9196,   -0x0e4868,   -0x0eff3a,
++   -0x0fb60c,   -0x106cde,   -0x1123b0,   -0x11da82,   -0x129154,   -0x134826,
++   -0x13fef8,   -0x14b5ca,   -0x156c9c,   -0x16236e,   -0x16da40,   -0x179112,
++   -0x1847e4,   -0x18feb6,   -0x19b588,   -0x1a6c5a,   -0x1b232c,   -0x1bd9fe,
++   -0x1c90d0,   -0x1d47a2,   -0x1dfe74,   -0x1eb546,   -0x1f6c18,   -0x2022ea,
++   -0x20d9bc,   -0x21908e,   -0x224760,   -0x22fe32,   -0x23b504,   -0x246bd6,
++   -0x2522a8,   -0x25d97a,   -0x26904c,   -0x27471e,   -0x27fdf0,   -0x28b4c2,
++   -0x296b94,   -0x2a2266,   -0x2ad938,   -0x2b900a,   -0x2c46dc,   -0x2cfdae,
++   -0x2db480,   -0x2e6b52,   -0x2f2224,   -0x2fd8f6,   -0x308fc8,   -0x31469a,
++   -0x31fd6c,   -0x32b43e,   -0x336b10,   -0x3421e2,   -0x34d8b4,   -0x358f86,
++   -0x364658,   -0x36fd2a,   -0x37b3fc,   -0x386ace,   -0x3921a0,   -0x39d872,
++   -0x3a8f44,   -0x3b4616,   -0x3bfce8,   -0x3cb3ba,   -0x3d6a8c,   -0x3e215e,
++   -0x3ed830,   -0x3f8f02,   -0x4045d4,   -0x40fca6,   -0x41b378,   -0x426a4a,
++   -0x43211c,   -0x43d7ee,   -0x448ec0,   -0x454592,   -0x45fc64,   -0x46b336,
++   -0x476a08,   -0x4820da,   -0x48d7ac,   -0x498e7e,   -0x4a4550,   -0x4afc22,
++   -0x4bb2f4,   -0x4c69c6,   -0x4d2098,   -0x4dd76a,   -0x4e8e3c,   -0x4f450e,
++   -0x4ffbe0,   -0x50b2b2,   -0x516984,   -0x522056,   -0x52d728,   -0x538dfa,
++   -0x5444cc,   -0x54fb9e,   -0x55b270,   -0x566942,   -0x572014,   -0x57d6e6,
++   -0x588db8,   -0x59448a,   -0x59fb5c,   -0x5ab22e,
++ };
++
++const int Cb_g_tab[(MAXJSAMPLE+1) * sizeof(int)] ={
++    0x2c8d00,    0x2c34e6,    0x2bdccc,    0x2b84b2,    0x2b2c98,    0x2ad47e,
++    0x2a7c64,    0x2a244a,    0x29cc30,    0x297416,    0x291bfc,    0x28c3e2,
++    0x286bc8,    0x2813ae,    0x27bb94,    0x27637a,    0x270b60,    0x26b346,
++    0x265b2c,    0x260312,    0x25aaf8,    0x2552de,    0x24fac4,    0x24a2aa,
++    0x244a90,    0x23f276,    0x239a5c,    0x234242,    0x22ea28,    0x22920e,
++    0x2239f4,    0x21e1da,    0x2189c0,    0x2131a6,    0x20d98c,    0x208172,
++    0x202958,    0x1fd13e,    0x1f7924,    0x1f210a,    0x1ec8f0,    0x1e70d6,
++    0x1e18bc,    0x1dc0a2,    0x1d6888,    0x1d106e,    0x1cb854,    0x1c603a,
++    0x1c0820,    0x1bb006,    0x1b57ec,    0x1affd2,    0x1aa7b8,    0x1a4f9e,
++    0x19f784,    0x199f6a,    0x194750,    0x18ef36,    0x18971c,    0x183f02,
++    0x17e6e8,    0x178ece,    0x1736b4,    0x16de9a,    0x168680,    0x162e66,
++    0x15d64c,    0x157e32,    0x152618,    0x14cdfe,    0x1475e4,    0x141dca,
++    0x13c5b0,    0x136d96,    0x13157c,    0x12bd62,    0x126548,    0x120d2e,
++    0x11b514,    0x115cfa,    0x1104e0,    0x10acc6,    0x1054ac,    0x0ffc92,
++    0x0fa478,    0x0f4c5e,    0x0ef444,    0x0e9c2a,    0x0e4410,    0x0debf6,
++    0x0d93dc,    0x0d3bc2,    0x0ce3a8,    0x0c8b8e,    0x0c3374,    0x0bdb5a,
++    0x0b8340,    0x0b2b26,    0x0ad30c,    0x0a7af2,    0x0a22d8,    0x09cabe,
++    0x0972a4,    0x091a8a,    0x08c270,    0x086a56,    0x08123c,    0x07ba22,
++    0x076208,    0x0709ee,    0x06b1d4,    0x0659ba,    0x0601a0,    0x05a986,
++    0x05516c,    0x04f952,    0x04a138,    0x04491e,    0x03f104,    0x0398ea,
++    0x0340d0,    0x02e8b6,    0x02909c,    0x023882,    0x01e068,    0x01884e,
++    0x013034,    0x00d81a,    0x008000,    0x0027e6,   -0x003034,   -0x00884e,
++   -0x00e068,   -0x013882,   -0x01909c,   -0x01e8b6,   -0x0240d0,   -0x0298ea,
++   -0x02f104,   -0x03491e,   -0x03a138,   -0x03f952,   -0x04516c,   -0x04a986,
++   -0x0501a0,   -0x0559ba,   -0x05b1d4,   -0x0609ee,   -0x066208,   -0x06ba22,
++   -0x07123c,   -0x076a56,   -0x07c270,   -0x081a8a,   -0x0872a4,   -0x08cabe,
++   -0x0922d8,   -0x097af2,   -0x09d30c,   -0x0a2b26,   -0x0a8340,   -0x0adb5a,
++   -0x0b3374,   -0x0b8b8e,   -0x0be3a8,   -0x0c3bc2,   -0x0c93dc,   -0x0cebf6,
++   -0x0d4410,   -0x0d9c2a,   -0x0df444,   -0x0e4c5e,   -0x0ea478,   -0x0efc92,
++   -0x0f54ac,   -0x0facc6,   -0x1004e0,   -0x105cfa,   -0x10b514,   -0x110d2e,
++   -0x116548,   -0x11bd62,   -0x12157c,   -0x126d96,   -0x12c5b0,   -0x131dca,
++   -0x1375e4,   -0x13cdfe,   -0x142618,   -0x147e32,   -0x14d64c,   -0x152e66,
++   -0x158680,   -0x15de9a,   -0x1636b4,   -0x168ece,   -0x16e6e8,   -0x173f02,
++   -0x17971c,   -0x17ef36,   -0x184750,   -0x189f6a,   -0x18f784,   -0x194f9e,
++   -0x19a7b8,   -0x19ffd2,   -0x1a57ec,   -0x1ab006,   -0x1b0820,   -0x1b603a,
++   -0x1bb854,   -0x1c106e,   -0x1c6888,   -0x1cc0a2,   -0x1d18bc,   -0x1d70d6,
++   -0x1dc8f0,   -0x1e210a,   -0x1e7924,   -0x1ed13e,   -0x1f2958,   -0x1f8172,
++   -0x1fd98c,   -0x2031a6,   -0x2089c0,   -0x20e1da,   -0x2139f4,   -0x21920e,
++   -0x21ea28,   -0x224242,   -0x229a5c,   -0x22f276,   -0x234a90,   -0x23a2aa,
++   -0x23fac4,   -0x2452de,   -0x24aaf8,   -0x250312,   -0x255b2c,   -0x25b346,
++   -0x260b60,   -0x26637a,   -0x26bb94,   -0x2713ae,   -0x276bc8,   -0x27c3e2,
++   -0x281bfc,   -0x287416,   -0x28cc30,   -0x29244a,   -0x297c64,   -0x29d47e,
++   -0x2a2c98,   -0x2a84b2,   -0x2adccc,   -0x2b34e6,
++ };
++
++
++/* We assume that right shift corresponds to signed division by 2 with
++ * rounding towards minus infinity.  This is correct for typical "arithmetic
++ * shift" instructions that shift in copies of the sign bit.  But some
++ * C compilers implement >> with an unsigned shift.  For these machines you
++ * must define RIGHT_SHIFT_IS_UNSIGNED.
++ * RIGHT_SHIFT provides a proper signed right shift of an INT32 quantity.
++ * It is only applied with constant shift counts.  SHIFT_TEMPS must be
++ * included in the variables of any routine using RIGHT_SHIFT.
++ */
++
++#ifdef RIGHT_SHIFT_IS_UNSIGNED
++#define SHIFT_TEMPS	INT32 shift_temp;
++#define RIGHT_SHIFT(x,shft)  \
++	((shift_temp = (x)) < 0 ? \
++	 (shift_temp >> (shft)) | ((~((INT32) 0)) << (32-(shft))) : \
++	 (shift_temp >> (shft)))
++#else
++#define SHIFT_TEMPS
++#define RIGHT_SHIFT(x,shft)	((x) >> (shft))
++#endif
++
++
++METHODDEF(void)
++ycc_rgb_convert_argb (j_decompress_ptr cinfo,
++                 JSAMPIMAGE input_buf, JDIMENSION input_row,
++                 JSAMPARRAY output_buf, int num_rows)
++{
++  JDIMENSION num_cols = cinfo->output_width;
++  JSAMPLE * range_limit = cinfo->sample_range_limit;
++
++  SHIFT_TEMPS
++
++  /* This is used if we don't have SSE2 */
++
++  while (--num_rows >= 0) {
++    JSAMPROW inptr0 = input_buf[0][input_row];
++    JSAMPROW inptr1 = input_buf[1][input_row];
++    JSAMPROW inptr2 = input_buf[2][input_row];
++    input_row++;
++    uint32_t *outptr = (uint32_t *) *output_buf++;
++    for (JDIMENSION col = 0; col < num_cols; col++) {
++      int y  = GETJSAMPLE(inptr0[col]);
++      int cb = GETJSAMPLE(inptr1[col]);
++      int cr = GETJSAMPLE(inptr2[col]);
++      JSAMPLE * range_limit_y = range_limit + y;
++      /* Range-limiting is essential due to noise introduced by DCT losses. */
++      outptr[col] = 0xFF000000 |
++                    ( range_limit_y[Cr_r_tab[cr]] << 16 ) |
++                    ( range_limit_y[((int) RIGHT_SHIFT(Cb_g_tab[cb] + Cr_g_tab[cr], SCALEBITS))] << 8 ) |
++                    ( range_limit_y[Cb_b_tab[cb]] );
++    }
++  }
++}
++#endif
++
++
+ ///*************** Inverted CMYK -> RGB conversion *************************
+ /// Input is (Inverted) CMYK stored as 4 bytes per pixel.
+ /// Output is RGB stored as 3 bytes per pixel.


Property changes on: trunk/www/seamonkey/files/patch-ijg-libjpeg
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
Added: trunk/www/seamonkey/files/patch-mozilla-config-baseconfig.mk
===================================================================
--- trunk/www/seamonkey/files/patch-mozilla-config-baseconfig.mk	                        (rev 0)
+++ trunk/www/seamonkey/files/patch-mozilla-config-baseconfig.mk	2015-11-07 04:15:50 UTC (rev 20670)
@@ -0,0 +1,14 @@
+--- mozilla/config/baseconfig.mk~
++++ mozilla/config/baseconfig.mk
+@@ -1,7 +1,7 @@
+-includedir := $(includedir)/$(MOZ_APP_NAME)-$(MOZ_APP_VERSION)
+-idldir = $(datadir)/idl/$(MOZ_APP_NAME)-$(MOZ_APP_VERSION)
+-installdir = $(libdir)/$(MOZ_APP_NAME)-$(MOZ_APP_VERSION)
+-sdkdir = $(libdir)/$(MOZ_APP_NAME)-devel-$(MOZ_APP_VERSION)
++includedir := $(includedir)/%%MOZILLA%%
++idldir = $(datadir)/idl/%%MOZILLA%%
++installdir = $(libdir)/%%MOZILLA%%
++sdkdir = $(libdir)/%%MOZILLA%%
+ ifndef TOP_DIST
+ TOP_DIST = dist
+ endif


Property changes on: trunk/www/seamonkey/files/patch-mozilla-config-baseconfig.mk
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
Added: trunk/www/seamonkey/files/patch-mozilla-media-libstagefright-foundation-AString.cpp
===================================================================
--- trunk/www/seamonkey/files/patch-mozilla-media-libstagefright-foundation-AString.cpp	                        (rev 0)
+++ trunk/www/seamonkey/files/patch-mozilla-media-libstagefright-foundation-AString.cpp	2015-11-07 04:15:50 UTC (rev 20670)
@@ -0,0 +1,16 @@
+--- mozilla/media/libstagefright/frameworks/av/media/libstagefright/foundation/AString.cpp~
++++ mozilla/media/libstagefright/frameworks/av/media/libstagefright/foundation/AString.cpp
+@@ -23,6 +23,13 @@
+ #include "ADebug.h"
+ #include "AString.h"
+ 
++#ifdef __FreeBSD__
++# include <osreldate.h>
++# if __FreeBSD_version < 900506
++#  undef tolower
++# endif
++#endif
++
+ namespace stagefright {
+ 
+ // static


Property changes on: trunk/www/seamonkey/files/patch-mozilla-media-libstagefright-foundation-AString.cpp
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
Added: trunk/www/seamonkey/files/patch-mozilla-media-mtransport-third_party-nICEr-src-util-mbslen.c
===================================================================
--- trunk/www/seamonkey/files/patch-mozilla-media-mtransport-third_party-nICEr-src-util-mbslen.c	                        (rev 0)
+++ trunk/www/seamonkey/files/patch-mozilla-media-mtransport-third_party-nICEr-src-util-mbslen.c	2015-11-07 04:15:50 UTC (rev 20670)
@@ -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 */


Property changes on: trunk/www/seamonkey/files/patch-mozilla-media-mtransport-third_party-nICEr-src-util-mbslen.c
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
Added: trunk/www/seamonkey/files/patch-mozilla-media-webrtc-trunk-src-system_wrappers-source-spreadsortlib-spreadsort.hpp
===================================================================
--- trunk/www/seamonkey/files/patch-mozilla-media-webrtc-trunk-src-system_wrappers-source-spreadsortlib-spreadsort.hpp	                        (rev 0)
+++ trunk/www/seamonkey/files/patch-mozilla-media-webrtc-trunk-src-system_wrappers-source-spreadsortlib-spreadsort.hpp	2015-11-07 04:15:50 UTC (rev 20670)
@@ -0,0 +1,16 @@
+--- mozilla/media/webrtc/trunk/webrtc/system_wrappers/source/spreadsortlib/spreadsort.hpp~
++++ mozilla/media/webrtc/trunk/webrtc/system_wrappers/source/spreadsortlib/spreadsort.hpp
+@@ -21,6 +21,13 @@ Scott McMurray
+ #include "constants.hpp"
+ #include <cstring>
+ 
++#ifdef __FreeBSD__
++# include <osreldate.h>
++# if __FreeBSD_version < 900506
++#  define getchar boost_getchar
++# endif
++#endif
++
+ namespace boost {
+   namespace detail {
+   	//This only works on unsigned data types


Property changes on: trunk/www/seamonkey/files/patch-mozilla-media-webrtc-trunk-src-system_wrappers-source-spreadsortlib-spreadsort.hpp
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
Added: trunk/www/seamonkey/files/patch-mozilla-memory-jemalloc-Makefile.in
===================================================================
--- trunk/www/seamonkey/files/patch-mozilla-memory-jemalloc-Makefile.in	                        (rev 0)
+++ trunk/www/seamonkey/files/patch-mozilla-memory-jemalloc-Makefile.in	2015-11-07 04:15:50 UTC (rev 20670)
@@ -0,0 +1,10 @@
+--- mozilla/memory/jemalloc/Makefile.in~
++++ mozilla/memory/jemalloc/Makefile.in
+@@ -12,3 +12,7 @@ include $(topsrcdir)/config/rules.mk
+ ifdef GNU_CC
+ CFLAGS += -std=gnu99
+ endif
++
++# XXX startup crash workaround for gcc47 on amd64
++jemalloc.$(OBJ_SUFFIX): OS_CFLAGS := $(filter-out -O3 -Ofast,$(OS_CFLAGS))
++jemalloc.$(OBJ_SUFFIX): MOZ_OPTIMIZE_FLAGS=


Property changes on: trunk/www/seamonkey/files/patch-mozilla-memory-jemalloc-Makefile.in
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
Added: trunk/www/seamonkey/files/patch-mozilla-memory-jemalloc-configure.ac
===================================================================
--- trunk/www/seamonkey/files/patch-mozilla-memory-jemalloc-configure.ac	                        (rev 0)
+++ trunk/www/seamonkey/files/patch-mozilla-memory-jemalloc-configure.ac	2015-11-07 04:15:50 UTC (rev 20670)
@@ -0,0 +1,28 @@
+commit 1aa25a3
+Author: Michael Neumann <mneumann at ntecs.de>
+Date:   Tue Aug 5 03:06:02 2014 +0200
+
+    Support DragonFlyBSD
+    
+    Note that in contrast to FreeBSD, DragonFly does not work
+    with force_lazy_lock enabled.
+---
+ configure.ac | 5 +++++
+ 1 file changed, 5 insertions(+)
+
+diff --git mozilla/memory/jemalloc/src/configure.ac mozilla/memory/jemalloc/src/configure.ac
+index 645bd46..83c60ec 100644
+--- mozilla/memory/jemalloc/src/configure.ac
++++ mozilla/memory/jemalloc/src/configure.ac
+@@ -283,6 +283,11 @@ case "${host}" in
+ 	AC_DEFINE([JEMALLOC_PURGE_MADVISE_FREE], [ ])
+ 	force_lazy_lock="1"
+ 	;;
++  *-*-dragonfly*)
++	CFLAGS="$CFLAGS"
++	abi="elf"
++	AC_DEFINE([JEMALLOC_PURGE_MADVISE_FREE], [ ])
++	;;
+   *-*-linux*)
+ 	CFLAGS="$CFLAGS"
+ 	CPPFLAGS="$CPPFLAGS -D_GNU_SOURCE"


Property changes on: trunk/www/seamonkey/files/patch-mozilla-memory-jemalloc-configure.ac
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
Added: trunk/www/seamonkey/files/patch-mozilla_toolkit_mozapps_installer_packager_mk
===================================================================
--- trunk/www/seamonkey/files/patch-mozilla_toolkit_mozapps_installer_packager_mk	                        (rev 0)
+++ trunk/www/seamonkey/files/patch-mozilla_toolkit_mozapps_installer_packager_mk	2015-11-07 04:15:50 UTC (rev 20670)
@@ -0,0 +1,13 @@
+$OpenBSD: patch-toolkit_mozapps_installer_packager_mk,v 1.11 2012/06/11 15:29:56 landry Exp $
+install headers/idl/sdk libs only if xulrunner
+--- mozilla/toolkit/mozapps/installer/packager.mk.orig	Fri Jun  1 14:04:20 2012
++++ mozilla/toolkit/mozapps/installer/packager.mk	Tue Jun  5 07:55:51 2012
+@@ -886,7 +886,7 @@ endif
+ 	$(NSINSTALL) -D $(DESTDIR)$(bindir)
+ 	$(RM) -f $(DESTDIR)$(bindir)/$(MOZ_APP_NAME)
+ 	ln -s $(installdir)/$(MOZ_APP_NAME) $(DESTDIR)$(bindir)
+-ifdef INSTALL_SDK # Here comes the hard part
++ifeq ($(MOZ_APP_NAME),xulrunner)
+ 	$(NSINSTALL) -D $(DESTDIR)$(includedir)
+ 	(cd $(DIST)/include && tar $(TAR_CREATE_FLAGS) - .) | \
+ 	  (cd $(DESTDIR)$(includedir) && tar -xf -)


Property changes on: trunk/www/seamonkey/files/patch-mozilla_toolkit_mozapps_installer_packager_mk
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
Deleted: trunk/www/seamonkey/files/patch-security-coreconf-FreeBSD.mk
===================================================================
--- trunk/www/seamonkey/files/patch-security-coreconf-FreeBSD.mk	2015-11-07 03:45:07 UTC (rev 20669)
+++ trunk/www/seamonkey/files/patch-security-coreconf-FreeBSD.mk	2015-11-07 04:15:50 UTC (rev 20670)
@@ -1,24 +0,0 @@
---- security/coreconf/FreeBSD.mk.orig	Mon Sep 25 18:26:23 2006
-+++ security/coreconf/FreeBSD.mk	Mon Sep 25 18:27:03 2006
-@@ -45,8 +45,12 @@
- ifeq ($(OS_TEST),alpha)
- CPU_ARCH		= alpha
- else
-+ifeq ($(OS_TEST),amd64)
-+CPU_ARCH		= amd64
-+else
- CPU_ARCH		= x86
- endif
-+endif
- 
- OS_CFLAGS		= $(DSO_CFLAGS) -ansi -Wall -DFREEBSD -DHAVE_STRERROR -DHAVE_BSD_FLOCK
- 
-@@ -73,7 +77,7 @@
- DLL_SUFFIX		= so.1.0
- endif
- 
--MKSHLIB			= $(CC) $(DSO_LDOPTS)
-+MKSHLIB			= $(CC) -Wl,-Bsymbolic -lc $(DSO_LDOPTS) -o $@
- ifdef MAPFILE
- 	MKSHLIB += -Wl,--version-script,$(MAPFILE)
- endif

Deleted: trunk/www/seamonkey/files/patch-security::coreconf::MidnightBSD.m
===================================================================
--- trunk/www/seamonkey/files/patch-security::coreconf::MidnightBSD.m	2015-11-07 03:45:07 UTC (rev 20669)
+++ trunk/www/seamonkey/files/patch-security::coreconf::MidnightBSD.m	2015-11-07 04:15:50 UTC (rev 20670)
@@ -1,92 +0,0 @@
---- security/coreconf/MidnightBSD.mk.orig	Tue May  8 16:23:30 2007
-+++ security/coreconf/MidnightBSD.mk	Tue May  8 16:22:08 2007
-@@ -0,0 +1,89 @@
-+#
-+# ***** BEGIN LICENSE BLOCK *****
-+# Version: MPL 1.1/GPL 2.0/LGPL 2.1
-+#
-+# The contents of this file are subject to the Mozilla Public License Version
-+# 1.1 (the "License"); you may not use this file except in compliance with
-+# the License. You may obtain a copy of the License at
-+# http://www.mozilla.org/MPL/
-+#
-+# Software distributed under the License is distributed on an "AS IS" basis,
-+# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
-+# for the specific language governing rights and limitations under the
-+# License.
-+#
-+# The Original Code is the Netscape security libraries.
-+#
-+# The Initial Developer of the Original Code is
-+# Netscape Communications Corporation.
-+# Portions created by the Initial Developer are Copyright (C) 1994-2000
-+# the Initial Developer. All Rights Reserved.
-+#
-+# Contributor(s):
-+#
-+# Alternatively, the contents of this file may be used under the terms of
-+# either the GNU General Public License Version 2 or later (the "GPL"), or
-+# the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
-+# in which case the provisions of the GPL or the LGPL are applicable instead
-+# of those above. If you wish to allow use of your version of this file only
-+# under the terms of either the GPL or the LGPL, and not to allow others to
-+# use your version of this file under the terms of the MPL, indicate your
-+# decision by deleting the provisions above and replace them with the notice
-+# and other provisions required by the GPL or the LGPL. If you do not delete
-+# the provisions above, a recipient may use your version of this file under
-+# the terms of any one of the MPL, the GPL or the LGPL.
-+#
-+# ***** END LICENSE BLOCK *****
-+
-+include $(CORE_DEPTH)/coreconf/UNIX.mk
-+
-+DEFAULT_COMPILER	= gcc
-+CC			= gcc
-+CCC			= g++
-+RANLIB			= ranlib
-+
-+ifeq ($(OS_TEST),alpha)
-+CPU_ARCH		= alpha
-+else
-+ifeq ($(OS_TEST),amd64)
-+CPU_ARCH		= amd64
-+else
-+CPU_ARCH		= x86
-+endif
-+endif
-+
-+OS_CFLAGS		= $(DSO_CFLAGS) -ansi -Wall -DFREEBSD -DHAVE_STRERROR -DHAVE_BSD_FLOCK
-+
-+DSO_CFLAGS		= -fPIC
-+DSO_LDOPTS		= -shared -Wl,-soname -Wl,$(notdir $@)
-+
-+#
-+# The default implementation strategy for FreeBSD is pthreads.
-+#
-+ifndef CLASSIC_NSPR
-+USE_PTHREADS		= 1
-+DEFINES			+= -D_THREAD_SAFE -D_REENTRANT
-+OS_LIBS			+= -pthread
-+DSO_LDOPTS		+= -pthread
-+endif
-+
-+ARCH			= freebsd
-+
-+MOZ_OBJFORMAT		:= $(shell test -x /usr/bin/objformat && /usr/bin/objformat || echo elf)
-+
-+ifeq ($(MOZ_OBJFORMAT),elf)
-+DLL_SUFFIX		= so
-+else
-+DLL_SUFFIX		= so.1.0
-+endif
-+
-+MKSHLIB			= $(CC) -Wl,-Bsymbolic -lc $(DSO_LDOPTS) -o $@
-+ifdef MAPFILE
-+	MKSHLIB += -Wl,--version-script,$(MAPFILE)
-+endif
-+PROCESS_MAP_FILE = grep -v ';-' $< | \
-+        sed -e 's,;+,,' -e 's; DATA ;;' -e 's,;;,,' -e 's,;.*,;,' > $@
-+
-+G++INCLUDES		= -I/usr/include/g++
-+
-+INCLUDES		+= -I/usr/X11R6/include

Deleted: trunk/www/seamonkey/files/patch-security::coreconf::config.mk
===================================================================
--- trunk/www/seamonkey/files/patch-security::coreconf::config.mk	2015-11-07 03:45:07 UTC (rev 20669)
+++ trunk/www/seamonkey/files/patch-security::coreconf::config.mk	2015-11-07 04:15:50 UTC (rev 20670)
@@ -1,11 +0,0 @@
---- security/coreconf/config.mk.orig	2009-02-13 12:14:05 -0500
-+++ security/coreconf/config.mk	2009-10-12 22:29:39 -0400
-@@ -63,7 +63,7 @@
- #######################################################################
- 
- TARGET_OSES = FreeBSD BSD_OS NetBSD OpenUNIX OS2 QNX Darwin BeOS OpenBSD \
--              OpenVMS AIX RISCOS WINNT WIN95 WINCE
-+              MIdnightBSD OpenVMS AIX RISCOS WINNT WIN95 WINCE
- 
- ifeq (,$(filter-out $(TARGET_OSES),$(OS_TARGET)))
- include $(CORE_DEPTH)/coreconf/$(OS_TARGET).mk

Deleted: trunk/www/seamonkey/files/patch-security_manager_ssl_src_nsNSSComponent.cpp
===================================================================
--- trunk/www/seamonkey/files/patch-security_manager_ssl_src_nsNSSComponent.cpp	2015-11-07 03:45:07 UTC (rev 20669)
+++ trunk/www/seamonkey/files/patch-security_manager_ssl_src_nsNSSComponent.cpp	2015-11-07 04:15:50 UTC (rev 20670)
@@ -1,10 +0,0 @@
---- security/manager/ssl/src/nsNSSComponent.cpp.orig	Mon May 29 23:10:54 2006
-+++ security/manager/ssl/src/nsNSSComponent.cpp	Mon May 29 23:12:22 2006
-@@ -110,6 +110,7 @@
- #include "nss.h"
- #include "pk11func.h"
- #include "ssl.h"
-+#define NSS_ENABLE_ECC 1
- #include "sslproto.h"
- #include "secmod.h"
- #include "sechash.h"

Deleted: trunk/www/seamonkey/files/patch-storage_build_Makefile.in
===================================================================
--- trunk/www/seamonkey/files/patch-storage_build_Makefile.in	2015-11-07 03:45:07 UTC (rev 20669)
+++ trunk/www/seamonkey/files/patch-storage_build_Makefile.in	2015-11-07 04:15:50 UTC (rev 20670)
@@ -1,10 +0,0 @@
---- storage/build/Makefile.in.orig	Tue Feb 21 11:18:56 2006
-+++ storage/build/Makefile.in	Sun Nov  5 16:16:06 2006
-@@ -77,6 +77,7 @@
- 	$(EXTRA_DSO_LIBS) \
- 	$(MOZ_COMPONENT_LIBS) \
- 	$(MOZ_JS_LIBS) \
-+	%%PTHREAD_LIBS%% \
- 	$(NULL)
- 
- include $(topsrcdir)/config/rules.mk

Added: trunk/www/seamonkey/files/patch-suite-app-nsSuiteApp.cpp
===================================================================
--- trunk/www/seamonkey/files/patch-suite-app-nsSuiteApp.cpp	                        (rev 0)
+++ trunk/www/seamonkey/files/patch-suite-app-nsSuiteApp.cpp	2015-11-07 04:15:50 UTC (rev 20670)
@@ -0,0 +1,21 @@
+--- suite/app/nsSuiteApp.cpp~
++++ suite/app/nsSuiteApp.cpp
+@@ -331,6 +331,9 @@ int main(int argc, char* argv[])
+   TriggerQuirks();
+ #endif
+ 
++  setenv("MOZ_PLUGIN_PATH", "%%LOCALBASE%%/lib/browser_plugins/symlinks/gecko", 0);
++  setenv("MOZ_PLUGIN_PATH", "%%LOCALBASE%%/lib/browser_plugins/symlinks/gecko", 0);
++  
+   int gotCounters;
+ #if defined(XP_UNIX)
+   struct rusage initialRUsage;
+@@ -339,7 +342,7 @@ int main(int argc, char* argv[])
+   IO_COUNTERS ioCounters;
+   gotCounters = GetProcessIoCounters(GetCurrentProcess(), &ioCounters);
+ #endif
+-  
++
+   nsIFile *xreDirectory;
+ 
+ #ifdef HAS_DLL_BLOCKLIST


Property changes on: trunk/www/seamonkey/files/patch-suite-app-nsSuiteApp.cpp
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
Added: trunk/www/seamonkey/files/patch-suite-installer-Makefile.in
===================================================================
--- trunk/www/seamonkey/files/patch-suite-installer-Makefile.in	                        (rev 0)
+++ trunk/www/seamonkey/files/patch-suite-installer-Makefile.in	2015-11-07 04:15:50 UTC (rev 20670)
@@ -0,0 +1,11 @@
+--- suite/installer/Makefile.in.orig	2012-06-19 20:42:29.000000000 +0200
++++ suite/installer/Makefile.in	2012-06-19 20:42:54.000000000 +0200
+@@ -49,7 +49,7 @@
+ MOZ_PKG_MANIFEST_P = $(srcdir)/package-manifest.in
+ # Be fatal, except when building with XULRunner which already bundles some files.
+ ifndef SYSTEM_LIBXUL
+-MOZ_PKG_FATAL_WARNINGS = 1
++MOZ_PKG_FATAL_WARNINGS = 0
+ endif
+ 
+ MOZ_NONLOCALIZED_PKG_LIST = \


Property changes on: trunk/www/seamonkey/files/patch-suite-installer-Makefile.in
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
Deleted: trunk/www/seamonkey/files/patch-sysnss
===================================================================
--- trunk/www/seamonkey/files/patch-sysnss	2015-11-07 03:45:07 UTC (rev 20669)
+++ trunk/www/seamonkey/files/patch-sysnss	2015-11-07 04:15:50 UTC (rev 20670)
@@ -1,180 +0,0 @@
---- Makefile.in	Tue Sep 14 16:59:40 2004
-+++ Makefile.in	Tue Aug  2 08:26:55 2005
-@@ -102,6 +102,4 @@
- # tier 1 -  3rd party individual libraries
- #
--tier_1_dirs	+= dbm
--
- ifndef MOZ_NATIVE_JPEG
- tier_1_dirs	+= jpeg
---- security/manager/ssl/src/Makefile.in.orig	Mon Aug 14 19:22:52 2006
-+++ security/manager/ssl/src/Makefile.in	Thu Aug 31 15:17:20 2006
-@@ -124,19 +124,19 @@
- 		  pipboot \
- 		  $(NULL)
- 
--EXTRA_DEPS = $(NSS_DEP_LIBS)
- 
- DEFINES += -DNSS_ENABLE_ECC
- 
- # Use local includes because they are inserted before INCLUDES
- # so that Mozilla's nss.h is used, not glibc's
--LOCAL_INCLUDES += $(NSS_CFLAGS)
-+LOCAL_INCLUDES += -I%%LOCALBASE%%/include/nss/nss
- 
- EXTRA_DSO_LDOPTS += \
- 		$(MOZ_UNICHARUTIL_LIBS) \
- 		$(MOZ_COMPONENT_LIBS) \
- 		$(MOZ_JS_LIBS) \
- 		$(NSS_LIBS) \
-+		$(LOCAL_INCLUDES) \
- 		$(NULL)
- 
- include $(topsrcdir)/config/rules.mk
---- security/manager/Makefile.in.orig	2009-08-07 22:37:51.000000000 +0200
-+++ security/manager/Makefile.in	2009-08-21 10:41:53.000000000 +0200
-@@ -56,24 +56,13 @@
- 	SOFTOKEN3_LIB \
- 	SOFTOKEN3_CHK \
- 	NSSDBM3_LIB \
--	LOADABLE_ROOT_MODULE \
- 	HAVE_FREEBL_LIBS \
- 	HAVE_FREEBL_LIBS_32 \
- 	HAVE_FREEBL_LIBS_32INT64 \
- 	HAVE_FREEBL_LIBS_64 \
- 	$(NULL)
--
--LOADABLE_ROOT_MODULE = $(DLL_PREFIX)nssckbi$(DLL_SUFFIX)
- endif
- 
--NSS3_LIB = $(DLL_PREFIX)nss3$(DLL_SUFFIX)
--NSSUTIL3_LIB = $(DLL_PREFIX)nssutil3$(DLL_SUFFIX)
--SMIME3_LIB = $(DLL_PREFIX)smime3$(DLL_SUFFIX)
--SSL3_LIB =  $(DLL_PREFIX)ssl3$(DLL_SUFFIX)
--SOFTOKEN3_LIB = $(DLL_PREFIX)softokn3$(DLL_SUFFIX)
--SOFTOKEN3_CHK = $(DLL_PREFIX)softokn3.chk
--NSSDBM3_LIB = $(DLL_PREFIX)nssdbm3$(DLL_SUFFIX)
--
- # Default
- HAVE_FREEBL_LIBS = 1
- 
-@@ -222,11 +211,6 @@
- .nss.cleaned: .nss.checkout
- ifndef MOZ_NATIVE_NSS
- 	$(MAKE) -C $(topsrcdir)/security/coreconf $(DEFAULT_GMAKE_FLAGS) clean
--	$(MAKE) -C $(topsrcdir)/security/nss/lib $(DEFAULT_GMAKE_FLAGS) clean
--ifndef SKIP_CHK
--	$(MAKE) -C $(topsrcdir)/security/nss/cmd/lib $(DEFAULT_GMAKE_FLAGS) clean
--	$(MAKE) -C $(topsrcdir)/security/nss/cmd/shlibsign $(DEFAULT_GMAKE_FLAGS) clean
--endif
- 	touch $@
- endif
- 
-@@ -253,49 +237,6 @@
- 	cd $(DIST)/lib; cp -f $(LIB_PREFIX)mozdbm_s.$(LIB_SUFFIX) $(LIB_PREFIX)dbm.$(LIB_SUFFIX); $(RANLIB) $(LIB_PREFIX)dbm.$(LIB_SUFFIX)
- endif
- ifndef MOZ_NATIVE_NSS
--	$(MAKE) -C $(topsrcdir)/security/nss/lib $(DEFAULT_GMAKE_FLAGS)
--ifndef SKIP_CHK
--	$(MAKE) -C $(topsrcdir)/security/nss/cmd/lib $(DEFAULT_GMAKE_FLAGS)
--	$(MAKE) -C $(topsrcdir)/security/nss/cmd/shlibsign $(DEFAULT_GMAKE_FLAGS)
--endif
--	$(INSTALL) -m 755 $(DIST)/lib/$(LOADABLE_ROOT_MODULE) $(DIST)/bin
--ifndef SKIP_CHK
--	$(INSTALL) -m 644 $(DIST)/lib/$(SOFTOKEN3_CHK) $(DIST)/bin
--endif
--	$(INSTALL) -m 755 $(DIST)/lib/$(SOFTOKEN3_LIB) $(DIST)/bin
--	$(INSTALL) -m 755 $(DIST)/lib/$(NSS3_LIB) $(DIST)/bin
--	$(INSTALL) -m 755 $(DIST)/lib/$(NSSUTIL3_LIB) $(DIST)/bin
--	$(INSTALL) -m 755 $(DIST)/lib/$(NSSDBM3_LIB) $(DIST)/bin
--	$(INSTALL) -m 755 $(DIST)/lib/$(SSL3_LIB) $(DIST)/bin
--	$(INSTALL) -m 755 $(DIST)/lib/$(SMIME3_LIB) $(DIST)/bin
--ifdef HAVE_FREEBL_LIBS
--ifndef SKIP_CHK
--	$(INSTALL) -m 644 $(DIST)/lib/$(FREEBL_CHK) $(DIST)/bin
--endif
--	$(INSTALL) -m 755 $(DIST)/lib/$(FREEBL_LIB) $(DIST)/bin
--endif
--ifdef HAVE_FREEBL_LIBS_32
--ifndef SKIP_CHK
--	$(INSTALL) -m 644 $(DIST)/lib/$(FREEBL_32INT_CHK) $(DIST)/bin
--	$(INSTALL) -m 644 $(DIST)/lib/$(FREEBL_32FPU_CHK) $(DIST)/bin
--endif
--	$(INSTALL) -m 755 $(DIST)/lib/$(FREEBL_32INT_LIB) $(DIST)/bin
--	$(INSTALL) -m 755 $(DIST)/lib/$(FREEBL_32FPU_LIB) $(DIST)/bin
--endif
--ifdef HAVE_FREEBL_LIBS_32INT64
--ifndef SKIP_CHK
--	$(INSTALL) -m 644 $(DIST)/lib/$(FREEBL_32INT64_CHK) $(DIST)/bin
--endif
--	$(INSTALL) -m 755 $(DIST)/lib/$(FREEBL_32INT64_LIB) $(DIST)/bin
--endif
--ifdef HAVE_FREEBL_LIBS_64
--ifndef SKIP_CHK
--	$(INSTALL) -m 644 $(DIST)/lib/$(FREEBL_64INT_CHK) $(DIST)/bin
--	$(INSTALL) -m 644 $(DIST)/lib/$(FREEBL_64FPU_CHK) $(DIST)/bin
--endif
--	$(INSTALL) -m 755 $(DIST)/lib/$(FREEBL_64INT_LIB) $(DIST)/bin
--	$(INSTALL) -m 755 $(DIST)/lib/$(FREEBL_64FPU_LIB) $(DIST)/bin
--endif
- endif
- 	$(MAKE) -C boot $@
- 	$(MAKE) -C ssl $@
-@@ -306,44 +247,6 @@
- 
- install::
- ifndef MOZ_NATIVE_NSS
--	$(SYSINSTALL) -m 755 $(DIST)/lib/$(LOADABLE_ROOT_MODULE) $(DESTDIR)$(mozappdir)
--ifndef SKIP_CHK
--	$(SYSINSTALL) -m 644 $(DIST)/lib/$(SOFTOKEN3_CHK) $(DESTDIR)$(mozappdir)
--endif
--	$(SYSINSTALL) -m 755 $(DIST)/lib/$(SOFTOKEN3_LIB) $(DESTDIR)$(mozappdir)
--	$(SYSINSTALL) -m 755 $(DIST)/lib/$(NSS3_LIB) $(DESTDIR)$(mozappdir)
--	$(SYSINSTALL) -m 755 $(DIST)/lib/$(NSSUTIL3_LIB) $(DESTDIR)$(mozappdir)
--	$(SYSINSTALL) -m 755 $(DIST)/lib/$(NSSDBM3_LIB) $(DESTDIR)$(mozappdir)
--	$(SYSINSTALL) -m 755 $(DIST)/lib/$(SSL3_LIB) $(DESTDIR)$(mozappdir)
--	$(SYSINSTALL) -m 755 $(DIST)/lib/$(SMIME3_LIB) $(DESTDIR)$(mozappdir)
--ifdef HAVE_FREEBL_LIBS
--ifndef SKIP_CHK
--	$(SYSINSTALL) -m 644 $(DIST)/lib/$(FREEBL_CHK) $(DESTDIR)$(mozappdir)
--endif
--	$(SYSINSTALL) -m 755 $(DIST)/lib/$(FREEBL_LIB) $(DESTDIR)$(mozappdir)
--endif
--ifdef HAVE_FREEBL_LIBS_32
--ifndef SKIP_CHK
--	$(SYSINSTALL) -m 644 $(DIST)/lib/$(FREEBL_32INT_CHK) $(DESTDIR)$(mozappdir)
--	$(SYSINSTALL) -m 644 $(DIST)/lib/$(FREEBL_32FPU_CHK) $(DESTDIR)$(mozappdir)
--endif
--	$(SYSINSTALL) -m 755 $(DIST)/lib/$(FREEBL_32INT_LIB) $(DESTDIR)$(mozappdir)
--	$(SYSINSTALL) -m 755 $(DIST)/lib/$(FREEBL_32FPU_LIB) $(DESTDIR)$(mozappdir)
--endif
--ifdef HAVE_FREEBL_LIBS_32INT64
--ifndef SKIP_CHK
--	$(SYSINSTALL) -m 644 $(DIST)/lib/$(FREEBL_32INT64_CHK) $(DESTDIR)$(mozappdir)
--endif
--	$(SYSINSTALL) -m 755 $(DIST)/lib/$(FREEBL_32INT64_LIB) $(DESTDIR)$(mozappdir)
--endif
--ifdef HAVE_FREEBL_LIBS_64
--ifndef SKIP_CHK
--	$(SYSINSTALL) -m 644 $(DIST)/lib/$(FREEBL_64INT_CHK) $(DESTDIR)$(mozappdir)
--	$(SYSINSTALL) -m 644 $(DIST)/lib/$(FREEBL_64FPU_CHK) $(DESTDIR)$(mozappdir)
--endif
--	$(SYSINSTALL) -m 755 $(DIST)/lib/$(FREEBL_64INT_LIB) $(DESTDIR)$(mozappdir)
--	$(SYSINSTALL) -m 755 $(DIST)/lib/$(FREEBL_64FPU_LIB) $(DESTDIR)$(mozappdir)
--endif
- endif
- 	$(MAKE) -C boot $@
- 	$(MAKE) -C ssl $@
-@@ -360,12 +263,6 @@
- 	$(MAKE) -C pki $@
- endif
- ifndef MOZ_NATIVE_NSS
--	$(MAKE) -C $(topsrcdir)/security/coreconf $(DEFAULT_GMAKE_FLAGS) clean
--	$(MAKE) -C $(topsrcdir)/security/nss/lib $(DEFAULT_GMAKE_FLAGS) clean
--ifndef SKIP_CHK
--	$(MAKE) -C $(topsrcdir)/security/nss/cmd/lib $(DEFAULT_GMAKE_FLAGS) clean
--	$(MAKE) -C $(topsrcdir)/security/nss/cmd/shlibsign $(DEFAULT_GMAKE_FLAGS) clean
--endif
- endif
- 
- echo-requires-recursive::

Deleted: trunk/www/seamonkey/files/patch-uriloader_exthandler_unix_nsGNOMERegistry.cpp
===================================================================
--- trunk/www/seamonkey/files/patch-uriloader_exthandler_unix_nsGNOMERegistry.cpp	2015-11-07 03:45:07 UTC (rev 20669)
+++ trunk/www/seamonkey/files/patch-uriloader_exthandler_unix_nsGNOMERegistry.cpp	2015-11-07 04:15:50 UTC (rev 20670)
@@ -1,29 +0,0 @@
---- uriloader/exthandler/unix/nsGNOMERegistry.cpp.orig	Fri Dec 24 04:30:00 2004
-+++ uriloader/exthandler/unix/nsGNOMERegistry.cpp	Fri Dec 24 04:34:05 2004
-@@ -143,7 +143,7 @@
-     PR_END_MACRO
- 
-   // Attempt to open libgconf
--  gconfLib = LoadVersionedLibrary("gconf-2", ".4");
-+  gconfLib = PR_LoadLibrary("libgconf-2.so");
-   ENSURE_LIB(gconfLib);
- 
-   GET_LIB_FUNCTION(gconf, gconf_client_get_default);
-@@ -151,7 +151,7 @@
-   GET_LIB_FUNCTION(gconf, gconf_client_get_bool);
- 
-   // Attempt to open libgnome
--  gnomeLib = LoadVersionedLibrary("gnome-2", ".0");
-+  gnomeLib = PR_LoadLibrary("libgnome-2.so");
-   ENSURE_LIB(gnomeLib);
- 
-   GET_LIB_FUNCTION(gnome, gnome_url_show);
-@@ -160,7 +160,7 @@
-   GET_LIB_FUNCTION(gnome, gnome_program_get);
- 
-   // Attempt to open libgnomevfs
--  vfsLib = LoadVersionedLibrary("gnomevfs-2", ".0");
-+  vfsLib = PR_LoadLibrary("libgnomevfs-2.so");
-   ENSURE_LIB(vfsLib);
- 
-   GET_LIB_FUNCTION(vfs, gnome_vfs_mime_type_from_name);

Deleted: trunk/www/seamonkey/files/patch-xpcom_reflect_xptcall_public_xptcstubsdecl.inc
===================================================================
--- trunk/www/seamonkey/files/patch-xpcom_reflect_xptcall_public_xptcstubsdecl.inc	2015-11-07 03:45:07 UTC (rev 20669)
+++ trunk/www/seamonkey/files/patch-xpcom_reflect_xptcall_public_xptcstubsdecl.inc	2015-11-07 04:15:50 UTC (rev 20670)
@@ -1,11 +0,0 @@
---- xpcom/reflect/xptcall/public/xptcstubsdecl.inc.orig	Tue Mar 16 03:07:25 2004
-+++ xpcom/reflect/xptcall/public/xptcstubsdecl.inc	Fri Mar 19 15:58:14 2004
-@@ -8,7 +8,7 @@
- *  1 is AddRef
- *  2 is Release
- */
--#if !defined(__ia64) || (!defined(__hpux) && !defined(__linux__))
-+#if !defined(__ia64)
- NS_IMETHOD Stub3();
- NS_IMETHOD Stub4();
- NS_IMETHOD Stub5();

Deleted: trunk/www/seamonkey/files/patch-xpcom_reflect_xptcall_src_md_unix_Makefile.in
===================================================================
--- trunk/www/seamonkey/files/patch-xpcom_reflect_xptcall_src_md_unix_Makefile.in	2015-11-07 03:45:07 UTC (rev 20669)
+++ trunk/www/seamonkey/files/patch-xpcom_reflect_xptcall_src_md_unix_Makefile.in	2015-11-07 04:15:50 UTC (rev 20670)
@@ -1,72 +0,0 @@
---- xpcom/reflect/xptcall/src/md/unix/Makefile.in.orig	Fri Dec 22 08:51:03 2006
-+++ xpcom/reflect/xptcall/src/md/unix/Makefile.in	Tue May  8 16:18:00 2007
-@@ -62,10 +62,13 @@
- #
- # Lots of Unixish x86 flavors
- #
--ifneq (,$(filter FreeBSD NetBSD OpenBSD BSD_OS Darwin,$(OS_ARCH)))
-+ifneq (,$(filter MidnightBSD FreeBSD NetBSD OpenBSD BSD_OS Darwin,$(OS_ARCH)))
- ifeq (86,$(findstring 86,$(OS_TEST)))
- CPPSRCS		:= xptcinvoke_unixish_x86.cpp xptcstubs_unixish_x86.cpp
- endif
-+ifeq (amd64,$(OS_TEST))
-+CPPSRCS		:= xptcinvoke_amd64_freebsd.cpp xptcstubs_amd64_freebsd.cpp
-+endif
- endif
- #
- # New code for Linux, et. al., with gcc
-@@ -81,8 +84,8 @@
- endif
- endif
- endif
--# IA64 Linux
--ifneq (,$(filter Linux,$(OS_ARCH)))
-+# IA64 Linux & FreeBSD
-+ifneq (,$(filter MidnightBSD Linux FreeBSD,$(OS_ARCH)))
- ifneq (,$(findstring ia64,$(OS_TEST)))
- CPPSRCS		:= xptcinvoke_ipf64.cpp xptcstubs_ipf64.cpp
- ASFILES		:= xptcstubs_asm_ipf64.s xptcinvoke_asm_ipf64.s
-@@ -129,9 +132,15 @@
- ASFILES		:= xptcinvoke_asm_osf1_alpha.s xptcstubs_asm_osf1_alpha.s
- endif
- #
-+# FreeBSD/Alpha
-+#
-+ifeq ($(OS_ARCH)$(OS_TEST),FreeBSDalpha)
-+CPPSRCS		:= xptcinvoke_freebsd_alpha.cpp xptcstubs_freebsd_alpha.cpp
-+endif
-+#
- # Linux/Alpha
- #
--ifneq (,$(filter Linuxalpha FreeBSDalpha NetBSDalpha,$(OS_ARCH)$(OS_TEST)))                           
-+ifneq (,$(filter Linuxalpha NetBSDalpha,$(OS_ARCH)$(OS_TEST)))                           
- CPPSRCS		:= xptcinvoke_linux_alpha.cpp xptcstubs_linux_alpha.cpp
- endif
- #
-@@ -323,6 +332,26 @@
- CPPSRCS		:= xptcinvoke_sparc_netbsd.cpp xptcstubs_sparc_netbsd.cpp
- ASFILES		:= xptcinvoke_asm_sparc_netbsd.s xptcstubs_asm_sparc_netbsd.s
- endif
-+#
-+# FreeBSD/SPARC64
-+#
-+ifeq ($(OS_ARCH),FreeBSD)
-+ifneq (,$(findstring sparc,$(OS_TEST)))
-+CPPSRCS		:= xptcinvoke_sparc64_freebsd.cpp xptcstubs_sparc64_freebsd.cpp
-+ASFILES		:= xptcinvoke_asm_sparc64_freebsd.s xptcstubs_asm_sparcv9_solaris.s
-+endif
-+endif
-+#
-+# FreeBSD/SPARC64
-+#
-+ifeq ($(OS_ARCH),MidnightBSD)
-+ifneq (,$(findstring sparc,$(OS_TEST)))
-+CPPSRCS         := xptcinvoke_sparc64_freebsd.cpp xptcstubs_sparc64_freebsd.cpp
-+ASFILES         := xptcinvoke_asm_sparc64_freebsd.s xptcstubs_asm_sparcv9_solari
-+s.s
-+endif
-+endif
-+
- #
- # Solaris/SPARC
- #

Deleted: trunk/www/seamonkey/files/patch-xptcall-alpha
===================================================================
--- trunk/www/seamonkey/files/patch-xptcall-alpha	2015-11-07 03:45:07 UTC (rev 20669)
+++ trunk/www/seamonkey/files/patch-xptcall-alpha	2015-11-07 04:15:50 UTC (rev 20670)
@@ -1,459 +0,0 @@
---- xpcom/reflect/xptcall/src/md/unix/xptcinvoke_freebsd_alpha.cpp.orig	Tue May 27 01:37:25 2003
-+++ xpcom/reflect/xptcall/src/md/unix/xptcinvoke_freebsd_alpha.cpp	Tue May 27 01:37:00 2003
-@@ -0,0 +1,184 @@
-+/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-+/* ***** BEGIN LICENSE BLOCK *****
-+ * Version: NPL 1.1/GPL 2.0/LGPL 2.1
-+ *
-+ * The contents of this file are subject to the Netscape Public License
-+ * Version 1.1 (the "License"); you may not use this file except in
-+ * compliance with the License. You may obtain a copy of the License at
-+ * http://www.mozilla.org/NPL/
-+ *
-+ * Software distributed under the License is distributed on an "AS IS" basis,
-+ * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
-+ * for the specific language governing rights and limitations under the
-+ * License.
-+ *
-+ * The Original Code is mozilla.org code.
-+ *
-+ * The Initial Developer of the Original Code is 
-+ * Netscape Communications Corporation.
-+ * Portions created by the Initial Developer are Copyright (C) 1998
-+ * the Initial Developer. All Rights Reserved.
-+ *
-+ * Contributor(s):
-+ *
-+ * Alternatively, the contents of this file may be used under the terms of
-+ * either the GNU General Public License Version 2 or later (the "GPL"), or 
-+ * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
-+ * in which case the provisions of the GPL or the LGPL are applicable instead
-+ * of those above. If you wish to allow use of your version of this file only
-+ * under the terms of either the GPL or the LGPL, and not to allow others to
-+ * use your version of this file under the terms of the NPL, indicate your
-+ * decision by deleting the provisions above and replace them with the notice
-+ * and other provisions required by the GPL or the LGPL. If you do not delete
-+ * the provisions above, a recipient may use your version of this file under
-+ * the terms of any one of the NPL, the GPL or the LGPL.
-+ *
-+ * ***** END LICENSE BLOCK ***** */
-+
-+/* Platform specific code to invoke XPCOM methods on native objects */
-+
-+/* contributed by Glen Nakamura <glen.nakamura at usa.net> */
-+
-+#include "xptcprivate.h"
-+
-+/* Prototype specifies unmangled function name and disables unused warning */
-+static void
-+invoke_copy_to_stack(PRUint64* d, PRUint32 paramCount, nsXPTCVariant* s)
-+__asm__("invoke_copy_to_stack") __attribute__((unused));
-+
-+static void
-+invoke_copy_to_stack(PRUint64* d, PRUint32 paramCount, nsXPTCVariant* s)
-+{
-+    const PRUint8 NUM_ARG_REGS = 6-1;        // -1 for "this" pointer
-+
-+    for(PRUint32 i = 0; i < paramCount; i++, d++, s++)
-+    {
-+        if(s->IsPtrData())
-+        {
-+            *d = (PRUint64)s->ptr;
-+            continue;
-+        }
-+        switch(s->type)
-+        {
-+        case nsXPTType::T_I8     : *d = (PRUint64)s->val.i8;     break;
-+        case nsXPTType::T_I16    : *d = (PRUint64)s->val.i16;    break;
-+        case nsXPTType::T_I32    : *d = (PRUint64)s->val.i32;    break;
-+        case nsXPTType::T_I64    : *d = (PRUint64)s->val.i64;    break;
-+        case nsXPTType::T_U8     : *d = (PRUint64)s->val.u8;     break;
-+        case nsXPTType::T_U16    : *d = (PRUint64)s->val.u16;    break;
-+        case nsXPTType::T_U32    : *d = (PRUint64)s->val.u32;    break;
-+        case nsXPTType::T_U64    : *d = (PRUint64)s->val.u64;    break;
-+        case nsXPTType::T_FLOAT  :
-+            if(i < NUM_ARG_REGS)
-+            {
-+                // convert floats to doubles if they are to be passed
-+                // via registers so we can just deal with doubles later
-+                union { PRUint64 u64; double d; } t;
-+                t.d = (double)s->val.f;
-+                *d = t.u64;
-+            }
-+            else
-+                // otherwise copy to stack normally
-+                *d = (PRUint64)s->val.u32;
-+            break;
-+        case nsXPTType::T_DOUBLE : *d = (PRUint64)s->val.u64;    break;
-+        case nsXPTType::T_BOOL   : *d = (PRUint64)s->val.b;      break;
-+        case nsXPTType::T_CHAR   : *d = (PRUint64)s->val.c;      break;
-+        case nsXPTType::T_WCHAR  : *d = (PRUint64)s->val.wc;     break;
-+        default:
-+            // all the others are plain pointer types
-+            *d = (PRUint64)s->val.p;
-+            break;
-+        }
-+    }
-+}
-+
-+/*
-+ * XPTC_PUBLIC_API(nsresult)
-+ * XPTC_InvokeByIndex(nsISupports* that, PRUint32 methodIndex,
-+ *                    PRUint32 paramCount, nsXPTCVariant* params, void* vt)
-+ */
-+__asm__(
-+    "#### XPTC_InvokeByIndex ####\n"
-+".text\n\t"
-+    ".align 5\n\t"
-+    ".globl XPTC_InvokeByIndex\n\t"
-+    ".ent XPTC_InvokeByIndex\n"
-+"XPTC_InvokeByIndex:\n\t"
-+    ".frame $15,32,$26,0\n\t"
-+    ".mask 0x4008000,-32\n\t"
-+    "ldgp $29,0($27)\n"
-+"$XPTC_InvokeByIndex..ng:\n\t"
-+    "subq $30,32,$30\n\t"
-+    "stq $26,0($30)\n\t"
-+    "stq $15,8($30)\n\t"
-+    "bis $30,$30,$15\n\t"
-+    ".prologue 1\n\t"
-+
-+    /*
-+     * Allocate enough stack space to hold the greater of 6 or "paramCount"+1
-+     * parameters. (+1 for "this" pointer)  Room for at least 6 parameters
-+     * is required for storage of those passed via registers.
-+     */
-+
-+    "bis $31,5,$2\n\t"      /* count = MAX(5, "paramCount") */
-+    "cmplt $2,$18,$1\n\t"
-+    "cmovne $1,$18,$2\n\t"
-+    "s8addq $2,16,$1\n\t"   /* room for count+1 params (8 bytes each) */
-+    "bic $1,15,$1\n\t"      /* stack space is rounded up to 0 % 16 */
-+    "subq $30,$1,$30\n\t"
-+
-+    "stq $16,0($30)\n\t"    /* save "that" (as "this" pointer) */
-+    "stq $17,16($15)\n\t"   /* save "methodIndex" */
-+
-+    "addq $30,8,$16\n\t"    /* pass stack pointer */
-+    "bis $18,$18,$17\n\t"   /* pass "paramCount" */
-+    "bis $19,$19,$18\n\t"   /* pass "params" */
-+    "bsr $26,$invoke_copy_to_stack..ng\n\t"     /* call invoke_copy_to_stack */
-+
-+    /*
-+     * Copy the first 6 parameters to registers and remove from stack frame.
-+     * Both the integer and floating point registers are set for each parameter
-+     * except the first which is the "this" pointer.  (integer only)
-+     * The floating point registers are all set as doubles since the
-+     * invoke_copy_to_stack function should have converted the floats.
-+     */
-+    "ldq $16,0($30)\n\t"    /* integer registers */
-+    "ldq $17,8($30)\n\t"
-+    "ldq $18,16($30)\n\t"
-+    "ldq $19,24($30)\n\t"
-+    "ldq $20,32($30)\n\t"
-+    "ldq $21,40($30)\n\t"
-+    "ldt $f17,8($30)\n\t"   /* floating point registers */
-+    "ldt $f18,16($30)\n\t"
-+    "ldt $f19,24($30)\n\t"
-+    "ldt $f20,32($30)\n\t"
-+    "ldt $f21,40($30)\n\t"
-+
-+    "addq $30,48,$30\n\t"   /* remove params from stack */
-+
-+    /*
-+     * Call the virtual function with the constructed stack frame.
-+     */
-+    "bis $16,$16,$1\n\t"    /* load "this" */
-+    "ldq $2,16($15)\n\t"    /* load "methodIndex" */
-+    "ldq $1,0($1)\n\t"      /* load vtable */
-+#if 0
-+    "s8addq $2,16,$2\n\t"   /* vtable index = "methodIndex" * 8 + 16 */
-+#else
-+    "mulq $2, 8, $2\n\t"
-+    "addq $2, 0, $2\n\t"   /* vtable index = "methodIndex" * 16 + 24 */
-+#endif
-+    "addq $1,$2,$1\n\t"
-+    "ldq $27,0($1)\n\t"     /* load address of function */
-+    "jsr $26,($27),0\n\t"   /* call virtual function */
-+    "ldgp $29,0($26)\n\t"
-+
-+    "bis $15,$15,$30\n\t"
-+    "ldq $26,0($30)\n\t"
-+    "ldq $15,8($30)\n\t"
-+    "addq $30,32,$30\n\t"
-+    "ret $31,($26),1\n\t"
-+    ".end XPTC_InvokeByIndex"
-+    );
-+
---- xpcom/reflect/xptcall/src/md/unix/xptcstubs_freebsd_alpha.cpp.orig	Tue May 27 01:37:30 2003
-+++ xpcom/reflect/xptcall/src/md/unix/xptcstubs_freebsd_alpha.cpp	Tue May 27 01:37:04 2003
-@@ -0,0 +1,269 @@
-+/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-+/* ***** BEGIN LICENSE BLOCK *****
-+ * Version: NPL 1.1/GPL 2.0/LGPL 2.1
-+ *
-+ * The contents of this file are subject to the Netscape Public License
-+ * Version 1.1 (the "License"); you may not use this file except in
-+ * compliance with the License. You may obtain a copy of the License at
-+ * http://www.mozilla.org/NPL/
-+ *
-+ * Software distributed under the License is distributed on an "AS IS" basis,
-+ * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
-+ * for the specific language governing rights and limitations under the
-+ * License.
-+ *
-+ * The Original Code is mozilla.org code.
-+ *
-+ * The Initial Developer of the Original Code is 
-+ * Netscape Communications Corporation.
-+ * Portions created by the Initial Developer are Copyright (C) 1999
-+ * the Initial Developer. All Rights Reserved.
-+ *
-+ * Contributor(s):
-+ *
-+ * Alternatively, the contents of this file may be used under the terms of
-+ * either the GNU General Public License Version 2 or later (the "GPL"), or 
-+ * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
-+ * in which case the provisions of the GPL or the LGPL are applicable instead
-+ * of those above. If you wish to allow use of your version of this file only
-+ * under the terms of either the GPL or the LGPL, and not to allow others to
-+ * use your version of this file under the terms of the NPL, indicate your
-+ * decision by deleting the provisions above and replace them with the notice
-+ * and other provisions required by the GPL or the LGPL. If you do not delete
-+ * the provisions above, a recipient may use your version of this file under
-+ * the terms of any one of the NPL, the GPL or the LGPL.
-+ *
-+ * ***** END LICENSE BLOCK ***** */
-+
-+/* Implement shared vtbl methods. */
-+
-+/* contributed by Glen Nakamura <glen.nakamura at usa.net> */
-+
-+#include <sys/types.h>
-+#include <machine/cpu.h>
-+#include "xptcprivate.h"
-+
-+/* Prototype specifies unmangled function name and disables unused warning */
-+static nsresult
-+PrepareAndDispatch(nsXPTCStubBase* self, uint32 methodIndex, PRUint64* args)
-+__asm__("PrepareAndDispatch") __attribute__((unused));
-+
-+static nsresult
-+PrepareAndDispatch(nsXPTCStubBase* self, uint32 methodIndex, PRUint64* args)
-+{
-+    const PRUint8 PARAM_BUFFER_COUNT = 16;
-+    const PRUint8 NUM_ARG_REGS = 6-1;        // -1 for "this" pointer
-+
-+    nsXPTCMiniVariant paramBuffer[PARAM_BUFFER_COUNT];
-+    nsXPTCMiniVariant* dispatchParams = NULL;
-+    nsIInterfaceInfo* iface_info = NULL;
-+    const nsXPTMethodInfo* info;
-+    PRUint8 paramCount;
-+    PRUint8 i;
-+    nsresult result = NS_ERROR_FAILURE;
-+
-+    NS_ASSERTION(self,"no self");
-+
-+    self->GetInterfaceInfo(&iface_info);
-+    NS_ASSERTION(iface_info,"no interface info");
-+
-+    iface_info->GetMethodInfo(PRUint16(methodIndex), &info);
-+    NS_ASSERTION(info,"no interface info");
-+
-+    paramCount = info->GetParamCount();
-+
-+    // setup variant array pointer
-+    if(paramCount > PARAM_BUFFER_COUNT)
-+        dispatchParams = new nsXPTCMiniVariant[paramCount];
-+    else
-+        dispatchParams = paramBuffer;
-+    NS_ASSERTION(dispatchParams,"no place for params");
-+
-+    // args[0] to args[NUM_ARG_REGS] hold floating point register values
-+    PRUint64* ap = args + NUM_ARG_REGS;
-+    for(i = 0; i < paramCount; i++, ap++)
-+    {
-+        const nsXPTParamInfo& param = info->GetParam(i);
-+        const nsXPTType& type = param.GetType();
-+        nsXPTCMiniVariant* dp = &dispatchParams[i];
-+
-+        if(param.IsOut() || !type.IsArithmetic())
-+        {
-+            dp->val.p = (void*) *ap;
-+            continue;
-+        }
-+        // else
-+        switch(type)
-+        {
-+        case nsXPTType::T_I8     : dp->val.i8  = (PRInt8)    *ap;    break;
-+        case nsXPTType::T_I16    : dp->val.i16 = (PRInt16)   *ap;    break;
-+        case nsXPTType::T_I32    : dp->val.i32 = (PRInt32)   *ap;    break;
-+        case nsXPTType::T_I64    : dp->val.i64 = (PRInt64)   *ap;    break;
-+        case nsXPTType::T_U8     : dp->val.u8  = (PRUint8)   *ap;    break;
-+        case nsXPTType::T_U16    : dp->val.u16 = (PRUint16)  *ap;    break;
-+        case nsXPTType::T_U32    : dp->val.u32 = (PRUint32)  *ap;    break;
-+        case nsXPTType::T_U64    : dp->val.u64 = (PRUint64)  *ap;    break;
-+        case nsXPTType::T_FLOAT  :
-+            if(i < NUM_ARG_REGS)
-+            {
-+                // floats passed via registers are stored as doubles
-+                // in the first NUM_ARG_REGS entries in args
-+                dp->val.u64 = (PRUint64) args[i];
-+                dp->val.f = (float) dp->val.d;    // convert double to float
-+            }
-+            else
-+                dp->val.u32 = (PRUint32) *ap;
-+            break;
-+        case nsXPTType::T_DOUBLE :
-+            // doubles passed via registers are also stored
-+            // in the first NUM_ARG_REGS entries in args
-+            dp->val.u64 = (i < NUM_ARG_REGS) ? args[i] : *ap;
-+            break;
-+        case nsXPTType::T_BOOL   : dp->val.b   = (PRBool)    *ap;    break;
-+        case nsXPTType::T_CHAR   : dp->val.c   = (char)      *ap;    break;
-+        case nsXPTType::T_WCHAR  : dp->val.wc  = (PRUnichar) *ap;    break;
-+        default:
-+            NS_ASSERTION(0, "bad type");
-+            break;
-+        }
-+    }
-+
-+    result = self->CallMethod((PRUint16)methodIndex, info, dispatchParams);
-+
-+    NS_RELEASE(iface_info);
-+
-+    if(dispatchParams != paramBuffer)
-+        delete [] dispatchParams;
-+
-+    return result;
-+}
-+
-+/*
-+ * SharedStub()
-+ *  Collects arguments and calls PrepareAndDispatch.  The "methodIndex" is
-+ *  passed to this function via $1 to preserve the argument registers.
-+ */
-+__asm__(
-+    "#### SharedStub ####\n"
-+".text\n\t"
-+    ".align 5\n\t"
-+    ".ent SharedStub\n"
-+"SharedStub:\n\t"
-+    ".frame $30,96,$26,0\n\t"
-+    ".mask 0x4000000,-96\n\t"
-+    "ldgp $29,0($27)\n"
-+"$SharedStub..ng:\n\t"
-+    "subq $30,96,$30\n\t"
-+    "stq $26,0($30)\n\t"
-+    ".prologue 1\n\t"
-+
-+    /*
-+     * Store arguments passed via registers to the stack.
-+     * Floating point registers are stored as doubles and converted
-+     * to floats in PrepareAndDispatch if necessary.
-+     */
-+    "stt $f17,16($30)\n\t"   /* floating point registers */
-+    "stt $f18,24($30)\n\t"
-+    "stt $f19,32($30)\n\t"
-+    "stt $f20,40($30)\n\t"
-+    "stt $f21,48($30)\n\t"
-+    "stq $17,56($30)\n\t"    /* integer registers */
-+    "stq $18,64($30)\n\t"
-+    "stq $19,72($30)\n\t"
-+    "stq $20,80($30)\n\t"
-+    "stq $21,88($30)\n\t"
-+
-+    /*
-+     * Call PrepareAndDispatch function.
-+     */
-+    "bis $1,$1,$17\n\t"      /* pass "methodIndex" */
-+    "addq $30,16,$18\n\t"    /* pass "args" */
-+    "bsr $26,$PrepareAndDispatch..ng\n\t"
-+
-+    "ldq $26,0($30)\n\t"
-+    "addq $30,96,$30\n\t"
-+    "ret $31,($26),1\n\t"
-+    ".end SharedStub"
-+    );
-+
-+#if defined(__GXX_ABI_VERSION) && __GXX_ABI_VERSION >= 100 /* G++ V3 ABI */
-+/*
-+ * nsresult nsXPTCStubBase::Stub##n()
-+ *  Sets register $1 to "methodIndex" and jumps to SharedStub.
-+ */
-+#define STUB_ENTRY(n) \
-+__asm__( \
-+    "#### Stub"#n" ####\n" \
-+".text\n\t" \
-+    ".align 5\n\t" \
-+    ".globl _ZN14nsXPTCStubBase5Stub"#n"Ev\n\t" \
-+    ".ent _ZN14nsXPTCStubBase5Stub"#n"Ev\n" \
-+"_ZN14nsXPTCStubBase5Stub"#n"Ev:\n\t" \
-+    ".frame $30,0,$26,0\n\t" \
-+    "ldgp $29,0($27)\n" \
-+"$_ZN14nsXPTCStubBase5Stub"#n"Ev..ng:\n\t" \
-+    ".prologue 1\n\t" \
-+    "lda $1,"#n"\n\t" \
-+    "br $31,$SharedStub..ng\n\t" \
-+    ".end _ZN14nsXPTCStubBase5Stub"#n"Ev" \
-+    ); \
-+__asm__( \
-+    "#### Stub"#n" ####\n" \
-+".text\n\t" \
-+    ".align 5\n\t" \
-+    ".globl _ZN14nsXPTCStubBase6Stub"#n"Ev\n\t" \
-+    ".ent _ZN14nsXPTCStubBase6Stub"#n"Ev\n" \
-+"_ZN14nsXPTCStubBase6Stub"#n"Ev:\n\t" \
-+    ".frame $30,0,$26,0\n\t" \
-+    "ldgp $29,0($27)\n" \
-+"$_ZN14nsXPTCStubBase6Stub"#n"Ev..ng:\n\t" \
-+    ".prologue 1\n\t" \
-+    "lda $1,"#n"\n\t" \
-+    "br $31,$SharedStub..ng\n\t" \
-+    ".end _ZN14nsXPTCStubBase6Stub"#n"Ev" \
-+    ); \
-+__asm__( \
-+    "#### Stub"#n" ####\n" \
-+".text\n\t" \
-+    ".align 5\n\t" \
-+    ".globl _ZN14nsXPTCStubBase7Stub"#n"Ev\n\t" \
-+    ".ent _ZN14nsXPTCStubBase7Stub"#n"Ev\n" \
-+"_ZN14nsXPTCStubBase7Stub"#n"Ev:\n\t" \
-+    ".frame $30,0,$26,0\n\t" \
-+    "ldgp $29,0($27)\n" \
-+"$_ZN14nsXPTCStubBase7Stub"#n"Ev..ng:\n\t" \
-+    ".prologue 1\n\t" \
-+    "lda $1,"#n"\n\t" \
-+    "br $31,$SharedStub..ng\n\t" \
-+    ".end _ZN14nsXPTCStubBase7Stub"#n"Ev" \
-+    );
-+#else
-+/*
-+ * nsresult nsXPTCStubBase::Stub##n()
-+ *  Sets register $1 to "methodIndex" and jumps to SharedStub.
-+ */
-+#define STUB_ENTRY(n) \
-+nsresult nsXPTCStubBase::Stub##n() \
-+{ \
-+    nsresult result; \
-+__asm__ __volatile__( \
-+    "ldah    $29,0($27)\n\t" \
-+    "lda     $29,0($29)\n\t" \
-+    "lda $1, "#n"\n\t" \
-+    "br $31, $SharedStub..ng\n\t" \
-+    "mov $0, %0\n\t" \
-+    : "=r" (result) \
-+    ); \
-+    return result; \
-+}
-+#endif
-+
-+#define SENTINEL_ENTRY(n) \
-+nsresult nsXPTCStubBase::Sentinel##n() \
-+{ \
-+    NS_ASSERTION(0,"nsXPTCStubBase::Sentinel called"); \
-+    return NS_ERROR_NOT_IMPLEMENTED; \
-+}
-+
-+#include "xptcstubsdef.inc"
-+

Deleted: trunk/www/seamonkey/files/patch-xptcall-amd64
===================================================================
--- trunk/www/seamonkey/files/patch-xptcall-amd64	2015-11-07 03:45:07 UTC (rev 20669)
+++ trunk/www/seamonkey/files/patch-xptcall-amd64	2015-11-07 04:15:50 UTC (rev 20670)
@@ -1,386 +0,0 @@
---- /dev/null	Wed Dec 31 16:00:00 1969
-+++ xpcom/reflect/xptcall/src/md/unix/xptcinvoke_amd64_freebsd.cpp	Thu Oct 16 22:59:43 2003
-@@ -0,0 +1,174 @@
-+/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-+// Platform specific code to invoke XPCOM methods on native objects
-+
-+#include "xptcprivate.h"
-+
-+// 6 integral parameters are passed in registers
-+const PRUint32 GPR_COUNT = 6;
-+
-+// 8 floating point parameters are passed in SSE registers
-+const PRUint32 FPR_COUNT = 8;
-+
-+// Remember that these 'words' are 64-bit long
-+static inline void
-+invoke_count_words(PRUint32 paramCount, nsXPTCVariant * s,
-+                   PRUint32 & nr_gpr, PRUint32 & nr_fpr, PRUint32 & nr_stack)
-+{
-+    nr_gpr = 1; // skip one GP register for 'that'
-+    nr_fpr = 0;
-+    nr_stack = 0;
-+
-+    /* Compute number of eightbytes of class MEMORY.  */
-+    for (uint32 i = 0; i < paramCount; i++, s++) {
-+        if (!s->IsPtrData()
-+            && (s->type == nsXPTType::T_FLOAT || s->type == nsXPTType::T_DOUBLE)) {
-+            if (nr_fpr < FPR_COUNT)
-+                nr_fpr++;
-+            else
-+                nr_stack++;
-+        }
-+        else {
-+            if (nr_gpr < GPR_COUNT)
-+                nr_gpr++;
-+            else
-+                nr_stack++;
-+        }
-+    }
-+}
-+
-+static void
-+invoke_copy_to_stack(PRUint64 * d, PRUint32 paramCount, nsXPTCVariant * s,
-+                     PRUint64 * gpregs, double * fpregs)
-+{
-+    PRUint32 nr_gpr = 1; // skip one GP register for 'that'
-+    PRUint32 nr_fpr = 0;
-+    PRUint64 value;
-+
-+    for (uint32 i = 0; i < paramCount; i++, s++) {
-+        if (s->IsPtrData())
-+            value = (PRUint64) s->ptr;
-+        else {
-+            switch (s->type) {
-+            case nsXPTType::T_FLOAT:                                break;
-+            case nsXPTType::T_DOUBLE:                               break;
-+            case nsXPTType::T_I8:     value = s->val.i8;            break;
-+            case nsXPTType::T_I16:    value = s->val.i16;           break;
-+            case nsXPTType::T_I32:    value = s->val.i32;           break;
-+            case nsXPTType::T_I64:    value = s->val.i64;           break;
-+            case nsXPTType::T_U8:     value = s->val.u8;            break;
-+            case nsXPTType::T_U16:    value = s->val.u16;           break;
-+            case nsXPTType::T_U32:    value = s->val.u32;           break;
-+            case nsXPTType::T_U64:    value = s->val.u64;           break;
-+            case nsXPTType::T_BOOL:   value = s->val.b;             break;
-+            case nsXPTType::T_CHAR:   value = s->val.c;             break;
-+            case nsXPTType::T_WCHAR:  value = s->val.wc;            break;
-+            default:                  value = (PRUint64) s->val.p;  break;
-+            }
-+        }
-+
-+        if (!s->IsPtrData() && s->type == nsXPTType::T_DOUBLE) {
-+            if (nr_fpr < FPR_COUNT)
-+                fpregs[nr_fpr++] = s->val.d;
-+            else {
-+                *((double *)d) = s->val.d;
-+                d++;
-+            }
-+        }
-+        else if (!s->IsPtrData() && s->type == nsXPTType::T_FLOAT) {
-+            if (nr_fpr < FPR_COUNT)
-+                // The value in %xmm register is already prepared to
-+                // be retrieved as a float. Therefore, we pass the
-+                // value verbatim, as a double without conversion.
-+                fpregs[nr_fpr++] = s->val.d;
-+            else {
-+                *((float *)d) = s->val.f;
-+                d++;
-+            }
-+        }
-+        else {
-+            if (nr_gpr < GPR_COUNT)
-+                gpregs[nr_gpr++] = value;
-+            else
-+                *d++ = value;
-+        }
-+    }
-+}
-+
-+extern "C"
-+XPTC_PUBLIC_API(nsresult)
-+XPTC_InvokeByIndex(nsISupports * that, PRUint32 methodIndex,
-+                   PRUint32 paramCount, nsXPTCVariant * params)
-+{
-+    PRUint32 nr_gpr, nr_fpr, nr_stack;
-+    invoke_count_words(paramCount, params, nr_gpr, nr_fpr, nr_stack);
-+    
-+    // Stack, if used, must be 16-bytes aligned
-+    if (nr_stack)
-+        nr_stack = (nr_stack + 1) & ~1;
-+
-+    // Load parameters to stack, if necessary
-+    PRUint64 *stack = (PRUint64 *) __builtin_alloca(nr_stack * 8);
-+    PRUint64 gpregs[GPR_COUNT];
-+    double fpregs[FPR_COUNT];
-+    invoke_copy_to_stack(stack, paramCount, params, gpregs, fpregs);
-+
-+    // Load FPR registers from fpregs[]
-+    register double d0 asm("xmm0");
-+    register double d1 asm("xmm1");
-+    register double d2 asm("xmm2");
-+    register double d3 asm("xmm3");
-+    register double d4 asm("xmm4");
-+    register double d5 asm("xmm5");
-+    register double d6 asm("xmm6");
-+    register double d7 asm("xmm7");
-+
-+    switch (nr_fpr) {
-+#define ARG_FPR(N) \
-+    case N+1: d##N = fpregs[N];
-+        ARG_FPR(7);
-+        ARG_FPR(6);
-+        ARG_FPR(5);
-+        ARG_FPR(4);
-+        ARG_FPR(3);
-+        ARG_FPR(2);
-+        ARG_FPR(1);
-+        ARG_FPR(0);
-+    case 0:;
-+#undef ARG_FPR
-+    }
-+    
-+    // Load GPR registers from gpregs[]
-+    register PRUint64 a0 asm("rdi");
-+    register PRUint64 a1 asm("rsi");
-+    register PRUint64 a2 asm("rdx");
-+    register PRUint64 a3 asm("rcx");
-+    register PRUint64 a4 asm("r8");
-+    register PRUint64 a5 asm("r9");
-+    
-+    switch (nr_gpr) {
-+#define ARG_GPR(N) \
-+    case N+1: a##N = gpregs[N];
-+        ARG_GPR(5);
-+        ARG_GPR(4);
-+        ARG_GPR(3);
-+        ARG_GPR(2);
-+        ARG_GPR(1);
-+    case 1: a0 = (PRUint64) that;
-+    case 0:;
-+#undef ARG_GPR
-+    }
-+
-+    // Ensure that assignments to SSE registers won't be optimized away
-+    asm("" ::
-+        "x" (d0), "x" (d1), "x" (d2), "x" (d3),
-+        "x" (d4), "x" (d5), "x" (d6), "x" (d7));
-+    
-+    // Get pointer to method
-+    PRUint64 methodAddress = *((PRUint64 *)that);
-+    methodAddress += 8 * methodIndex;
-+    methodAddress = *((PRUint64 *)methodAddress);
-+    
-+    typedef PRUint32 (*Method)(PRUint64, PRUint64, PRUint64, PRUint64, PRUint64, PRUint64);
-+    PRUint32 result = ((Method)methodAddress)(a0, a1, a2, a3, a4, a5);
-+    return result;
-+}
---- /dev/null	Wed Dec 31 16:00:00 1969
-+++ xpcom/reflect/xptcall/src/md/unix/xptcstubs_amd64_freebsd.cpp	Thu Oct 16 23:01:08 2003
-@@ -0,0 +1,206 @@
-+/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-+
-+// Implement shared vtbl methods.
-+
-+#include "xptcprivate.h"
-+
-+// The Linux/x86-64 ABI passes the first 6 integral parameters and the
-+// first 8 floating point parameters in registers (rdi, rsi, rdx, rcx,
-+// r8, r9 and xmm0-xmm7), no stack space is allocated for these by the
-+// caller.  The rest of the parameters are passed in the callers stack
-+// area.
-+
-+const PRUint32 PARAM_BUFFER_COUNT   = 16;
-+const PRUint32 GPR_COUNT            = 6;
-+const PRUint32 FPR_COUNT            = 8;
-+
-+// PrepareAndDispatch() is called by SharedStub() and calls the actual method.
-+//
-+// - 'args[]' contains the arguments passed on stack
-+// - 'gpregs[]' contains the arguments passed in integer registers
-+// - 'fpregs[]' contains the arguments passed in floating point registers
-+// 
-+// The parameters are mapped into an array of type 'nsXPTCMiniVariant'
-+// and then the method gets called.
-+
-+extern "C" nsresult
-+PrepareAndDispatch(nsXPTCStubBase * self, PRUint32 methodIndex,
-+                   PRUint64 * args, PRUint64 * gpregs, double *fpregs)
-+{
-+    nsXPTCMiniVariant paramBuffer[PARAM_BUFFER_COUNT];
-+    nsXPTCMiniVariant* dispatchParams = NULL;
-+    nsIInterfaceInfo* iface_info = NULL;
-+    const nsXPTMethodInfo* info;
-+    PRUint32 paramCount;
-+    PRUint32 i;
-+    nsresult result = NS_ERROR_FAILURE;
-+
-+    NS_ASSERTION(self,"no self");
-+
-+    self->GetInterfaceInfo(&iface_info);
-+    NS_ASSERTION(iface_info,"no interface info");
-+    if (! iface_info)
-+        return NS_ERROR_UNEXPECTED;
-+
-+    iface_info->GetMethodInfo(PRUint16(methodIndex), &info);
-+    NS_ASSERTION(info,"no method info");
-+    if (! info)
-+        return NS_ERROR_UNEXPECTED;
-+
-+    paramCount = info->GetParamCount();
-+
-+    // setup variant array pointer
-+    if(paramCount > PARAM_BUFFER_COUNT)
-+        dispatchParams = new nsXPTCMiniVariant[paramCount];
-+    else
-+        dispatchParams = paramBuffer;
-+
-+    NS_ASSERTION(dispatchParams,"no place for params");
-+    if (! dispatchParams)
-+        return NS_ERROR_OUT_OF_MEMORY;
-+
-+    PRUint64* ap = args;
-+    PRUint32 nr_gpr = 1;    // skip one GPR register for 'that'
-+    PRUint32 nr_fpr = 0;
-+    PRUint64 value;
-+
-+    for(i = 0; i < paramCount; i++) {
-+        const nsXPTParamInfo& param = info->GetParam(i);
-+        const nsXPTType& type = param.GetType();
-+        nsXPTCMiniVariant* dp = &dispatchParams[i];
-+	
-+        if (!param.IsOut() && type == nsXPTType::T_DOUBLE) {
-+            if (nr_fpr < FPR_COUNT)
-+                dp->val.d = fpregs[nr_fpr++];
-+            else
-+                dp->val.d = *(double*) ap++;
-+            continue;
-+        }
-+        else if (!param.IsOut() && type == nsXPTType::T_FLOAT) {
-+            if (nr_fpr < FPR_COUNT)
-+                // The value in %xmm register is already prepared to
-+                // be retrieved as a float. Therefore, we pass the
-+                // value verbatim, as a double without conversion.
-+                dp->val.d = *(double*) ap++;
-+            else
-+                dp->val.f = *(float*) ap++;
-+            continue;
-+        }
-+        else {
-+            if (nr_gpr < GPR_COUNT)
-+                value = gpregs[nr_gpr++];
-+            else
-+                value = *ap++;
-+        }
-+
-+        if (param.IsOut() || !type.IsArithmetic()) {
-+            dp->val.p = (void*) value;
-+            continue;
-+        }
-+
-+        switch (type) {
-+        case nsXPTType::T_I8:      dp->val.i8  = (PRInt8)   value; break;
-+        case nsXPTType::T_I16:     dp->val.i16 = (PRInt16)  value; break;
-+        case nsXPTType::T_I32:     dp->val.i32 = (PRInt32)  value; break;
-+        case nsXPTType::T_I64:     dp->val.i64 = (PRInt64)  value; break;
-+        case nsXPTType::T_U8:      dp->val.u8  = (PRUint8)  value; break;
-+        case nsXPTType::T_U16:     dp->val.u16 = (PRUint16) value; break;
-+        case nsXPTType::T_U32:     dp->val.u32 = (PRUint32) value; break;
-+        case nsXPTType::T_U64:     dp->val.u64 = (PRUint64) value; break;
-+        case nsXPTType::T_BOOL:    dp->val.b   = (PRBool)   value; break;
-+        case nsXPTType::T_CHAR:    dp->val.c   = (char)     value; break;
-+        case nsXPTType::T_WCHAR:   dp->val.wc  = (wchar_t)  value; break;
-+
-+        default:
-+            NS_ASSERTION(0, "bad type");
-+            break;
-+        }
-+    }
-+
-+    result = self->CallMethod((PRUint16) methodIndex, info, dispatchParams);
-+
-+    NS_RELEASE(iface_info);
-+
-+    if (dispatchParams != paramBuffer)
-+        delete [] dispatchParams;
-+
-+    return result;
-+}
-+
-+#if defined(__GXX_ABI_VERSION) && __GXX_ABI_VERSION >= 100 /* G++ V3 ABI */
-+// Linux/x86-64 uses gcc >= 3.1
-+#define STUB_ENTRY(n) \
-+asm(".section	\".text\"\n\t" \
-+    ".align	2\n\t" \
-+    ".if	" #n " < 10\n\t" \
-+    ".globl	_ZN14nsXPTCStubBase5Stub" #n "Ev\n\t" \
-+    ".type	_ZN14nsXPTCStubBase5Stub" #n "Ev, at function\n" \
-+    "_ZN14nsXPTCStubBase5Stub" #n "Ev:\n\t" \
-+    ".elseif	" #n " < 100\n\t" \
-+    ".globl	_ZN14nsXPTCStubBase6Stub" #n "Ev\n\t" \
-+    ".type	_ZN14nsXPTCStubBase6Stub" #n "Ev, at function\n" \
-+    "_ZN14nsXPTCStubBase6Stub" #n "Ev:\n\t" \
-+    ".elseif    " #n " < 1000\n\t" \
-+    ".globl     _ZN14nsXPTCStubBase7Stub" #n "Ev\n\t" \
-+    ".type      _ZN14nsXPTCStubBase7Stub" #n "Ev, at function\n" \
-+    "_ZN14nsXPTCStubBase7Stub" #n "Ev:\n\t" \
-+    ".else\n\t" \
-+    ".err	\"stub number " #n " >= 1000 not yet supported\"\n\t" \
-+    ".endif\n\t" \
-+    "movl	$" #n ", %eax\n\t" \
-+    "jmp	SharedStub\n\t" \
-+    ".if	" #n " < 10\n\t" \
-+    ".size	_ZN14nsXPTCStubBase5Stub" #n "Ev,.-_ZN14nsXPTCStubBase5Stub" #n "Ev\n\t" \
-+    ".elseif	" #n " < 100\n\t" \
-+    ".size	_ZN14nsXPTCStubBase6Stub" #n "Ev,.-_ZN14nsXPTCStubBase6Stub" #n "Ev\n\t" \
-+    ".else\n\t" \
-+    ".size	_ZN14nsXPTCStubBase7Stub" #n "Ev,.-_ZN14nsXPTCStubBase7Stub" #n "Ev\n\t" \
-+    ".endif");
-+
-+// static nsresult SharedStub(PRUint32 methodIndex)
-+asm(".section   \".text\"\n\t"
-+    ".align     2\n\t"
-+    ".type      SharedStub, at function\n\t"
-+    "SharedStub:\n\t"
-+    // make room for gpregs (48), fpregs (64)
-+    "pushq      %rbp\n\t"
-+    "movq       %rsp,%rbp\n\t"
-+    "subq       $112,%rsp\n\t"
-+    // save GP registers
-+    "movq       %rdi,-112(%rbp)\n\t"
-+    "movq       %rsi,-104(%rbp)\n\t"
-+    "movq       %rdx, -96(%rbp)\n\t"
-+    "movq       %rcx, -88(%rbp)\n\t"
-+    "movq       %r8 , -80(%rbp)\n\t"
-+    "movq       %r9 , -72(%rbp)\n\t"
-+    "leaq       -112(%rbp),%rcx\n\t"
-+    // save FP registers
-+    "movsd      %xmm0,-64(%rbp)\n\t"
-+    "movsd      %xmm1,-56(%rbp)\n\t"
-+    "movsd      %xmm2,-48(%rbp)\n\t"
-+    "movsd      %xmm3,-40(%rbp)\n\t"
-+    "movsd      %xmm4,-32(%rbp)\n\t"
-+    "movsd      %xmm5,-24(%rbp)\n\t"
-+    "movsd      %xmm6,-16(%rbp)\n\t"
-+    "movsd      %xmm7, -8(%rbp)\n\t"
-+    "leaq       -64(%rbp),%r8\n\t"
-+    // rdi has the 'self' pointer already
-+    "movl       %eax,%esi\n\t"
-+    "leaq       16(%rbp),%rdx\n\t"
-+    "call       PrepareAndDispatch\n\t"
-+    "leave\n\t"
-+    "ret\n\t"
-+    ".size      SharedStub,.-SharedStub");
-+
-+#define SENTINEL_ENTRY(n) \
-+nsresult nsXPTCStubBase::Sentinel##n() \
-+{ \
-+    NS_ASSERTION(0,"nsXPTCStubBase::Sentinel called"); \
-+    return NS_ERROR_NOT_IMPLEMENTED; \
-+}
-+
-+#include "xptcstubsdef.inc"
-+
-+#else
-+#error "can't find a compiler to use"
-+#endif /* __GNUC__ */

Deleted: trunk/www/seamonkey/files/patch-xptcall-ia64
===================================================================
--- trunk/www/seamonkey/files/patch-xptcall-ia64	2015-11-07 03:45:07 UTC (rev 20669)
+++ trunk/www/seamonkey/files/patch-xptcall-ia64	2015-11-07 04:15:50 UTC (rev 20670)
@@ -1,38 +0,0 @@
---- xpcom/reflect/xptcall/src/md/unix/xptcinvoke_asm_ipf64.s.orig	Sun Jul 20 00:05:32 2003
-+++ xpcom/reflect/xptcall/src/md/unix/xptcinvoke_asm_ipf64.s	Sun Jul 20 00:06:37 2003
-@@ -8,6 +8,7 @@
- // Section has executable code
-         .section .text, "ax","progbits"
- // procedure named 'XPTC_InvokeByIndex'
-+	.global	XPTC_InvokeByIndex
-         .proc   XPTC_InvokeByIndex
- // manual bundling
-         .explicit
-@@ -24,7 +25,7 @@
- 
- // XPTC_InvokeByIndex(nsISupports* that, PRUint32 methodIndex,
- //   PRUint32 paramCount, nsXPTCVariant* params);
--XPTC_InvokeByIndex::
-+XPTC_InvokeByIndex:
-         .prologue
-         .save ar.pfs, r37
- // allocate 4 input args, 6 local args, and 8 output args
---- xpcom/reflect/xptcall/src/md/unix/xptcstubs_asm_ipf64.s.orig	Tue May 24 11:30:54 2005
-+++ xpcom/reflect/xptcall/src/md/unix/xptcstubs_asm_ipf64.s	Fri Sep 16 15:50:20 2005
-@@ -6,6 +6,7 @@
- // Section has executable code
-         .section .text, "ax","progbits"
- // procedure named 'SharedStub'
-+	.global SharedStub
-         .proc   SharedStub
- // manual bundling
-         .explicit
-@@ -14,7 +15,7 @@
- //      .exclass  PrepareAndDispatch, @fullyvisible
-         .type   PrepareAndDispatch, at function
- 
--SharedStub::
-+SharedStub:
- // 10 arguments, first 8 are the input arguments of previous
- // function call.  The 9th one is methodIndex and the 10th is the
- // pointer to the remaining input arguments.  The last two arguments

Deleted: trunk/www/seamonkey/files/patch-xptcall-sparc64
===================================================================
--- trunk/www/seamonkey/files/patch-xptcall-sparc64	2015-11-07 03:45:07 UTC (rev 20669)
+++ trunk/www/seamonkey/files/patch-xptcall-sparc64	2015-11-07 04:15:50 UTC (rev 20670)
@@ -1,327 +0,0 @@
---- /dev/null	Mon May 26 13:22:00 2003
-+++ xpcom/reflect/xptcall/src/md/unix/xptcstubs_sparc64_freebsd.cpp	Mon May 26 04:12:55 2003
-@@ -0,0 +1,123 @@
-+/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
-+ *
-+ * The contents of this file are subject to the Mozilla Public
-+ * License Version 1.1 (the "License"); you may not use this file
-+ * except in compliance with the License. You may obtain a copy of
-+ * the License at http://www.mozilla.org/MPL/
-+ * 
-+ * Software distributed under the License is distributed on an "AS
-+ * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
-+ * implied. See the License for the specific language governing
-+ * rights and limitations under the License.
-+ * 
-+ * The Original Code is mozilla.org code.
-+ * 
-+ * The Initial Developer of the Original Code is Netscape
-+ * Communications Corporation. Portions created by Netscape are
-+ * Copyright (C) 2001 Netscape Communications Corporation. All
-+ * Rights Reserved.
-+ * 
-+ * Contributor(s): 
-+ *   Stuart Parmenter <pavlov at netscape.com>
-+ */
-+
-+/* Implement shared vtbl methods. */
-+
-+#include "xptcprivate.h"
-+
-+#if defined(sparc) || defined(__sparc__)
-+
-+extern "C" nsresult
-+PrepareAndDispatch(nsXPTCStubBase* self, PRUint64 methodIndex, PRUint64* args)
-+{
-+
-+#define PARAM_BUFFER_COUNT     16
-+
-+    nsXPTCMiniVariant paramBuffer[PARAM_BUFFER_COUNT];
-+    nsXPTCMiniVariant* dispatchParams = NULL;
-+    nsIInterfaceInfo* iface_info = NULL;
-+    const nsXPTMethodInfo* info;
-+    PRUint8 paramCount;
-+    PRUint8 i;
-+    nsresult result = NS_ERROR_FAILURE;
-+
-+    NS_ASSERTION(self,"no self");
-+
-+    self->GetInterfaceInfo(&iface_info);
-+    NS_ASSERTION(iface_info,"no interface info");
-+
-+    iface_info->GetMethodInfo(PRUint16(methodIndex), &info);
-+    NS_ASSERTION(info,"no interface info");
-+
-+    paramCount = info->GetParamCount();
-+
-+    // setup variant array pointer
-+    if(paramCount > PARAM_BUFFER_COUNT)
-+        dispatchParams = new nsXPTCMiniVariant[paramCount];
-+    else
-+        dispatchParams = paramBuffer;
-+    NS_ASSERTION(dispatchParams,"no place for params");
-+
-+    PRUint64* ap = args;
-+    for(i = 0; i < paramCount; i++, ap++)
-+    {
-+        const nsXPTParamInfo& param = info->GetParam(i);
-+        const nsXPTType& type = param.GetType();
-+        nsXPTCMiniVariant* dp = &dispatchParams[i];
-+
-+        if(param.IsOut() || !type.IsArithmetic())
-+        {
-+            dp->val.p = (void*) *ap;
-+            continue;
-+        }
-+        // else
-+        switch(type)
-+        {
-+        case nsXPTType::T_I8     : dp->val.i8  = *((PRInt64*)  ap);      break;
-+        case nsXPTType::T_I16    : dp->val.i16 = *((PRInt64*) ap);       break;
-+        case nsXPTType::T_I32    : dp->val.i32 = *((PRInt64*) ap);       break;
-+        case nsXPTType::T_DOUBLE : dp->val.d   = *((double*) ap);        break;
-+        case nsXPTType::T_U64    : dp->val.u64 = *((PRUint64*) ap);      break;
-+        case nsXPTType::T_I64    : dp->val.i64 = *((PRInt64*) ap);       break;
-+        case nsXPTType::T_U8     : dp->val.u8  = *((PRUint64*) ap);      break;
-+        case nsXPTType::T_U16    : dp->val.u16 = *((PRUint64*)ap);       break;
-+        case nsXPTType::T_U32    : dp->val.u32 = *((PRUint64*)ap);       break;
-+        case nsXPTType::T_FLOAT  : dp->val.f   = ((float*)   ap)[1];     break;
-+        case nsXPTType::T_BOOL   : dp->val.b   = *((PRInt64*)  ap);      break;
-+        case nsXPTType::T_CHAR   : dp->val.c   = *((PRUint64*) ap);      break;
-+        case nsXPTType::T_WCHAR  : dp->val.wc  = *((PRInt64*) ap);       break;
-+        default:
-+            NS_ASSERTION(0, "bad type");
-+            break;
-+        }
-+    }
-+
-+    result = self->CallMethod((PRUint16)methodIndex, info, dispatchParams);
-+
-+    NS_RELEASE(iface_info);
-+
-+    if(dispatchParams != paramBuffer)
-+        delete [] dispatchParams;
-+
-+    return result;
-+}
-+
-+extern "C" int SharedStub(int, int*);
-+
-+#define STUB_ENTRY(n) \
-+nsresult nsXPTCStubBase::Stub##n() \
-+{ \
-+	int dummy; /* defeat tail-call optimization */ \
-+	return SharedStub(n, &dummy); \
-+}
-+
-+#define SENTINEL_ENTRY(n) \
-+nsresult nsXPTCStubBase::Sentinel##n() \
-+{ \
-+    NS_ASSERTION(0,"nsXPTCStubBase::Sentinel called"); \
-+    return NS_ERROR_NOT_IMPLEMENTED; \
-+}
-+
-+#include "xptcstubsdef.inc"
-+
-+#endif /* sparc || __sparc__ */
---- /dev/null	Mon May 26 13:22:00 2003
-+++ xpcom/reflect/xptcall/src/md/unix/xptcinvoke_asm_sparc64_freebsd.s	Mon May 26 04:06:09 2003
-@@ -0,0 +1,104 @@
-+/* -*- Mode: asm; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
-+ *
-+ * The contents of this file are subject to the Mozilla Public
-+ * License Version 1.1 (the "License"); you may not use this file
-+ * except in compliance with the License. You may obtain a copy of
-+ * the License at http://www.mozilla.org/MPL/
-+ * 
-+ * Software distributed under the License is distributed on an "AS
-+ * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
-+ * implied. See the License for the specific language governing
-+ * rights and limitations under the License.
-+ * 
-+ * The Original Code is mozilla.org code.
-+ * 
-+ * The Initial Developer of the Original Code is Netscape
-+ * Communications Corporation. Portions created by Netscape are
-+ * Copyright (C) 2001 Netscape Communications Corporation. All
-+ * Rights Reserved.
-+ * 
-+ * Contributor(s): 
-+ *   Stuart Parmenter <pavlov at netscape.com>
-+ *   Chris Seawood <cls at seawood.org>
-+ */
-+
-+/*
-+    Platform specific code to invoke XPCOM methods on native objects
-+    for sparcv9 Solaris.
-+
-+    See the SPARC Compliance Definition (SCD) Chapter 3
-+    for more information about what is going on here, including
-+    the use of BIAS (0x7ff).
-+    The SCD is available from http://www.sparc.com/.
-+*/
-+
-+        .global XPTC_InvokeByIndex
-+        .type   XPTC_InvokeByIndex, #function
-+
-+/*
-+    XPTC_InvokeByIndex(nsISupports* that, PRUint32 methodIndex,
-+                   PRUint32 paramCount, nsXPTCVariant* params);
-+    
-+*/
-+XPTC_InvokeByIndex:
-+        save    %sp,-(128 + 64),%sp ! room for the register window and
-+                                    ! struct pointer, rounded up to 0 % 64
-+        sll     %i2,4,%l0           ! assume the worst case
-+                                    ! paramCount * 2 * 8 bytes
-+        cmp     %l0, 0              ! are there any args? If not,
-+        be      .invoke             ! no need to copy args to stack
-+         nop
-+
-+        sub     %sp,%l0,%sp         ! create the additional stack space
-+        add     %sp,0x7ff+136,%o0   ! step past the register window, the
-+                                    ! struct result pointer and the 'this' slot
-+        mov     %i2,%o1             ! paramCount
-+        call    invoke_copy_to_stack
-+        mov     %i3,%o2             ! params
-+
-+!
-+!   load arguments from stack into the outgoing registers
-+!   BIAS is 0x7ff (2047)
-+!
-+
-+!   load the %o1..5 64bit (extended word) output registers registers 
-+        ldx     [%sp + 0x7ff + 136],%o1    ! %i1
-+        ldx     [%sp + 0x7ff + 144],%o2    ! %i2
-+        ldx     [%sp + 0x7ff + 152],%o3    ! %i3
-+        ldx     [%sp + 0x7ff + 160],%o4    ! %i4
-+        ldx     [%sp + 0x7ff + 168],%o5    ! %i5
-+
-+!   load the even number double registers starting with %d2
-+        ldd     [%sp + 0x7ff + 136],%f2
-+        ldd     [%sp + 0x7ff + 144],%f4
-+        ldd     [%sp + 0x7ff + 152],%f6
-+        ldd     [%sp + 0x7ff + 160],%f8
-+        ldd     [%sp + 0x7ff + 168],%f10
-+        ldd     [%sp + 0x7ff + 176],%f12
-+        ldd     [%sp + 0x7ff + 184],%f14
-+        ldd     [%sp + 0x7ff + 192],%f16
-+        ldd     [%sp + 0x7ff + 200],%f18
-+        ldd     [%sp + 0x7ff + 208],%f20
-+        ldd     [%sp + 0x7ff + 216],%f22
-+        ldd     [%sp + 0x7ff + 224],%f24
-+        ldd     [%sp + 0x7ff + 232],%f26
-+        ldd     [%sp + 0x7ff + 240],%f28
-+        ldd     [%sp + 0x7ff + 248],%f30
-+
-+!
-+!   calculate the target address from the vtable
-+!
-+.invoke:
-+        sll     %i1,3,%l0           ! index *= 8
-+!       add     %l0,16,%l0          ! there are 2 extra entries in the vTable (16bytes)
-+        ldx     [%i0],%l1           ! *that --> address of vtable
-+        ldx     [%l0 + %l1],%l0     ! that->vtable[index * 8 + 16] --> address
-+
-+        jmpl    %l0,%o7             ! call the routine
-+        mov     %i0,%o0             ! move 'this' pointer to out register
-+
-+        mov     %o0,%i0             ! propagate return value
-+        ret
-+        restore
-+
-+        .size    XPTC_InvokeByIndex, .-XPTC_InvokeByIndex
---- /dev/null	Mon May 26 14:00:00 2003
-+++ xpcom/reflect/xptcall/src/md/unix/xptcinvoke_sparc64_freebsd.cpp	Mon May 26 14:00:49 2003
-@@ -0,0 +1,91 @@
-+/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
-+ *
-+ * The contents of this file are subject to the Mozilla Public
-+ * License Version 1.1 (the "License"); you may not use this file
-+ * except in compliance with the License. You may obtain a copy of
-+ * the License at http://www.mozilla.org/MPL/
-+ * 
-+ * Software distributed under the License is distributed on an "AS
-+ * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
-+ * implied. See the License for the specific language governing
-+ * rights and limitations under the License.
-+ * 
-+ * The Original Code is mozilla.org code.
-+ * 
-+ * The Initial Developer of the Original Code is Netscape
-+ * Communications Corporation. Portions created by Netscape are
-+ * Copyright (C) 2001 Netscape Communications Corporation. All
-+ * Rights Reserved.
-+ * 
-+ * Contributor(s): 
-+ *   Stuart Parmenter <pavlov at netscape.com>
-+ *   Chris Seawood <cls at seawood.org>
-+ */
-+
-+
-+/* Platform specific code to invoke XPCOM methods on native objects */
-+
-+#include "xptcprivate.h"
-+
-+#if !defined(__sparc) && !defined(__sparc__)
-+#error "This code is for Sparc only"
-+#endif
-+
-+/* Prototype specifies unmangled function name */
-+extern "C" PRUint64
-+invoke_copy_to_stack(PRUint64* d, PRUint32 paramCount, nsXPTCVariant* s);
-+
-+extern "C" PRUint64
-+invoke_copy_to_stack(PRUint64* d, PRUint32 paramCount, nsXPTCVariant* s)
-+{
-+  /*
-+    We need to copy the parameters for this function to locals and use them
-+    from there since the parameters occupy the same stack space as the stack
-+    we're trying to populate.
-+  */
-+  PRUint64 *l_d = d;
-+  nsXPTCVariant *l_s = s;
-+  PRUint64 l_paramCount = paramCount;
-+  PRUint64 regCount = 0;  // return the number of registers to load from the stack
-+
-+  for(PRUint64 i = 0; i < l_paramCount; i++, l_d++, l_s++)
-+  {
-+    if (regCount < 5) regCount++;
-+
-+    if (l_s->IsPtrData())
-+    {
-+      *l_d = (PRUint64)l_s->ptr;
-+      continue;
-+    }
-+    switch (l_s->type)
-+    {
-+      case nsXPTType::T_I8    : *((PRInt64*)l_d)     = l_s->val.i8;    break;
-+      case nsXPTType::T_I16   : *((PRInt64*)l_d)     = l_s->val.i16;   break;
-+      case nsXPTType::T_I32   : *((PRInt64*)l_d)     = l_s->val.i32;   break;
-+      case nsXPTType::T_I64   : *((PRInt64*)l_d)     = l_s->val.i64;   break;
-+      
-+      case nsXPTType::T_U8    : *((PRUint64*)l_d)    = l_s->val.u8;    break;
-+      case nsXPTType::T_U16   : *((PRUint64*)l_d)    = l_s->val.u16;   break;
-+      case nsXPTType::T_U32   : *((PRUint64*)l_d)    = l_s->val.u32;   break;
-+      case nsXPTType::T_U64   : *((PRUint64*)l_d)    = l_s->val.u64;   break;
-+
-+      /* in the case of floats, we want to put the bits in to the
-+         64bit space right justified... floats in the paramter array on
-+         sparcv9 use odd numbered registers.. %f1, %f3, so we have to skip
-+         the space that would be occupied by %f0, %f2, etc.
-+      */
-+      case nsXPTType::T_FLOAT : *(((float*)l_d) + 1) = l_s->val.f;     break;
-+      case nsXPTType::T_DOUBLE: *((double*)l_d)      = l_s->val.d;     break;
-+      case nsXPTType::T_BOOL  : *((PRInt64*)l_d)     = l_s->val.b;     break;
-+      case nsXPTType::T_CHAR  : *((PRUint64*)l_d)    = l_s->val.c;     break;
-+      case nsXPTType::T_WCHAR : *((PRInt64*)l_d)     = l_s->val.wc;    break;
-+
-+      default:
-+        // all the others are plain pointer types
-+        *((void**)l_d) = l_s->val.p;
-+        break;
-+    }
-+  }
-+  
-+  return regCount;
-+}

Added: trunk/www/seamonkey/files/patch-z-bug517422
===================================================================
--- trunk/www/seamonkey/files/patch-z-bug517422	                        (rev 0)
+++ trunk/www/seamonkey/files/patch-z-bug517422	2015-11-07 04:15:50 UTC (rev 20670)
@@ -0,0 +1,524 @@
+# Allow more config/external/ libs built against system-wide version.
+
+diff --git config/Makefile.in config/Makefile.in
+index 5383399..0410004 100644
+--- mozilla/config/Makefile.in
++++ mozilla/config/Makefile.in
+@@ -77,6 +77,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)
+ 
+diff --git config/external/moz.build config/external/moz.build
+index f67c5c7..eb909ce 100644
+--- mozilla/config/external/moz.build
++++ mozilla/config/external/moz.build
+@@ -16,13 +16,19 @@ if CONFIG['MOZ_UPDATER']:
+     if not CONFIG['MOZ_NATIVE_BZ2']:
+         external_dirs += ['modules/libbz2']
+ 
+-if CONFIG['MOZ_VORBIS']:
++if not CONFIG['MOZ_NATIVE_OGG']:
++    external_dirs += ['media/libogg']
++
++if not CONFIG['MOZ_NATIVE_THEORA']:
++    external_dirs += ['media/libtheora']
++
++if CONFIG['MOZ_VORBIS'] and not CONFIG['MOZ_NATIVE_VORBIS']:
+     external_dirs += ['media/libvorbis']
+ 
+-if CONFIG['MOZ_TREMOR']:
++if CONFIG['MOZ_TREMOR'] and not CONFIG['MOZ_NATIVE_TREMOR']:
+     external_dirs += ['media/libtremor']
+ 
+-if CONFIG['MOZ_OPUS']:
++if CONFIG['MOZ_OPUS'] and not CONFIG['MOZ_NATIVE_OPUS']:
+     external_dirs += ['media/libopus']
+ 
+ if CONFIG['MOZ_WEBM']:
+@@ -37,14 +43,16 @@ if CONFIG['MOZ_VPX'] and not CONFIG['MOZ_NATIVE_LIBVPX']:
+ if not CONFIG['MOZ_NATIVE_PNG']:
+     external_dirs += ['media/libpng']
+ 
++if not CONFIG['MOZ_NATIVE_SPEEX']:
++    external_dirs += ['media/libspeex_resampler']
++
++if not CONFIG['MOZ_NATIVE_SOUNDTOUCH']:
++    external_dirs += ['media/libsoundtouch']
++
+ external_dirs += [
+     'media/kiss_fft',
+     'media/libcubeb',
+-    'media/libogg',
+-    'media/libtheora',
+-    'media/libspeex_resampler',
+     'media/libstagefright',
+-    'media/libsoundtouch',
+ ]
+ 
+ DIRS += ['../../' + i for i in external_dirs]
+diff --git config/system-headers config/system-headers
+index bef567c..9807c29 100644
+--- mozilla/config/system-headers
++++ mozilla/config/system-headers
+@@ -1263,7 +1263,6 @@ X11/Xlocale.h
+ X11/Xos.h
+ X11/Xutil.h
+ zmouse.h
+-soundtouch/SoundTouch.h
+ #if MOZ_NATIVE_PNG==1
+ png.h
+ #endif
+@@ -1325,6 +1324,7 @@ vorbis/codec.h
+ theora/theoradec.h
+ tremor/ivorbiscodec.h
+ speex/speex_resampler.h
++soundtouch/SoundTouch.h
+ ogg/ogg.h
+ ogg/os_types.h
+ nestegg/nestegg.h
+@@ -1365,3 +1365,29 @@ graphite2/Segment.h
+ harfbuzz/hb-ot.h
+ harfbuzz/hb.h
+ #endif
++#if MOZ_NATIVE_OGG==1
++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 87db361..7947626 100644
+--- mozilla/configure.in
++++ mozilla/configure.in
+@@ -5056,6 +5056,57 @@ if test "${ac_cv_c_attribute_aligned}" != "0"; then
+ fi
+ 
+ dnl ========================================================
++dnl Check for libogg
++dnl ========================================================
++
++MOZ_ARG_WITH_BOOL(system-ogg,
++[  --with-system-ogg       Use system libogg (located with pkgconfig)],
++MOZ_NATIVE_OGG=1,
++MOZ_NATIVE_OGG=)
++
++if test -n "$MOZ_NATIVE_OGG"; then
++    PKG_CHECK_MODULES(MOZ_OGG, ogg >= 1.2.1)
++
++    _SAVE_LIBS=$LIBS
++    LIBS="$LIBS $MOZ_OGG_LIBS"
++    AC_CHECK_FUNC(ogg_set_mem_functions, [],
++      [AC_DEFINE(MOZ_OGG_NO_MEM_REPORTING)])
++    LIBS=$_SAVE_LIBS
++fi
++
++AC_SUBST(MOZ_NATIVE_OGG)
++
++dnl ========================================================
++dnl Check for libvorbis
++dnl ========================================================
++
++MOZ_ARG_WITH_BOOL(system-vorbis,
++[  --with-system-vorbis    Use system libvorbis (located with pkgconfig)],
++MOZ_NATIVE_VORBIS=1,
++MOZ_NATIVE_VORBIS=)
++
++if test -n "$MOZ_NATIVE_VORBIS"; then
++    PKG_CHECK_MODULES(MOZ_VORBIS, vorbis vorbisenc >= 1.3.5)
++fi
++
++AC_SUBST(MOZ_NATIVE_VORBIS)
++
++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)
++
++dnl ========================================================
+ dnl = Disable Opus audio codec support
+ dnl ========================================================
+ MOZ_ARG_DISABLE_BOOL(opus,
+@@ -5064,6 +5115,89 @@ MOZ_ARG_DISABLE_BOOL(opus,
+     MOZ_OPUS=1)
+ 
+ dnl ========================================================
++dnl Check for libopus
++dnl ========================================================
++
++MOZ_ARG_WITH_BOOL(system-opus,
++[  --with-system-opus      Use system libopus (located with pkgconfig)],
++MOZ_NATIVE_OPUS=1,
++MOZ_NATIVE_OPUS=)
++
++if test -n "$MOZ_NATIVE_OPUS"; then
++    PKG_CHECK_MODULES(MOZ_OPUS, opus >= 1.1)
++else
++    MOZ_OPUS_CFLAGS='-I$(topsrcdir)/media/libopus/include'
++fi
++
++AC_SUBST(MOZ_NATIVE_OPUS)
++
++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)
++
++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)
++
++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.8.0)
++
++    AC_LANG_SAVE
++    AC_LANG_CPLUSPLUS
++    _SAVE_CXXFLAGS=$CXXFLAGS
++    CXXFLAGS="$CXXFLAGS $MOZ_SOUNDTOUCH_CFLAGS"
++    AC_CACHE_CHECK(for soundtouch sample type,
++                   ac_cv_soundtouch_sample_type,
++                   [AC_TRY_COMPILE([#include <SoundTouch.h>
++                                    #ifndef SOUNDTOUCH_INTEGER_SAMPLES
++                                    #error soundtouch expects float samples
++                                    #endif],
++                                   [],
++                                   [ac_cv_soundtouch_sample_type=short],
++                                   [ac_cv_soundtouch_sample_type=float])])
++    CXXFLAGS=$_SAVE_CXXFLAGS
++    AC_LANG_RESTORE
++
++    if test \( -n "$MOZ_SAMPLE_TYPE_S16" -a "$ac_cv_soundtouch_sample_type" != short \) \
++         -o \( -n "$MOZ_SAMPLE_TYPE_FLOAT32" -a "$ac_cv_soundtouch_sample_type" != float \) ; then
++        AC_MSG_ERROR([SoundTouch library is built with incompatible sample type. Either rebuild the library with/without --enable-integer-samples, chase default Mozilla sample type or remove --with-system-soundtouch.])
++    fi
++fi
++
++AC_SUBST(MOZ_NATIVE_SOUNDTOUCH)
++
++dnl ========================================================
+ dnl = Disable VP8 decoder support
+ dnl ========================================================
+ MOZ_ARG_DISABLE_BOOL(webm,
+diff --git dom/media/AudioStream.h dom/media/AudioStream.h
+index 085676d..00c54fb 100644
+--- mozilla/dom/media/AudioStream.h
++++ mozilla/dom/media/AudioStream.h
+@@ -17,7 +17,7 @@
+ #include "CubebUtils.h"
+ 
+ namespace soundtouch {
+-class SoundTouch;
++class MOZ_IMPORT_API SoundTouch;
+ }
+ 
+ namespace mozilla {
+diff --git dom/media/moz.build dom/media/moz.build
+index 7526cff..e0a0ca0 100644
+--- mozilla/dom/media/moz.build
++++ mozilla/dom/media/moz.build
+@@ -212,3 +212,24 @@ if CONFIG['ANDROID_VERSION'] > '15':
+ 
+ CFLAGS += CONFIG['GSTREAMER_CFLAGS']
+ CXXFLAGS += CONFIG['GSTREAMER_CFLAGS']
++
++if CONFIG['MOZ_NATIVE_OGG']:
++    CXXFLAGS += CONFIG['MOZ_OGG_CFLAGS']
++
++if CONFIG['MOZ_NATIVE_THEORA']:
++    CXXFLAGS += CONFIG['MOZ_THEORA_CFLAGS']
++
++if CONFIG['MOZ_NATIVE_VORBIS']:
++    CXXFLAGS += CONFIG['MOZ_VORBIS_CFLAGS']
++
++if CONFIG['MOZ_NATIVE_TREMOR']:
++    CXXFLAGS += CONFIG['MOZ_TREMOR_CFLAGS']
++
++if CONFIG['MOZ_NATIVE_OPUS']:
++    CXXFLAGS += CONFIG['MOZ_OPUS_CFLAGS']
++
++if CONFIG['MOZ_NATIVE_SPEEX']:
++    CXXFLAGS += CONFIG['MOZ_SPEEX_CFLAGS']
++
++if CONFIG['MOZ_NATIVE_SOUNDTOUCH']:
++    CXXFLAGS += CONFIG['MOZ_SOUNDTOUCH_CFLAGS']
+diff --git media/libcubeb/src/moz.build media/libcubeb/src/moz.build
+index 944744d..9a7c8c0 100644
+--- mozilla/media/libcubeb/src/moz.build
++++ mozilla/media/libcubeb/src/moz.build
+@@ -65,6 +65,9 @@ if CONFIG['GKMEDIAS_SHARED_LIBRARY']:
+ 
+ FINAL_LIBRARY = 'gkmedias'
+ 
++if CONFIG['MOZ_NATIVE_SPEEX']:
++    SOURCES['cubeb_resampler.cpp'].flags += CONFIG['MOZ_SPEEX_CFLAGS']
++
+ if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'gonk':
+     CFLAGS += [
+         '-I%s/%s' % (CONFIG['ANDROID_SOURCE'], d) for d in [
+diff --git media/libogg/README_MOZILLA media/libogg/README_MOZILLA
+index 0833e4d..7ece97b 100644
+--- mozilla/media/libogg/README_MOZILLA
++++ mozilla/media/libogg/README_MOZILLA
+@@ -6,3 +6,6 @@ The svn revision number used was r17287.
+ The int-types.patch address a bug that config_types.h generated from
+ Linux platform can't be used on OpenSolaris directly see Mozilla bug
+ 449754
++
++The in-tree copy may be omitted during build by --with-system-ogg.
++Keep version in configure.in in sync on updates.
+diff --git media/libopus/README_MOZILLA media/libopus/README_MOZILLA
+index 2d85c9f..d3fb9f8 100644
+--- mozilla/media/libopus/README_MOZILLA
++++ mozilla/media/libopus/README_MOZILLA
+@@ -9,3 +9,6 @@ files after the copy step.
+ The upstream repository is https://git.xiph.org/opus.git
+ 
+ The git tag/revision used was v1.1.
++
++The in-tree copy may be omitted during build by --with-system-opus.
++So, keep its pkg-config version check within configure.in in sync on updates.
+diff --git media/libsoundtouch/README_MOZILLA media/libsoundtouch/README_MOZILLA
+index bfd4b1a..15b158d 100644
+--- mozilla/media/libsoundtouch/README_MOZILLA
++++ mozilla/media/libsoundtouch/README_MOZILLA
+@@ -6,3 +6,5 @@ The whole library is not used, only the relevant files are imported in the tree,
+ using the script `update.sh`. Some changes have been made to the files, using
+ the patch `moz-libsoundtouch.patch`. We also use a custom soundtouch_config.h.
+ 
++The in-tree copy may be omitted during build by --with-system-soundtouch.
++Keep version in configure.in in sync on updates.
+diff --git media/libspeex_resampler/README_MOZILLA media/libspeex_resampler/README_MOZILLA
+index 7f6b1bb..e830300 100644
+--- mozilla/media/libspeex_resampler/README_MOZILLA
++++ mozilla/media/libspeex_resampler/README_MOZILLA
+@@ -3,3 +3,6 @@ This source is from the Speex DSP library
+ 
+ It consists in the audio resampling code (resampler.c) and its header files
+ dependancies, imported into the tree using the update.sh script.
++
++The in-tree copy may be omitted during build by --with-system-speex.
++Keep version in configure.in in sync on updates.
+diff --git media/libtheora/README_MOZILLA media/libtheora/README_MOZILLA
+index d48dbfa..f08a2ed 100644
+--- mozilla/media/libtheora/README_MOZILLA
++++ mozilla/media/libtheora/README_MOZILLA
+@@ -3,3 +3,6 @@ using the update.sh script. The changes made were those applied by update.sh,
+ the addition/update of Makefile.in files for the Mozilla build system.
+ 
+ The subversion revision used was r17578.
++
++The in-tree copy may be omitted during build by --with-system-theora.
++Keep version in configure.in in sync on updates.
+diff --git media/libtheora/moz.build media/libtheora/moz.build
+index 14265b1..3069e99 100644
+--- mozilla/media/libtheora/moz.build
++++ mozilla/media/libtheora/moz.build
+@@ -93,3 +93,5 @@ if CONFIG['GNU_AS']:
+         if CONFIG['OS_TARGET'] == 'Android':
+             DEFINES['__linux__'] = True
+ 
++if CONFIG['MOZ_NATIVE_OGG']:
++    CFLAGS += CONFIG['MOZ_OGG_CFLAGS']
+diff --git media/libtremor/README_MOZILLA media/libtremor/README_MOZILLA
+index ee67b53..3f34a09 100644
+--- mozilla/media/libtremor/README_MOZILLA
++++ mozilla/media/libtremor/README_MOZILLA
+@@ -5,3 +5,6 @@ Makefile.in files for the Mozilla build system.
+ 
+ The upstream release used was http://svn.xiph.org/trunk/Tremor/
+ The subversion revision used was r17547.
++
++The in-tree copy may be omitted during build by --with-system-tremor.
++Keep version in configure.in in sync on updates.
+diff --git media/libtremor/moz.build media/libtremor/moz.build
+index 31831ba..a03d576 100644
+--- mozilla/media/libtremor/moz.build
++++ mozilla/media/libtremor/moz.build
+@@ -6,3 +6,5 @@
+ 
+ DIRS += ['include/tremor', 'lib']
+ 
++if CONFIG['MOZ_NATIVE_OGG']:
++    CFLAGS += CONFIG['MOZ_OGG_CFLAGS']
+diff --git media/libvorbis/README_MOZILLA media/libvorbis/README_MOZILLA
+index 7c7454c..55baedd 100644
+--- mozilla/media/libvorbis/README_MOZILLA
++++ mozilla/media/libvorbis/README_MOZILLA
+@@ -8,3 +8,6 @@ https://svn.xiph.org/tags/vorbis/libvorbis-1.3.4@19059
+ 
+ Some files are renamed during the copy to prevent clashes with object
+ file names with other Mozilla libraries.
++
++The in-tree copy may be omitted during build by --with-system-vorbis.
++Keep version in configure.in in sync on updates.
+diff --git media/libvorbis/moz.build media/libvorbis/moz.build
+index 919b99e..cc776f7 100644
+--- mozilla/media/libvorbis/moz.build
++++ mozilla/media/libvorbis/moz.build
+@@ -55,3 +55,6 @@ FINAL_LIBRARY = 'gkmedias'
+ # Suppress warnings in third-party code.
+ if CONFIG['GNU_CC']:
+     CFLAGS += ['-Wno-uninitialized']
++
++if CONFIG['MOZ_NATIVE_OGG']:
++    CFLAGS += CONFIG['MOZ_OGG_CFLAGS']
+diff --git media/webrtc/signaling/test/moz.build media/webrtc/signaling/test/moz.build
+index bbc971c..6ed7e41 100644
+--- mozilla/media/webrtc/signaling/test/moz.build
++++ mozilla/media/webrtc/signaling/test/moz.build
+@@ -127,6 +127,9 @@ if CONFIG['MOZ_ALSA']:
+ if CONFIG['MOZ_NATIVE_JPEG']:
+     OS_LIBS += CONFIG['MOZ_JPEG_LIBS']
+ 
++if CONFIG['MOZ_NATIVE_OPUS']:
++    OS_LIBS += CONFIG['MOZ_OPUS_LIBS']
++
+ if CONFIG['MOZ_NATIVE_LIBVPX']:
+     OS_LIBS += CONFIG['MOZ_LIBVPX_LIBS']
+ 
+diff --git media/webrtc/trunk/webrtc/modules/audio_coding/codecs/opus/opus.gypi media/webrtc/trunk/webrtc/modules/audio_coding/codecs/opus/opus.gypi
+index 00e77e7..55f48ab 100644
+--- mozilla/media/webrtc/trunk/webrtc/modules/audio_coding/codecs/opus/opus.gypi
++++ mozilla/media/webrtc/trunk/webrtc/modules/audio_coding/codecs/opus/opus.gypi
+@@ -17,9 +17,9 @@
+       'conditions': [
+         ['build_with_mozilla==1', {
+           # Mozilla provides its own build of the opus library.
+-          'include_dirs': [
+-            '/media/libopus/include',
+-           ]
++          'cflags_mozilla': [
++            '$(MOZ_OPUS_CFLAGS)',
++          ],
+         }, {
+           'dependencies': [
+             '<(DEPTH)/third_party/opus/opus.gyp:opus'
+diff --git toolkit/library/moz.build toolkit/library/moz.build
+index d42137a..695e75a8 100644
+--- mozilla/toolkit/library/moz.build
++++ mozilla/toolkit/library/moz.build
+@@ -178,6 +178,27 @@ if CONFIG['MOZ_NATIVE_PNG']:
+ if CONFIG['MOZ_NATIVE_HUNSPELL']:
+     OS_LIBS += CONFIG['MOZ_HUNSPELL_LIBS']
+ 
++if CONFIG['MOZ_NATIVE_OGG']:
++    OS_LIBS += CONFIG['MOZ_OGG_LIBS']
++
++if CONFIG['MOZ_NATIVE_THEORA']:
++    OS_LIBS += CONFIG['MOZ_THEORA_LIBS']
++
++if CONFIG['MOZ_NATIVE_VORBIS']:
++    OS_LIBS += CONFIG['MOZ_VORBIS_LIBS']
++
++if CONFIG['MOZ_NATIVE_TREMOR']:
++    OS_LIBS += CONFIG['MOZ_TREMOR_LIBS']
++
++if CONFIG['MOZ_NATIVE_OPUS']:
++    OS_LIBS += CONFIG['MOZ_OPUS_LIBS']
++
++if CONFIG['MOZ_NATIVE_SPEEX']:
++    OS_LIBS += CONFIG['MOZ_SPEEX_LIBS']
++
++if CONFIG['MOZ_NATIVE_SOUNDTOUCH']:
++    OS_LIBS += CONFIG['MOZ_SOUNDTOUCH_LIBS']
++
+ if CONFIG['MOZ_NATIVE_LIBEVENT']:
+     OS_LIBS += CONFIG['MOZ_LIBEVENT_LIBS']
+ 
+diff --git xpcom/build/XPCOMInit.cpp xpcom/build/XPCOMInit.cpp
+index 2cf281e..6d7af0e 100644
+--- mozilla/xpcom/build/XPCOMInit.cpp
++++ mozilla/xpcom/build/XPCOMInit.cpp
+@@ -138,7 +138,9 @@ extern nsresult nsStringInputStreamConstructor(nsISupports*, REFNSIID, void**);
+ #include "mozilla/VisualEventTracer.h"
+ #endif
+ 
++#ifndef MOZ_OGG_NO_MEM_REPORTING
+ #include "ogg/ogg.h"
++#endif
+ #if defined(MOZ_VPX) && !defined(MOZ_VPX_NO_MEM_REPORTING)
+ #include "vpx_mem/vpx_mem.h"
+ #endif
+@@ -651,11 +653,13 @@ NS_InitXPCOM2(nsIServiceManager** aResult,
+   // this oddness.
+   mozilla::SetICUMemoryFunctions();
+ 
++#ifndef MOZ_OGG_NO_MEM_REPORTING
+   // Do the same for libogg.
+   ogg_set_mem_functions(OggReporter::CountingMalloc,
+                         OggReporter::CountingCalloc,
+                         OggReporter::CountingRealloc,
+                         OggReporter::CountingFree);
++#endif
+ 
+ #if defined(MOZ_VPX) && !defined(MOZ_VPX_NO_MEM_REPORTING)
+   // And for VPX.


Property changes on: trunk/www/seamonkey/files/patch-z-bug517422
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
Modified: trunk/www/seamonkey/files/seamonkey.desktop.in
===================================================================
--- trunk/www/seamonkey/files/seamonkey.desktop.in	2015-11-07 03:45:07 UTC (rev 20669)
+++ trunk/www/seamonkey/files/seamonkey.desktop.in	2015-11-07 04:15:50 UTC (rev 20670)
@@ -160,10 +160,10 @@
 Comment[wa]=Naivyî avå les waibes
 Comment[zh_CN]=浏览 Web
 Comment[zh_TW]=瀏覽網頁
-Exec=seamonkey %U
+Exec=%%MOZILLA%% %u
 StartupNotify=true
 Terminal=false
 Type=Application
-Icon=%%PREFIX%%/lib/seamonkey/chrome/icons/default/default.xpm
-Categories=Application;Network;
+Icon=%%MOZILLA%%.png
+Categories=Network;WebBrowser;Email;News;TextEditor;IRCClient;
 MimeType=text/html;text/xml;application/xhtml+xml;


Property changes on: trunk/www/seamonkey/files/seamonkey.desktop.in
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1
\ No newline at end of property


More information about the Midnightbsd-cvs mailing list