diff options
author | flo <flo@FreeBSD.org> | 2012-10-11 05:13:06 +0800 |
---|---|---|
committer | flo <flo@FreeBSD.org> | 2012-10-11 05:13:06 +0800 |
commit | 266179525f1a084fa74c16305d6d4da159776222 (patch) | |
tree | 16010259bfe88bdd615bd9a206f3377ee212913d /www/firefox | |
parent | 3d9a75591adc33236ca0cbe18932d77eb9cd706a (diff) | |
download | freebsd-ports-gnome-266179525f1a084fa74c16305d6d4da159776222.tar.gz freebsd-ports-gnome-266179525f1a084fa74c16305d6d4da159776222.tar.zst freebsd-ports-gnome-266179525f1a084fa74c16305d6d4da159776222.zip |
- Update firefox-esr, thunderbird-esr, linux-firefox and linux-thunderbird to 10.0.8
- Update firefox and thunderbird to 16.0
- Update seamonkey to 2.13
- Update all -i18n ports respectively
- switch firefox 16.0 and seamonkey 2.13 to ALSA by default for better
latency during pause and seeking with HTML5 video
- remove fedisableexcept() hacks, obsolete since FreeBSD 4.0
- support system hunspell dictionaries [1]
- unbreak -esr ports with clang3.2 [2]
- unbreak nss build when CC contains full path [3]
- remove GNOME option grouping [4]
- integrate enigmail into thunderbird/seamonkey as an option [5]
- remove mail/enigmail* [6]
- enable ENIGMAIL, LIGHTNING and GIO options by default
- add more reporters in about:memory: page-faults-hard, page-faults-soft,
resident, vsize
- use bundled jemalloc 3.0.0 on FreeBSD < 10.0 for gecko 16.0,
only heap-allocated reporter works in about:memory (see bug 762445)
- use lrintf() instead of slow C cast in bundled libopus
- use libjpeg-turbo's faster color conversion if available during build
- record startup time for telemetry
- use -z origin instead of hardcoding path to gecko runtime
- fail early if incompatible libxul version is installed (in USE_GECKO)
- *miscellaneous cleanups and fixups*
PR: ports/171534 [1]
PR: ports/171566 [2]
PR: ports/172164 [3]
PR: ports/172201 [4]
Discussed with: ale, beat, Jan Beich [5]
Approved by: ale [6]
In collaboration with: Jan Beich <jbeich@tormail.org>
Security: 6e5a9afd-12d3-11e2-b47d-c8600054b392
Feature safe: yes
Approved by: portmgr (beat)
Diffstat (limited to 'www/firefox')
34 files changed, 1028 insertions, 575 deletions
diff --git a/www/firefox/Makefile b/www/firefox/Makefile index 7d46def9c4f9..9f061567eff5 100644 --- a/www/firefox/Makefile +++ b/www/firefox/Makefile @@ -6,7 +6,7 @@ # PORTNAME= firefox -DISTVERSION= 15.0.1 +DISTVERSION= 16.0 PORTEPOCH= 1 CATEGORIES= www ipv6 MASTER_SITES= ${MASTER_SITE_MOZILLA} @@ -17,7 +17,7 @@ MAINTAINER= gecko@FreeBSD.org COMMENT= Web browser based on the browser portion of Mozilla BUILD_DEPENDS= nspr>=4.9:${PORTSDIR}/devel/nspr \ - nss>=3.13.2:${PORTSDIR}/security/nss \ + nss>=3.13.6_1:${PORTSDIR}/security/nss \ sqlite3>=3.7.12.1:${PORTSDIR}/databases/sqlite3 \ ${PYTHON_SITELIBDIR}/_sqlite3.so:${PORTSDIR}/databases/py-sqlite3 \ cairo>=1.10.2_1,1:${PORTSDIR}/graphics/cairo \ @@ -49,8 +49,12 @@ MOZ_OPTIONS= --program-transform-name='s/firefox/${MOZILLA}/' \ --enable-official-branding OPTIONS_DEFINE= GSTREAMER PGO +OPTIONS_DEFAULT=GIO .include "${.CURDIR}/../../www/firefox/Makefile.options" + +OPTIONS_DEFAULT:=${OPTIONS_DEFAULT:S/OSS/ALSA/} + .include <bsd.port.pre.mk> WRKSRC:= ${WRKDIR}/mozilla-release diff --git a/www/firefox/Makefile.options b/www/firefox/Makefile.options index 93b811fc1ffd..20937f22314d 100644 --- a/www/firefox/Makefile.options +++ b/www/firefox/Makefile.options @@ -1,6 +1,7 @@ # -*- makefile-bsdmake -*- -OPTIONS_DEFINE+= DBUS DEBUG GNOME LIBPROXY LOGGING OPTIMIZED_CFLAGS +OPTIONS_DEFINE+= DBUS DEBUG GCONF GIO GNOMEUI GNOMEVFS2 LIBPROXY \ + LOGGING OPTIMIZED_CFLAGS OPTIONS_DEFAULT+= DBUS GTK2 LOGGING OSS OPTIONS_SINGLE+= AUDIO @@ -9,12 +10,9 @@ OPTIONS_SINGLE_AUDIO= ALSA OSS PULSEAUDIO OPTIONS_SINGLE+= TOOLKIT OPTIONS_SINGLE_TOOLKIT= GTK2 QT4 -OPTIONS_MULTI+= GNOME -OPTIONS_MULTI_GNOME= GCONF GIO GNOMEUI GNOMEVFS2 - +ENIGMAIL_DESC?= Enigmail extension GIO_DESC?= GIO for file I/O # move to bsd.options.desc.mk GNOMEUI_DESC?= libgnomeui support module +LIBPROXY_DESC?= Proxy support via libproxy LIGHTNING_DESC?= Calendar extension LOGGING_DESC?= Additional log messages -PGO_DESC?= Profile-Guided Optimization # move to bsd.options.desc.mk -LIBPROXY_DESC?= Proxy support via libproxy diff --git a/www/firefox/distinfo b/www/firefox/distinfo index 80a71d06a9d3..a852ad685cfc 100644 --- a/www/firefox/distinfo +++ b/www/firefox/distinfo @@ -1,2 +1,2 @@ -SHA256 (firefox-15.0.1.source.tar.bz2) = d5b245e3f16933edf49bc9754d38013f0f82c855f164f429b92697e14ae0c3bf -SIZE (firefox-15.0.1.source.tar.bz2) = 83710112 +SHA256 (firefox-16.0.source.tar.bz2) = 60d4e73a5ff2f796d8c9f3d0650a15afe6c140e017d0678ccf16c968e2c5ff55 +SIZE (firefox-16.0.source.tar.bz2) = 89461772 diff --git a/www/firefox/files/extra-bug780531 b/www/firefox/files/extra-bug780531 index 54843c752c81..c237bd26e509 100644 --- a/www/firefox/files/extra-bug780531 +++ b/www/firefox/files/extra-bug780531 @@ -1,13 +1,12 @@ --- configure.in~ +++ configure.in -@@ -5585,10 +5585,13 @@ if test -n "$MOZ_OGG"; then +@@ -5282,10 +5282,13 @@ if test -n "$MOZ_OGG"; then MOZ_SYDNEYAUDIO=1 MOZ_CUBEB=1 MOZ_MEDIA=1 - case "$target_cpu" in -- arm*) + case "$target" in -+ arm-*-linux*) + arm*) MOZ_TREMOR=1 ;; + *-freebsd*) @@ -16,14 +15,13 @@ *) MOZ_VORBIS=1 ;; -@@ -5715,10 +5720,13 @@ if test -n "$MOZ_WEBM" -a -z "$MOZ_NATIV +@@ -5417,10 +5420,13 @@ if test "$MOZ_WEBM"; then MOZ_SYDNEYAUDIO=1 MOZ_CUBEB=1 MOZ_MEDIA=1 - case "$target_cpu" in -- arm*) + case "$target" in -+ arm-*-linux*) + arm*) MOZ_TREMOR=1 ;; + *-freebsd*) diff --git a/www/firefox/files/patch-bug351181 b/www/firefox/files/patch-bug351181 deleted file mode 100644 index f47838638257..000000000000 --- a/www/firefox/files/patch-bug351181 +++ /dev/null @@ -1,31 +0,0 @@ ---- js/src/jsnum.cpp.orig 2010-01-05 22:35:17.000000000 -0500 -+++ js/src/jsnum.cpp 2010-01-11 05:10:19.000000000 -0500 -@@ -49,6 +49,9 @@ - // Avoid warnings about ASSERT being defined by the assembler as well. - #undef ASSERT - -+#if defined(__FreeBSD__) -+#include <sys/param.h> -+#endif - #ifdef XP_OS2 - #define _PC_53 PC_53 - #define _MCW_EM MCW_EM -@@ -691,8 +694,18 @@ - - #else - -+#if defined(__FreeBSD__) -+#if __BSD_VISIBLE == 0 -+#error __BSD_VISIBLE is zero, so fedisableexcept is not defined -+#endif -+#include <fenv.h> -+#define FIX_FPU() ((void)fedisableexcept(FE_ALL_EXCEPT)) -+#else -+ - #define FIX_FPU() ((void)0) - -+#endif /* defined(__FreeBSD__) && __FreeBSD_version >= 503000 */ -+ - #endif - - JSBool diff --git a/www/firefox/files/patch-bug543241 b/www/firefox/files/patch-bug543241 index af9e0ad7ba15..362e47ffe2d6 100644 --- a/www/firefox/files/patch-bug543241 +++ b/www/firefox/files/patch-bug543241 @@ -1,5 +1,16 @@ --- ./xpcom/threads/nsThreadManager.cpp.orig 2011-08-25 02:37:45.000000000 +0200 +++ ./xpcom/threads/nsThreadManager.cpp 2011-08-28 17:14:14.000000000 +0200 +@@ -12,6 +12,10 @@ + #include "nsAutoPtr.h" + #include "nsCycleCollectorUtils.h" + ++#if defined(__FreeBSD__) ++#include <osreldate.h> ++#endif ++ + using namespace mozilla; + + #ifdef XP_WIN @@ -57,6 +57,11 @@ nsresult nsThreadManager::Init() diff --git a/www/firefox/files/patch-bug713802 b/www/firefox/files/patch-bug713802 new file mode 100644 index 000000000000..956ed1cc8e97 --- /dev/null +++ b/www/firefox/files/patch-bug713802 @@ -0,0 +1,176 @@ +commit 20586fa +Author: Karl Tomlinson <karlt+@karlt.net> +Date: Thu Sep 27 18:35:06 2012 +1200 + + b=713802 default enable GIO support and disable GnomeVFS r=glandium + + --HG-- + extra : transplant_source : wk%ADr%CA%8EN%AE%C93p/p%0A%26%0E%1D0%F20 +--- + browser/confvars.sh | 2 +- + configure.in | 20 ++++++++++---------- + xulrunner/confvars.sh | 2 +- + 3 files changed, 12 insertions(+), 12 deletions(-) + +diff --git browser/confvars.sh browser/confvars.sh +index 40ab494..eae5645 100755 +--- browser/confvars.sh ++++ browser/confvars.sh +@@ -21,7 +21,7 @@ MOZ_SERVICES_AITC=1 + MOZ_SERVICES_NOTIFICATIONS=1 + MOZ_SERVICES_SYNC=1 + MOZ_APP_VERSION=$FIREFOX_VERSION +-MOZ_EXTENSIONS_DEFAULT=" gnomevfs" ++MOZ_EXTENSIONS_DEFAULT=" gio" + # MOZ_APP_DISPLAYNAME will be set by branding/configure.sh + # Changing MOZ_*BRANDING_DIRECTORY requires a clobber to ensure correct results, + # because branding dependencies are broken. +--- browser/installer/package-manifest.in~ ++++ browser/installer/package-manifest.in +@@ -679,6 +679,10 @@ bin/libfreebl_32int64_3.so + + ; [Extensions] + ; ++#ifdef MOZ_ENABLE_GIO ++bin/components/@DLL_PREFIX@nkgio@DLL_SUFFIX@ ++#endif ++ + #ifdef MOZ_ENABLE_GNOMEVFS + bin/components/@DLL_PREFIX@nkgnomevfs@DLL_SUFFIX@ + #endif +diff --git configure.in configure.in +index 87a9391..2118651 100644 +--- configure.in ++++ configure.in +@@ -4846,21 +4846,21 @@ dnl ======================================================== + + if test "$MOZ_X11" + then +- dnl build the gnomevfs extension by default only when the ++ dnl build the GIO extension by default only when the + dnl GTK2 toolkit is in use. + if test "$MOZ_ENABLE_GTK2" + then +- MOZ_ENABLE_GNOMEVFS=1 ++ MOZ_ENABLE_GIO=1 + MOZ_ENABLE_GCONF=1 + fi + + dnl ======================================================== + dnl = GnomeVFS support module + dnl ======================================================== +- MOZ_ARG_DISABLE_BOOL(gnomevfs, +- [ --disable-gnomevfs Disable GnomeVFS support ], +- MOZ_ENABLE_GNOMEVFS=, +- MOZ_ENABLE_GNOMEVFS=force) ++ MOZ_ARG_ENABLE_BOOL(gnomevfs, ++ [ --enable-gnomevfs Enable GnomeVFS support (default: disabled)], ++ MOZ_ENABLE_GNOMEVFS=force, ++ MOZ_ENABLE_GNOMEVFS=) + + if test "$MOZ_ENABLE_GNOMEVFS" + then +@@ -4884,10 +4884,10 @@ then + dnl ======================================================== + dnl = GIO support module + dnl ======================================================== +- MOZ_ARG_ENABLE_BOOL(gio, +- [ --enable-gio Enable GIO support (default: disabled)], +- MOZ_ENABLE_GIO=force, +- MOZ_ENABLE_GIO=) ++ MOZ_ARG_DISABLE_BOOL(gio, ++ [ --disable-gio Disable GIO support], ++ MOZ_ENABLE_GIO=, ++ MOZ_ENABLE_GIO=force) + + if test "$MOZ_ENABLE_GIO" -a "$MOZ_ENABLE_GTK2" + then +diff --git xulrunner/confvars.sh xulrunner/confvars.sh +index 2fa6ead..5fe2c3d 100755 +--- xulrunner/confvars.sh ++++ xulrunner/confvars.sh +@@ -10,5 +10,5 @@ MOZ_XULRUNNER=1 + MOZ_CHROME_FILE_FORMAT=omni + MOZ_APP_VERSION=$MOZILLA_VERSION + MOZ_PLACES=1 +-MOZ_EXTENSIONS_DEFAULT=" gnomevfs" ++MOZ_EXTENSIONS_DEFAULT=" gio" + MOZ_URL_CLASSIFIER=1 + +commit d884d75 +Author: Karl Tomlinson <karlt+@karlt.net> +Date: Thu Sep 27 18:34:44 2012 +1200 + + b=713802 disable gnomevfs extension without --enable-gnomevfs r=glandium + + --HG-- + extra : transplant_source : i%07%81%E9%90_%C1%05b%194%9B%1E%93%FC%03%279%F9%8A +--- + configure.in | 12 +++--------- + 1 file changed, 3 insertions(+), 9 deletions(-) + +diff --git configure.in configure.in +index f2b4041..87a9391 100644 +--- configure.in ++++ configure.in +@@ -4875,12 +4875,6 @@ then + fi + MOZ_ENABLE_GNOMEVFS= + ]) +- else +- if test `echo "$MOZ_EXTENSIONS" | grep -c gnomevfs` -ne 0; then +- PKG_CHECK_MODULES(MOZ_GNOMEVFS, gnome-vfs-2.0 >= $GNOMEVFS_VERSION gnome-vfs-module-2.0 >= $GNOMEVFS_VERSION,[ +- MOZ_GNOMEVFS_LIBS=`echo $MOZ_GNOMEVFS_LIBS | sed 's/-llinc\>//'` +- ]) +- fi + fi + + AC_SUBST(MOZ_ENABLE_GNOMEVFS) +@@ -5967,10 +5961,10 @@ MOZ_ARG_ENABLE_STRING(extensions, + done], + MOZ_EXTENSIONS="$MOZ_EXTENSIONS_DEFAULT") + +-if test -z "$MOZ_ENABLE_GNOMEVFS" -a -z "$MOZ_GNOMEVFS_LIBS" -a `echo "$MOZ_EXTENSIONS" | grep -c gnomevfs` -ne 0; then ++if test -z "$MOZ_ENABLE_GNOMEVFS" -a `echo "$MOZ_EXTENSIONS" | grep -c gnomevfs` -ne 0; then + # Suppress warning on non-X11 platforms + if test -n "$MOZ_X11"; then +- AC_MSG_WARN([Cannot build gnomevfs without required libraries. Removing gnomevfs from MOZ_EXTENSIONS.]) ++ AC_MSG_WARN([Removing gnomevfs from MOZ_EXTENSIONS due to no --enable-gnomevfs.]) + fi + MOZ_EXTENSIONS=`echo $MOZ_EXTENSIONS | sed -e 's|gnomevfs||'` + fi +@@ -5983,7 +5977,7 @@ fi + if test -z "$MOZ_ENABLE_GIO" -a `echo "$MOZ_EXTENSIONS" | grep -c gio` -ne 0; then + # Suppress warning on non-X11 platforms + if test -n "$MOZ_X11"; then +- AC_MSG_WARN([Cannot build gio without required libraries. Removing gio from MOZ_EXTENSIONS.]) ++ AC_MSG_WARN([Removing gio from MOZ_EXTENSIONS due to --disable-gio.]) + fi + MOZ_EXTENSIONS=`echo $MOZ_EXTENSIONS | sed -e 's|gio||'` + fi + +commit ddedeea +Author: Karl Tomlinson <karlt+@karlt.net> +Date: Thu Sep 27 13:47:19 2012 +1200 + + b=713802 link gio extension against libxul for tracemalloc stack functions r=bsmedberg + + --HG-- + extra : transplant_source : %C8%A3o%BE%A0z%F7%C8%8A%E6%0E%D4s%7D%90%9C%D9%0F%06%7E +--- + extensions/gio/Makefile.in | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git extensions/gio/Makefile.in extensions/gio/Makefile.in +index 46412c4..ccf2846 100644 +--- extensions/gio/Makefile.in ++++ extensions/gio/Makefile.in +@@ -23,7 +23,7 @@ LOCAL_INCLUDES = $(MOZ_GIO_CFLAGS) + + EXTRA_DSO_LDOPTS = \ + $(XPCOM_GLUE_LDOPTS) \ +- $(NSPR_LIBS) \ ++ $(MOZ_COMPONENT_LIBS) \ + $(MOZ_GIO_LIBS) \ + $(NULL) + diff --git a/www/firefox/files/patch-bug723860 b/www/firefox/files/patch-bug723860 deleted file mode 100644 index ee7b355912fe..000000000000 --- a/www/firefox/files/patch-bug723860 +++ /dev/null @@ -1,54 +0,0 @@ -commit 4e07587 -Author: Matthew Gregan <kinetik@flim.org> -Date: Wed Jun 6 17:58:07 2012 +1200 - - Bug 723860 - Early bail from reader's GetBuffered() if not yet initialized. r=doublec ---- - content/media/gstreamer/nsGStreamerReader.cpp | 4 ++++ - content/media/ogg/nsOggReader.cpp | 3 +-- - content/media/wave/nsWaveReader.cpp | 3 +++ - 3 files changed, 8 insertions(+), 2 deletions(-) - -diff --git content/media/gstreamer/nsGStreamerReader.cpp content/media/gstreamer/nsGStreamerReader.cpp -index 164fb2e..06a09b5 100644 ---- content/media/gstreamer/nsGStreamerReader.cpp -+++ content/media/gstreamer/nsGStreamerReader.cpp -@@ -505,6 +505,10 @@ nsresult nsGStreamerReader::Seek(PRInt64 aTarget, - nsresult nsGStreamerReader::GetBuffered(nsTimeRanges* aBuffered, - PRInt64 aStartTime) - { -+ if (!mInfo.mHasVideo && !mInfo.mHasAudio) { -+ return NS_OK; -+ } -+ - GstFormat format = GST_FORMAT_TIME; - MediaResource* resource = mDecoder->GetResource(); - gint64 resourceLength = resource->GetLength(); -diff --git content/media/ogg/nsOggReader.cpp content/media/ogg/nsOggReader.cpp -index c6ff008..8d40e2c 100644 ---- content/media/ogg/nsOggReader.cpp -+++ content/media/ogg/nsOggReader.cpp -@@ -1532,8 +1532,7 @@ nsresult nsOggReader::GetBuffered(nsTimeRanges* aBuffered, PRInt64 aStartTime) - { - // HasAudio and HasVideo are not used here as they take a lock and cause - // a deadlock. Accessing mInfo doesn't require a lock - it doesn't change -- // after metadata is read and GetBuffered isn't called before metadata is -- // read. -+ // after metadata is read. - if (!mInfo.mHasVideo && !mInfo.mHasAudio) { - // No need to search through the file if there are no audio or video tracks - return NS_OK; -diff --git content/media/wave/nsWaveReader.cpp content/media/wave/nsWaveReader.cpp -index 7242eb5..60fc1e1 100644 ---- content/media/wave/nsWaveReader.cpp -+++ content/media/wave/nsWaveReader.cpp -@@ -239,6 +239,9 @@ static double RoundToUsecs(double aSeconds) { - - nsresult nsWaveReader::GetBuffered(nsTimeRanges* aBuffered, PRInt64 aStartTime) - { -+ if (!mInfo.mHasAudio) { -+ return NS_OK; -+ } - PRInt64 startOffset = mDecoder->GetResource()->GetNextCachedData(mWavePCMOffset); - while (startOffset >= 0) { - PRInt64 endOffset = mDecoder->GetResource()->GetCachedDataEnd(startOffset); diff --git a/www/firefox/files/patch-bug752895 b/www/firefox/files/patch-bug752895 deleted file mode 100644 index 0942b8b247b8..000000000000 --- a/www/firefox/files/patch-bug752895 +++ /dev/null @@ -1,71 +0,0 @@ -commit de14ddd -Author: Andrew Benton <b3nton@gmail.com> -Date: Tue Jun 12 09:10:09 2012 +0200 - - Bug 752895 - Don't try to install nspr, nss and sqlite when using system libraries. r=glandium ---- - browser/installer/Makefile.in | 8 ++++++++ - browser/installer/package-manifest.in | 6 ++++++ - 2 files changed, 14 insertions(+) - -diff --git browser/installer/Makefile.in browser/installer/Makefile.in -index 975b1f4..c791872 100644 ---- browser/installer/Makefile.in -+++ browser/installer/Makefile.in -@@ -44,6 +44,14 @@ ifeq (gtk2, $(MOZ_WIDGET_TOOLKIT)) - DEFINES += -DMOZ_GTK2=1 - endif - -+ifdef MOZ_NATIVE_NSPR -+DEFINES += -DMOZ_NATIVE_NSPR=1 -+endif -+ -+ifdef MOZ_NATIVE_NSS -+DEFINES += -DMOZ_NATIVE_NSS=1 -+endif -+ - ifdef NSS_DISABLE_DBM - DEFINES += -DNSS_DISABLE_DBM=1 - endif -diff --git browser/installer/package-manifest.in browser/installer/package-manifest.in -index 2969643..b8fddf0 100644 ---- browser/installer/package-manifest.in -+++ browser/installer/package-manifest.in -@@ -58,9 +58,11 @@ - #ifndef MOZ_STATIC_JS - @BINPATH@/@DLL_PREFIX@mozjs@DLL_SUFFIX@ - #endif -+#ifndef MOZ_NATIVE_NSPR - @BINPATH@/@DLL_PREFIX@nspr4@DLL_SUFFIX@ - @BINPATH@/@DLL_PREFIX@plc4@DLL_SUFFIX@ - @BINPATH@/@DLL_PREFIX@plds4@DLL_SUFFIX@ -+#endif - @BINPATH@/@DLL_PREFIX@xpcom@DLL_SUFFIX@ - #ifdef XP_MACOSX - @BINPATH@/XUL -@@ -109,7 +111,9 @@ - #endif - @BINPATH@/platform.ini - #ifndef XP_OS2 -+#ifndef MOZ_NATIVE_SQLITE - @BINPATH@/@DLL_PREFIX@mozsqlite3@DLL_SUFFIX@ -+#endif - #else - @BINPATH@/mozsqlt3@DLL_SUFFIX@ - #endif -@@ -583,6 +587,7 @@ - ; NSS libraries are signed in the staging directory, - ; meaning their .chk files are created there directly. - ; -+#ifndef MOZ_NATIVE_NSS - @BINPATH@/@DLL_PREFIX@freebl3@DLL_SUFFIX@ - @BINPATH@/@DLL_PREFIX@nss3@DLL_SUFFIX@ - @BINPATH@/@DLL_PREFIX@nssckbi@DLL_SUFFIX@ -@@ -593,6 +598,7 @@ - @BINPATH@/@DLL_PREFIX@smime3@DLL_SUFFIX@ - @BINPATH@/@DLL_PREFIX@softokn3@DLL_SUFFIX@ - @BINPATH@/@DLL_PREFIX@ssl3@DLL_SUFFIX@ -+#endif - @BINPATH@/chrome/pippki@JAREXT@ - @BINPATH@/chrome/pippki.manifest - @BINPATH@/components/pipboot.xpt diff --git a/www/firefox/files/patch-bug753046 b/www/firefox/files/patch-bug753046 index f520e1118f6d..601e0c13e948 100644 --- a/www/firefox/files/patch-bug753046 +++ b/www/firefox/files/patch-bug753046 @@ -456,7 +456,7 @@ $NetBSD: patch-ipc_chromium_src_base_platform__thread.h,v 1.1 2012/03/06 12:34:0 --- ipc/chromium/src/base/platform_thread.h.orig 2011-12-20 23:28:19.000000000 +0000 +++ ipc/chromium/src/base/platform_thread.h -@@ -22,9 +22,11 @@ typedef void* PlatformThreadHandle; // HANDLE +@@ -22,9 +22,12 @@ typedef void* PlatformThreadHandle; // HANDLE #elif defined(OS_POSIX) #include <pthread.h> typedef pthread_t PlatformThreadHandle; @@ -465,6 +465,7 @@ $NetBSD: patch-ipc_chromium_src_base_platform__thread.h,v 1.1 2012/03/06 12:34:0 #include <unistd.h> typedef pid_t PlatformThreadId; +#elif defined(OS_BSD) ++#include <sys/types.h> +typedef lwpid_t PlatformThreadId; #elif defined(OS_MACOSX) #include <mach/mach.h> @@ -978,57 +979,6 @@ $NetBSD: patch-ipc_chromium_src_base_sys__info__posix.cc,v 1.2 2011/11/27 13:09: #else long pages = sysconf(_SC_PHYS_PAGES); long page_size = sysconf(_SC_PAGE_SIZE); -$NetBSD: patch-ipc_chromium_src_base_third__party_nspr_prcpucfg.h,v 1.2 2012/03/06 12:34:09 ryoon Exp $ - ---- ipc/chromium/src/base/third_party/nspr/prcpucfg.h.orig 2011-12-20 23:28:19.000000000 +0000 -+++ ipc/chromium/src/base/third_party/nspr/prcpucfg.h -@@ -34,7 +34,7 @@ - #include "base/third_party/nspr/prcpucfg_win.h" - #elif defined(__APPLE__) - #include "base/third_party/nspr/prcpucfg_mac.h" --#elif defined(__linux__) || defined(ANDROID) -+#elif defined(__linux__) || defined(ANDROID) || defined(__NetBSD__) || defined(__FreeBSD__) || defined(__DragonFly__) - #include "base/third_party/nspr/prcpucfg_linux.h" - #elif defined(__OpenBSD__) - #include "base/third_party/nspr/prcpucfg_openbsd.h" -$NetBSD: patch-ipc_chromium_src_base_third__party_nspr_prtime.cc,v 1.1 2012/03/06 12:34:09 ryoon Exp $ - ---- ipc/chromium/src/base/third_party/nspr/prtime.cc.orig 2011-12-20 23:28:19.000000000 +0000 -+++ ipc/chromium/src/base/third_party/nspr/prtime.cc -@@ -212,7 +212,7 @@ PR_ImplodeTime(const PRExplodedTime *exp - LL_ADD(retVal, retVal, temp); - - return retVal; --#elif defined(OS_LINUX) -+#elif defined(OS_LINUX) || defined(OS_DRAGONFLY) - struct tm exp_tm = {0}; - exp_tm.tm_sec = exploded->tm_sec; - exp_tm.tm_min = exploded->tm_min; -@@ -245,6 +245,24 @@ PR_ImplodeTime(const PRExplodedTime *exp - result *= kSecondsToMicroseconds; - result += exploded->tm_usec; - return result; -+#elif defined(OS_FREEBSD) || defined(OS_NETBSD) -+ struct tm exp_tm = {0}; -+ exp_tm.tm_sec = exploded->tm_sec; -+ exp_tm.tm_min = exploded->tm_min; -+ exp_tm.tm_hour = exploded->tm_hour; -+ exp_tm.tm_mday = exploded->tm_mday; -+ exp_tm.tm_mon = exploded->tm_month; -+ exp_tm.tm_year = exploded->tm_year - 1900; -+ -+ // time_t is 64bit -+ time_t absolute_time = timegm(&exp_tm); -+ -+ PRTime result = static_cast<PRTime>(absolute_time); -+ result -= exploded->tm_params.tp_gmt_offset + -+ exploded->tm_params.tp_dst_offset; -+ result *= kSecondsToMicroseconds; -+ result += exploded->tm_usec; -+ return result; - #else - #error No PR_ImplodeTime implemented on your platform. - #endif diff --git ipc/chromium/src/base/time_posix.cc ipc/chromium/src/base/time_posix.cc index abf2a56..48791f6 100644 --- ipc/chromium/src/base/time_posix.cc diff --git a/www/firefox/files/patch-bug759459 b/www/firefox/files/patch-bug759459 deleted file mode 100644 index efd253baff13..000000000000 --- a/www/firefox/files/patch-bug759459 +++ /dev/null @@ -1,24 +0,0 @@ -commit 4d0c5b9 -Author: Marco Perez <bugmail@millibyte.net> -Date: Sat Jun 9 12:24:56 2012 -0400 - - Bug 759459 - Build broken on FreeBSD since patch for bug 745034 landed. r=terrence ---- - js/src/gc/Memory.cpp | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git js/src/gc/Memory.cpp js/src/gc/Memory.cpp -index 815e90b..10c1a91 100644 ---- js/src/gc/Memory.cpp -+++ js/src/gc/Memory.cpp -@@ -292,9 +292,9 @@ GetPageFaultCount() - #elif defined(XP_UNIX) || defined(XP_MACOSX) || defined(DARWIN) - - #include <sys/mman.h> --#include <unistd.h> - #include <sys/time.h> - #include <sys/resource.h> -+#include <unistd.h> - - void - InitMemorySubsystem() diff --git a/www/firefox/files/patch-bug760899 b/www/firefox/files/patch-bug760899 deleted file mode 100644 index 460c1393bdbc..000000000000 --- a/www/firefox/files/patch-bug760899 +++ /dev/null @@ -1,54 +0,0 @@ -commit 667daed -Author: Stephen Moehle <stephen.moehle@gmail.com> -Date: Tue Jun 5 11:32:36 2012 +1200 - - Bug 760899 - Fix debug builds with gstreamer enabled - r=kinetik - - --HG-- - extra : rebase_source : 22598bc470d35d94991ea9f1b14df11ba19a461a ---- - content/media/gstreamer/nsGStreamerReader.cpp | 10 +++++----- - 1 file changed, 5 insertions(+), 5 deletions(-) - -diff --git content/media/gstreamer/nsGStreamerReader.cpp content/media/gstreamer/nsGStreamerReader.cpp -index 6a50e09..164fb2e 100644 ---- content/media/gstreamer/nsGStreamerReader.cpp -+++ content/media/gstreamer/nsGStreamerReader.cpp -@@ -278,7 +278,7 @@ nsresult nsGStreamerReader::ReadMetadata(nsVideoInfo* aInfo) - if (gst_element_query_duration(GST_ELEMENT(mPlayBin), - &format, &duration) && format == GST_FORMAT_TIME) { - ReentrantMonitorAutoEnter mon(mDecoder->GetReentrantMonitor()); -- LOG(PR_LOG_DEBUG, ("returning duration %"GST_TIME_FORMAT, -+ LOG(PR_LOG_DEBUG, ("returning duration %" GST_TIME_FORMAT, - GST_TIME_ARGS (duration))); - duration = GST_TIME_AS_USECONDS (duration); - mDecoder->GetStateMachine()->SetDuration(duration); -@@ -422,8 +422,8 @@ bool nsGStreamerReader::DecodeVideoFrame(bool &aKeyFrameSkip, - nextTimestamp += gst_util_uint64_scale(GST_USECOND, fpsNum, fpsDen); - - if (timestamp < aTimeThreshold) { -- LOG(PR_LOG_DEBUG, ("skipping frame %"GST_TIME_FORMAT -- " threshold %"GST_TIME_FORMAT, -+ LOG(PR_LOG_DEBUG, ("skipping frame %" GST_TIME_FORMAT -+ " threshold %" GST_TIME_FORMAT, - GST_TIME_ARGS(timestamp), GST_TIME_ARGS(aTimeThreshold))); - gst_buffer_unref(buffer); - buffer = NULL; -@@ -489,7 +489,7 @@ nsresult nsGStreamerReader::Seek(PRInt64 aTarget, - NS_ASSERTION(mDecoder->OnDecodeThread(), "Should be on decode thread."); - - gint64 seekPos = aTarget * GST_USECOND; -- LOG(PR_LOG_DEBUG, ("%p About to seek to %"GST_TIME_FORMAT, -+ LOG(PR_LOG_DEBUG, ("%p About to seek to %" GST_TIME_FORMAT, - mDecoder, GST_TIME_ARGS(seekPos))); - - if (!gst_element_seek_simple(mPlayBin, GST_FORMAT_TIME, -@@ -592,7 +592,7 @@ PRInt64 nsGStreamerReader::QueryDuration() - if (gst_element_query_duration(GST_ELEMENT(mPlayBin), - &format, &duration)) { - if (format == GST_FORMAT_TIME) { -- LOG(PR_LOG_DEBUG, ("pipeline duration %"GST_TIME_FORMAT, -+ LOG(PR_LOG_DEBUG, ("pipeline duration %" GST_TIME_FORMAT, - GST_TIME_ARGS (duration))); - duration = GST_TIME_AS_USECONDS (duration); - } diff --git a/www/firefox/files/patch-bug761030 b/www/firefox/files/patch-bug761030 deleted file mode 100644 index 5a0829e6c2f0..000000000000 --- a/www/firefox/files/patch-bug761030 +++ /dev/null @@ -1,25 +0,0 @@ -commit 8bc9e15 -Author: Stephen Moehle <stephen.moehle@gmail.com> -Date: Tue Jun 5 11:31:13 2012 +1200 - - Bug 761030 - Fix crash with HTML 5 video with GStreamer enabled - r=kinetik - - --HG-- - extra : rebase_source : 5e884550f9870bd2fda247d50bebd472e8368588 ---- - content/media/gstreamer/nsGStreamerReader.cpp | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git content/media/gstreamer/nsGStreamerReader.cpp content/media/gstreamer/nsGStreamerReader.cpp -index 17374a3..6a50e09 100644 ---- content/media/gstreamer/nsGStreamerReader.cpp -+++ content/media/gstreamer/nsGStreamerReader.cpp -@@ -452,6 +452,8 @@ bool nsGStreamerReader::DecodeVideoFrame(bool &aKeyFrameSkip, - i, height); - b.mPlanes[i].mWidth = gst_video_format_get_component_width(format, - i, width); -+ b.mPlanes[i].mOffset = 0; -+ b.mPlanes[i].mSkip = 0; - } - - bool isKeyframe = !GST_BUFFER_FLAG_IS_SET(buffer, diff --git a/www/firefox/files/patch-bug761419 b/www/firefox/files/patch-bug761419 deleted file mode 100644 index 222e3053d489..000000000000 --- a/www/firefox/files/patch-bug761419 +++ /dev/null @@ -1,22 +0,0 @@ -commit f0a73aa -Author: Paul Adenot <paul@paul.cx> -Date: Thu Jun 21 20:44:39 2012 -0400 - - Bug 761419 - Build failure in content/media/gstreamer/nsGStreamerReader.cpp when using clang r=kinetik ---- - content/media/gstreamer/nsGStreamerReader.cpp | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git content/media/gstreamer/nsGStreamerReader.cpp content/media/gstreamer/nsGStreamerReader.cpp -index 06a09b5..c48f92e 100644 ---- content/media/gstreamer/nsGStreamerReader.cpp -+++ content/media/gstreamer/nsGStreamerReader.cpp -@@ -191,7 +191,7 @@ nsresult nsGStreamerReader::ReadMetadata(nsVideoInfo* aInfo) - * stream but that are otherwise decodeable. - */ - guint flags[3] = {GST_PLAY_FLAG_VIDEO|GST_PLAY_FLAG_AUDIO, -- ~GST_PLAY_FLAG_AUDIO, ~GST_PLAY_FLAG_VIDEO}; -+ static_cast<guint>(~GST_PLAY_FLAG_AUDIO), static_cast<guint>(~GST_PLAY_FLAG_VIDEO)}; - guint default_flags, current_flags; - g_object_get(mPlayBin, "flags", &default_flags, NULL); - diff --git a/www/firefox/files/patch-bug774671 b/www/firefox/files/patch-bug774671 index 9c2cd0f7c0f1..97ad3415e4d0 100644 --- a/www/firefox/files/patch-bug774671 +++ b/www/firefox/files/patch-bug774671 @@ -1,6 +1,31 @@ ---- js/src/jsprvtd.h.orig 2012-08-25 00:55:40.000000000 +0200 -+++ js/src/jsprvtd.h 2012-09-06 15:20:48.000000000 +0200 -@@ -149,9 +149,9 @@ +commit 7e9eda2 +Author: Rafael Ávila de Espíndola <respindola@mozilla.com> +Date: Tue Jul 17 12:54:41 2012 -0400 + + Bug 774671 - Fix mismatched declarations. r=luke. +--- + js/src/jsproxy.h | 2 +- + js/src/jsprvtd.h | 6 +++--- + 2 files changed, 4 insertions(+), 4 deletions(-) + +diff --git js/src/jsproxy.h js/src/jsproxy.h +index ec26e3a..aa0e782 100644 +--- js/src/jsproxy.h ++++ js/src/jsproxy.h +@@ -13,7 +13,7 @@ + + namespace js { + +-class Wrapper; ++class JS_FRIEND_API(Wrapper); + + /* + * A proxy is a JSObject that implements generic behavior by providing custom +diff --git js/src/jsprvtd.h js/src/jsprvtd.h +index 19b5aef..93e1216 100644 +--- js/src/jsprvtd.h ++++ js/src/jsprvtd.h +@@ -146,9 +146,9 @@ struct TreeContext; class UpvarCookie; class Proxy; diff --git a/www/firefox/files/patch-bug778056 b/www/firefox/files/patch-bug778056 index e03a02bfc3f1..9515b967764e 100644 --- a/www/firefox/files/patch-bug778056 +++ b/www/firefox/files/patch-bug778056 @@ -4,9 +4,9 @@ #if defined(XP_UNIX) # include <unistd.h> // for valloc on *BSD #endif //if defined(XP_UNIX) -+#ifdef __FreeBSD__ ++#if defined(__FreeBSD__) +# include <malloc_np.h> // for malloc_usable_size -+#endif ++#endif // if defined(__FreeBSD__) #if defined(XP_WIN) || (defined(XP_OS2) && defined(__declspec)) # define MOZALLOC_EXPORT __declspec(dllexport) diff --git a/www/firefox/files/patch-bug778078 b/www/firefox/files/patch-bug778078 index 232b32509a33..f7bedeb8053c 100644 --- a/www/firefox/files/patch-bug778078 +++ b/www/firefox/files/patch-bug778078 @@ -1,9 +1,9 @@ --- toolkit/xre/nsAppRunner.cpp~ +++ toolkit/xre/nsAppRunner.cpp -@@ -3819,7 +3819,7 @@ XREMain::XRE_main(int argc, char* argv[] +@@ -3833,7 +3833,7 @@ XREMain::XRE_main(int argc, char* argv[] ScopedLogging log; - #if defined(MOZ_WIDGET_GTK2) + #if defined(MOZ_WIDGET_GTK) -#ifdef MOZ_MEMORY +#if defined(MOZ_MEMORY) || defined(__FreeBSD__) || defined(__NetBSD__) // Disable the slice allocator, since jemalloc already uses similar layout diff --git a/www/firefox/files/patch-bug781474 b/www/firefox/files/patch-bug781474 deleted file mode 100644 index 8239b2e8b8fd..000000000000 --- a/www/firefox/files/patch-bug781474 +++ /dev/null @@ -1,11 +0,0 @@ ---- content/base/public/nsContentUtils.h.orig 2011-07-07 10:44:49.000000000 +0200 -+++ content/base/public/nsContentUtils.h 2011-07-07 10:46:12.000000000 +0200 -@@ -54,7 +54,7 @@ - //A trick to handle IEEE floating point exceptions on FreeBSD - E.D. - #ifdef __FreeBSD__ - #include <ieeefp.h> --#ifdef __alpha__ -+#if !defined(__amd64__) && !defined(__i386__) - static fp_except_t allmask = FP_X_INV|FP_X_OFL|FP_X_UFL|FP_X_DZ|FP_X_IMP; - #else - static fp_except_t allmask = FP_X_INV|FP_X_OFL|FP_X_UFL|FP_X_DZ|FP_X_IMP|FP_X_DNML; diff --git a/www/firefox/files/patch-bug784776 b/www/firefox/files/patch-bug784776 index 417043931ee2..3fe665e7140c 100644 --- a/www/firefox/files/patch-bug784776 +++ b/www/firefox/files/patch-bug784776 @@ -1,20 +1,3 @@ ---- content/media/MediaEngineDefault.cpp~ -+++ content/media/MediaEngineDefault.cpp -@@ -232,12 +232,12 @@ nsresult - MediaEngineDefaultAudioSource::Start(SourceMediaStream* aStream, TrackID aID) - { - if (mState != kAllocated) { -- return NULL; -+ return 0; - } - - mTimer = do_CreateInstance(NS_TIMER_CONTRACTID); - if (!mTimer) { -- return NULL; -+ return 0; - } - - mSource = aStream; --- gfx/layers/opengl/ImageLayerOGL.cpp~ +++ gfx/layers/opengl/ImageLayerOGL.cpp @@ -936,7 +936,7 @@ ShadowImageLayerOGL::CleanupResources() diff --git a/www/firefox/files/patch-bug785638 b/www/firefox/files/patch-bug785638 deleted file mode 100644 index 0cf60e4eb1fe..000000000000 --- a/www/firefox/files/patch-bug785638 +++ /dev/null @@ -1,168 +0,0 @@ -diff --git configure.in configure.in -index cef992b..3bd39ca 100644 ---- configure.in -+++ configure.in -@@ -5353,22 +5353,6 @@ if test -n "$MOZ_VP8" -a -z "$MOZ_NATIVE_LIBVPX"; then - - dnl See if we have assembly on this platform. - case "$OS_ARCH:$CPU_ARCH" in -- Linux:x86) -- VPX_ASFLAGS="-f elf32 -rnasm -pnasm" -- VPX_X86_ASM=1 -- ;; -- Linux:x86_64) -- VPX_ASFLAGS="-f elf64 -rnasm -pnasm -DPIC" -- VPX_X86_ASM=1 -- ;; -- SunOS:x86) -- VPX_ASFLAGS="-f elf32 -rnasm -pnasm" -- VPX_X86_ASM=1 -- ;; -- SunOS:x86_64) -- VPX_ASFLAGS="-f elf64 -rnasm -pnasm -DPIC" -- VPX_X86_ASM=1 -- ;; - Darwin:x86) - VPX_ASFLAGS="-f macho32 -rnasm -pnasm -DPIC" - VPX_X86_ASM=1 -@@ -5412,6 +5388,19 @@ if test -n "$MOZ_VP8" -a -z "$MOZ_NATIVE_LIBVPX"; then - VPX_ASM_SUFFIX="$ASM_SUFFIX" - VPX_ARM_ASM=1 - fi -+ ;; -+ *:x86) -+ if $CC -E -dM -</dev/null | grep -q __ELF__; then -+ VPX_ASFLAGS="-f elf32 -rnasm -pnasm" -+ VPX_X86_ASM=1 -+ fi -+ ;; -+ *:x86_64) -+ if $CC -E -dM -</dev/null | grep -q __ELF__; then -+ VPX_ASFLAGS="-f elf64 -rnasm -pnasm -DPIC" -+ VPX_X86_ASM=1 -+ fi -+ ;; - esac - - if test -n "$COMPILE_ENVIRONMENT" -a -n "$VPX_X86_ASM" -a -z "$VPX_AS"; then -@@ -5843,22 +5832,6 @@ if test -n "$MOZ_LIBJPEG_TURBO"; then - - dnl Do we support libjpeg-turbo on this platform? - case "$OS_ARCH:$OS_TEST" in -- Linux:x86|Linux:i?86) -- LIBJPEG_TURBO_ASFLAGS="-f elf32 -rnasm -pnasm -DPIC -DELF" -- LIBJPEG_TURBO_X86_ASM=1 -- ;; -- Linux:x86_64) -- LIBJPEG_TURBO_ASFLAGS="-f elf64 -rnasm -pnasm -D__x86_64__ -DPIC -DELF" -- LIBJPEG_TURBO_X64_ASM=1 -- ;; -- SunOS:i?86) -- LIBJPEG_TURBO_ASFLAGS="-f elf32 -rnasm -pnasm -DPIC -DELF" -- LIBJPEG_TURBO_X86_ASM=1 -- ;; -- SunOS:x86_64) -- LIBJPEG_TURBO_ASFLAGS="-f elf64 -rnasm -pnasm -D__x86_64__ -DPIC -DELF" -- LIBJPEG_TURBO_X64_ASM=1 -- ;; - Darwin:i?86) - LIBJPEG_TURBO_ASFLAGS="-f macho32 -rnasm -pnasm -DPIC -DMACHO" - LIBJPEG_TURBO_X86_ASM=1 -@@ -5879,6 +5852,18 @@ if test -n "$MOZ_LIBJPEG_TURBO"; then - LIBJPEG_TURBO_ASFLAGS="-march=armv7-a -mfpu=neon" - LIBJPEG_TURBO_ARM_ASM=1 - ;; -+ *:x86|*:i?86) -+ if $CC -E -dM -</dev/null | grep -q __ELF__; then -+ LIBJPEG_TURBO_ASFLAGS="-f elf32 -rnasm -pnasm -DPIC -DELF" -+ LIBJPEG_TURBO_X86_ASM=1 -+ fi -+ ;; -+ *:x86_64) -+ if $CC -E -dM -</dev/null | grep -q __ELF__; then -+ LIBJPEG_TURBO_ASFLAGS="-f elf64 -rnasm -pnasm -D__x86_64__ -DPIC -DELF" -+ LIBJPEG_TURBO_X64_ASM=1 -+ fi -+ ;; - esac - - fi -diff --git media/libvpx/update.sh media/libvpx/update.sh -index 79e0fb1..51956af 100755 ---- media/libvpx/update.sh -+++ media/libvpx/update.sh -@@ -363,12 +363,12 @@ cp $1/objdir/x86-win32-vs8/vpx_config.h vpx_config_x86-win32-vs8.h - # Should be same for all platforms... - cp $1/objdir/x86-win32-vs8/vpx_version.h vpx_version.h - --# Config files for x86-linux-gcc and Solaris x86 -+# Config files for x86-linux-gcc and other x86 elf platforms - cp $1/objdir/x86-linux-gcc/vpx_config.c vpx_config_x86-linux-gcc.c - cp $1/objdir/x86-linux-gcc/vpx_config.asm vpx_config_x86-linux-gcc.asm - cp $1/objdir/x86-linux-gcc/vpx_config.h vpx_config_x86-linux-gcc.h - --# Config files for x86_64-linux-gcc and Solaris x86_64 -+# Config files for x86_64-linux-gcc and other x86_64 elf platforms - cp $1/objdir/x86_64-linux-gcc/vpx_config.c vpx_config_x86_64-linux-gcc.c - cp $1/objdir/x86_64-linux-gcc/vpx_config.asm vpx_config_x86_64-linux-gcc.asm - cp $1/objdir/x86_64-linux-gcc/vpx_config.h vpx_config_x86_64-linux-gcc.h -diff --git media/libvpx/vpx_config.h media/libvpx/vpx_config.h -index 55433f3..36e1780 100644 ---- media/libvpx/vpx_config.h -+++ media/libvpx/vpx_config.h -@@ -16,20 +16,12 @@ - /* 32 bit MacOS. */ - #include "vpx_config_x86-darwin9-gcc.h" - --#elif defined(__linux__) && defined(__i386__) --/* 32 bit Linux. */ -+#elif defined(__ELF__) && (defined(__i386) || defined(__i386__)) -+/* 32 bit ELF platforms. */ - #include "vpx_config_x86-linux-gcc.h" - --#elif defined(__linux__) && defined(__x86_64__) --/* 64 bit Linux. */ --#include "vpx_config_x86_64-linux-gcc.h" -- --#elif defined(__sun) && defined(__i386) --/* 32 bit Solaris. */ --#include "vpx_config_x86-linux-gcc.h" -- --#elif defined(__sun) && defined(__x86_64) --/* 64 bit Solaris. */ -+#elif defined(__ELF__) && (defined(__x86_64) || defined(__x86_64__)) -+/* 64 bit ELF platforms. */ - #include "vpx_config_x86_64-linux-gcc.h" - - #else -diff --git media/libvpx/vpx_config_c.c media/libvpx/vpx_config_c.c -index eedd515..c8b5375 100644 ---- media/libvpx/vpx_config_c.c -+++ media/libvpx/vpx_config_c.c -@@ -15,22 +15,14 @@ - /* 32 bit MacOS. */ - #include "vpx_config_x86-darwin9-gcc.c" - --#elif defined(__linux__) && defined(__i386__) --/* 32 bit Linux. */ -+#elif defined(__ELF__) && (defined(__i386) || defined(__i386__)) -+/* 32 bit ELF platforms. */ - #include "vpx_config_x86-linux-gcc.c" - --#elif defined(__linux__) && defined(__x86_64__) --/* 64 bit Linux. */ -+#elif defined(__ELF__) && (defined(__x86_64) || defined(__x86_64__)) -+/* 64 bit ELF platforms. */ - #include "vpx_config_x86_64-linux-gcc.c" - --#elif defined(__sun) && defined(__i386) --/* 32 bit Solaris. */ --#include "vpx_config_x86-linux-gcc.h" -- --#elif defined(__sun) && defined(__x86_64) --/* 64 bit Solaris. */ --#include "vpx_config_x86_64-linux-gcc.h" -- - #else - #error VPX_X86_ASM is defined, but assembly not supported on this platform! - #endif diff --git a/www/firefox/files/patch-bug788108 b/www/firefox/files/patch-bug788108 new file mode 100644 index 000000000000..746146760c62 --- /dev/null +++ b/www/firefox/files/patch-bug788108 @@ -0,0 +1,20 @@ +--- content/base/public/nsContentUtils.h~ ++++ content/base/public/nsContentUtils.h +@@ -18,17 +18,6 @@ + #include <ieeefp.h> + #endif + +-//A trick to handle IEEE floating point exceptions on FreeBSD - E.D. +-#ifdef __FreeBSD__ +-#include <ieeefp.h> +-#ifdef __alpha__ +-static fp_except_t allmask = FP_X_INV|FP_X_OFL|FP_X_UFL|FP_X_DZ|FP_X_IMP; +-#else +-static fp_except_t allmask = FP_X_INV|FP_X_OFL|FP_X_UFL|FP_X_DZ|FP_X_IMP|FP_X_DNML; +-#endif +-static fp_except_t oldmask = fpsetmask(~allmask); +-#endif +- + #include "nsAString.h" + #include "nsIStatefulFrame.h" + #include "nsNodeInfoManager.h" diff --git a/www/firefox/files/patch-bug788955 b/www/firefox/files/patch-bug788955 new file mode 100644 index 000000000000..39a8cd7ff70d --- /dev/null +++ b/www/firefox/files/patch-bug788955 @@ -0,0 +1,309 @@ +diff --git Makefile.in Makefile.in +index e341462..f75bd55 100644 +--- Makefile.in ++++ Makefile.in +@@ -48,8 +48,10 @@ endif + ifdef MOZ_MEMORY + tier_base_dirs += memory/mozjemalloc + ifdef MOZ_JEMALLOC ++ifndef MOZ_NATIVE_JEMALLOC + tier_base_dirs += memory/jemalloc + endif ++endif + tier_base_dirs += memory/build + endif + ifndef MOZ_NATIVE_ZLIB +diff --git allmakefiles.sh allmakefiles.sh +index 6a9be4b..d2e49e3 100755 +--- allmakefiles.sh ++++ allmakefiles.sh +@@ -59,7 +59,7 @@ if [ ! "$LIBXUL_SDK" ]; then + mozglue/Makefile + mozglue/build/Makefile + " +- if [ "$MOZ_JEMALLOC" ]; then ++ if [ "$MOZ_JEMALLOC" -a -z "$MOZ_NATIVE_JEMALLOC" ]; then + add_makefiles " + memory/jemalloc/Makefile + " +--- config/autoconf.mk.in ++++ config/autoconf.mk.in +@@ -74,6 +74,7 @@ MOZ_JSDEBUGGER = @MOZ_JSDEBUGGER@ + MOZ_IPDL_TESTS = @MOZ_IPDL_TESTS@ + MOZ_MEMORY = @MOZ_MEMORY@ + MOZ_JEMALLOC = @MOZ_JEMALLOC@ ++MOZ_NATIVE_JEMALLOC = @MOZ_NATIVE_JEMALLOC@ + MOZ_PROFILING = @MOZ_PROFILING@ + MOZ_ENABLE_PROFILER_SPS = @MOZ_ENABLE_PROFILER_SPS@ + MOZ_JPROF = @MOZ_JPROF@ +diff --git configure.in configure.in +index bb05782..2f32516 100644 +--- configure.in ++++ configure.in +@@ -3711,21 +3711,22 @@ fi + + dnl Check for the existence of various allocation headers/functions + ++MALLOC_HEADERS="malloc.h malloc_np.h malloc/malloc.h sys/malloc.h" + MALLOC_H= +-MOZ_CHECK_HEADER(malloc.h, [MALLOC_H=malloc.h]) +-if test "$MALLOC_H" = ""; then +- MOZ_CHECK_HEADER(malloc/malloc.h, [MALLOC_H=malloc/malloc.h]) +- if test "$MALLOC_H" = ""; then +- MOZ_CHECK_HEADER(sys/malloc.h, [MALLOC_H=sys/malloc.h]) ++ ++for file in $MALLOC_HEADERS; do ++ MOZ_CHECK_HEADER($file, [MALLOC_H=$file]) ++ if test "$MALLOC_H" != ""; then ++ AC_DEFINE_UNQUOTED(MALLOC_H, <$MALLOC_H>) ++ break + fi +-fi +-if test "$MALLOC_H" != ""; then +- AC_DEFINE_UNQUOTED(MALLOC_H, <$MALLOC_H>) +-fi ++done + + MOZ_ALLOCATING_FUNCS="strndup posix_memalign memalign valloc" + AC_CHECK_FUNCS(strndup posix_memalign memalign valloc) + ++AC_CHECK_FUNCS(malloc_usable_size) ++ + dnl See if compiler supports some gcc-style attributes + + AC_CACHE_CHECK(for __attribute__((always_inline)), +@@ -6939,6 +6940,18 @@ else + fi + + if test -z "$MOZ_MEMORY"; then ++ if test -n "$MOZ_JEMALLOC"; then ++ MOZ_NATIVE_JEMALLOC=1 ++ AC_CHECK_FUNCS(mallctl nallocm,, ++ [MOZ_NATIVE_JEMALLOC= ++ break]) ++ if test -n "$MOZ_NATIVE_JEMALLOC"; then ++ MOZ_MEMORY=1 ++ AC_DEFINE(MOZ_MEMORY) ++ AC_DEFINE(MOZ_JEMALLOC) ++ AC_DEFINE(MOZ_NATIVE_JEMALLOC) ++ fi ++ fi + case "${target}" in + *-mingw*) + if test -z "$WIN32_REDIST_DIR" -a -z "$MOZ_DEBUG"; then +@@ -7033,6 +7046,7 @@ else + fi # MOZ_MEMORY + AC_SUBST(MOZ_MEMORY) + AC_SUBST(MOZ_JEMALLOC) ++AC_SUBST(MOZ_NATIVE_JEMALLOC) + AC_SUBST(MOZ_GLUE_LDFLAGS) + AC_SUBST(MOZ_GLUE_PROGRAM_LDFLAGS) + AC_SUBST(WIN32_CRT_LIBS) +@@ -8820,10 +8834,22 @@ fi + + # Run jemalloc configure script + +-if test "$MOZ_JEMALLOC" -a "$MOZ_MEMORY"; then ++if test -z "$MOZ_NATIVE_JEMALLOC" -a "$MOZ_JEMALLOC" -a "$MOZ_MEMORY" ; then + ac_configure_args="$_SUBDIR_CONFIG_ARGS --build=$build --host=$target --enable-stats --with-jemalloc-prefix=je_" +- if test "$OS_ARCH" = "Linux"; then +- MANGLE="malloc calloc valloc free realloc memalign posix_memalign malloc_usable_size" ++ case "$OS_ARCH" in ++ Linux|DragonFly|FreeBSD|NetBSD|OpenBSD) ++ MANGLE="malloc calloc valloc free realloc posix_memalign" ++ case "$OS_ARCH" in ++ Linux) ++ MANGLE="$MANGLE memalign malloc_usable_size" ++ ;; ++ FreeBSD) ++ MANGLE="$MANGLE malloc_usable_size" ++ ;; ++ esac ++ ;; ++ esac ++ if test -n "$MANGLE"; then + MANGLED= + JEMALLOC_WRAPPER= + if test -n "$_WRAP_MALLOC"; then +diff --git memory/build/Makefile.in memory/build/Makefile.in +index dca0f48..af93ee0 100644 +--- memory/build/Makefile.in ++++ memory/build/Makefile.in +@@ -22,7 +22,9 @@ CSRCS = extraMallocFuncs.c + + ifdef MOZ_JEMALLOC + CSRCS += mozjemalloc_compat.c ++ifndef MOZ_NATIVE_JEMALLOC + SHARED_LIBRARY_LIBS += $(call EXPAND_LIBNAME_PATH,jemalloc,$(DEPTH)/memory/jemalloc) ++endif + else + SHARED_LIBRARY_LIBS += $(call EXPAND_LIBNAME_PATH,jemalloc,$(DEPTH)/memory/mozjemalloc) + endif +diff --git memory/build/extraMallocFuncs.c memory/build/extraMallocFuncs.c +index 9d87629..03c8320 100644 +--- memory/build/extraMallocFuncs.c ++++ memory/build/extraMallocFuncs.c +@@ -94,8 +94,16 @@ wrap(wcsdup)(const wchar_t *src) + #endif + + #ifdef MOZ_JEMALLOC ++ ++#undef wrap ++#if defined(MOZ_NATIVE_JEMALLOC) ++#define wrap(a) a ++#else ++#define wrap(a) je_ ## a ++#endif ++ + /* Override some jemalloc defaults */ +-const char *je_malloc_conf = "narenas:1,lg_chunk:20"; ++MOZ_EXPORT_DATA(const char *) wrap(malloc_conf) = "narenas:1,lg_chunk:20"; + + #ifdef ANDROID + #include <android/log.h> +diff --git memory/build/mozjemalloc_compat.c memory/build/mozjemalloc_compat.c +index 10a845a..94ad96e 100644 +--- memory/build/mozjemalloc_compat.c ++++ memory/build/mozjemalloc_compat.c +@@ -5,14 +5,21 @@ + #include "mozilla/Types.h" + #include "jemalloc_types.h" + +-extern int je_mallctl(const char*, void*, size_t*, void*, size_t); ++#if defined(MOZ_NATIVE_JEMALLOC) ++#define wrap(a) a ++#else ++#define wrap(a) je_ ## a ++#endif + +-MOZ_EXPORT_API (void) ++extern MOZ_IMPORT_API(int) ++wrap(mallctl)(const char*, void*, size_t*, void*, size_t); ++ ++MOZ_EXPORT_API(void) + jemalloc_stats(jemalloc_stats_t *stats) + { + size_t size = sizeof(stats->mapped); +- je_mallctl("stats.mapped", &stats->mapped, &size, NULL, 0); +- je_mallctl("stats.allocated", &stats->allocated, &size, NULL, 0); ++ wrap(mallctl)("stats.mapped", &stats->mapped, &size, NULL, 0); ++ wrap(mallctl)("stats.allocated", &stats->allocated, &size, NULL, 0); + stats->committed = -1; + stats->dirty = -1; + } +diff --git memory/jemalloc/src/src/mutex.c memory/jemalloc/src/src/mutex.c +index 37a843e..55e18c2 100644 +--- memory/jemalloc/src/src/mutex.c ++++ memory/jemalloc/src/src/mutex.c +@@ -64,7 +64,7 @@ pthread_create(pthread_t *__restrict thread, + /******************************************************************************/ + + #ifdef JEMALLOC_MUTEX_INIT_CB +-int _pthread_mutex_init_calloc_cb(pthread_mutex_t *mutex, ++JEMALLOC_EXPORT int _pthread_mutex_init_calloc_cb(pthread_mutex_t *mutex, + void *(calloc_cb)(size_t, size_t)); + #endif + +diff --git memory/mozalloc/mozalloc.cpp memory/mozalloc/mozalloc.cpp +index 5b61050b..5b3399a 100644 +--- memory/mozalloc/mozalloc.cpp ++++ memory/mozalloc/mozalloc.cpp +@@ -12,16 +12,13 @@ + #include <sys/types.h> + + #if defined(MALLOC_H) +-# include MALLOC_H // for memalign, valloc where available ++# include MALLOC_H // for memalign, valloc, malloc_size, malloc_usable_size + #endif // if defined(MALLOC_H) + #include <stddef.h> // for size_t + #include <stdlib.h> // for malloc, free + #if defined(XP_UNIX) + # include <unistd.h> // for valloc on *BSD + #endif //if defined(XP_UNIX) +-#if defined(__FreeBSD__) +-# include <malloc_np.h> // for malloc_usable_size +-#endif // if defined(__FreeBSD__) + + #if defined(XP_WIN) || (defined(XP_OS2) && defined(__declspec)) + # define MOZALLOC_EXPORT __declspec(dllexport) +@@ -213,8 +210,7 @@ moz_malloc_usable_size(void *ptr) + + #if defined(XP_MACOSX) + return malloc_size(ptr); +-#elif defined(MOZ_MEMORY) || (defined(XP_LINUX) && !defined(ANDROID)) || defined(__FreeBSD__) +- // Android bionic libc doesn't have malloc_usable_size. ++#elif defined(HAVE_MALLOC_USABLE_SIZE) || defined(MOZ_MEMORY) + return malloc_usable_size(ptr); + #elif defined(XP_WIN) + return _msize(ptr); +diff --git memory/mozjemalloc/jemalloc.h memory/mozjemalloc/jemalloc.h +index f0e0878..2486e83 100644 +--- memory/mozjemalloc/jemalloc.h ++++ memory/mozjemalloc/jemalloc.h +@@ -37,22 +37,29 @@ + #endif + #include "jemalloc_types.h" + ++#if defined(MOZ_NATIVE_JEMALLOC) ++#define wrap(a) a ++#else ++#define wrap(a) je_ ## a ++#endif ++ + #ifdef __cplusplus + extern "C" { + #endif + +-#if defined(MOZ_MEMORY_LINUX) ++#if defined(MOZ_NATIVE_JEMALLOC) \ ++ || defined(MOZ_MEMORY_LINUX) || defined(MOZ_MEMORY_BSD) + __attribute__((weak)) + #endif + void jemalloc_stats(jemalloc_stats_t *stats); + + /* Computes the usable size in advance. */ + #if !defined(MOZ_MEMORY_DARWIN) +-#if defined(MOZ_MEMORY_LINUX) ++#if defined(MOZ_MEMORY_LINUX) || defined(MOZ_MEMORY_BSD) + __attribute__((weak)) + #endif + #if defined(MOZ_JEMALLOC) +-int je_nallocm(size_t *rsize, size_t size, int flags); ++MOZ_IMPORT_API(int) wrap(nallocm)(size_t *rsize, size_t size, int flags); + #else + size_t je_malloc_good_size(size_t size); + #endif +@@ -62,11 +69,11 @@ static inline size_t je_malloc_usable_size_in_advance(size_t size) { + #if defined(MOZ_MEMORY_DARWIN) + return malloc_good_size(size); + #elif defined(MOZ_JEMALLOC) +- if (je_nallocm) { ++ if (wrap(nallocm)) { + size_t ret; + if (size == 0) + size = 1; +- if (!je_nallocm(&ret, size, 0)) ++ if (!wrap(nallocm)(&ret, size, 0)) + return ret; + } + return size; +@@ -113,4 +120,6 @@ void jemalloc_purge_freed_pages(); + } /* extern "C" */ + #endif + ++#undef wrap ++ + #endif /* _JEMALLOC_H_ */ +diff --git mozglue/build/Makefile.in mozglue/build/Makefile.in +index c333647..15ba505 100644 +--- mozglue/build/Makefile.in ++++ mozglue/build/Makefile.in +@@ -23,7 +23,7 @@ FORCE_STATIC_LIB = 1 + endif + + # Keep jemalloc separated when mozglue is statically linked +-ifeq (1_1,$(MOZ_MEMORY)_$(FORCE_SHARED_LIB)) ++ifeq (1_1,$(MOZ_MEMORY)_$(or $(MOZ_NATIVE_JEMALLOC),$(FORCE_SHARED_LIB))) + SHARED_LIBRARY_LIBS = $(call EXPAND_LIBNAME_PATH,memory,$(DEPTH)/memory/build) + else + # Temporary, until bug 662814 lands diff --git a/www/firefox/files/patch-bug789436 b/www/firefox/files/patch-bug789436 new file mode 100644 index 000000000000..6d1e7069b858 --- /dev/null +++ b/www/firefox/files/patch-bug789436 @@ -0,0 +1,27 @@ +--- toolkit/xre/nsAppRunner.cpp~ ++++ toolkit/xre/nsAppRunner.cpp +@@ -1388,11 +1388,6 @@ static int MSCRTReportHook( int aReportType, char *aMessage, int *oReturnValue) + + #endif + +-#if defined(FREEBSD) +-// pick up fpsetmask prototype. +-#include <ieeefp.h> +-#endif +- + static inline void + DumpVersion() + { +@@ -4136,12 +4131,5 @@ SetupErrorHandling(const char* progname) + + // Unbuffer stdout, needed for tinderbox tests. + setbuf(stdout, 0); +- +-#if defined(FREEBSD) +- // Disable all SIGFPE's on FreeBSD, as it has non-IEEE-conformant fp +- // trap behavior that trips up on floating-point tests performed by +- // the JS engine. See bugzilla bug 9967 details. +- fpsetmask(0); +-#endif + } + diff --git a/www/firefox/files/patch-bug789656 b/www/firefox/files/patch-bug789656 new file mode 100644 index 000000000000..ebc567ef27ac --- /dev/null +++ b/www/firefox/files/patch-bug789656 @@ -0,0 +1,11 @@ +--- media/libopus/Makefile.in~ ++++ media/libopus/Makefile.in +@@ -20,7 +20,7 @@ DEFINES += \ + -Drestrict= \ + $(NULL) + +-ifneq ($(filter $(OS_ARCH),Linux Darwin),) ++ifneq ($(filter $(OS_ARCH),Linux Darwin DragonFly FreeBSD NetBSD OpenBSD),) + DEFINES += -DHAVE_LRINTF + endif + ifeq ($(OS_ARCH), WINNT) diff --git a/www/firefox/files/patch-bug789693 b/www/firefox/files/patch-bug789693 new file mode 100644 index 000000000000..1d2b790a35d5 --- /dev/null +++ b/www/firefox/files/patch-bug789693 @@ -0,0 +1,109 @@ +--- toolkit/components/startup/nsAppStartup.cpp ++++ toolkit/components/startup/nsAppStartup.cpp +@@ -50,18 +50,41 @@ + #include <sys/syscall.h> + #endif + +-#ifdef XP_MACOSX ++#if defined(XP_MACOSX) || defined(__DragonFly__) || defined(__FreeBSD__) \ ++ || defined(__NetBSD__) || defined(__OpenBSD__) ++#include <sys/param.h> + #include <sys/sysctl.h> + #endif + +-#ifdef __OpenBSD__ +-#include <sys/param.h> +-#include <sys/sysctl.h> ++#if defined(__DragonFly__) || defined(__FreeBSD__) ++#include <sys/user.h> + #endif + + #include "mozilla/Telemetry.h" + #include "mozilla/StartupTimeline.h" + ++#if defined(__NetBSD__) ++#undef KERN_PROC ++#define KERN_PROC KERN_PROC2 ++#define KINFO_PROC struct kinfo_proc2 ++#else ++#define KINFO_PROC struct kinfo_proc ++#endif ++ ++#if defined(XP_MACOSX) ++#define KP_START_SEC kp_proc.p_un.__p_starttime.tv_sec ++#define KP_START_USEC kp_proc.p_un.__p_starttime.tv_usec ++#elif defined(__DragonFly__) ++#define KP_START_SEC kp_start.tv_sec ++#define KP_START_USEC kp_start.tv_usec ++#elif defined(__FreeBSD__) ++#define KP_START_SEC ki_start.tv_sec ++#define KP_START_USEC ki_start.tv_usec ++#else ++#define KP_START_SEC p_ustart_sec ++#define KP_START_USEC p_ustart_usec ++#endif ++ + static NS_DEFINE_CID(kAppShellCID, NS_APPSHELL_CID); + + #define kPrefLastSuccess "toolkit.startup.last_success" +@@ -836,42 +859,30 @@ CalculateProcessCreationTimestamp() + #endif + return timestamp; + } +-#elif defined(XP_MACOSX) ++#elif defined(XP_MACOSX) || defined(__DragonFly__) || defined(__FreeBSD__) \ ++ || defined(__NetBSD__) || defined(__OpenBSD__) + static PRTime + CalculateProcessCreationTimestamp() + { +- int mib[4] = { CTL_KERN, KERN_PROC, KERN_PROC_PID, getpid() }; +- size_t buffer_size; +- if (sysctl(mib, 4, NULL, &buffer_size, NULL, 0)) +- return 0; ++ int mib[] = { ++ CTL_KERN, ++ KERN_PROC, ++ KERN_PROC_PID, ++ getpid(), ++#if defined(__NetBSD__) || defined(__OpenBSD__) ++ sizeof(KINFO_PROC), ++ 1, ++#endif ++ }; ++ u_int miblen = sizeof(mib) / sizeof(mib[0]); + +- struct kinfo_proc *proc = (kinfo_proc*) malloc(buffer_size); +- if (sysctl(mib, 4, proc, &buffer_size, NULL, 0)) { +- free(proc); +- return 0; +- } +- PRTime starttime = static_cast<PRTime>(proc->kp_proc.p_un.__p_starttime.tv_sec) * PR_USEC_PER_SEC; +- starttime += proc->kp_proc.p_un.__p_starttime.tv_usec; +- free(proc); +- return starttime; +-} +-#elif defined(__OpenBSD__) +-static PRTime +-CalculateProcessCreationTimestamp() +-{ +- int mib[6] = { CTL_KERN, KERN_PROC, KERN_PROC_PID, getpid(), sizeof(struct kinfo_proc), 1 }; +- size_t buffer_size; +- if (sysctl(mib, 6, NULL, &buffer_size, NULL, 0)) ++ KINFO_PROC proc; ++ size_t buffer_size = sizeof(proc); ++ if (sysctl(mib, miblen, &proc, &buffer_size, NULL, 0)) + return 0; + +- struct kinfo_proc *proc = (struct kinfo_proc*) malloc(buffer_size); +- if (sysctl(mib, 6, proc, &buffer_size, NULL, 0)) { +- free(proc); +- return 0; +- } +- PRTime starttime = static_cast<PRTime>(proc->p_ustart_sec) * PR_USEC_PER_SEC; +- starttime += proc->p_ustart_usec; +- free(proc); ++ PRTime starttime = static_cast<PRTime>(proc.KP_START_SEC) * PR_USEC_PER_SEC; ++ starttime += proc.KP_START_USEC; + return starttime; + } + #else diff --git a/www/firefox/files/patch-bug791305 b/www/firefox/files/patch-bug791305 new file mode 100644 index 000000000000..534e7f2d9cac --- /dev/null +++ b/www/firefox/files/patch-bug791305 @@ -0,0 +1,107 @@ +commit c269a16 +Author: Jeff Muizelaar <jmuizelaar@mozilla.com> +Date: Fri Sep 14 15:54:55 2012 -0400 + + Bug 791305. Use libjpeg's color conversion code instead of our own. r=joe,r=khuey + + libjpeg-turbo supports converting directly to a format compatible with cairo's + FORMAT_RGB24. Use that instead of our own handcoded function. This also gives + us SSE2 and NEON version of this function. + + --HG-- + extra : rebase_source : 18f48925f023a33ec2a097d4f4e5cc2ab40be1e9 +--- + configure.in | 6 +- + image/decoders/nsJPEGDecoder.cpp | 311 ++------------------------------------- + 2 files changed, 20 insertions(+), 297 deletions(-) + +diff --git image/decoders/nsJPEGDecoder.cpp image/decoders/nsJPEGDecoder.cpp +index c1fb515..1d2a259 100644 +--- image/decoders/nsJPEGDecoder.cpp ++++ image/decoders/nsJPEGDecoder.cpp +@@ -22,6 +22,13 @@ + 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)); +@@ -34,6 +41,7 @@ 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); +@@ -329,7 +340,18 @@ nsJPEGDecoder::WriteInternal(const char *aBuffer, PRUint32 aCount) + 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) { ++ mInfo.out_color_space = MOZ_JCS_EXT_NATIVE_ENDIAN_XRGB; ++ mInfo.out_color_components = 4; ++ } else { ++ mInfo.out_color_space = JCS_RGB; ++ } ++#else + mInfo.out_color_space = JCS_RGB; ++#endif + break; + case JCS_CMYK: + case JCS_YCCK: +@@ -397,6 +419,7 @@ nsJPEGDecoder::WriteInternal(const char *aBuffer, PRUint32 aCount) + 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) { +@@ -404,6 +427,7 @@ nsJPEGDecoder::WriteInternal(const char *aBuffer, PRUint32 aCount) + 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 ? JPEG_DECOMPRESS_PROGRESSIVE : JPEG_DECOMPRESS_SEQUENTIAL; +@@ -542,7 +566,11 @@ nsJPEGDecoder::OutputScanlines(bool* suspend) + PRUint32 *imageRow = ((PRUint32*)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 */ +@@ -858,6 +887,7 @@ term_source (j_decompress_ptr jd) + } // namespace mozilla + + ++#ifndef JCS_EXTENSIONS + /**************** YCbCr -> Cairo's RGB24/ARGB32 conversion: most common case **************/ + + /* +@@ -1130,7 +1160,8 @@ ycc_rgb_convert_argb (j_decompress_ptr cinfo, + } + } + } ++#endif + + + /**************** Inverted CMYK -> RGB conversion **************/ + /* diff --git a/www/firefox/files/patch-bug791366 b/www/firefox/files/patch-bug791366 new file mode 100644 index 000000000000..2be866d928cd --- /dev/null +++ b/www/firefox/files/patch-bug791366 @@ -0,0 +1,95 @@ +diff --git xpcom/base/nsMemoryReporterManager.cpp xpcom/base/nsMemoryReporterManager.cpp +index a9aff58..674e757 100644 +--- xpcom/base/nsMemoryReporterManager.cpp ++++ xpcom/base/nsMemoryReporterManager.cpp +@@ -32,7 +32,7 @@ using namespace mozilla; + # include "jemalloc.h" + #endif // MOZ_MEMORY + +-#if defined(XP_LINUX) || defined(XP_MACOSX) || defined(SOLARIS) ++#ifdef XP_UNIX + + #include <sys/time.h> + #include <sys/resource.h> +@@ -95,6 +95,81 @@ static nsresult GetResident(PRInt64 *n) + return GetProcSelfStatmField(1, n); + } + ++#elif defined(__DragonFly__) || defined(__FreeBSD__) \ ++ || defined(__NetBSD__) || defined(__OpenBSD__) ++ ++#include <sys/param.h> ++#include <sys/sysctl.h> ++#if defined(__DragonFly__) || defined(__FreeBSD__) ++#include <sys/user.h> ++#endif ++ ++#include <unistd.h> ++ ++#if defined(__NetBSD__) ++#undef KERN_PROC ++#define KERN_PROC KERN_PROC2 ++#define KINFO_PROC struct kinfo_proc2 ++#else ++#define KINFO_PROC struct kinfo_proc ++#endif ++ ++#if defined(__DragonFly__) ++#define KP_SIZE(kp) (kp.kp_vm_map_size) ++#define KP_RSS(kp) (kp.kp_vm_rssize * getpagesize()) ++#elif defined(__FreeBSD__) ++#define KP_SIZE(kp) (kp.ki_size) ++#define KP_RSS(kp) (kp.ki_rssize * getpagesize()) ++#elif defined(__NetBSD__) ++#define KP_SIZE(kp) (kp.p_vm_msize * getpagesize()) ++#define KP_RSS(kp) (kp.p_vm_rssize * getpagesize()) ++#elif defined(__OpenBSD__) ++#define KP_SIZE(kp) ((kp.p_vm_dsize + kp.p_vm_ssize \ ++ + kp.p_vm_tsize) * getpagesize()) ++#define KP_RSS(kp) (kp.p_vm_rssize * getpagesize()) ++#endif ++ ++static nsresult GetKinfoProcSelf(KINFO_PROC *proc) ++{ ++ int mib[] = { ++ CTL_KERN, ++ KERN_PROC, ++ KERN_PROC_PID, ++ getpid(), ++#if defined(__NetBSD__) || defined(__OpenBSD__) ++ sizeof(KINFO_PROC), ++ 1, ++#endif ++ }; ++ u_int miblen = sizeof(mib) / sizeof(mib[0]); ++ size_t size = sizeof(KINFO_PROC); ++ if (sysctl(mib, miblen, proc, &size, NULL, 0)) ++ return NS_ERROR_FAILURE; ++ ++ return NS_OK; ++} ++ ++#define HAVE_VSIZE_AND_RESIDENT_REPORTERS 1 ++static nsresult GetVsize(PRInt64 *n) ++{ ++ KINFO_PROC proc; ++ nsresult rv = GetKinfoProcSelf(&proc); ++ if (NS_SUCCEEDED(rv)) ++ *n = KP_SIZE(proc); ++ ++ return rv; ++} ++ ++static nsresult GetResident(PRInt64 *n) ++{ ++ KINFO_PROC proc; ++ nsresult rv = GetKinfoProcSelf(&proc); ++ if (NS_SUCCEEDED(rv)) ++ *n = KP_RSS(proc); ++ ++ return rv; ++} ++ + #elif defined(SOLARIS) + + #include <procfs.h> diff --git a/www/firefox/files/patch-config-baseconfig.mk b/www/firefox/files/patch-config-baseconfig.mk new file mode 100644 index 000000000000..e6fd78f35e7b --- /dev/null +++ b/www/firefox/files/patch-config-baseconfig.mk @@ -0,0 +1,16 @@ +--- config/baseconfig.mk~ ++++ config/baseconfig.mk +@@ -1,9 +1,9 @@ + INCLUDED_AUTOCONF_MK = 1 + +-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%% + DIST = $(DEPTH)/dist + + # We do magic with OBJ_SUFFIX in config.mk, the following ensures we don't diff --git a/www/firefox/files/patch-config_autoconf.mk.in b/www/firefox/files/patch-config_autoconf.mk.in deleted file mode 100644 index 877c48294fc6..000000000000 --- a/www/firefox/files/patch-config_autoconf.mk.in +++ /dev/null @@ -1,21 +0,0 @@ ---- config/autoconf.mk.in.orig 2009-04-24 03:46:37.000000000 +0200 -+++ config/autoconf.mk.in 2009-05-11 15:03:26.000000000 +0200 -@@ -57,14 +57,14 @@ - prefix = @prefix@ - exec_prefix = @exec_prefix@ - bindir = @bindir@ --includedir = @includedir@/$(MOZ_APP_NAME)-$(MOZ_APP_VERSION) -+includedir = @includedir@/%%MOZILLA%% - libdir = @libdir@ - datadir = @datadir@ - mandir = @mandir@ --idldir = $(datadir)/idl/$(MOZ_APP_NAME)-$(MOZ_APP_VERSION) -+idldir = $(datadir)/idl/%%MOZILLA%% - --installdir = $(libdir)/$(MOZ_APP_NAME)-$(MOZ_APP_VERSION) --sdkdir = $(libdir)/$(MOZ_APP_NAME)-devel-$(MOZ_APP_VERSION) -+installdir = $(libdir)/%%MOZILLA%% -+sdkdir = $(libdir)/%%MOZILLA%% - - DIST = $(DEPTH)/dist - LIBXUL_SDK = @LIBXUL_SDK@ diff --git a/www/firefox/files/patch-content-media-nsAudioStream.cpp b/www/firefox/files/patch-content-media-nsAudioStream.cpp new file mode 100644 index 000000000000..bd0f0d4963db --- /dev/null +++ b/www/firefox/files/patch-content-media-nsAudioStream.cpp @@ -0,0 +1,14 @@ +--- content/media/nsAudioStream.cpp~ ++++ content/media/nsAudioStream.cpp +@@ -298,7 +298,11 @@ static int PrefChanged(const char* aPref + gVolumeScale = NS_MAX<double>(0, PR_strtod(utf8.get(), nsnull)); + } + } else if (strcmp(aPref, PREF_USE_CUBEB) == 0) { ++#if defined(__FreeBSD__) && __FreeBSD_version < 800097 ++ bool value = Preferences::GetBool(aPref, false); ++#else + bool value = Preferences::GetBool(aPref, true); ++#endif + mozilla::MutexAutoLock lock(*gAudioPrefsLock); + gUseCubeb = value; + } else if (strcmp(aPref, PREF_CUBEB_LATENCY) == 0) { diff --git a/www/firefox/files/patch-extensions-spellcheck-hunspell-src-mozHunspell.cpp b/www/firefox/files/patch-extensions-spellcheck-hunspell-src-mozHunspell.cpp new file mode 100644 index 000000000000..161feb2ca7b5 --- /dev/null +++ b/www/firefox/files/patch-extensions-spellcheck-hunspell-src-mozHunspell.cpp @@ -0,0 +1,15 @@ +--- extensions/spellcheck/hunspell/src/mozHunspell.cpp~ ++++ extensions/spellcheck/hunspell/src/mozHunspell.cpp +@@ -400,6 +400,12 @@ mozHunspell::LoadDictionaryList() + } + } + ++ // load system hunspell dictionaries ++ nsIFile* hunDir; ++ NS_NewNativeLocalFile(NS_LITERAL_CSTRING("%%LOCALBASE%%/share/hunspell"), ++ true, &hunDir); ++ LoadDictionariesFromDir(hunDir); ++ + // find dictionaries from extensions requiring restart + nsCOMPtr<nsISimpleEnumerator> dictDirs; + rv = dirSvc->Get(DICTIONARY_SEARCH_DIRECTORY_LIST, diff --git a/www/firefox/files/pkg-deinstall.in b/www/firefox/files/pkg-deinstall.in new file mode 100644 index 000000000000..2544ee4ed3a2 --- /dev/null +++ b/www/firefox/files/pkg-deinstall.in @@ -0,0 +1,28 @@ +#!/bin/sh +# +# $MCom: ports/www/mozilla/pkg-deinstall.in,v 1.25 2008/07/26 19:07:07 ahze Exp $ +# +# Date created: Mon Nov 29, 2003 +# Whom: Thierry Thomas (<thierry@pompo.net>) +# Fix the chrome registry. + +umask 022 +PATH=/bin:/usr/bin + +[ "x$1" = "x" ] && exit 1 +[ "x$2" != "xDEINSTALL" ] && exit 0 + +MOZDIR=%%MOZDIR%% + +rm -rf ${MOZDIR}/chrome/overlayinfo +rm -f ${MOZDIR}/chrome/*.rdf +rm -f ${MOZDIR}/component.reg +rm -f ${MOZDIR}/components/*.dat +rm -f ${MOZDIR}/components.ini +rm -f ${MOZDIR}/defaults.ini +rm -f ${MOZDIR}/chrome/app-chrome.manifest +rm -rf ${MOZDIR}/updates +find %%MOZDIR%%/plugins/ -depth 1 -type l -delete > /dev/null 2>&1 +find %%MOZDIR%%/extensions/ -depth 1 -type l -delete > /dev/null 2>&1 + +exit 0 diff --git a/www/firefox/files/pkg-install.in b/www/firefox/files/pkg-install.in new file mode 100644 index 000000000000..b2c8186701c4 --- /dev/null +++ b/www/firefox/files/pkg-install.in @@ -0,0 +1,38 @@ +#!/bin/sh +# +# $MCom: ports/www/mozilla/pkg-install.in,v 1.26 2008/08/04 16:58:03 mezz Exp $ +# +# Date created: Mon Nov 29, 2003 +# Whom: Thierry Thomas (<thierry@pompo.net>) +# Fix the chrome registry. + +umask 022 +PATH=/bin:/usr/bin + +[ "x$1" = "x" ] && exit 1 +[ "x$2" != "xPOST-INSTALL" ] && exit 0 + +MOZDIR=%%MOZDIR%% +MOZBIN=${MOZDIR}/%%MOZILLA_BIN%% +REGXPCOM=${MOZDIR}/regxpcom +REGCHROME=${MOZDIR}/regchrome + +echo "===> Building Chrome's registry..." +rm -rf ${MOZDIR}/chrome/overlayinfo +rm -f ${MOZDIR}/chrome/*.rdf +mkdir -p ${MOZDIR}/chrome/overlayinfo +rm -f ${MOZDIR}/component.reg + +cd ${MOZDIR} || exit 1 +if [ -f ${REGXPCOM} ]; then + ./run-mozilla.sh ${REGXPCOM} || true +fi +if [ -f ${REGCHROME} ]; then + ./run-mozilla.sh ${REGCHROME} || true +fi +if [ -f ${MOZBIN} -a "${1%-*}" = "nvu" ]; then + ./run-mozilla.sh ${MOZBIN} -register > /dev/null 2>&1 +fi +cp -R %%LOCALBASE%%/lib/xpi/symlinks/%%MOZILLA%%/ %%MOZDIR%%/extensions/ > /dev/null 2>&1 + +exit 0 diff --git a/www/firefox/pkg-message b/www/firefox/pkg-message index 541e7771f224..b282c9ce33a1 100644 --- a/www/firefox/pkg-message +++ b/www/firefox/pkg-message @@ -1,9 +1,9 @@ ====================================================================== -smb:// issues (GNOMEVFS2 option): +smb:// issues (Gvfs/GIO or GNOMEVFS2 option): Network group, machine, and share browsing does not work correctly. -sftp:// (GNOMEVFS2 option): +sftp:// (Gvfs/GIO or GNOMEVFS2 option): Only sftp access using public key authentication works. To easily setup public key authentication to "remote_host": |