summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorahze <ahze@df743ca5-7f9a-e211-a948-0013205c9059>2007-09-20 07:51:38 +0800
committerahze <ahze@df743ca5-7f9a-e211-a948-0013205c9059>2007-09-20 07:51:38 +0800
commita2b49fab6c35874c47dadae1d3a2a68f4ef86b3d (patch)
tree99f12488384e2f82b7cc4f795caad91d90022c15
parent3f736810f8d63c4369e83d93695e6dec7a46307d (diff)
downloadmarcuscom-ports-a2b49fab6c35874c47dadae1d3a2a68f4ef86b3d.tar.gz
marcuscom-ports-a2b49fab6c35874c47dadae1d3a2a68f4ef86b3d.tar.zst
marcuscom-ports-a2b49fab6c35874c47dadae1d3a2a68f4ef86b3d.zip
Moved to ports-experimental
git-svn-id: svn://creme-brulee.marcuscom.com/ports/trunk@9690 df743ca5-7f9a-e211-a948-0013205c9059
-rw-r--r--devel/nspr/Makefile85
-rw-r--r--devel/nspr/distinfo3
-rw-r--r--devel/nspr/files/patch-..::config::autoconf.mk.in11
-rw-r--r--devel/nspr/files/patch-..::configure46
-rw-r--r--devel/nspr/files/patch-..::pr::src::pthreads::ptio.c20
-rw-r--r--devel/nspr/files/patch-.._pr_include_md__freebsd.h19
-rw-r--r--devel/nspr/files/patch-.._pr_src_misc_prsystem.c22
-rw-r--r--devel/nspr/files/patch-.._pr_tests_Makefile11
-rw-r--r--devel/nspr/files/patch-config-nsprc.pc.in13
-rw-r--r--devel/nspr/files/patch-libtests611
-rw-r--r--devel/nspr/files/patch-pthread_t47
-rw-r--r--devel/nspr/files/patch-tests1895
-rw-r--r--devel/nspr/files/patch-warnings67
-rw-r--r--devel/nspr/pkg-descr5
-rw-r--r--devel/nspr/pkg-plist105
-rw-r--r--graphics/png/Makefile54
-rw-r--r--graphics/png/distinfo3
-rw-r--r--graphics/png/files/patch-aa63
-rw-r--r--graphics/png/files/patch-ab18
-rw-r--r--graphics/png/files/patch-ac16
-rw-r--r--graphics/png/files/patch-ad11
-rw-r--r--graphics/png/files/patch-ae18
-rw-r--r--graphics/png/files/patch-apng1696
-rw-r--r--graphics/png/pkg-descr11
-rw-r--r--graphics/png/pkg-plist14
-rw-r--r--security/nss/Makefile105
-rw-r--r--security/nss/distinfo3
-rw-r--r--security/nss/files/nss-config.in137
-rw-r--r--security/nss/files/nss.pc.in11
-rw-r--r--security/nss/files/patch-..::coreconf::FreeBSD.mk62
-rw-r--r--security/nss/files/patch-..::coreconf::command.mk9
-rw-r--r--security/nss/files/patch-..::coreconf::rules.mk10
-rw-r--r--security/nss/files/patch-Makefile11
-rw-r--r--security/nss/files/patch-cmd::platlibs.mk14
-rw-r--r--security/nss/files/patch-const46
-rw-r--r--security/nss/files/patch-sysdb175
-rw-r--r--security/nss/files/patch-tests10
-rw-r--r--security/nss/pkg-descr7
-rw-r--r--security/nss/pkg-plist153
-rw-r--r--www/firefox-devel/Makefile101
-rw-r--r--www/firefox-devel/distinfo3
-rw-r--r--www/firefox-devel/files/firefox.desktop.in191
-rw-r--r--www/firefox-devel/files/patch-bugzilla2968181621
-rw-r--r--www/firefox-devel/files/patch-build_unix_run-mozilla.sh12
-rw-r--r--www/firefox-devel/files/patch-config-mkdepend-imakemdep.h10
-rw-r--r--www/firefox-devel/files/patch-config-rules.mk13
-rw-r--r--www/firefox-devel/files/patch-config_autoconf.mk.in18
-rw-r--r--www/firefox-devel/files/patch-config_mkdepend_Makefile.in10
-rw-r--r--www/firefox-devel/files/patch-content_xslt_public_txDouble.h20
-rw-r--r--www/firefox-devel/files/patch-extensions_typeaheadfind_src_nsTypeAheadFind.cpp46
-rw-r--r--www/firefox-devel/files/patch-extensions_typeaheadfind_src_nsTypeAheadFind.h12
-rw-r--r--www/firefox-devel/files/patch-js_src_Makefile.in10
-rw-r--r--www/firefox-devel/files/patch-js_src_jsnum.c28
-rw-r--r--www/firefox-devel/files/patch-modules_libpref_src_init_all.js53
-rw-r--r--www/firefox-devel/files/patch-security-coreconf-FreeBSD.mk24
-rw-r--r--www/firefox-devel/files/patch-security_manager_ssl_src_nsNSSComponent.cpp10
-rw-r--r--www/firefox-devel/files/patch-storage_build_Makefile.in10
-rw-r--r--www/firefox-devel/files/patch-sysnss34
-rw-r--r--www/firefox-devel/files/patch-toolkit_xre_Makefile.in8
-rw-r--r--www/firefox-devel/files/patch-uriloader_exthandler_unix_nsGNOMERegistry.cpp29
-rw-r--r--www/firefox-devel/files/patch-xpcom-reflect-xptcall-public-xptcstubsdecl.inc11
-rw-r--r--www/firefox-devel/files/patch-xpcom-reflect-xptcall-src-md-unix-Makefile.in54
-rw-r--r--www/firefox-devel/files/patch-xptcall-alpha459
-rw-r--r--www/firefox-devel/files/patch-xptcall-sparc64327
-rw-r--r--www/firefox-devel/pkg-descr12
-rw-r--r--www/firefox-devel/pkg-message32
-rw-r--r--www/firefox3-devel/Makefile101
-rw-r--r--www/firefox3-devel/distinfo3
-rw-r--r--www/firefox3-devel/files/firefox.desktop.in191
-rw-r--r--www/firefox3-devel/files/patch-bugzilla2968181621
-rw-r--r--www/firefox3-devel/files/patch-build_unix_run-mozilla.sh12
-rw-r--r--www/firefox3-devel/files/patch-config-mkdepend-imakemdep.h10
-rw-r--r--www/firefox3-devel/files/patch-config-rules.mk13
-rw-r--r--www/firefox3-devel/files/patch-config_autoconf.mk.in18
-rw-r--r--www/firefox3-devel/files/patch-config_mkdepend_Makefile.in10
-rw-r--r--www/firefox3-devel/files/patch-content_xslt_public_txDouble.h20
-rw-r--r--www/firefox3-devel/files/patch-extensions_typeaheadfind_src_nsTypeAheadFind.cpp46
-rw-r--r--www/firefox3-devel/files/patch-extensions_typeaheadfind_src_nsTypeAheadFind.h12
-rw-r--r--www/firefox3-devel/files/patch-js_src_Makefile.in10
-rw-r--r--www/firefox3-devel/files/patch-js_src_jsnum.c28
-rw-r--r--www/firefox3-devel/files/patch-modules_libpref_src_init_all.js53
-rw-r--r--www/firefox3-devel/files/patch-security-coreconf-FreeBSD.mk24
-rw-r--r--www/firefox3-devel/files/patch-security_manager_ssl_src_nsNSSComponent.cpp10
-rw-r--r--www/firefox3-devel/files/patch-storage_build_Makefile.in10
-rw-r--r--www/firefox3-devel/files/patch-sysnss34
-rw-r--r--www/firefox3-devel/files/patch-toolkit_xre_Makefile.in8
-rw-r--r--www/firefox3-devel/files/patch-uriloader_exthandler_unix_nsGNOMERegistry.cpp29
-rw-r--r--www/firefox3-devel/files/patch-xpcom-reflect-xptcall-public-xptcstubsdecl.inc11
-rw-r--r--www/firefox3-devel/files/patch-xpcom-reflect-xptcall-src-md-unix-Makefile.in54
-rw-r--r--www/firefox3-devel/files/patch-xptcall-alpha459
-rw-r--r--www/firefox3-devel/files/patch-xptcall-sparc64327
-rw-r--r--www/firefox3-devel/pkg-descr12
-rw-r--r--www/firefox3-devel/pkg-message32
-rw-r--r--www/mozilla/Makefile162
-rw-r--r--www/mozilla/Makefile.common433
-rw-r--r--www/mozilla/bsd.gecko.mk171
-rw-r--r--www/mozilla/distinfo6
-rw-r--r--www/mozilla/files/extra-patch-nsSVGLibartGlyphMetricsFT.cpp88
-rw-r--r--www/mozilla/files/extra-patch2-nsSVGLibartGlyphMetricsFT.cpp50
-rw-r--r--www/mozilla/files/mozconfig-generic.in8
-rw-r--r--www/mozilla/files/mozilla.desktop.in169
-rw-r--r--www/mozilla/files/patch-Double.cpp59
-rw-r--r--www/mozilla/files/patch-Makefile.in22
-rw-r--r--www/mozilla/files/patch-bugzilla149334342
-rw-r--r--www/mozilla/files/patch-build_unix_run-mozilla.sh21
-rw-r--r--www/mozilla/files/patch-config-mkdepend-imakemdep.h10
-rw-r--r--www/mozilla/files/patch-config::mkdepend::Makefile.in10
-rw-r--r--www/mozilla/files/patch-config::rules.mk14
-rw-r--r--www/mozilla/files/patch-config_autoconf.mk.in18
-rw-r--r--www/mozilla/files/patch-extensions_p3p_Makefile.in30
-rw-r--r--www/mozilla/files/patch-gcc479
-rw-r--r--www/mozilla/files/patch-gfx-src-gtk-Makefile.in15
-rw-r--r--www/mozilla/files/patch-gfx_src_ps_nsType1.cpp58
-rw-r--r--www/mozilla/files/patch-libm25
-rw-r--r--www/mozilla/files/patch-qt65
-rw-r--r--www/mozilla/files/patch-security::coreconf::FreeBSD.mk37
-rw-r--r--www/mozilla/files/patch-sysnspr21
-rw-r--r--www/mozilla/files/patch-sysnss178
-rw-r--r--www/mozilla/files/patch-uriloader_exthandler_unix_nsGNOMERegistry.cpp29
-rw-r--r--www/mozilla/files/patch-widget_src_gtk2_nsDragService.cpp18
-rw-r--r--www/mozilla/files/patch-xpcom::reflect::xptcall::public::xptcstubsdecl.inc11
-rw-r--r--www/mozilla/files/patch-xpcom_reflect_xptcall_src_md_unix_Makefile.in56
-rw-r--r--www/mozilla/files/patch-xpfe_bootstrap_mozilla.in436
-rw-r--r--www/mozilla/files/patch-xptcall-alpha459
-rw-r--r--www/mozilla/files/patch-xptcall-amd64386
-rw-r--r--www/mozilla/files/patch-xptcall-ia6438
-rwxr-xr-xwww/mozilla/files/patch-xptcall-sparc64327
-rw-r--r--www/mozilla/pkg-deinstall.in28
-rw-r--r--www/mozilla/pkg-descr10
-rw-r--r--www/mozilla/pkg-install.in42
130 files changed, 0 insertions, 15864 deletions
diff --git a/devel/nspr/Makefile b/devel/nspr/Makefile
deleted file mode 100644
index 474ec1fdf..000000000
--- a/devel/nspr/Makefile
+++ /dev/null
@@ -1,85 +0,0 @@
-# Ports collection Makefile for: nspr
-# Date created: 18 December 2001
-# Whom: Maxim Sobolev <sobomax@FreeBSD.org>
-#
-# $FreeBSD$
-# $MCom: ports/devel/nspr/Makefile,v 1.3 2007/07/30 19:55:01 mezz Exp $
-
-PORTNAME= nspr
-DISTVERSION= 4.6.7-2
-CATEGORIES= devel
-MASTER_SITES= LOCAL
-MASTER_SITE_SUBDIR= ahze
-#MASTER_SITES= ${MASTER_SITE_MOZILLA}
-#MASTER_SITE_SUBDIR= nspr/releases/v${PORTVERSION}/src
-
-MAINTAINER= gnome@FreeBSD.org
-COMMENT= A platform-neutral API for system level and libc like functions
-
-USE_BZIP2= yes
-
-WRKSRC= ${WRKDIR}/${DISTNAME}/mozilla/nsprpub/build
-
-USE_LDCONFIG= yes
-USE_GMAKE= yes
-GNU_CONFIGURE= yes
-CONFIGURE_SCRIPT=../configure
-CONFIGURE_ARGS= --disable-debug \
- --with-pthreads
-CONFIGURE_ENV= BSD_PTHREAD_LIBS=${PTHREAD_LIBS}
-
-MAKE_ENV= DIST=${WRKSRC}/dist
-
-LIBS= libnspr4.so.1 libplc4.so.1 libplds4.so.1
-
-.include <bsd.port.pre.mk>
-
-post-patch:
- @${REINPLACE_CMD} -e 's,-lpthread,${PTHREAD_LIBS},g ; s,echo aout,echo elf,g' ${WRKSRC}/${CONFIGURE_SCRIPT}
-.if ${OSVERSION} < 601104
- @${REINPLACE_CMD} -e 's|pthread_cond_wait|_pthread_cond_wait|g' \
- ${WRKSRC}/../pr/src/md/unix/pthreads_user.c \
- ${WRKSRC}/../pr/src/pthreads/ptsynch.c
-.endif
-
-do-install:
- ${MKDIR} ${PREFIX}/include/nspr
- ${TAR} -C ${WRKSRC}/dist/include --dereference -cf - . | \
- ${TAR} -C ${PREFIX}/include -xf -
- ${TAR} -C ${WRKSRC}/dist/lib --dereference -cf - . | \
- ${TAR} -C ${PREFIX}/lib -xf -
- ${INSTALL_SCRIPT} ${WRKSRC}/config/nspr-config ${PREFIX}/bin
- ${MKDIR} ${PREFIX}/libdata/pkgconfig
- ${INSTALL_DATA} ${WRKSRC}/config/nspr.pc ${PREFIX}/libdata/pkgconfig
-.for lib in ${LIBS}
- ${LN} -sf ${lib} ${PREFIX}/lib/${lib:R}
-.endfor
-
-prtests:
- env PTHREAD_LIBS="${PTHREAD_LIBS}" ${GMAKE} -C ${WRKSRC}/pr/tests
- ${LN} -sf libmy.so.1 ${WRKSRC}/pr/tests/dll/libmy.so
- cd ${WRKSRC}/pr/tests && ../../../pr/tests/runtests.sh
-
-libtests:
- ${GMAKE} -C ${WRKSRC}/lib/tests
- ${WRKSRC}/lib/tests/string
- ${WRKSRC}/lib/tests/base64t
- # The test below is commented out, because arena requires
- # command-line arguments. If you can provide reasonable values
- # for it, please contact ${MAINTAINER}. Thank you.
- # ${WRKSRC}/lib/tests/arena
- #
-
-test: libtests prtests
-
-#.if defined(PACKAGE_BUILDING)
-#post-build: test
-#.else
-post-build:
- #
- # Please, consider running ``make test'' to find any
- # possible build problems.
- #
-#.endif
-
-.include <bsd.port.post.mk>
diff --git a/devel/nspr/distinfo b/devel/nspr/distinfo
deleted file mode 100644
index c49a839c6..000000000
--- a/devel/nspr/distinfo
+++ /dev/null
@@ -1,3 +0,0 @@
-MD5 (nspr-4.6.7-2.tar.bz2) = cf298d4c1115fffe37ba61bb3fa95611
-SHA256 (nspr-4.6.7-2.tar.bz2) = 256c79ed3c8a2a3446918281c2606010fc4242f39b04e78573fde27f57b9b030
-SIZE (nspr-4.6.7-2.tar.bz2) = 972827
diff --git a/devel/nspr/files/patch-..::config::autoconf.mk.in b/devel/nspr/files/patch-..::config::autoconf.mk.in
deleted file mode 100644
index a0a102666..000000000
--- a/devel/nspr/files/patch-..::config::autoconf.mk.in
+++ /dev/null
@@ -1,11 +0,0 @@
---- ../config/autoconf.mk.in.orig Wed Oct 17 02:31:02 2001
-+++ ../config/autoconf.mk.in Thu Aug 8 19:22:44 2002
-@@ -17,7 +17,7 @@
- dist_includedir = @dist_includedir@
- dist_libdir = @dist_libdir@
-
--DIST = $(dist_prefix)
-+DIST ?= $(dist_prefix)
-
- RELEASE_OBJDIR_NAME = @RELEASE_OBJDIR_NAME@
- OBJDIR_NAME = @OBJDIR_NAME@
diff --git a/devel/nspr/files/patch-..::configure b/devel/nspr/files/patch-..::configure
deleted file mode 100644
index e74898f2c..000000000
--- a/devel/nspr/files/patch-..::configure
+++ /dev/null
@@ -1,46 +0,0 @@
---- ../configure.orig Tue Nov 14 10:37:41 2006
-+++ ../configure Mon Nov 27 22:52:52 2006
-@@ -3466,16 +3466,21 @@
- #define HAVE_SOCKLEN_T 1
- EOF
-
-- CFLAGS="$CFLAGS $(DSO_CFLAGS) -ansi -Wall"
-+ cat >> confdefs.h <<\EOF
-+#define HAVE_SOCKLEN_T 1
-+EOF
-+
-+ CFLAFS="$CFLAGS $DSO_CFLAGS -ansi -Wall -pipe -DXP_UNIX"
- MOZ_OBJFORMAT=`test -x /usr/bin/objformat && /usr/bin/objformat || echo aout`
- if test "$MOZ_OBJFORMAT" = "elf"; then
-- DLL_SUFFIX=so
-+ DLL_SUFFIX=so.1
- else
- DLL_SUFFIX=so.1.0
- fi
- MKSHLIB='$(CC) $(DSO_LDOPTS) -o $@'
- DSO_CFLAGS=-fPIC
- DSO_LDOPTS='-shared -Wl,-soname -Wl,$(notdir $@)'
-+ DSO_LDOPTS="$DSO_LDOPTS $BSD_PTHREAD_LIBS"
- MDCPUCFG_H=_freebsd.cfg
- PR_MD_CSRCS=freebsd.c
- ;;
-@@ -5467,11 +5472,6 @@
- #define _THREAD_SAFE 1
- EOF
-
-- if test "$ac_cv_have_dash_pthread" = "yes"; then
-- _PTHREAD_LDFLAGS="-pthread"
-- else
-- _PTHREAD_LDFLAGS="-lc_r"
-- fi
- ;;
- *-netbsd*)
- if test "$ac_cv_have_dash_pthread" = "yes"; then
-@@ -5864,6 +5864,7 @@
- config/nsprincl.mk
- config/nsprincl.sh
- config/nspr-config
-+config/nspr.pc
- lib/Makefile
- lib/ds/Makefile
- lib/libc/Makefile
diff --git a/devel/nspr/files/patch-..::pr::src::pthreads::ptio.c b/devel/nspr/files/patch-..::pr::src::pthreads::ptio.c
deleted file mode 100644
index 940aaebc0..000000000
--- a/devel/nspr/files/patch-..::pr::src::pthreads::ptio.c
+++ /dev/null
@@ -1,20 +0,0 @@
---- ../pr/src/pthreads/ptio.c.orig Mon Feb 2 10:41:43 2004
-+++ ../pr/src/pthreads/ptio.c Mon Feb 2 10:44:49 2004
-@@ -3470,6 +3470,17 @@
- &on, sizeof(on));
- }
- #endif
-+#if (defined(_PR_INET6_PROBE) || defined(_PR_INET6)) && \
-+ defined(__FreeBSD__) && defined(IPV6_V6ONLY)
-+ if (domain == PR_AF_INET6) {
-+ int opt = 0;
-+ if (setsockopt(osfd, IPPROTO_IPV6, IPV6_V6ONLY,
-+ &opt, sizeof(opt))) {
-+ close(osfd);
-+ return NULL;
-+ }
-+ }
-+#endif
- fd = pt_SetMethods(osfd, ftype, PR_FALSE, PR_FALSE);
- if (fd == NULL) close(osfd);
- }
diff --git a/devel/nspr/files/patch-.._pr_include_md__freebsd.h b/devel/nspr/files/patch-.._pr_include_md__freebsd.h
deleted file mode 100644
index b02b5a35d..000000000
--- a/devel/nspr/files/patch-.._pr_include_md__freebsd.h
+++ /dev/null
@@ -1,19 +0,0 @@
---- ../pr/include/md/_freebsd.h.orig Mon Nov 22 16:24:53 2004
-+++ ../pr/include/md/_freebsd.h Sun Jul 23 13:15:29 2006
-@@ -106,6 +106,16 @@
- #define _PR_IPV6_V6ONLY_PROBE
- #endif
-
-+#if (__FreeBSD_version >= 700016) || (__FreeBSD_version < 700000 && __FreeBSD_version >= 601103)
-+#if defined(_PR_PTHREADS)
-+#define _PR_HAVE_GETPROTO_R
-+#define _PR_HAVE_5_ARG_GETPROTO_R
-+#define _PR_HAVE_GETHOST_R
-+#define _PR_HAVE_GETHOST_R_INT
-+#define _PR_HAVE_THREADSAFE_GETHOST
-+#endif
-+#endif
-+
- #define USE_SETJMP
-
- #ifndef _PR_PTHREADS
diff --git a/devel/nspr/files/patch-.._pr_src_misc_prsystem.c b/devel/nspr/files/patch-.._pr_src_misc_prsystem.c
deleted file mode 100644
index a73a823f4..000000000
--- a/devel/nspr/files/patch-.._pr_src_misc_prsystem.c
+++ /dev/null
@@ -1,22 +0,0 @@
---- ../pr/src/misc/prsystem.c.orig Fri May 6 20:35:58 2005
-+++ ../pr/src/misc/prsystem.c Sun Dec 4 22:09:51 2005
-@@ -352,6 +352,19 @@ PR_IMPLEMENT(PRUint64) PR_GetPhysicalMem
- odm_terminate();
- }
-
-+#elif defined(__FreeBSD__)
-+
-+ int mib[2];
-+ unsigned long physmem;
-+ size_t len;
-+
-+ mib[0] = CTL_HW;
-+ mib[1] = HW_PHYSMEM;
-+ len = sizeof(physmem);
-+ if(sysctl(mib, 2, &physmem, &len, NULL, 0) == 0
-+ && len == sizeof(physmem))
-+ bytes = physmem;
-+
- #else
-
- PR_SetError(PR_NOT_IMPLEMENTED_ERROR, 0);
diff --git a/devel/nspr/files/patch-.._pr_tests_Makefile b/devel/nspr/files/patch-.._pr_tests_Makefile
deleted file mode 100644
index af796164c..000000000
--- a/devel/nspr/files/patch-.._pr_tests_Makefile
+++ /dev/null
@@ -1,11 +0,0 @@
---- ../../nsprpub/pr/tests/Makefile.in.orig Mon Apr 26 00:01:02 2004
-+++ ../../nsprpub/pr/tests/Makefile.in Tue Nov 28 11:08:14 2006
-@@ -418,7 +418,7 @@
-
- ifeq ($(OS_ARCH),FreeBSD)
- ifeq ($(USE_PTHREADS),1)
--LDOPTS += -pthread
-+LDOPTS += ${PTHREAD_LIBS}
- endif
- LDOPTS += -Xlinker -R $(ABSOLUTE_LIB_DIR)
- endif
diff --git a/devel/nspr/files/patch-config-nsprc.pc.in b/devel/nspr/files/patch-config-nsprc.pc.in
deleted file mode 100644
index 70c912f7b..000000000
--- a/devel/nspr/files/patch-config-nsprc.pc.in
+++ /dev/null
@@ -1,13 +0,0 @@
---- ../config/nspr.pc.in.orig Thu Aug 4 21:38:50 2005
-+++ ../config/nspr.pc.in Thu Aug 4 21:38:59 2005
-@@ -0,0 +1,10 @@
-+prefix=@prefix@
-+exec_prefix=@exec_prefix@
-+libdir=@libdir@
-+includedir=@includedir@
-+
-+Name: NSPR
-+Description: The Netscape Portable Runtime
-+Version: @MOD_MAJOR_VERSION@.@MOD_MINOR_VERSION@.@MOD_PATCH_VERSION@
-+Libs: -L${libdir} -lplds@MOD_MAJOR_VERSION@ -lplc@MOD_MAJOR_VERSION@ -lnspr@MOD_MAJOR_VERSION@ @OS_LIBS@
-+Cflags: -I${includedir}
diff --git a/devel/nspr/files/patch-libtests b/devel/nspr/files/patch-libtests
deleted file mode 100644
index a069bbaa4..000000000
--- a/devel/nspr/files/patch-libtests
+++ /dev/null
@@ -1,611 +0,0 @@
---- ../lib/tests/string.c Sun Apr 25 11:00:46 2004
-+++ ../lib/tests/string.c Mon Jul 25 20:14:12 2005
-@@ -160,5 +160,5 @@
- if( array[i].rv != rv )
- {
-- printf("FAIL %d: (0x%x, %s)->0x%x\n", i, array[i].dest,
-+ printf("FAIL %d: (%p, %s)->%p\n", i, array[i].dest,
- array[i].str ? array[i].str : "(null)", rv);
- return PR_FALSE;
-@@ -270,6 +270,6 @@
- if( array[i].rv != rv )
- {
-- printf("FAIL %d: (0x%x, %s, %lu)->0x%x\n", i, array[i].dest,
-- array[i].str ? array[i].str : "(null)", array[i].len, rv);
-+ printf("FAIL %d: (%p, %s, %u)->%p\n", i, array[i].dest,
-+ array[i].str ? array[i].str : "(null)", (unsigned)array[i].len, rv);
- return PR_FALSE;
- }
-@@ -396,6 +396,6 @@
- if( array[i].rv != rv )
- {
-- printf("FAIL %d: (0x%x, %s, %lu)->0x%x\n", i, array[i].dest,
-- array[i].str ? array[i].str : "(null)", array[i].len, rv);
-+ printf("FAIL %d: (%p, %s, %u)->%p\n", i, array[i].dest,
-+ array[i].str ? array[i].str : "(null)", (unsigned)array[i].len, rv);
- return PR_FALSE;
- }
-@@ -448,5 +448,5 @@
- if( (char *)0 == rv )
- {
-- printf("FAIL %d: 0x%x -> 0\n", i, array[i]);
-+ printf("FAIL %d: %p -> 0\n", i, array[i]);
- return PR_FALSE;
- }
-@@ -532,6 +532,6 @@
- if( (char *)0 == rv )
- {
-- printf("FAIL %d: %s,%lu -> 0\n", i,
-- array[i].str ? array[i].str : "(null)", array[i].len);
-+ printf("FAIL %d: %s,%u -> 0\n", i,
-+ array[i].str ? array[i].str : "(null)", (unsigned)array[i].len);
- return PR_FALSE;
- }
-@@ -717,8 +717,8 @@
- if( (char *)0 != rv )
- {
-- printf("FAIL %d: %s+%s/%lu -> %.32s, not zero\n", i,
-+ printf("FAIL %d: %s+%s/%u -> %.32s, not zero\n", i,
- array[i].first ? array[i].first : "(null)",
- array[i].second ? array[i].second : "(null)",
-- array[i].length, rv);
-+ (unsigned)array[i].length, rv);
- return PR_FALSE;
- }
-@@ -728,8 +728,8 @@
- if( (char *)0 == rv )
- {
-- printf("FAIL %d: %s+%s/%lu -> null, not %s\n", i,
-+ printf("FAIL %d: %s+%s/%u -> null, not %s\n", i,
- array[i].first ? array[i].first : "(null)",
- array[i].second ? array[i].second : "(null)",
-- array[i].length, array[i].result);
-+ (unsigned)array[i].length, array[i].result);
- return PR_FALSE;
- }
-@@ -743,8 +743,8 @@
- if( *a != *b )
- {
-- printf("FAIL %d: %s+%s/%lu -> %.32s, not %s\n", i,
-+ printf("FAIL %d: %s+%s/%u -> %.32s, not %s\n", i,
- array[i].first ? array[i].first : "(null)",
- array[i].second ? array[i].second : "(null)",
-- array[i].length, rv, array[i].result);
-+ (unsigned)array[i].length, rv, array[i].result);
- return PR_FALSE;
- }
-@@ -758,8 +758,8 @@
- if( (char)0 != *b )
- {
-- printf("FAIL %d: %s+%s/%lu -> not nulled\n", i,
-+ printf("FAIL %d: %s+%s/%u -> not nulled\n", i,
- array[i].first ? array[i].first : "(null)",
- array[i].second ? array[i].second : "(null)",
-- array[i].length);
-+ (unsigned)array[i].length);
- return PR_FALSE;
- }
-@@ -769,8 +769,8 @@
- if( (char)0 == *b )
- {
-- printf("FAIL %d: %s+%s/%lu -> overrun\n", i,
-+ printf("FAIL %d: %s+%s/%u -> overrun\n", i,
- array[i].first ? array[i].first : "(null)",
- array[i].second ? array[i].second : "(null)",
-- array[i].length);
-+ (unsigned)array[i].length);
- return PR_FALSE;
- }
-@@ -847,8 +847,8 @@
- if( (char *)0 != rv )
- {
-- printf("FAIL %d: %s+%s/%lu -> %.32s, not zero\n", i,
-+ printf("FAIL %d: %s+%s/%u -> %.32s, not zero\n", i,
- array[i].first ? array[i].first : "(null)",
- array[i].second ? array[i].second : "(null)",
-- array[i].length, rv);
-+ (unsigned)array[i].length, rv);
- return PR_FALSE;
- }
-@@ -858,8 +858,8 @@
- if( (char *)0 == rv )
- {
-- printf("FAIL %d: %s+%s/%lu -> null, not %s\n", i,
-+ printf("FAIL %d: %s+%s/%u -> null, not %s\n", i,
- array[i].first ? array[i].first : "(null)",
- array[i].second ? array[i].second : "(null)",
-- array[i].length, array[i].result);
-+ (unsigned)array[i].length, array[i].result);
- return PR_FALSE;
- }
-@@ -873,8 +873,8 @@
- if( *a != *b )
- {
-- printf("FAIL %d: %s+%s/%lu -> %.32s, not %s\n", i,
-+ printf("FAIL %d: %s+%s/%u -> %.32s, not %s\n", i,
- array[i].first ? array[i].first : "(null)",
- array[i].second ? array[i].second : "(null)",
-- array[i].length, rv, array[i].result);
-+ (unsigned)array[i].length, rv, array[i].result);
- return PR_FALSE;
- }
-@@ -1105,8 +1105,8 @@
- }
-
-- printf("FAIL %d: %s-%s/%ld -> %d, not %d\n", i,
-+ printf("FAIL %d: %s-%s/%d -> %d, not %d\n", i,
- array[i].one ? array[i].one : "(null)",
- array[i].two ? array[i].two : "(null)",
-- array[i].max, rv, array[i].sign);
-+ (int)array[i].max, rv, array[i].sign);
- return PR_FALSE;
- }
-@@ -1327,8 +1327,8 @@
- }
-
-- printf("FAIL %d: %s-%s/%ld -> %d, not %d\n", i,
-+ printf("FAIL %d: %s-%s/%d -> %d, not %d\n", i,
- array[i].one ? array[i].one : "(null)",
- array[i].two ? array[i].two : "(null)",
-- array[i].max, rv, array[i].sign);
-+ (int)array[i].max, rv, array[i].sign);
- return PR_FALSE;
- }
-@@ -1400,6 +1400,6 @@
- if( (char *)0 == rv )
- {
-- printf("FAIL %d: %s,%c -> null, not +%lu\n", i, array[i].str,
-- array[i].chr, array[i].off);
-+ printf("FAIL %d: %s,%c -> null, not +%u\n", i, array[i].str,
-+ array[i].chr, (unsigned)array[i].off);
- return PR_FALSE;
- }
-@@ -1407,6 +1407,6 @@
- if( &array[i].str[ array[i].off ] != rv )
- {
-- printf("FAIL %d: %s,%c -> 0x%x, not 0x%x+%lu\n", i, array[i].str,
-- array[i].chr, rv, array[i].str, array[i].off);
-+ printf("FAIL %d: %s,%c -> %p, not %p+%u\n", i, array[i].str,
-+ array[i].chr, rv, array[i].str, (unsigned)array[i].off);
- return PR_FALSE;
- }
-@@ -1480,6 +1480,6 @@
- if( (char *)0 == rv )
- {
-- printf("FAIL %d: %s,%c -> null, not +%lu\n", i, array[i].str,
-- array[i].chr, array[i].off);
-+ printf("FAIL %d: %s,%c -> null, not +%u\n", i, array[i].str,
-+ array[i].chr, (unsigned)array[i].off);
- return PR_FALSE;
- }
-@@ -1487,6 +1487,6 @@
- if( &array[i].str[ array[i].off ] != rv )
- {
-- printf("FAIL %d: %s,%c -> 0x%x, not 0x%x+%lu\n", i, array[i].str,
-- array[i].chr, rv, array[i].str, array[i].off);
-+ printf("FAIL %d: %s,%c -> %p, not %p+%u\n", i, array[i].str,
-+ array[i].chr, rv, array[i].str, (unsigned)array[i].off);
- return PR_FALSE;
- }
-@@ -1555,6 +1555,6 @@
- if( (char *)0 != rv )
- {
-- printf("FAIL %d: %s,%c/%lu -> %.32s, not zero\n", i, array[i].str,
-- array[i].chr, array[i].max, rv);
-+ printf("FAIL %d: %s,%c/%u -> %.32s, not zero\n", i, array[i].str,
-+ array[i].chr, (unsigned)array[i].max, rv);
- return PR_FALSE;
- }
-@@ -1564,6 +1564,6 @@
- if( (char *)0 == rv )
- {
-- printf("FAIL %d: %s,%c/%lu -> null, not +%lu\n", i, array[i].str,
-- array[i].chr, array[i].max, array[i].off);
-+ printf("FAIL %d: %s,%c/%u -> null, not +%u\n", i, array[i].str,
-+ array[i].chr, (unsigned)array[i].max, (unsigned)array[i].off);
- return PR_FALSE;
- }
-@@ -1571,6 +1571,6 @@
- if( &array[i].str[ array[i].off ] != rv )
- {
-- printf("FAIL %d: %s,%c/%lu -> 0x%x, not 0x%x+%lu\n", i, array[i].str,
-- array[i].chr, array[i].max, rv, array[i].str, array[i].off);
-+ printf("FAIL %d: %s,%c/%u -> %p, not %p+%u\n", i, array[i].str,
-+ array[i].chr, (unsigned)array[i].max, rv, array[i].str, (unsigned)array[i].off);
- return PR_FALSE;
- }
-@@ -1639,6 +1639,6 @@
- if( (char *)0 != rv )
- {
-- printf("FAIL %d: %s,%c/%lu -> %.32s, not zero\n", i, array[i].str,
-- array[i].chr, array[i].max, rv);
-+ printf("FAIL %d: %s,%c/%u -> %.32s, not zero\n", i, array[i].str,
-+ array[i].chr, (unsigned)array[i].max, rv);
- return PR_FALSE;
- }
-@@ -1648,13 +1648,13 @@
- if( (char *)0 == rv )
- {
-- printf("FAIL %d: %s,%c/%lu -> null, not +%lu\n", i, array[i].str,
-- array[i].chr, array[i].max, array[i].off);
-+ printf("FAIL %d: %s,%c/%u -> null, not +%u\n", i, array[i].str,
-+ array[i].chr, (unsigned)array[i].max, (unsigned)array[i].off);
- return PR_FALSE;
- }
-
-- if( &array[i].str[ array[i].off ] != rv )
-+ if( &array[i].str[ array[i].off ] != rv)
- {
-- printf("FAIL %d: %s,%c/%lu -> 0x%x, not 0x%x+%lu\n", i, array[i].str,
-- array[i].chr, array[i].max, rv, array[i].str, array[i].off);
-+ printf("FAIL %d: %s,%c/%u -> %p, not %p+%u\n", i, array[i].str,
-+ array[i].chr, (unsigned)array[i].max, rv, array[i].str, (unsigned)array[i].off);
- return PR_FALSE;
- }
-@@ -1735,8 +1735,8 @@
- if( (char *)0 == rv )
- {
-- printf("FAIL %d: %s,%s -> null, not +%lu\n", i,
-+ printf("FAIL %d: %s,%s -> null, not +%u\n", i,
- array[i].str ? array[i].str : "(null)",
- array[i].chrs ? array[i].chrs : "(null)",
-- array[i].off);
-+ (unsigned)array[i].off);
- return PR_FALSE;
- }
-@@ -1744,8 +1744,8 @@
- if( &array[i].str[ array[i].off ] != rv )
- {
-- printf("FAIL %d: %s,%s -> 0x%x, not 0x%x+%lu\n", i,
-+ printf("FAIL %d: %s,%s -> %p, not %p+%u\n", i,
- array[i].str ? array[i].str : "(null)",
- array[i].chrs ? array[i].chrs : "(null)",
-- rv, array[i].str, array[i].off);
-+ rv, array[i].str, (unsigned)array[i].off);
- return PR_FALSE;
- }
-@@ -1826,8 +1826,8 @@
- if( (char *)0 == rv )
- {
-- printf("FAIL %d: %s,%s -> null, not +%lu\n", i,
-+ printf("FAIL %d: %s,%s -> null, not +%u\n", i,
- array[i].str ? array[i].str : "(null)",
- array[i].chrs ? array[i].chrs : "(null)",
-- array[i].off);
-+ (unsigned)array[i].off);
- return PR_FALSE;
- }
-@@ -1835,8 +1835,8 @@
- if( &array[i].str[ array[i].off ] != rv )
- {
-- printf("FAIL %d: %s,%s -> 0x%x, not 0x%x+%lu\n", i,
-+ printf("FAIL %d: %s,%s -> %p, not %p+%u\n", i,
- array[i].str ? array[i].str : "(null)",
- array[i].chrs ? array[i].chrs : "(null)",
-- rv, array[i].str, array[i].off);
-+ rv, array[i].str, (unsigned)array[i].off);
- return PR_FALSE;
- }
-@@ -1912,8 +1912,8 @@
- if( (char *)0 != rv )
- {
-- printf("FAIL %d: %s,%s/%lu -> %.32s, not null\n", i,
-+ printf("FAIL %d: %s,%s/%u -> %.32s, not null\n", i,
- array[i].str ? array[i].str : "(null)",
- array[i].chrs ? array[i].chrs : "(null)",
-- array[i].max, rv);
-+ (unsigned)array[i].max, rv);
- return PR_FALSE;
- }
-@@ -1923,8 +1923,8 @@
- if( (char *)0 == rv )
- {
-- printf("FAIL %d: %s,%s/%lu -> null, not +%lu\n", i,
-+ printf("FAIL %d: %s,%s/%u -> null, not +%u\n", i,
- array[i].str ? array[i].str : "(null)",
- array[i].chrs ? array[i].chrs : "(null)",
-- array[i].max, array[i].off);
-+ (unsigned)array[i].max, array[i].off);
- return PR_FALSE;
- }
-@@ -1932,8 +1932,8 @@
- if( &array[i].str[ array[i].off ] != rv )
- {
-- printf("FAIL %d: %s,%s/%lu -> 0x%x, not 0x%x+%lu\n", i,
-+ printf("FAIL %d: %s,%s/%u -> %p, not %p+%u\n", i,
- array[i].str ? array[i].str : "(null)",
- array[i].chrs ? array[i].chrs : "(null)",
-- array[i].max, rv, array[i].str, array[i].off);
-+ (unsigned)array[i].max, rv, array[i].str, array[i].off);
- return PR_FALSE;
- }
-@@ -2018,8 +2018,8 @@
- if( (char *)0 != rv )
- {
-- printf("FAIL %d: %s,%s/%lu -> %.32s, not null\n", i,
-+ printf("FAIL %d: %s,%s/%u -> %.32s, not null\n", i,
- array[i].str ? array[i].str : "(null)",
- array[i].chrs ? array[i].chrs : "(null)",
-- array[i].max, rv);
-+ (unsigned)array[i].max, rv);
- return PR_FALSE;
- }
-@@ -2029,8 +2029,8 @@
- if( (char *)0 == rv )
- {
-- printf("FAIL %d: %s,%s/%lu -> null, not +%lu\n", i,
-+ printf("FAIL %d: %s,%s/%u -> null, not +%u\n", i,
- array[i].str ? array[i].str : "(null)",
- array[i].chrs ? array[i].chrs : "(null)",
-- array[i].max, array[i].off);
-+ (unsigned)array[i].max, array[i].off);
- return PR_FALSE;
- }
-@@ -2038,8 +2038,8 @@
- if( &array[i].str[ array[i].off ] != rv )
- {
-- printf("FAIL %d: %s,%s/%lu -> 0x%x, not 0x%x+%lu\n", i,
-+ printf("FAIL %d: %s,%s/%u -> %p, not %p+%u\n", i,
- array[i].str ? array[i].str : "(null)",
- array[i].chrs ? array[i].chrs : "(null)",
-- array[i].max, rv, array[i].str, array[i].off);
-+ (unsigned)array[i].max, rv, array[i].str, array[i].off);
- return PR_FALSE;
- }
-@@ -2137,8 +2137,8 @@
- if( (char *)0 == rv )
- {
-- printf("FAIL %d: %s,%s -> null, not 0x%x+%lu\n", i,
-+ printf("FAIL %d: %s,%s -> null, not %p+%u\n", i,
- array[i].str ? array[i].str : "(null)",
- array[i].sub ? array[i].sub : "(null)",
-- array[i].str, array[i].off);
-+ array[i].str, (unsigned)array[i].off);
- return PR_FALSE;
- }
-@@ -2146,8 +2146,8 @@
- if( &array[i].str[ array[i].off ] != rv )
- {
-- printf("FAIL %d: %s,%s -> 0x%x, not 0x%x+%lu\n", i,
-+ printf("FAIL %d: %s,%s -> %p, not %p+%u\n", i,
- array[i].str ? array[i].str : "(null)",
- array[i].sub ? array[i].sub : "(null)",
-- rv, array[i].str, array[i].off);
-+ rv, array[i].str, (unsigned)array[i].off);
- return PR_FALSE;
- }
-@@ -2245,8 +2245,8 @@
- if( (char *)0 == rv )
- {
-- printf("FAIL %d: %s,%s -> null, not 0x%x+%lu\n", i,
-+ printf("FAIL %d: %s,%s -> null, not %p+%u\n", i,
- array[i].str ? array[i].str : "(null)",
- array[i].sub ? array[i].sub : "(null)",
-- array[i].str, array[i].off);
-+ array[i].str, (unsigned)array[i].off);
- return PR_FALSE;
- }
-@@ -2254,8 +2254,8 @@
- if( &array[i].str[ array[i].off ] != rv )
- {
-- printf("FAIL %d: %s,%s -> 0x%x, not 0x%x+%lu\n", i,
-+ printf("FAIL %d: %s,%s -> %p, not %p+%u\n", i,
- array[i].str ? array[i].str : "(null)",
- array[i].sub ? array[i].sub : "(null)",
-- rv, array[i].str, array[i].off);
-+ rv, array[i].str, (unsigned)array[i].off);
- return PR_FALSE;
- }
-@@ -2364,8 +2364,8 @@
- if( (char *)0 != rv )
- {
-- printf("FAIL %d: %s,%s/%lu -> %.32s, not null\n", i,
-+ printf("FAIL %d: %s,%s/%u -> %.32s, not null\n", i,
- array[i].str ? array[i].str : "(null)",
- array[i].sub ? array[i].sub : "(null)",
-- array[i].max, rv);
-+ (unsigned)array[i].max, rv);
- return PR_FALSE;
- }
-@@ -2375,8 +2375,8 @@
- if( (char *)0 == rv )
- {
-- printf("FAIL %d: %s,%s/%lu -> null, not 0x%x+%lu\n", i,
-+ printf("FAIL %d: %s,%s/%u -> null, not %p+%u\n", i,
- array[i].str ? array[i].str : "(null)",
- array[i].sub ? array[i].sub : "(null)",
-- array[i].max, array[i].str, array[i].off);
-+ (unsigned)array[i].max, array[i].str, (unsigned)array[i].off);
- return PR_FALSE;
- }
-@@ -2384,8 +2384,8 @@
- if( &array[i].str[ array[i].off ] != rv )
- {
-- printf("FAIL %d: %s,%s/%lu -> 0x%x, not 0x%x+%lu\n", i,
-+ printf("FAIL %d: %s,%s/%u -> %p, not %p+%u\n", i,
- array[i].str ? array[i].str : "(null)",
- array[i].sub ? array[i].sub : "(null)",
-- array[i].max, rv, array[i].str, array[i].off);
-+ (unsigned)array[i].max, rv, array[i].str, (unsigned)array[i].off);
- return PR_FALSE;
- }
-@@ -2496,8 +2496,8 @@
- if( (char *)0 != rv )
- {
-- printf("FAIL %d: %s,%s/%lu -> %.32s, not null\n", i,
-+ printf("FAIL %d: %s,%s/%u -> %.32s, not null\n", i,
- array[i].str ? array[i].str : "(null)",
- array[i].sub ? array[i].sub : "(null)",
-- array[i].max, rv);
-+ (unsigned)array[i].max, rv);
- return PR_FALSE;
- }
-@@ -2507,8 +2507,8 @@
- if( (char *)0 == rv )
- {
-- printf("FAIL %d: %s,%s/%lu -> null, not 0x%x+%lu\n", i,
-+ printf("FAIL %d: %s,%s/%u -> null, not %p+%u\n", i,
- array[i].str ? array[i].str : "(null)",
- array[i].sub ? array[i].sub : "(null)",
-- array[i].max, array[i].str, array[i].off);
-+ (unsigned)array[i].max, array[i].str, (unsigned)array[i].off);
- return PR_FALSE;
- }
-@@ -2516,8 +2516,8 @@
- if( &array[i].str[ array[i].off ] != rv )
- {
-- printf("FAIL %d: %s,%s/%lu -> 0x%x, not 0x%x+%lu\n", i,
-+ printf("FAIL %d: %s,%s/%u -> %p, not %p+%u\n", i,
- array[i].str ? array[i].str : "(null)",
- array[i].sub ? array[i].sub : "(null)",
-- array[i].max, rv, array[i].str, array[i].off);
-+ (unsigned)array[i].max, rv, array[i].str, (unsigned)array[i].off);
- return PR_FALSE;
- }
-@@ -2615,8 +2615,8 @@
- if( (char *)0 == rv )
- {
-- printf("FAIL %d: %s,%s -> null, not 0x%x+%lu\n", i,
-+ printf("FAIL %d: %s,%s -> null, not %p+%u\n", i,
- array[i].str ? array[i].str : "(null)",
- array[i].sub ? array[i].sub : "(null)",
-- array[i].str, array[i].off);
-+ array[i].str, (unsigned)array[i].off);
- return PR_FALSE;
- }
-@@ -2624,8 +2624,8 @@
- if( &array[i].str[ array[i].off ] != rv )
- {
-- printf("FAIL %d: %s,%s -> 0x%x, not 0x%x+%lu\n", i,
-+ printf("FAIL %d: %s,%s -> %p, not %p+%u\n", i,
- array[i].str ? array[i].str : "(null)",
- array[i].sub ? array[i].sub : "(null)",
-- rv, array[i].str, array[i].off);
-+ rv, array[i].str, (unsigned)array[i].off);
- return PR_FALSE;
- }
-@@ -2723,8 +2723,8 @@
- if( (char *)0 == rv )
- {
-- printf("FAIL %d: %s,%s -> null, not 0x%x+%lu\n", i,
-+ printf("FAIL %d: %s,%s -> null, not %p+%u\n", i,
- array[i].str ? array[i].str : "(null)",
- array[i].sub ? array[i].sub : "(null)",
-- array[i].str, array[i].off);
-+ array[i].str, (unsigned)array[i].off);
- return PR_FALSE;
- }
-@@ -2732,8 +2732,8 @@
- if( &array[i].str[ array[i].off ] != rv )
- {
-- printf("FAIL %d: %s,%s -> 0x%x, not 0x%x+%lu\n", i,
-+ printf("FAIL %d: %s,%s -> %p, not %p+%u\n", i,
- array[i].str ? array[i].str : "(null)",
- array[i].sub ? array[i].sub : "(null)",
-- rv, array[i].str, array[i].off);
-+ rv, array[i].str, (unsigned)array[i].off);
- return PR_FALSE;
- }
-@@ -2842,8 +2842,8 @@
- if( (char *)0 != rv )
- {
-- printf("FAIL %d: %s,%s/%lu -> %.32s, not null\n", i,
-+ printf("FAIL %d: %s,%s/%u -> %.32s, not null\n", i,
- array[i].str ? array[i].str : "(null)",
- array[i].sub ? array[i].sub : "(null)",
-- array[i].max, rv);
-+ (unsigned)array[i].max, rv);
- return PR_FALSE;
- }
-@@ -2853,8 +2853,8 @@
- if( (char *)0 == rv )
- {
-- printf("FAIL %d: %s,%s/%lu -> null, not 0x%x+%lu\n", i,
-+ printf("FAIL %d: %s,%s/%u -> null, not %p+%u\n", i,
- array[i].str ? array[i].str : "(null)",
- array[i].sub ? array[i].sub : "(null)",
-- array[i].max, array[i].str, array[i].off);
-+ (unsigned)array[i].max, array[i].str, (unsigned)array[i].off);
- return PR_FALSE;
- }
-@@ -2862,8 +2862,8 @@
- if( &array[i].str[ array[i].off ] != rv )
- {
-- printf("FAIL %d: %s,%s/%lu -> 0x%x, not 0x%x+%lu\n", i,
-+ printf("FAIL %d: %s,%s/%u -> %p, not %p+%u\n", i,
- array[i].str ? array[i].str : "(null)",
- array[i].sub ? array[i].sub : "(null)",
-- array[i].max, rv, array[i].str, array[i].off);
-+ (unsigned)array[i].max, rv, array[i].str, (unsigned)array[i].off);
- return PR_FALSE;
- }
-@@ -2974,8 +2974,8 @@
- if( (char *)0 != rv )
- {
-- printf("FAIL %d: %s,%s/%lu -> %.32s, not null\n", i,
-+ printf("FAIL %d: %s,%s/%u -> %.32s, not null\n", i,
- array[i].str ? array[i].str : "(null)",
- array[i].sub ? array[i].sub : "(null)",
-- array[i].max, rv);
-+ (unsigned)array[i].max, rv);
- return PR_FALSE;
- }
-@@ -2985,8 +2985,8 @@
- if( (char *)0 == rv )
- {
-- printf("FAIL %d: %s,%s/%lu -> null, not 0x%x+%lu\n", i,
-+ printf("FAIL %d: %s,%s/%u -> null, not %p+%u\n", i,
- array[i].str ? array[i].str : "(null)",
- array[i].sub ? array[i].sub : "(null)",
-- array[i].max, array[i].str, array[i].off);
-+ (unsigned)array[i].max, array[i].str, (unsigned)array[i].off);
- return PR_FALSE;
- }
-@@ -2994,8 +2994,8 @@
- if( &array[i].str[ array[i].off ] != rv )
- {
-- printf("FAIL %d: %s,%s/%lu -> 0x%x, not 0x%x+%lu\n", i,
-+ printf("FAIL %d: %s,%s/%u -> %p, not %p+%u\n", i,
- array[i].str ? array[i].str : "(null)",
- array[i].sub ? array[i].sub : "(null)",
-- array[i].max, rv, array[i].str, array[i].off);
-+ (unsigned)array[i].max, rv, array[i].str, (unsigned)array[i].off);
- return PR_FALSE;
- }
---- ../lib/tests/arena.c Sun Apr 25 11:00:46 2004
-+++ ../lib/tests/arena.c Mon Jul 25 19:52:15 2005
-@@ -69,4 +69,5 @@
- }
-
-+#if 0
- /*
- ** Test Arena allocation.
-@@ -129,4 +130,5 @@
- return;
- } /* end ArenaGrow() */
-+#endif
-
-
---- ../lib/tests/base64t.c Sun Apr 25 11:00:46 2004
-+++ ../lib/tests/base64t.c Mon Jul 25 20:16:54 2005
-@@ -2020,5 +2020,4 @@
- {
- PRUint32 plen = PL_strlen(array[i].plaintext);
-- PRUint32 clen = ((plen + 2)/3)*4;
-
- char *rv = PL_Base64Encode(array[i].plaintext, plen, (char *)0);
-@@ -2780,7 +2779,4 @@
- for( i = 0; i < sizeof(array)/sizeof(array[0]); i++ )
- {
-- PRUint32 plen = PL_strlen(array[i].plaintext);
-- PRUint32 clen = ((plen + 2)/3)*4;
--
- char *rv = PL_Base64Encode(array[i].plaintext, 0, (char *)0);
-
-@@ -2916,6 +2912,4 @@
- for( i = 0; i < sizeof(array)/sizeof(array[0]); i++ )
- {
-- PRUint32 clen = PL_strlen(array[i].cyphertext);
--
- char *rv = PL_Base64Decode(array[i].cyphertext, 0, (char *)0);
-
diff --git a/devel/nspr/files/patch-pthread_t b/devel/nspr/files/patch-pthread_t
deleted file mode 100644
index 5ecbbe4cb..000000000
--- a/devel/nspr/files/patch-pthread_t
+++ /dev/null
@@ -1,47 +0,0 @@
-pthread_t can well be a 64-bit value -- on FreeBSD/amd64, for example.
-Better to just keep calling it pthread_t isntead of casting to anything.
-
- -mi
-
---- ../pr/include/private/pprthred.h Sun Apr 25 11:00:56 2004
-+++ ../pr/include/private/pprthred.h Tue Jul 12 00:52:42 2005
-@@ -44,4 +44,5 @@
- */
- #include "nspr.h"
-+#include <pthread.h>
-
- #if defined(XP_OS2)
-@@ -92,5 +92,5 @@
- ** when it is created or attached.
- */
--NSPR_API(PRUint32) PR_GetThreadID(PRThread *thread);
-+NSPR_API(pthread_t) PR_GetThreadID(PRThread *thread);
-
- /*
---- ../pr/src/pthreads/ptthread.c.orig 2007-07-05 08:21:07.000000000 -0400
-+++ ../pr/src/pthreads/ptthread.c 2007-07-05 08:32:39.000000000 -0400
-@@ -1059,12 +1059,12 @@
- _exit(status);
- }
-
--PR_IMPLEMENT(PRUint32) PR_GetThreadID(PRThread *thred)
-+PR_IMPLEMENT(pthread_t) PR_GetThreadID(PRThread *thred)
- {
- #if defined(_PR_DCETHREADS)
- return (PRUint32)&thred->id; /* this is really a sham! */
- #else
-- return (PRUint32)thred->id; /* and I don't know what they will do with it */
-+ return thred->id; /* and I don't know what they will do with it */
- #endif
- }
-
-@@ -1196,7 +1196,9 @@
- PRIntn count = 0;
- PRStatus rv = PR_SUCCESS;
- PRThread* thred = pt_book.first;
-+#if !defined(_PR_DCETHREADS) && (defined(DEBUG) || defined(FORCE_PR_ASSERT))
- PRThread *me = PR_GetCurrentThread();
-+#endif
-
- PR_LOG(_pr_gc_lm, PR_LOG_ALWAYS, ("Begin PR_EnumerateThreads\n"));
- /*
diff --git a/devel/nspr/files/patch-tests b/devel/nspr/files/patch-tests
deleted file mode 100644
index 05fb3b5d0..000000000
--- a/devel/nspr/files/patch-tests
+++ /dev/null
@@ -1,1895 +0,0 @@
---- ../pr/tests/cleanup.c Sun Apr 25 11:01:02 2004
-+++ ../pr/tests/cleanup.c Tue Jul 12 01:19:53 2005
-@@ -48,5 +48,5 @@
- static void PR_CALLBACK Thread(void *sleep)
- {
-- PR_Sleep(PR_SecondsToInterval((PRUint32)sleep));
-+ PR_Sleep(PR_SecondsToInterval((intptr_t)sleep));
- printf("Thread exiting\n");
- }
-@@ -72,5 +72,6 @@
- PRFileDesc *err = PR_GetSpecialFD(PR_StandardError);
- PLOptState *opt = PL_CreateOptState(argc, argv, "Ghs:S:t:cC:");
-- PRIntn concurrency = 1, child_sleep = 10, main_sleep = 5, threads = 1;
-+ PRIntn concurrency = 1, main_sleep = 5, threads = 1;
-+ intptr_t child_sleep = 10;
-
- PR_STDIO_INIT();
-@@ -113,5 +114,5 @@
- PR_fprintf(err, "\tConcurrency: %d\n", concurrency);
- PR_fprintf(err, "\tNumber of threads: %d\n", threads);
-- PR_fprintf(err, "\tThread sleep: %d\n", child_sleep);
-+ PR_fprintf(err, "\tThread sleep: %ld\n", (long)child_sleep);
- PR_fprintf(err, "\tMain sleep: %d\n", main_sleep);
- PR_fprintf(err, "\tCleanup will %sbe called\n\n", (cleanup) ? "" : "NOT ");
---- ../pr/tests/cvar.c Sun Apr 25 11:01:02 2004
-+++ ../pr/tests/cvar.c Tue Jul 12 01:22:52 2005
-@@ -174,5 +174,5 @@
- {
- CircBuf *cbp = (CircBuf *)arg;
-- PRInt32 i, n;
-+ intptr_t i, n;
- void *data;
-
-@@ -180,6 +180,6 @@
- for (i = 0; i < n; i++) {
- data = GetCBData(cbp);
-- if ((int)data != i)
-- if (debug_mode) printf("data mismatch at for i = %d usec\n", i);
-+ if ((intptr_t)data != i)
-+ if (debug_mode) printf("data mismatch at for i = %ld usec\n", (long)i);
- }
-
-@@ -193,5 +193,5 @@
- {
- CircBuf *cbp = (CircBuf *)arg;
-- PRInt32 i, n;
-+ intptr_t i, n;
-
- n = count / 2;
---- ../pr/tests/foreign.c Mon Mar 7 20:22:57 2005
-+++ ../pr/tests/foreign.c Tue Jul 12 01:25:31 2005
-@@ -269,5 +269,5 @@
- PRDir *dir;
- PRFileDesc *pair[2];
-- PRIntn test = (PRIntn)arg;
-+ intptr_t test = (intptr_t)arg;
-
- for (test = 0; test < 12; ++test) {
-@@ -364,5 +364,5 @@
- {
- PRStatus rv;
-- PRInt32 thread_cnt = DEFAULT_THREAD_COUNT;
-+ intptr_t thread_cnt = DEFAULT_THREAD_COUNT;
- PLOptStatus os;
- PLOptState *opt = PL_CreateOptState(argc, argv, "dt:");
---- ../pr/tests/forktest.c Sun Apr 25 11:01:02 2004
-+++ ../pr/tests/forktest.c Tue Jul 12 01:28:15 2005
-@@ -80,5 +80,5 @@
- PRNetAddr addr;
- PRFileDesc *sock = NULL;
-- PRInt32 tmp = (PRInt32)arg;
-+ intptr_t tmp = (intptr_t)arg;
-
- /*
-@@ -176,5 +176,5 @@
- }
- clientThread = PR_CreateThread( PR_USER_THREAD, ClientThreadFunc,
-- (void *) PR_ntohs(addr.inet.port), PR_PRIORITY_NORMAL, PR_LOCAL_THREAD,
-+ (void *)(intptr_t)PR_ntohs(addr.inet.port), PR_PRIORITY_NORMAL, PR_LOCAL_THREAD,
- PR_JOINABLE_THREAD, 0);
- if (clientThread == NULL) {
-@@ -185,2 +185,5 @@
- }
-+ printf("Wait one second before accept\n");
-+ fflush(stdout);
-+ PR_Sleep(PR_SecondsToInterval(1));
- printf("Accepting connection at port %hu\n", PR_ntohs(addr.inet.port));
---- ../pr/tests/mbcs.c Sun Apr 25 11:01:02 2004
-+++ ../pr/tests/mbcs.c Tue Jul 12 01:34:26 2005
-@@ -93,5 +93,4 @@
- PRFileInfo info;
- PRStatus rc;
-- PRInt32 err;
- PRFileDesc *fd;
- char nextDir[256];
-@@ -114,14 +114,14 @@
- }
- if ( PR_FILE_FILE == info.type ) {
-- printf("File: %s \tsize: %ld\n", dirEntry->name, info.size );
-+ printf("File: %s \tsize: %ld\n", dirEntry->name, (long)info.size );
- fd = PR_Open( file, PR_RDONLY, 0 );
- if ( NULL == fd ) {
- printf("PR_Open() failed. Error: %ld, OSError: %ld\n",
-- PR_GetError(), PR_GetOSError());
-+ (long)PR_GetError(), (long)PR_GetOSError());
- }
- rc = PR_Close( fd );
- if ( PR_FAILURE == rc ) {
- printf("PR_Close() failed. Error: %ld, OSError: %ld\n",
-- PR_GetError(), PR_GetOSError());
-+ (long)PR_GetError(), (long)PR_GetOSError());
- }
- } else if ( PR_FILE_DIRECTORY == info.type ) {
---- ../pr/tests/nonblock.c Sun Apr 25 11:01:02 2004
-+++ ../pr/tests/nonblock.c Tue Jul 12 01:37:52 2005
-@@ -84,5 +84,5 @@
- clientThreadFunc(void *arg)
- {
-- PRUintn port = (PRUintn)arg;
-+ intptr_t port = (intptr_t)arg;
- PRFileDesc *sock;
- PRNetAddr addr;
-@@ -196,5 +196,5 @@
-
- clientThread = PR_CreateThread(PR_USER_THREAD,
-- clientThreadFunc, (void *) listenPort,
-+ clientThreadFunc, (void *) (intptr_t)listenPort,
- PR_PRIORITY_NORMAL, PR_LOCAL_THREAD,
- PR_UNJOINABLE_THREAD, 0);
-@@ -240,5 +240,5 @@
- PL_PrintError("First Receive:\n");
- fprintf(stderr, "First PR_Recv: retVal: %ld, Error: %ld\n",
-- retVal, PR_GetError());
-+ (long)retVal, (long)PR_GetError());
- exit(1);
- }
-@@ -250,5 +250,5 @@
- PL_PrintError("Second Receive:\n");
- fprintf(stderr, "Second PR_Recv: retVal: %ld, Error: %ld\n",
-- retVal, PR_GetError());
-+ (long)retVal, (long)PR_GetError());
- exit(1);
- }
---- ../pr/tests/op_noacc.c Sun Apr 25 11:01:02 2004
-+++ ../pr/tests/op_noacc.c Tue Jul 12 01:40:22 2005
-@@ -82,5 +82,5 @@
- PR_STDIO_INIT();
- err01 = PR_Open("err01.tmp", PR_CREATE_FILE | PR_RDWR, 0);
-- if (err01 == NULL)
-+ if (err01 == NULL) {
- if (PR_GetError() == PR_NO_ACCESS_RIGHTS_ERROR) {
- printf ("error code is %d\n",PR_GetError());
-@@ -92,3 +92,7 @@
- return 1;
- }
--}
-+ } else {
-+ perror("err01.tmp");
-+ return 2;
-+ }
-+}
---- ../pr/tests/peek.c Sun Apr 25 11:01:02 2004
-+++ ../pr/tests/peek.c Tue Jul 12 01:41:44 2005
-@@ -168,5 +168,5 @@
- PRFileDesc *sock;
- PRSocketOptionData opt;
-- PRUint16 port = (PRUint16) arg;
-+ PRUint16 port = (intptr_t) arg;
- PRNetAddr addr;
- char buf[BUFFER_SIZE];
-@@ -332,5 +332,5 @@
- }
- client = PR_CreateThread(
-- PR_USER_THREAD, ClientNB, (void *) port,
-+ PR_USER_THREAD, ClientNB, (void *)(intptr_t) port,
- PR_PRIORITY_NORMAL, scope, PR_JOINABLE_THREAD, 0);
- if (NULL == client) {
---- ../pr/tests/pipepong.c Sun Apr 25 11:01:02 2004
-+++ ../pr/tests/pipepong.c Tue Jul 12 01:43:52 2005
-@@ -69,5 +69,5 @@
- fprintf(stderr, "pong process: received \"%s\"\n", buf);
- if (nBytes != 5) {
-- fprintf(stderr, "pong process: expected 5 bytes but got %d bytes\n",
-+ fprintf(stderr, "pong process: expected 5 bytes but got %zd bytes\n",
- nBytes);
- exit(1);
---- ../pr/tests/poll_nm.c Sun Apr 25 11:01:02 2004
-+++ ../pr/tests/poll_nm.c Tue Jul 12 01:45:57 2005
-@@ -97,5 +97,5 @@
- clientThreadFunc(void *arg)
- {
-- PRUintn port = (PRUintn) arg;
-+ PRUintn port = (intptr_t) arg;
- PRFileDesc *sock;
- PRNetAddr addr;
-@@ -251,5 +251,5 @@
-
- clientThread = PR_CreateThread(PR_USER_THREAD,
-- clientThreadFunc, (void *) listenPort1,
-+ clientThreadFunc, (void *)(intptr_t)listenPort1,
- PR_PRIORITY_NORMAL, PR_LOCAL_THREAD,
- PR_UNJOINABLE_THREAD, 0);
-@@ -261,5 +261,5 @@
-
- clientThread = PR_CreateThread(PR_USER_THREAD,
-- clientThreadFunc, (void *) listenPort2,
-+ clientThreadFunc, (void *)(intptr_t)listenPort2,
- PR_PRIORITY_NORMAL, PR_LOCAL_THREAD,
- PR_UNJOINABLE_THREAD, 0);
---- ../lib/tests/Makefile.in Sun Nov 7 21:52:55 2004
-+++ ../lib/tests/Makefile.in Tue Jul 12 01:49:15 2005
-@@ -247,5 +247,5 @@
- $(LINK) $(EXEFLAGS) $(LDOPTS) $< $(LIBPLC) $(LIBPLDS) $(LIBPR) $(OS_LIBS) $(EXTRA_LIBS)
- else
-- $(CC) $(XCFLAGS) $< $(LDOPTS) $(LIBPLC) $(LIBPLDS) $(LIBPR) $(EXTRA_LIBS) -o $@
-+ $(CC) $(XCFLAGS) $< $(LDOPTS) $(LIBPLC) $(LIBPLDS) $(LIBPR) $(OS_LIBS) $(EXTRA_LIBS) -o $@
- endif
- endif
---- ../pr/tests/getai.c Sun Apr 25 11:01:02 2004
-+++ ../pr/tests/getai.c Tue Jul 12 02:20:40 2005
-@@ -46,6 +46,11 @@
- void *iter;
- PRNetAddr addr;
-+ const char *host;
-
-- ai = PR_GetAddrInfoByName(argv[1], PR_AF_UNSPEC, PR_AI_ADDRCONFIG);
-+ if (argc > 1)
-+ host = argv[1];
-+ else
-+ host = "www.FreeBSD.org";
-+ ai = PR_GetAddrInfoByName(host, PR_AF_UNSPEC, PR_AI_ADDRCONFIG);
- if (ai == NULL) {
- fprintf(stderr, "PR_GetAddrInfoByName failed: (%d, %d)\n",
---- ../pr/tests/Makefile.in Sun Apr 25 11:01:02 2004
-+++ ../pr/tests/Makefile.in Tue Jul 12 02:25:18 2005
-@@ -556,16 +557,17 @@
-
- runtests:: $(PROGS) ALWAYS
-- @$(ECHO) "\nNSPR Test Results - $(OBJDIR)\n"
-- @$(ECHO) "BEGIN\t\t\t`date`"
-- @$(ECHO) "NSPR_TEST_LOGFILE\t$(LOGFILE)\n"
-- @$(ECHO) "Test\t\t\tResult\n"
-+ @$(ECHO) "NSPR Test Results - $(OBJDIR)"
-+ @$(ECHO) "BEGIN `date`"
-+ @$(ECHO) "Test Result"
- @cd $(OBJDIR); for i in $(PROGRAMS); do \
-- $(ECHO) "$$i\c"; \
-- ./$$i >> $(LOGFILE) 2>&1 ; \
-+ printf "$$i"; \
-+ ./$$i > $$i.output 2>&1; \
- if [ 0 = $$? ] ; then \
-- $(ECHO) "\t\t\tPassed"; \
-- else \
-- $(ECHO) "\t\t\tFAILED"; \
-- fi; \
-+ $(ECHO) " Passed"; \
-+ rm $$i.output; \
-+ else \
-+ $(ECHO) " FAILED"; \
-+ cat $$i.output; \
-+ fi; \
- done
-- @$(ECHO) "\nEND\t\t`date`\n"
-+ @$(ECHO) "END `date`"
---- ../pr/tests/instrumt.c Sun Apr 25 11:01:02 2004
-+++ ../pr/tests/instrumt.c Mon Jul 25 20:45:54 2005
-@@ -83,5 +83,5 @@
-
- #define SMALL_TRACE_BUFSIZE ( 60 * 1024 )
--
-+#define DEBUG
- typedef enum
- {
-@@ -114,5 +114,4 @@
- PR_DEFINE_COUNTER( rh );
- const char *qn, *rn, *dn;
-- const char **qname = &qn, **rname = &rn, **desc = &dn;
- PRUint32 tCtr;
-
-@@ -126,5 +125,5 @@
- {
- PR_GET_COUNTER_NAME_FROM_HANDLE( rh, qname, rname, desc );
-- tCtr = PR_GET_COUNTER(tCtr, rh);
-+ PR_GET_COUNTER(tCtr, rh);
- PR_LOG( lm, msgLevel,
- ( "QName: %s RName: %s Desc: %s Value: %ld\n",
-@@ -142,5 +141,4 @@
- PR_DEFINE_TRACE( rh );
- const char *qn, *rn, *dn;
-- const char **qname = &qn, **rname = &rn, **desc = &dn;
-
- PR_INIT_TRACE_HANDLE( qh, NULL );
-@@ -221,6 +219,4 @@
- PRThread *t1, *t2, *t3, *t4;
- PRIntn i = 0;
-- PR_DEFINE_COUNTER( tc );
-- PR_DEFINE_COUNTER( zCounter );
-
- PR_LOG( lm, msgLevel,
-@@ -359,7 +355,5 @@
- static void TraceTest( void )
- {
-- PRInt32 i;
- PRInt32 size;
-- PR_DEFINE_TRACE( th );
- PRThread *t1, *t2;
-
---- ../pr/tests/layer.c Fri Apr 29 18:46:05 2005
-+++ ../pr/tests/layer.c Mon Jul 25 20:53:03 2005
-@@ -78,5 +78,8 @@
- {
- PRFileDesc *layer = PR_CreateIOLayerStub(identity, &myMethods);
-- PRStatus rv = PR_PushIOLayer(stack, PR_GetLayersIdentity(stack), layer);
-+#if defined(DEBUG) || defined(FORCE_PR_ASSERT)
-+ PRStatus rv = /* we only need rv for PR_ASSERT() */
-+#endif
-+ PR_PushIOLayer(stack, PR_GetLayersIdentity(stack), layer);
- if (verbosity > quiet)
- PR_fprintf(logFile, "Pushed layer(0x%x) onto stack(0x%x)\n", layer, stack);
---- ../pr/tests/lazyinit.c Sun Apr 25 11:01:02 2004
-+++ ../pr/tests/lazyinit.c Mon Jul 25 20:54:18 2005
-@@ -76,5 +76,4 @@
- PRDir *dir = NULL;
- PRLock *ml = NULL;
-- PRCondVar *cv = NULL;
- PRThread *thread = NULL;
- PRIntervalTime interval = 0;
---- ../pr/tests/lltest.c Sun Apr 25 11:01:02 2004
-+++ ../pr/tests/lltest.c Mon Jul 25 20:57:30 2005
-@@ -578,4 +578,5 @@
- }
-
-+#if 0
- static void ShiftCompileOnly()
- {
-@@ -594,4 +595,5 @@
-
- } /* ShiftCompileOnly */
-+#endif
-
-
-@@ -668,5 +670,4 @@
- PRInt64 largeValTimesTwo = LL_INIT( 0x00000003, 0xfffffffe );
- PRInt64 largeMultCand = LL_INIT( 0x00000000, 0x7fffffff );
-- PRInt64 largeMinusMultCand = LL_INIT( 0xffffffff, 0x10000001 );
- PRInt64 largeMultCandx64K = LL_INIT( 0x00007fff, 0xffff0000 );
- PRInt64 largeNumSHL5 = LL_INIT( 0x0000001f, 0xffffffe0 );
---- ../pr/tests/nbconn.c Fri Apr 29 18:46:05 2005
-+++ ../pr/tests/nbconn.c Mon Jul 25 21:00:51 2005
-@@ -93,6 +93,5 @@
- PRSocketOptionData optData;
- const char *hostname = NULL;
-- PRIntn default_case, n, bytes_read, bytes_sent;
-- PRInt32 failed_already = 0;
-+ PRIntn default_case, n;
- #ifdef XP_MAC
- int index;
-@@ -226,5 +225,5 @@
- }
- printf( "PR_GetConnectStatus: connect failed: (%ld, %ld)\n",
-- PR_GetError(), PR_GetOSError());
-+ (long)PR_GetError(), (long)PR_GetOSError());
- }
- PR_Close(sock);
-@@ -300,5 +299,5 @@
- Server_Param sp;
- char send_buf[DATA_BUF_SIZE], recv_buf[DATA_BUF_SIZE];
-- PRIntn default_case, n, bytes_read, bytes_sent;
-+ PRIntn n, bytes_read, bytes_sent;
- PRIntn failed_already = 0;
-
-@@ -376,5 +375,5 @@
- goto def_exit;
- }
-- DPRINTF(("Created TCP_Server thread [0x%x]\n",thr));
-+ DPRINTF(("Created TCP_Server thread [%p]\n", thr));
- pd.fd = conn_fd;
- pd.in_flags = PR_POLL_WRITE | PR_POLL_EXCEPT;
-@@ -459,5 +458,5 @@
- } else {
- fprintf(stderr,"PR_GetConnectStatus: connect failed: (%ld, %ld)\n",
-- PR_GetError(), PR_GetOSError());
-+ (long)PR_GetError(), (long)PR_GetOSError());
- failed_already = 1;
- goto def_exit;
-@@ -569,5 +568,4 @@
- }
- if (PR_GetConnectStatus(&pd) == PR_SUCCESS) {
-- PRInt32 rv;
- fprintf(stderr,"PR_GetConnectStatus succeeded, expected to fail\n");
- failed_already = 1;
---- ../pr/tests/nblayer.c Sun Apr 25 11:01:02 2004
-+++ ../pr/tests/nblayer.c Mon Jul 25 21:02:17 2005
-@@ -375,5 +375,5 @@
- {
- PRStatus rv;
-- PRFileDesc *newfd, *layer = fd;
-+ PRFileDesc *newfd;
- PRFileDesc *newstack;
- PRFilePrivate *newsecret;
---- ../pr/tests/obsints.c Sun Apr 25 11:01:02 2004
-+++ ../pr/tests/obsints.c Mon Jul 25 21:04:56 2005
-@@ -58,4 +58,7 @@
-
- #include "prtypes.h" /* which includes protypes.h */
-+#if !defined(__GNUC__)
-+# define __unused
-+#endif
-
- int main()
-@@ -65,15 +68,15 @@
- * defined by protypes.h.
- */
-- intn in;
-- uintn uin;
-- uint ui;
-- int8 i8;
-- uint8 ui8;
-- int16 i16;
-- uint16 ui16;
-- int32 i32;
-- uint32 ui32;
-- int64 i64;
-- uint64 ui64;
-+ intn in __unused;
-+ uintn uin __unused;
-+ uint ui __unused;
-+ int8 i8 __unused;
-+ uint8 ui8 __unused;
-+ int16 i16 __unused;
-+ uint16 ui16 __unused;
-+ int32 i32 __unused;
-+ uint32 ui32 __unused;
-+ int64 i64 __unused;
-+ uint64 ui64 __unused;
-
- printf("PASS\n");
---- ../pr/tests/perf.c Sun Apr 25 11:01:02 2004
-+++ ../pr/tests/perf.c Mon Jul 25 21:05:55 2005
-@@ -181,5 +181,5 @@
- for (i = 0; i < n; i++) {
- while (cxq == 0) {
-- DPRINTF(("CXReader: thread = 0x%lx waiting\n",
-+ DPRINTF(("CXReader: thread = %p waiting\n",
- PR_GetCurrentThread()));
- PR_Wait(mon, PR_INTERVAL_NO_TIMEOUT);
-@@ -194,5 +194,5 @@
- PR_Notify(mon2);
- PR_ExitMonitor(mon2);
-- DPRINTF(("CXReader: thread = 0x%lx exiting\n", PR_GetCurrentThread()));
-+ DPRINTF(("CXReader: thread = %p exiting\n", PR_GetCurrentThread()));
- }
-
-@@ -205,5 +205,5 @@
- for (i = 0; i < n; i++) {
- while (cxq == 1) {
-- DPRINTF(("CXWriter: thread = 0x%lx waiting\n",
-+ DPRINTF(("CXWriter: thread = %p waiting\n",
- PR_GetCurrentThread()));
- PR_Wait(mon, PR_INTERVAL_NO_TIMEOUT);
-@@ -218,5 +218,5 @@
- PR_Notify(mon2);
- PR_ExitMonitor(mon2);
-- DPRINTF(("CXWriter: thread = 0x%lx exiting\n", PR_GetCurrentThread()));
-+ DPRINTF(("CXWriter: thread = %p exiting\n", PR_GetCurrentThread()));
- }
-
-@@ -238,5 +238,5 @@
- fprintf(stderr, "ContextSwitch: cannot create thread\n");
- } else {
-- DPRINTF(("ContextSwitch: created %s thread = 0x%lx\n",
-+ DPRINTF(("ContextSwitch: created %s thread = %p\n",
- (scope1 == PR_GLOBAL_THREAD ?
- "PR_GLOBAL_THREAD" : "PR_LOCAL_THREAD"),
-@@ -252,5 +252,5 @@
- fprintf(stderr, "ContextSwitch: cannot create thread\n");
- } else {
-- DPRINTF(("ContextSwitch: created %s thread = 0x%lx\n",
-+ DPRINTF(("ContextSwitch: created %s thread = %p\n",
- (scope2 == PR_GLOBAL_THREAD ?
- "PR_GLOBAL_THREAD" : "PR_LOCAL_THREAD"),
-@@ -294,8 +294,8 @@
- n = count / 2;
- for (i = 0; i < n; i++) {
-- DPRINTF(("SemaThread: thread = 0x%lx waiting on sem = 0x%lx\n",
-+ DPRINTF(("SemaThread: thread = %p waiting on sem = %p\n",
- PR_GetCurrentThread(), sem[0]));
- PR_WaitSem(sem[0]);
-- DPRINTF(("SemaThread: thread = 0x%lx posting on sem = 0x%lx\n",
-+ DPRINTF(("SemaThread: thread = %p posting on sem = %p\n",
- PR_GetCurrentThread(), sem[1]));
- PR_PostSem(sem[1]);
-@@ -306,5 +306,5 @@
- PR_Notify(mon2);
- PR_ExitMonitor(mon2);
-- DPRINTF(("SemaThread: thread = 0x%lx exiting\n", PR_GetCurrentThread()));
-+ DPRINTF(("SemaThread: thread = %p exiting\n", PR_GetCurrentThread()));
- }
-
-@@ -334,5 +334,5 @@
- fprintf(stderr, "SemaContextSwitch: cannot create thread\n");
- } else {
-- DPRINTF(("SemaContextSwitch: created %s thread = 0x%lx\n",
-+ DPRINTF(("SemaContextSwitch: created %s thread = %p\n",
- (scope1 == PR_GLOBAL_THREAD ?
- "PR_GLOBAL_THREAD" : "PR_LOCAL_THREAD"),
-@@ -349,5 +349,5 @@
- fprintf(stderr, "SemaContextSwitch: cannot create thread\n");
- } else {
-- DPRINTF(("SemaContextSwitch: created %s thread = 0x%lx\n",
-+ DPRINTF(("SemaContextSwitch: created %s thread = %p\n",
- (scope2 == PR_GLOBAL_THREAD ?
- "PR_GLOBAL_THREAD" : "PR_LOCAL_THREAD"),
---- ../pr/tests/prpoll.c Fri Apr 29 18:46:05 2005
-+++ ../pr/tests/prpoll.c Mon Jul 25 21:07:40 2005
-@@ -70,5 +70,5 @@
- clientThreadFunc(void *arg)
- {
-- PRUint16 port = (PRUint16) arg;
-+ PRUint16 port = (PRUint16)(uintptr_t)arg;
- PRFileDesc *sock;
- PRNetAddr addr;
-@@ -229,5 +229,5 @@
-
- clientThread = PR_CreateThread(PR_USER_THREAD,
-- clientThreadFunc, (void *) listenPort1,
-+ clientThreadFunc, (void *)(uintptr_t)listenPort1,
- PR_PRIORITY_NORMAL, PR_LOCAL_THREAD,
- PR_UNJOINABLE_THREAD, 0);
-@@ -238,5 +238,5 @@
-
- clientThread = PR_CreateThread(PR_USER_THREAD,
-- clientThreadFunc, (void *) listenPort2,
-+ clientThreadFunc, (void *)(uintptr_t)listenPort2,
- PR_PRIORITY_NORMAL, PR_GLOBAL_THREAD,
- PR_UNJOINABLE_THREAD, 0);
-@@ -247,5 +247,5 @@
-
- clientThread = PR_CreateThread(PR_USER_THREAD,
-- clientThreadFunc, (void *) listenPort3,
-+ clientThreadFunc, (void *)(uintptr_t)listenPort3,
- PR_PRIORITY_NORMAL, PR_GLOBAL_BOUND_THREAD,
- PR_UNJOINABLE_THREAD, 0);
---- ../pr/tests/ranfile.c Sun Apr 25 11:01:02 2004
-+++ ../pr/tests/ranfile.c Mon Jul 25 21:13:44 2005
-@@ -169,5 +169,5 @@
- Hammer_t *cd = (Hammer_t*)arg;
-
-- (void)sprintf(filename, "%ssg%04ld.dat", baseName, cd->id);
-+ (void)sprintf(filename, "%ssg%04d.dat", baseName, (int)cd->id);
-
- if (debug_mode) printf("Starting work on %s\n", filename);
-@@ -408,6 +408,6 @@
- else
- if (debug_mode) printf(
-- "%s: test failed %s after %ld seconds\n",
-- programName, where[hammer[poll].problem], duration);
-+ "%s: test failed %s after %d seconds\n",
-+ programName, where[hammer[poll].problem], (int)duration);
- else failed_already=1;
- }
-@@ -415,5 +415,5 @@
- }
- if (debug_mode) printf(
-- "%s: [%ld [%ld] %ld] writes/sec average\n",
-+ "%s: [%d [%d] %d] writes/sec average\n",
- programName, writesMin, writesTot * 1000 / durationTot, writesMax);
-
---- ../pr/tests/randseed.c Fri Apr 29 18:46:05 2005
-+++ ../pr/tests/randseed.c Mon Jul 25 21:15:01 2005
-@@ -81,5 +81,4 @@
- {
- PRUint32 *rp = buf;
-- PRIntn i;
-
- printf("%4.4d--\n", size );
---- ../pr/tests/sel_spd.c Fri Apr 29 17:02:55 2005
-+++ ../pr/tests/sel_spd.c Mon Jul 25 21:20:29 2005
-@@ -48,4 +48,7 @@
- #include <errno.h>
- #include <string.h>
-+#if defined(XP_UNIX) || defined(XP_OS2_EMX)
-+# include <unistd.h> /* getopt(3) */
-+#endif
-
- #ifdef XP_MAC
-@@ -63,14 +66,14 @@
-
- typedef struct timer_slot_t {
-- unsigned long d_connect;
-- unsigned long d_cl_data;
-- unsigned long d_sv_data;
-- unsigned long d_close;
-- unsigned long d_total;
-- unsigned long requests;
-+ unsigned int d_connect;
-+ unsigned int d_cl_data;
-+ unsigned int d_sv_data;
-+ unsigned int d_close;
-+ unsigned int d_total;
-+ unsigned int requests;
- } timer_slot_t;
-
--static long _iterations = 5;
--static long _client_data = 8192;
-+static int _iterations = 5;
-+static int _client_data = 8192;
-
- #if defined(XP_MAC)
-@@ -81,10 +84,9 @@
- * buffer.
- */
--static long _server_data = (8*1024);
--static long _threads_max = 10, _threads = 10;
-+static int _server_data = (8*1024);
- #else
--static long _server_data = (128*1024);
--static long _threads_max = 10, _threads = 10;
-+static int _server_data = (128*1024);
- #endif
-+static int _threads_max = 10, _threads = 10;
-
- static int verbose=0;
-@@ -514,10 +516,10 @@
- {
- int index;
-- unsigned long tot_connect = 0;
-- unsigned long tot_cl_data = 0;
-- unsigned long tot_sv_data = 0;
-- unsigned long tot_close = 0;
-- unsigned long tot_all = 0;
-- unsigned long tot_requests = 0;
-+ unsigned int tot_connect = 0;
-+ unsigned int tot_cl_data = 0;
-+ unsigned int tot_sv_data = 0;
-+ unsigned int tot_close = 0;
-+ unsigned int tot_all = 0;
-+ unsigned int tot_requests = 0;
-
- fprintf(stdout, "Server results:\n\n");
---- ../pr/tests/selct_nm.c Sun Apr 25 11:01:02 2004
-+++ ../pr/tests/selct_nm.c Mon Jul 25 21:21:56 2005
-@@ -82,5 +82,5 @@
- clientThreadFunc(void *arg)
- {
-- PRUintn port = (PRUintn) arg;
-+ PRUintn port = (PRUintn)(uintptr_t)arg;
- PRFileDesc *sock;
- PRNetAddr addr;
-@@ -202,5 +202,5 @@
-
- clientThread = PR_CreateThread(PR_USER_THREAD,
-- clientThreadFunc, (void *) listenPort1,
-+ clientThreadFunc, (void *)(uintptr_t)listenPort1,
- PR_PRIORITY_NORMAL, PR_LOCAL_THREAD,
- PR_UNJOINABLE_THREAD, 0);
-@@ -212,5 +212,5 @@
-
- clientThread = PR_CreateThread(PR_USER_THREAD,
-- clientThreadFunc, (void *) listenPort2,
-+ clientThreadFunc, (void *)(uintptr_t)listenPort2,
- PR_PRIORITY_NORMAL, PR_LOCAL_THREAD,
- PR_UNJOINABLE_THREAD, 0);
---- ../pr/tests/select2.c Sun Apr 25 11:01:02 2004
-+++ ../pr/tests/select2.c Mon Jul 25 21:27:44 2005
-@@ -86,4 +86,5 @@
- ***********************************************************************/
-
-+static int exitcode = 2;
-
- static void Test_Result (int result)
-@@ -93,7 +94,10 @@
- case PASS:
- printf ("PASS\n");
-+ if (exitcode == 2)
-+ exitcode = 0;
- break;
- case FAIL:
- printf ("FAIL\n");
-+ exitcode = 1;
- break;
- default:
-@@ -305,5 +309,6 @@
- }
-
--void main(int argc, char **argv)
-+int
-+main(int argc, char **argv)
- {
-
-@@ -352,3 +357,4 @@
-
-
-+ return exitcode;
- }
---- ../pr/tests/semaerr.c Sun Apr 25 11:01:02 2004
-+++ ../pr/tests/semaerr.c Mon Jul 25 21:29:23 2005
-@@ -91,5 +91,5 @@
- }
- if (PR_GetError() != PR_FILE_NOT_FOUND_ERROR) {
-- fprintf(stderr, "Expected error is %d but got (%d, %d)\n",
-+ fprintf(stderr, "Expected error is %ld (PR_FILE_NOT_FOUND_ERROR) but got (%d, %d)\n",
- PR_FILE_NOT_FOUND_ERROR, PR_GetError(), PR_GetOSError());
- exit(1);
---- ../pr/tests/semaerr1.c Sun Apr 25 11:01:02 2004
-+++ ../pr/tests/semaerr1.c Mon Jul 25 21:30:25 2005
-@@ -103,5 +103,5 @@
- }
- if (PR_GetError() != PR_FILE_EXISTS_ERROR) {
-- fprintf(stderr, "Expect %d but got %d\n", PR_FILE_EXISTS_ERROR,
-+ fprintf(stderr, "Expected %ld (PR_FILE_EXISTS_ERROR) but got %d\n", PR_FILE_EXISTS_ERROR,
- PR_GetError());
- exit(1);
---- ../pr/tests/sendzlf.c Sun Apr 25 11:01:02 2004
-+++ ../pr/tests/sendzlf.c Mon Jul 25 21:31:35 2005
-@@ -59,5 +59,5 @@
- PRFileDesc *sock;
- PRNetAddr addr;
-- PRUint16 port = (PRUint16) arg;
-+ PRUint16 port = (PRUint16)(uintptr_t)arg;
- char buf[1024];
- char *bufPtr;
-@@ -217,5 +217,5 @@
-
- clientThread = PR_CreateThread(PR_USER_THREAD,
-- ClientThread, (void *) PR_ntohs(PR_NetAddrInetPort(&addr)),
-+ ClientThread, (void *)(uintptr_t)PR_ntohs(PR_NetAddrInetPort(&addr)),
- PR_PRIORITY_NORMAL, scope, PR_JOINABLE_THREAD, 0);
- if (NULL == clientThread) {
---- ../pr/tests/server_test.c Sun Apr 25 11:01:02 2004
-+++ ../pr/tests/server_test.c Mon Jul 25 21:35:37 2005
-@@ -93,5 +93,5 @@
- #define DPRINTF printf
- #else
--#define DPRINTF
-+#define DPRINTF(...)
- #endif
-
-@@ -531,4 +531,5 @@
- }
-
-+#if 0
- static void do_workUK(void)
- {
-@@ -551,4 +552,5 @@
- do_work();
- }
-+#endif
-
-
-@@ -568,4 +570,5 @@
-
-
-+int
- main(int argc, char **argv)
- {
---- ../pr/tests/servr_kk.c Sun Apr 25 11:01:02 2004
-+++ ../pr/tests/servr_kk.c Mon Jul 25 21:38:28 2005
-@@ -90,5 +90,5 @@
- #define DPRINTF printf
- #else
--#define DPRINTF
-+#define DPRINTF(...)
- #endif
-
-@@ -501,4 +501,5 @@
- }
-
-+#if 0
- static void do_workUU(void)
- {
-@@ -521,4 +522,5 @@
- do_work();
- }
-+#endif
-
- static void do_workKK(void)
---- ../pr/tests/servr_ku.c Sun Apr 25 11:01:02 2004
-+++ ../pr/tests/servr_ku.c Mon Jul 25 21:40:29 2005
-@@ -90,5 +90,5 @@
- #define DPRINTF printf
- #else
--#define DPRINTF
-+#define DPRINTF(...)
- #endif
-
-@@ -527,4 +527,5 @@
-
-
-+int
- main(int argc, char **argv)
- {
---- ../pr/tests/servr_uk.c Sun Apr 25 11:01:02 2004
-+++ ../pr/tests/servr_uk.c Mon Jul 25 21:41:31 2005
-@@ -90,5 +90,5 @@
- #define DPRINTF printf
- #else
--#define DPRINTF
-+#define DPRINTF(...)
- #endif
-
-@@ -529,4 +529,5 @@
-
-
-+int
- main(int argc, char **argv)
- {
---- ../pr/tests/servr_uu.c Sun Apr 25 11:01:02 2004
-+++ ../pr/tests/servr_uu.c Mon Jul 25 21:42:27 2005
-@@ -90,5 +90,5 @@
- #define DPRINTF printf
- #else
--#define DPRINTF
-+#define DPRINTF(...)
- #endif
-
-@@ -526,4 +526,5 @@
-
-
-+int
- main(int argc, char **argv)
- {
---- ../pr/tests/short_thread.c Sun Apr 25 11:01:02 2004
-+++ ../pr/tests/short_thread.c Mon Jul 25 21:44:20 2005
-@@ -76,6 +76,6 @@
- == NULL ) {
- fprintf(stderr,
-- "simple_test: Error - PR_CreateThread failed: (%ld, %ld)\n",
-- PR_GetError(), PR_GetOSError());
-+ "simple_test: Error - PR_CreateThread failed: (%d, %d)\n",
-+ PR_GetError(), PR_GetOSError());
- exit( 1 );
- }
---- ../pr/tests/cvar2.c Sun Apr 25 11:01:02 2004
-+++ ../pr/tests/cvar2.c Mon Jul 25 20:37:10 2005
-@@ -134,5 +134,5 @@
- PR_Lock(info->lock);
- if (*info->tcount == 0) {
-- DPRINTF(("PrivateCondVarThread: thread 0x%lx waiting on cvar = 0x%lx\n",
-+ DPRINTF(("PrivateCondVarThread: thread %p waiting on cvar = %p\n",
- PR_GetCurrentThread(), info->cvar));
- PR_WaitCondVar(info->cvar, info->timeout);
-@@ -147,6 +147,6 @@
- (*info->exitcount)++;
- PR_NotifyCondVar(info->exitcvar);
--DPRINTF(("PrivateCondVarThread: thread 0x%lx notified exitcvar = 0x%lx cnt = %ld\n",
-- PR_GetCurrentThread(), info->exitcvar,(*info->exitcount)));
-+DPRINTF(("PrivateCondVarThread: thread %p notified exitcvar = %p cnt = %d\n",
-+ PR_GetCurrentThread(), info->exitcvar,(int)(*info->exitcount)));
- PR_Unlock(info->exitlock);
- }
-@@ -196,5 +196,5 @@
- CondVarTestSUU(void *_arg)
- {
-- PRInt32 arg = (PRInt32)_arg;
-+ PRInt32 arg = (PRInt32)(intptr_t)_arg;
- PRInt32 index, loops;
- threadinfo *list;
-@@ -228,5 +228,5 @@
- PR_LOCAL_THREAD);
- index++;
-- DPRINTF(("CondVarTestSUU: created thread 0x%lx\n",list[index].thread));
-+ DPRINTF(("CondVarTestSUU: created thread %p\n",list[index].thread));
- }
-
-@@ -238,5 +238,5 @@
- PR_NotifyCondVar(list[index].cvar);
- PR_Unlock(list[index].lock);
-- DPRINTF(("PrivateCondVarThread: thread 0x%lx notified cvar = 0x%lx\n",
-+ DPRINTF(("PrivateCondVarThread: thread %p notified cvar = %p\n",
- PR_GetCurrentThread(), list[index].cvar));
- }
-@@ -266,5 +266,5 @@
- CondVarTestSUK(void *_arg)
- {
-- PRInt32 arg = (PRInt32)_arg;
-+ PRInt32 arg = (PRInt32)(intptr_t)_arg;
- PRInt32 index, loops;
- threadinfo *list;
-@@ -340,5 +340,5 @@
- CondVarTestPUU(void *_arg)
- {
-- PRInt32 arg = (PRInt32)_arg;
-+ PRInt32 arg = (PRInt32)(intptr_t)_arg;
- PRInt32 index, loops;
- threadinfo *list;
-@@ -375,5 +375,5 @@
- PR_LOCAL_THREAD);
-
-- DPRINTF(("CondVarTestPUU: created thread 0x%lx\n",list[index].thread));
-+ DPRINTF(("CondVarTestPUU: created thread %p\n",list[index].thread));
- index++;
- tcount++;
-@@ -393,6 +393,6 @@
- /* Wait for threads to finish */
- while(exitcount < arg) {
--DPRINTF(("CondVarTestPUU: thread 0x%lx waiting on exitcvar = 0x%lx cnt = %ld\n",
-- PR_GetCurrentThread(), exitcvar, exitcount));
-+DPRINTF(("CondVarTestPUU: thread %p waiting on exitcvar = %p cnt = %d\n",
-+ PR_GetCurrentThread(), exitcvar, (int)exitcount));
- PR_WaitCondVar(exitcvar, PR_SecondsToInterval(60));
- }
-@@ -404,5 +404,5 @@
- /* Join all the threads */
- for(index=0; index<(arg); index++) {
-- DPRINTF(("CondVarTestPUU: joining thread 0x%lx\n",list[index].thread));
-+ DPRINTF(("CondVarTestPUU: joining thread %p\n",list[index].thread));
- PR_JoinThread(list[index].thread);
- if (list[index].internal) {
-@@ -426,5 +426,5 @@
- CondVarTestPUK(void *_arg)
- {
-- PRInt32 arg = (PRInt32)_arg;
-+ PRInt32 arg = (PRInt32)(intptr_t)_arg;
- PRInt32 index, loops;
- threadinfo *list;
-@@ -507,5 +507,5 @@
- CondVarTest(void *_arg)
- {
-- PRInt32 arg = (PRInt32)_arg;
-+ PRInt32 arg = (PRInt32)(intptr_t)_arg;
- PRInt32 index, loops;
- threadinfo *list;
-@@ -640,5 +640,5 @@
- CondVarTimeoutTest(void *_arg)
- {
-- PRInt32 arg = (PRInt32)_arg;
-+ PRInt32 arg = (PRInt32)(intptr_t)_arg;
- PRInt32 index, loops;
- threadinfo *list;
-@@ -751,5 +751,5 @@
- CondVarMixedTest(void *_arg)
- {
-- PRInt32 arg = (PRInt32)_arg;
-+ PRInt32 arg = (PRInt32)(intptr_t)_arg;
- PRInt32 index, loops;
- threadinfo *list;
-@@ -912,5 +912,5 @@
-
- start = PR_IntervalNow();
-- (*func)((void *)arg);
-+ (*func)((void *)(intptr_t)arg);
- stop = PR_IntervalNow();
-
-@@ -975,5 +975,5 @@
-
- for (threads = default_threads; threads < default_threads*5; threads+=default_threads) {
-- printf("\n%ld Thread tests\n", threads);
-+ printf("\n%d Thread tests\n", (int)threads);
- Measure(CondVarTestSUU, threads, "Condvar simple test shared UU");
- Measure(CondVarTestSUK, threads, "Condvar simple test shared UK");
---- ../pr/tests/io_timeout.c Sun Apr 25 11:01:02 2004
-+++ ../pr/tests/io_timeout.c Mon Jul 25 20:50:40 2005
-@@ -56,3 +56,5 @@
-
-+#include <errno.h>
- #include <stdio.h>
-+#include <string.h>
- #include "nspr.h"
-@@ -66,3 +68,3 @@
- #define NUM_THREADS 1
--#define BASE_PORT 8000
-+#define BASE_PORT 38011
- #define DEFAULT_ACCEPT_TIMEOUT 2
-@@ -78,3 +80,3 @@
- PRIntn failed_already = 0;
--PRIntn debug_mode = 0;
-+PRIntn debug_mode = 1;
-
-@@ -131,3 +133,8 @@
- if (debug_mode)
-- printf("unable to bind\n");
-+ printf("unable to bind to %d: %s\n",
-+ BASE_PORT + info->id, strerror(PR_GetOSError()));
-+ if (PR_GetOSError() == EADDRINUSE) {
-+ printf("can not proceed with this test\n");
-+ exit(0);
-+ }
- failed_already=1;
-@@ -153,4 +160,5 @@
- if (debug_mode) {
-- printf("PR_Accept() timeout worked!\n");
-- printf("TEST PASSED! PR_Accept() returned error %d\n",
-+ printf("PR_Accept() timeout worked!\n"
-+ "TEST PASSED! PR_Accept() returned error "
-+ "PR_IO_TIMEOUT_ERROR (%ld)\n",
- PR_IO_TIMEOUT_ERROR);
---- ../pr/tests/socket.c Sun Apr 25 11:01:02 2004
-+++ ../pr/tests/socket.c Mon Jul 25 22:14:47 2005
-@@ -219,5 +219,7 @@
- int bytes;
- int offset = 0;
-+#ifdef WINNT
- int err;
-+#endif
- PRIntervalTime timeout = PR_INTERVAL_NO_TIMEOUT;
-
-@@ -226,10 +228,12 @@
-
- for (rem=len; rem; offset += bytes, rem -= bytes) {
-- DPRINTF(("thread = 0x%lx: calling PR_Recv, bytes = %d\n",
-+ DPRINTF(("thread = %p: calling PR_Recv, bytes = %d\n",
- PR_GetCurrentThread(), rem));
-+#ifdef WINNT
- retry:
-+#endif
- bytes = PR_Recv(sockfd, buf + offset, rem, 0,
- timeout);
-- DPRINTF(("thread = 0x%lx: returning from PR_Recv, bytes = %d\n",
-+ DPRINTF(("thread = %p: returning from PR_Recv, bytes = %d\n",
- PR_GetCurrentThread(), bytes));
- if (bytes < 0) {
-@@ -262,9 +266,9 @@
-
- for (rem=len; rem; offset += bytes, rem -= bytes) {
-- DPRINTF(("thread = 0x%lx: calling PR_Send, bytes = %d\n",
-+ DPRINTF(("thread = %p: calling PR_Send, bytes = %d\n",
- PR_GetCurrentThread(), rem));
- bytes = PR_Send(sockfd, buf + offset, rem, 0,
- PR_INTERVAL_NO_TIMEOUT);
-- DPRINTF(("thread = 0x%lx: returning from PR_Send, bytes = %d\n",
-+ DPRINTF(("thread = %p: returning from PR_Send, bytes = %d\n",
- PR_GetCurrentThread(), bytes));
- if (bytes <= 0)
-@@ -314,5 +318,5 @@
- fprintf(stderr,"prsocket_test: ERROR - PR_Shutdown\n");
- }
-- DPRINTF(("Serve_Client [0x%lx]: inbuf[0] = 0x%lx\n",PR_GetCurrentThread(),
-+ DPRINTF(("Serve_Client [%p]: inbuf[0] = %d\n",PR_GetCurrentThread(),
- (*((int *) in_buf->data))));
- if (writen(sockfd, in_buf->data, bytes) < bytes) {
-@@ -453,5 +457,5 @@
- }
-
-- DPRINTF(("TCP_Server: PR_BIND netaddr.inet.ip = 0x%lx, netaddr.inet.port = %d\n",
-+ DPRINTF(("TCP_Server: PR_BIND netaddr.inet.ip = 0x%x, netaddr.inet.port = %d\n",
- netaddr.inet.ip, netaddr.inet.port));
- if (PR_SetNetAddr(PR_IpAddrLoopback, client_domain,
-@@ -495,5 +499,5 @@
-
- t = create_new_thread(PR_USER_THREAD,
-- Serve_Client, (void *)scp,
-+ Serve_Client, (void *)scp,
- PR_PRIORITY_NORMAL,
- PR_LOCAL_THREAD,
-@@ -505,5 +509,5 @@
- goto exit;
- }
-- DPRINTF(("TCP_Server: Created Serve_Client = 0x%lx\n", t));
-+ DPRINTF(("TCP_Server: Created Serve_Client = %p\n", t));
- }
-
-@@ -521,5 +525,5 @@
- PR_Notify(sp->exit_mon);
- PR_ExitMonitor(sp->exit_mon);
-- DPRINTF(("TCP_Server [0x%lx] exiting\n", PR_GetCurrentThread()));
-+ DPRINTF(("TCP_Server [%p] exiting\n", PR_GetCurrentThread()));
- }
-
-@@ -579,5 +583,5 @@
- }
-
-- DPRINTF(("PR_Bind: UDP Server netaddr.inet.ip = 0x%lx, netaddr.inet.port = %d\n",
-+ DPRINTF(("PR_Bind: UDP Server netaddr.inet.ip = 0x%x, netaddr.inet.port = %d\n",
- netaddr.inet.ip, netaddr.inet.port));
- /*
-@@ -617,5 +621,5 @@
- memset(&netaddr, 0 , sizeof(netaddr));
- for (i = 0; i < (num_udp_clients * num_udp_datagrams_per_client); i++) {
-- DPRINTF(("UDP_Server: calling PR_RecvFrom client - ip = 0x%lx, port = %d bytes = %d inbuf = 0x%lx, inbuf[0] = 0x%lx\n",
-+ DPRINTF(("UDP_Server: calling PR_RecvFrom client - ip = 0x%x, port = %d bytes = %d inbuf = %p, inbuf[0] = 0x%x\n",
- netaddr.inet.ip, netaddr.inet.port, bytes, in_buf->data,
- in_buf->data[0]));
-@@ -623,5 +627,5 @@
- rv = PR_RecvFrom(sockfd, in_buf->data, bytes, 0, &netaddr,
- PR_INTERVAL_NO_TIMEOUT);
-- DPRINTF(("UDP_Server: PR_RecvFrom client - ip = 0x%lx, port = %d bytes = %d inbuf = 0x%lx, inbuf[0] = 0x%lx\n",
-+ DPRINTF(("UDP_Server: PR_RecvFrom client - ip = 0x%x, port = %d bytes = %d inbuf = %p, inbuf[0] = 0x%x\n",
- netaddr.inet.ip, netaddr.inet.port, rv, in_buf->data,
- in_buf->data[0]));
-@@ -646,5 +650,5 @@
- PR_Notify(sp->exit_mon);
- PR_ExitMonitor(sp->exit_mon);
-- DPRINTF(("UDP_Server [0x%x] exiting\n", PR_GetCurrentThread()));
-+ DPRINTF(("UDP_Server [%p] exiting\n", PR_GetCurrentThread()));
- }
-
-@@ -689,5 +693,5 @@
- }
- if (PR_Connect(sockfd, &netaddr,PR_INTERVAL_NO_TIMEOUT) < 0){
-- fprintf(stderr, "PR_Connect failed: (%ld, %ld)\n",
-+ fprintf(stderr, "PR_Connect failed: (%d, %d)\n",
- PR_GetError(), PR_GetOSError());
- failed_already=1;
-@@ -698,5 +702,5 @@
- * fill in random data
- */
-- memset(out_buf->data, ((PRInt32) (&netaddr)) + i + j, bytes);
-+ memset(out_buf->data, ((intptr_t)(&netaddr)) + i + j, bytes);
- /*
- * write to server
-@@ -711,5 +715,5 @@
- return;
- }
-- DPRINTF(("TCP Client [0x%lx]: out_buf = 0x%lx out_buf[0] = 0x%lx\n",
-+ DPRINTF(("TCP Client [%p]: out_buf = %p out_buf[0] = 0x%x\n",
- PR_GetCurrentThread(), out_buf, (*((int *) out_buf->data))));
- if (readn(sockfd, in_buf->data, bytes) < bytes) {
-@@ -748,5 +752,5 @@
- PR_Notify(cp->exit_mon);
- PR_ExitMonitor(cp->exit_mon);
-- DPRINTF(("TCP_Client [0x%x] exiting\n", PR_GetCurrentThread()));
-+ DPRINTF(("TCP_Client [%p] exiting\n", PR_GetCurrentThread()));
- }
-
-@@ -754,5 +758,5 @@
- * UDP_Client
- * Client Thread
-- * Create a socket and bind an address
-+ * Create a socket and bind an address
- * Communicate with the server at the address specified in the argument.
- * Fill in a buffer, write data to server, read it back and check
-@@ -812,5 +816,5 @@
- }
-
-- DPRINTF(("PR_Bind: UDP Client netaddr.inet.ip = 0x%lx, netaddr.inet.port = %d\n",
-+ DPRINTF(("PR_Bind: UDP Client netaddr.inet.ip = 0x%x, netaddr.inet.port = %d\n",
- netaddr.inet.ip, netaddr.inet.port));
-
-@@ -829,7 +833,7 @@
- * fill in random data
- */
-- DPRINTF(("UDP_Client [0x%lx]: out_buf = 0x%lx bytes = 0x%lx\n",
-+ DPRINTF(("UDP_Client [%p]: out_buf = %p bytes = %d\n",
- PR_GetCurrentThread(), out_buf->data, bytes));
-- memset(out_buf->data, ((PRInt32) (&netaddr)) + i, bytes);
-+ memset(out_buf->data, ((intptr_t)(&netaddr)) + i, bytes);
- /*
- * write to server
-@@ -844,5 +848,5 @@
- return;
- }
-- DPRINTF(("UDP_Client [0x%lx]: out_buf = 0x%lx out_buf[0] = 0x%lx\n",
-+ DPRINTF(("UDP_Client [%p]: out_buf = %p out_buf[0] = 0x%x\n",
- PR_GetCurrentThread(), out_buf, (*((int *) out_buf->data))));
- if (cp->udp_connect)
-@@ -855,5 +859,5 @@
- return;
- }
-- DPRINTF(("UDP_Client [0x%lx]: in_buf = 0x%lx in_buf[0] = 0x%lx\n",
-+ DPRINTF(("UDP_Client [%p]: in_buf = %p in_buf[0] = 0x%x\n",
- PR_GetCurrentThread(), in_buf, (*((int *) in_buf->data))));
- /*
-@@ -880,10 +884,10 @@
- PR_ExitMonitor(cp->exit_mon);
- PR_DELETE(cp);
-- DPRINTF(("UDP_Client [0x%x] exiting\n", PR_GetCurrentThread()));
-+ DPRINTF(("UDP_Client [%p] exiting\n", PR_GetCurrentThread()));
- }
-
- /*
- * TCP_Socket_Client_Server_Test - concurrent server test
-- *
-+ *
- * One server and several clients are started
- * Each client connects to the server and sends a chunk of data
-@@ -937,5 +941,5 @@
- sparamp->datalen = datalen;
- t = PR_CreateThread(PR_USER_THREAD,
-- TCP_Server, (void *)sparamp,
-+ TCP_Server, (void *)sparamp,
- PR_PRIORITY_NORMAL,
- PR_LOCAL_THREAD,
-@@ -947,5 +951,5 @@
- return -1;
- }
-- DPRINTF(("Created TCP server = 0x%lx\n", t));
-+ DPRINTF(("Created TCP server = %p\n", t));
- thread_count++;
-
-@@ -981,5 +985,5 @@
- return -1;
- }
-- DPRINTF(("Created TCP client = 0x%lx\n", t));
-+ DPRINTF(("Created TCP client = %p\n", t));
- thread_count++;
- }
-@@ -991,7 +995,7 @@
- PR_ExitMonitor(mon2);
- printf("%30s","TCP_Socket_Client_Server_Test:");
-- printf("%2ld Server %2ld Clients %2ld connections_per_client\n",1l,
-+ printf(" 1 Server %2d Clients %2d connections_per_client\n",
- num_tcp_clients, num_tcp_connections_per_client);
-- printf("%30s %2ld messages_per_connection %4ld bytes_per_message\n",":",
-+ printf("%30s %2d messages_per_connection %4d bytes_per_message\n",":",
- num_tcp_mesgs_per_connection, tcp_mesg_size);
-
-@@ -1001,5 +1005,5 @@
- /*
- * UDP_Socket_Client_Server_Test - iterative server test
-- *
-+ *
- * One server and several clients are started
- * Each client connects to the server and sends a chunk of data
-@@ -1055,5 +1059,5 @@
- DPRINTF(("Creating UDP server"));
- t = PR_CreateThread(PR_USER_THREAD,
-- UDP_Server, (void *)sparamp,
-+ UDP_Server, (void *)sparamp,
- PR_PRIORITY_NORMAL,
- PR_LOCAL_THREAD,
-@@ -1121,6 +1125,6 @@
- PR_ExitMonitor(mon2);
- printf("%30s","UDP_Socket_Client_Server_Test: ");
-- printf("%2ld Server %2ld Clients\n",1l, num_udp_clients);
-- printf("%30s %2ld datagrams_per_client %4ld bytes_per_datagram\n",":",
-+ printf(" 1 Server %2d Clients\n", num_udp_clients);
-+ printf("%30s %2d datagrams_per_client %4d bytes_per_datagram\n",":",
- num_udp_datagrams_per_client, udp_datagram_size);
-
-@@ -1477,5 +1481,5 @@
- PR_Notify(cp->exit_mon);
- PR_ExitMonitor(cp->exit_mon);
-- DPRINTF(("TransmitFile_Client [0x%lx] exiting\n", PR_GetCurrentThread()));
-+ DPRINTF(("TransmitFile_Client [%p] exiting\n", PR_GetCurrentThread()));
- }
-
-@@ -1519,5 +1523,5 @@
- if (bytes != (SMALL_FILE_SIZE+ SMALL_FILE_HEADER_SIZE)) {
- fprintf(stderr,
-- "prsocet_test: PR_TransmitFile failed: (%ld, %ld)\n",
-+ "prsocet_test: PR_TransmitFile failed: (%d, %d)\n",
- PR_GetError(), PR_GetOSError());
- failed_already=1;
-@@ -1527,5 +1531,5 @@
- if (bytes != LARGE_FILE_SIZE) {
- fprintf(stderr,
-- "prsocket_test: PR_TransmitFile failed: (%ld, %ld)\n",
-+ "prsocket_test: PR_TransmitFile failed: (%d, %d)\n",
- PR_GetError(), PR_GetOSError());
- failed_already=1;
-@@ -1555,5 +1559,5 @@
- slen, bytes);
- fprintf(stderr,
-- "prsocket_test: PR_SendFile failed: (%ld, %ld)\n",
-+ "prsocket_test: PR_SendFile failed: (%d, %d)\n",
- PR_GetError(), PR_GetOSError());
- failed_already=1;
-@@ -1579,5 +1583,5 @@
- slen, bytes);
- fprintf(stderr,
-- "prsocket_test: PR_SendFile failed: (%ld, %ld)\n",
-+ "prsocket_test: PR_SendFile failed: (%d, %d)\n",
- PR_GetError(), PR_GetOSError());
- failed_already=1;
-@@ -1601,5 +1605,5 @@
- slen, bytes);
- fprintf(stderr,
-- "prsocket_test: PR_SendFile failed: (%ld, %ld)\n",
-+ "prsocket_test: PR_SendFile failed: (%d, %d)\n",
- PR_GetError(), PR_GetOSError());
- failed_already=1;
-@@ -1623,5 +1627,5 @@
- slen, bytes);
- fprintf(stderr,
-- "prsocket_test: PR_SendFile failed: (%ld, %ld)\n",
-+ "prsocket_test: PR_SendFile failed: (%d, %d)\n",
- PR_GetError(), PR_GetOSError());
- failed_already=1;
-@@ -1645,5 +1649,5 @@
- slen, bytes);
- fprintf(stderr,
-- "prsocket_test: PR_SendFile failed: (%ld, %ld)\n",
-+ "prsocket_test: PR_SendFile failed: (%d, %d)\n",
- PR_GetError(), PR_GetOSError());
- failed_already=1;
-@@ -1667,5 +1671,5 @@
- slen, bytes);
- fprintf(stderr,
-- "prsocket_test: PR_SendFile failed: (%ld, %ld)\n",
-+ "prsocket_test: PR_SendFile failed: (%d, %d)\n",
- PR_GetError(), PR_GetOSError());
- failed_already=1;
-@@ -1689,5 +1693,5 @@
- slen, bytes);
- fprintf(stderr,
-- "prsocket_test: PR_SendFile failed: (%ld, %ld)\n",
-+ "prsocket_test: PR_SendFile failed: (%d, %d)\n",
- PR_GetError(), PR_GetOSError());
- failed_already=1;
-@@ -1713,5 +1717,5 @@
- slen, bytes);
- fprintf(stderr,
-- "prsocket_test: PR_SendFile failed: (%ld, %ld)\n",
-+ "prsocket_test: PR_SendFile failed: (%d, %d)\n",
- PR_GetError(), PR_GetOSError());
- failed_already=1;
-@@ -1788,5 +1792,5 @@
- }
-
-- DPRINTF(("TCP_Server: PR_BIND netaddr.inet.ip = 0x%lx, netaddr.inet.port = %d\n",
-+ DPRINTF(("TCP_Server: PR_BIND netaddr.inet.ip = 0x%x, netaddr.inet.port = %d\n",
- netaddr.inet.ip, netaddr.inet.port));
- tcp_server_addr.inet.family = netaddr.inet.family;
-@@ -1843,5 +1847,5 @@
-
- t[i] = PR_CreateThread(PR_USER_THREAD,
-- Serve_TransmitFile_Client, (void *)scp,
-+ Serve_TransmitFile_Client, (void *)scp,
- PR_PRIORITY_NORMAL,
- PR_LOCAL_THREAD,
-@@ -1854,5 +1858,5 @@
- goto exit;
- }
-- DPRINTF(("TransmitFile_Server: Created Serve_TransmitFile_Client = 0x%lx\n", t));
-+ DPRINTF(("TransmitFile_Server: Created Serve_TransmitFile_Client = %p\n", t));
- }
-
-@@ -1882,10 +1886,10 @@
- PR_Notify(sp->exit_mon);
- PR_ExitMonitor(sp->exit_mon);
-- DPRINTF(("TransmitFile_Server [0x%lx] exiting\n", PR_GetCurrentThread()));
-+ DPRINTF(("TransmitFile_Server [%p] exiting\n", PR_GetCurrentThread()));
- }
-
- /*
-- * Socket_Misc_Test - test miscellaneous functions
-- *
-+ * Socket_Misc_Test - test miscellaneous functions
-+ *
- */
- static PRInt32
-@@ -2020,5 +2024,5 @@
- if (bytes <= 0) {
- fprintf(stderr,
-- "prsocket_test failed to write to file %s: (%ld, %ld)\n",
-+ "prsocket_test failed to write to file %s: (%d, %d)\n",
- LARGE_FILE_NAME,
- PR_GetError(), PR_GetOSError());
-@@ -2101,5 +2105,5 @@
- sparamp->datalen = datalen;
- t = PR_CreateThread(PR_USER_THREAD,
-- TransmitFile_Server, (void *)sparamp,
-+ TransmitFile_Server, (void *)sparamp,
- PR_PRIORITY_NORMAL,
- PR_LOCAL_THREAD,
-@@ -2112,5 +2116,5 @@
- goto done;
- }
-- DPRINTF(("Created TCP server = 0x%x\n", t));
-+ DPRINTF(("Created TCP server = %p\n", t));
- thread_count++;
-
-@@ -2149,5 +2153,5 @@
- goto done;
- }
-- DPRINTF(("Created TransmitFile client = 0x%lx\n", t));
-+ DPRINTF(("Created TransmitFile client = %p\n", t));
- thread_count++;
- }
-@@ -2179,5 +2183,5 @@
- }
- if ((PR_RmDir(TEST_DIR)) == PR_FAILURE) {
-- fprintf(stderr,"prsocket_test failed to rmdir %s: (%ld, %ld)\n",
-+ fprintf(stderr,"prsocket_test failed to rmdir %s: (%d, %d)\n",
- TEST_DIR, PR_GetError(), PR_GetOSError());
- failed_already=1;
---- ../pr/tests/sockopt.c Sun Apr 25 11:01:02 2004
-+++ ../pr/tests/sockopt.c Mon Jul 25 22:16:20 2005
-@@ -79,5 +79,5 @@
- } /* Incr */
-
--PRIntn main(PRIntn argc, char *argv)
-+PRIntn main(PRIntn argc, char *argv[])
- {
- PRStatus rv;
---- ../pr/tests/sprintf.c Sun Apr 25 11:01:02 2004
-+++ ../pr/tests/sprintf.c Mon Jul 25 22:21:32 2005
-@@ -162,5 +162,5 @@
- fprintf(stderr,
- "pattern='%s' l=%ld\nPR_smprintf='%s'\nPR_snprintf='%s'\n sprintf='%s'\n",
-- pattern, l, s, buf, sbuf);
-+ pattern, (long)l, s, buf, sbuf);
- PR_smprintf_free(s);
- exit(-1);
---- ../pr/tests/stack.c Sun Apr 25 11:01:02 2004
-+++ ../pr/tests/stack.c Mon Jul 25 22:22:43 2005
-@@ -86,5 +86,5 @@
- PRIntn main(PRIntn argc, char **argv)
- {
-- PRInt32 rv, cnt, sum;
-+ PRInt32 cnt, sum;
- DataRecord *Item;
- PRStack *list1, *list2;
-@@ -240,5 +240,5 @@
- {
- PRInt32 val, cnt, index, loops;
-- DataRecord *Items, *Item;
-+ DataRecord *Items;
- PRStack *list1, *list2;
- PRStackElem *node;
---- ../pr/tests/suspend.c Sun Apr 25 11:01:02 2004
-+++ ../pr/tests/suspend.c Mon Jul 25 22:28:14 2005
-@@ -74,5 +74,5 @@
- {
- PR_Sleep(PR_MillisecondsToInterval(4 * 1000));
-- printf("Level_2_Thread[0x%lx] exiting\n",PR_GetCurrentThread());
-+ printf("Level_2_Thread[%p] exiting\n",PR_GetCurrentThread());
- return;
- }
-@@ -81,5 +81,5 @@
- Level_1_Thread(void *arg)
- {
-- PRUint32 tmp = (PRUint32)arg;
-+ PRUint32 tmp = (PRUint32)(uintptr_t)arg;
- PRThreadScope scope = (PRThreadScope) tmp;
- PRThread *thr;
-@@ -96,5 +96,5 @@
- printf("Could not create thread!\n");
- } else {
-- printf("Level_1_Thread[0x%lx] created %15s thread 0x%lx\n",
-+ printf("Level_1_Thread[%p] created %15s thread %p\n",
- PR_GetCurrentThread(),
- (scope == PR_GLOBAL_THREAD) ?
-@@ -107,5 +107,5 @@
- PR_Notify(mon);
- PR_ExitMonitor(mon);
-- printf("Thread[0x%lx] exiting\n",PR_GetCurrentThread());
-+ printf("Thread[%p] exiting\n",PR_GetCurrentThread());
- }
-
-@@ -116,11 +116,12 @@
-
- printf(
-- "\nprint_thread[0x%lx]: %-20s - i = %ld\n",thread,
-+ "\nprint_thread[%p]: %-20s - i = %d\n",thread,
- (PR_GLOBAL_THREAD == PR_GetThreadScope(thread)) ?
- "PR_GLOBAL_THREAD" : "PR_LOCAL_THREAD", i);
- registers = PR_GetGCRegisters(thread, 0, (int *)&words);
-- printf("Regsters R0 = 0x%x R1 = 0x%x R2 = 0x%x R3 = 0x%x\n",
-- registers[0],registers[1],registers[2],registers[3]);
-- printf("Stack Pointer = 0x%lx\n", PR_GetSP(thread));
-+ printf("Regsters R0 = 0x%lx R1 = 0x%lx R2 = 0x%lx R3 = 0x%lx\n",
-+ (unsigned long)registers[0], (unsigned long)registers[1],
-+ (unsigned long)registers[2], (unsigned long)registers[3]);
-+ printf("Stack Pointer = %p\n", PR_GetSP(thread));
- return PR_SUCCESS;
- }
-@@ -150,5 +151,5 @@
- alive--;
- }
-- printf("Level_0_Thread[0x%lx] created %15s thread 0x%lx\n",
-+ printf("Level_0_Thread[%p] created %15s thread %p\n",
- PR_GetCurrentThread(),
- (scope1 == PR_GLOBAL_THREAD) ?
-@@ -161,7 +162,8 @@
- PR_EnumerateThreads(print_thread, NULL);
- registers = PR_GetGCRegisters(me, 1, (int *)&words);
-- printf("My Registers: R0 = 0x%x R1 = 0x%x R2 = 0x%x R3 = 0x%x\n",
-- registers[0],registers[1],registers[2],registers[3]);
-- printf("My Stack Pointer = 0x%lx\n", PR_GetSP(me));
-+ printf("My Registers: R0 = 0x%lx R1 = 0x%lx R2 = 0x%lx R3 = 0x%lx\n",
-+ (unsigned long)registers[0], (unsigned long)registers[1],
-+ (unsigned long)registers[2], (unsigned long)registers[3]);
-+ printf("My Stack Pointer = %p\n", PR_GetSP(me));
- PR_ResumeAll();
-
-@@ -197,5 +199,5 @@
-
-
--void
-+int
- main(int argc, char **argv)
- {
-@@ -227,4 +229,6 @@
- CreateThreadsKU();
- PR_Cleanup();
-+
-+ return 0;
- }
-
---- ../pr/tests/testfile.c Tue Jun 20 17:46:54 2000
-+++ ../pr/tests/testfile.c Mon Jul 25 22:36:39 2005
-@@ -69,4 +69,7 @@
- #define mode_t int
- #endif
-+#if defined(XP_UNIX) || defined(XP_OS2_EMX)
-+# include <unistd.h> /* getopt(3) */
-+#endif
-
- #define DPRINTF(arg) if (_debug_on) printf arg
-@@ -119,5 +122,5 @@
-
- PRThread* create_new_thread(PRThreadType type,
-- void (*start)(void *arg),
-+ void *(*start)(void *arg),
- void *arg,
- PRThreadPriority priority,
-@@ -181,5 +184,5 @@
- #endif
- } else {
-- return(PR_CreateThread(type,start,arg,priority,scope,state,stackSize));
-+ return(PR_CreateThread(type,(void (*)(void*))start,arg,priority,scope,state,stackSize));
- }
- #else
-@@ -342,6 +345,6 @@
- "testfile PR_GetFileInfo returned incorrect status-change time: %s\n",
- pathname);
-- printf("ft = %lld, ft1 = %lld\n",file_info.creationTime,
-- file_info1.creationTime);
-+ printf("ft = %lld, ft1 = %lld\n", (long long)file_info.creationTime,
-+ (long long)file_info1.creationTime);
- rv = -1;
- goto cleanup;
-@@ -368,6 +371,6 @@
- "testfile PR_GetFileInfo returned incorrect modify time: %s\n",
- pathname);
-- printf("ft = %lld, ft1 = %lld\n",file_info.modifyTime,
-- file_info1.modifyTime);
-+ printf("ft = %lld, ft1 = %lld\n", (long long)file_info.modifyTime,
-+ (long long)file_info1.modifyTime);
- rv = -1;
- goto cleanup;
-@@ -495,5 +498,5 @@
-
- t = create_new_thread(PR_USER_THREAD,
-- File_Write, (void *)fparamp,
-+ (void *(*)(void *))File_Write, (void *)fparamp,
- PR_PRIORITY_NORMAL,
- scope,
-@@ -530,5 +533,5 @@
-
- t = create_new_thread(PR_USER_THREAD,
-- File_Read, (void *)fparamp,
-+ (void *(*)(void *))File_Read, (void *)fparamp,
- PR_PRIORITY_NORMAL,
- scope,
-@@ -598,5 +601,5 @@
- thrarg.done= 0;
- t = create_new_thread(PR_USER_THREAD,
-- DirTest, &thrarg,
-+ (void *(*)(void *))DirTest, &thrarg,
- PR_PRIORITY_NORMAL,
- PR_LOCAL_THREAD,
-@@ -953,6 +956,4 @@
- #if defined(XP_UNIX) || defined(XP_OS2_EMX)
- int opt;
-- extern char *optarg;
-- extern int optind;
- #endif
- #if defined(XP_UNIX) || defined(XP_OS2_EMX)
---- ../pr/tests/thrpool_server.c Sun Apr 25 11:01:02 2004
-+++ ../pr/tests/thrpool_server.c Mon Jul 25 22:38:33 2005
-@@ -363,5 +363,5 @@
-
- DPRINTF((
-- "TCP_Server: PR_BIND netaddr.inet.ip = 0x%lx, netaddr.inet.port = %d\n",
-+ "TCP_Server: PR_BIND netaddr.inet.ip = 0x%x, netaddr.inet.port = %d\n",
- netaddr.inet.ip, netaddr.inet.port));
-
-@@ -496,5 +496,5 @@
-
- PR_ASSERT(NULL != jobp);
-- DPRINTF(("TCP_Server: Created Serve_Client = 0x%lx\n", jobp));
-+ DPRINTF(("TCP_Server: Created Serve_Client = %p\n", jobp));
-
- /*
-@@ -513,5 +513,5 @@
-
- PR_ASSERT(NULL != jobp);
-- DPRINTF(("TCP_Server: Created print_stats timer job = 0x%lx\n", jobp));
-+ DPRINTF(("TCP_Server: Created print_stats timer job = %p\n", jobp));
-
- exit:
-@@ -530,7 +530,7 @@
- PR_DestroyMonitor(sp->exit_mon);
- printf("%30s","TCP_Socket_Client_Server_Test:");
-- printf("%2ld Server %2ld Clients %2ld connections_per_client\n",1l,
-+ printf(" 1 Server %2d Clients %2d connections_per_client\n",
- num_tcp_clients, num_tcp_connections_per_client);
-- printf("%30s %2ld messages_per_connection %4ld bytes_per_message\n",":",
-+ printf("%30s %2d messages_per_connection %4d bytes_per_message\n",":",
- num_tcp_mesgs_per_connection, tcp_mesg_size);
-
---- ../pr/tests/thrpool_client.c Sun Apr 25 11:01:02 2004
-+++ ../pr/tests/thrpool_client.c Mon Jul 25 22:40:45 2005
-@@ -127,9 +127,9 @@
-
- for (rem=len; rem; offset += bytes, rem -= bytes) {
-- DPRINTF(("thread = 0x%lx: calling PR_Recv, bytes = %d\n",
-+ DPRINTF(("thread = %p: calling PR_Recv, bytes = %d\n",
- PR_GetCurrentThread(), rem));
- bytes = PR_Recv(sockfd, buf + offset, rem, 0,
- timeout);
-- DPRINTF(("thread = 0x%lx: returning from PR_Recv, bytes = %d\n",
-+ DPRINTF(("thread = %p: returning from PR_Recv, bytes = %d\n",
- PR_GetCurrentThread(), bytes));
- if (bytes < 0) {
-@@ -152,9 +152,9 @@
-
- for (rem=len; rem; offset += bytes, rem -= bytes) {
-- DPRINTF(("thread = 0x%lx: calling PR_Send, bytes = %d\n",
-+ DPRINTF(("thread = %p: calling PR_Send, bytes = %d\n",
- PR_GetCurrentThread(), rem));
- bytes = PR_Send(sockfd, buf + offset, rem, 0,
- PR_INTERVAL_NO_TIMEOUT);
-- DPRINTF(("thread = 0x%lx: returning from PR_Send, bytes = %d\n",
-+ DPRINTF(("thread = %p: returning from PR_Send, bytes = %d\n",
- PR_GetCurrentThread(), bytes));
- if (bytes <= 0)
-@@ -209,5 +209,5 @@
- DPRINTF(("TCP client connecting to server:%d\n", server_port));
- if (PR_Connect(sockfd, &netaddr,PR_INTERVAL_NO_TIMEOUT) < 0){
-- fprintf(stderr, "PR_Connect failed: (%ld, %ld)\n",
-+ fprintf(stderr, "PR_Connect failed: (%d, %d)\n",
- PR_GetError(), PR_GetOSError());
- failed_already=1;
-@@ -218,5 +218,5 @@
- * fill in random data
- */
-- memset(out_buf->data, ((PRInt32) (&netaddr)) + i + j, bytes);
-+ memset(out_buf->data, ((intptr_t)(&netaddr)) + i + j, bytes);
- /*
- * write to server
-@@ -326,5 +326,5 @@
- connections++;
- PR_ExitMonitor(mon2);
-- DPRINTF(("Created TCP client = 0x%lx\n", thr));
-+ DPRINTF(("Created TCP client = %p\n", thr));
- }
- /* Wait for client jobs to exit */
-@@ -336,7 +336,7 @@
- PR_ExitMonitor(mon2);
- printf("%30s","TCP_Socket_Client_Server_Test:");
-- printf("%2ld Server %2ld Clients %2ld connections_per_client\n",1l,
-+ printf(" 1 Server %2d Clients %2d connections_per_client\n",
- num_tcp_clients, num_tcp_connections_per_client);
-- printf("%30s %2ld messages_per_connection %4ld bytes_per_message\n",":",
-+ printf("%30s %2d messages_per_connection %4d bytes_per_message\n",":",
- num_tcp_mesgs_per_connection, tcp_mesg_size);
-
---- ../pr/tests/threads.c Sun Apr 25 11:01:02 2004
-+++ ../pr/tests/threads.c Mon Jul 25 22:43:10 2005
-@@ -66,5 +66,5 @@
- DumbThread(void *arg)
- {
-- PRInt32 tmp = (PRInt32)arg;
-+ PRInt32 tmp = (PRInt32)(intptr_t)arg;
- PRThreadScope scope = (PRThreadScope)tmp;
- PRThread *thr;
-@@ -214,8 +214,8 @@
- if (debug_mode)
- {
-- printf("\
--** Tests lots of thread creations. \n\
--** Create %ld native threads %ld times. \n\
--** Create %ld user threads %ld times \n", iterations,count,iterations,count);
-+ printf("** Tests lots of thread creations.\n"
-+ "** Create %d native threads %d times.\n"
-+ "** Create %d user threads %d times.\n", iterations, count,
-+ iterations, count);
- }
-
---- ../pr/tests/thruput.c Sun Apr 25 11:01:02 2004
-+++ ../pr/tests/thruput.c Mon Jul 25 22:44:16 2005
-@@ -407,4 +407,5 @@
- else Client(server_name);
-
-+ return 0;
- } /* main */
-
---- ../pr/tests/timemac.c Sun Apr 25 11:01:02 2004
-+++ ../pr/tests/timemac.c Mon Jul 25 22:45:33 2005
-@@ -63,5 +63,5 @@
-
- /* Print day of the week, month, day, hour, minute, and second */
-- printf( "%s %s %ld %02ld:%02ld:%02ld ",
-+ printf( "%s %s %d %02d:%02d:%02d ",
- dayOfWeek[et->tm_wday], month[et->tm_month], et->tm_mday,
- et->tm_hour, et->tm_min, et->tm_sec);
-@@ -79,5 +79,5 @@
- hourOffset = totalOffset / 3600;
- minOffset = (totalOffset % 3600) / 60;
-- printf("%s%02ld%02ld ", sign, hourOffset, minOffset);
-+ printf("%s%02d%02d ", sign, hourOffset, minOffset);
- }
-
-@@ -140,5 +140,5 @@
- printExplodedTime(&et);
- printf("\n");
-- printf("GMT offset is %ld, DST offset is %ld\n",
-+ printf("GMT offset is %d, DST offset is %d\n",
- et.tm_params.tp_gmt_offset, et.tm_params.tp_dst_offset);
- t2 = PR_ImplodeTime(&et);
---- ../pr/tests/timetest.c Sun Apr 25 11:01:02 2004
-+++ ../pr/tests/timetest.c Mon Jul 25 22:48:03 2005
-@@ -75,5 +75,5 @@
-
- /* Print day of the week, month, day, hour, minute, and second */
-- if (debug_mode) printf("%s %s %ld %02ld:%02ld:%02ld ",
-+ if (debug_mode) printf("%s %s %d %02d:%02d:%02d ",
- dayOfWeek[et->tm_wday], month[et->tm_month], et->tm_mday,
- et->tm_hour, et->tm_min, et->tm_sec);
-@@ -92,5 +92,5 @@
- minOffset = (totalOffset % 3600) / 60;
- if (debug_mode)
-- printf("%s%02ld%02ld ", sign, hourOffset, minOffset);
-+ printf("%s%02d%02d ", sign, hourOffset, minOffset);
- }
-
-@@ -276,5 +276,5 @@
- PrintExplodedTime(&et);
- if (debug_mode) printf("\n");
-- if (debug_mode) printf("GMT offset is %ld, DST offset is %ld\n",
-+ if (debug_mode) printf("GMT offset is %d, DST offset is %d\n",
- et.tm_params.tp_gmt_offset, et.tm_params.tp_dst_offset);
- t2 = PR_ImplodeTime(&et);
---- ../pr/tests/y2k.c Sun Apr 25 11:01:02 2004
-+++ ../pr/tests/y2k.c Mon Jul 25 22:49:18 2005
-@@ -82,5 +82,5 @@
-
- /* Print day of the week, month, day, hour, minute, and second */
-- printf("%s %s %2ld %02ld:%02ld:%02ld ",
-+ printf("%s %s %2d %02d:%02d:%02d ",
- dayOfWeek[et->tm_wday], month[et->tm_month], et->tm_mday,
- et->tm_hour, et->tm_min, et->tm_sec);
-@@ -101,5 +101,5 @@
- hourOffset = totalOffset / 3600;
- minOffset = (totalOffset % 3600) / 60;
-- printf("%s%02ld%02ld ", sign, hourOffset, minOffset);
-+ printf("%s%02d%02d ", sign, hourOffset, minOffset);
- }
- #ifdef PRINT_DETAILS
---- ../pr/tests/y2ktmo.c Sun Apr 25 11:01:02 2004
-+++ ../pr/tests/y2ktmo.c Mon Jul 25 22:58:00 2005
-@@ -95,5 +95,5 @@
- static void SleepThread(void *arg)
- {
-- PRIntervalTime timeout = (PRIntervalTime) arg;
-+ PRIntervalTime timeout = (PRIntervalTime)(intptr_t)arg;
- PRIntervalTime elapsed;
- #if defined(XP_UNIX) || defined(WIN32)
-@@ -142,5 +142,5 @@
- static void AcceptThread(void *arg)
- {
-- PRIntervalTime timeout = (PRIntervalTime) arg;
-+ PRIntervalTime timeout = (PRIntervalTime)(intptr_t)arg;
- PRIntervalTime elapsed;
- #if defined(XP_UNIX) || defined(WIN32)
-@@ -214,5 +214,5 @@
- static void PollThread(void *arg)
- {
-- PRIntervalTime timeout = (PRIntervalTime) arg;
-+ PRIntervalTime timeout = (PRIntervalTime)(intptr_t)arg;
- PRIntervalTime elapsed;
- #if defined(XP_UNIX) || defined(WIN32)
-@@ -289,5 +289,5 @@
- static void WaitCondVarThread(void *arg)
- {
-- PRIntervalTime timeout = (PRIntervalTime) arg;
-+ PRIntervalTime timeout = (PRIntervalTime)(intptr_t)arg;
- PRIntervalTime elapsed;
- #if defined(XP_UNIX) || defined(WIN32)
-@@ -349,5 +349,5 @@
- static void WaitMonitorThread(void *arg)
- {
-- PRIntervalTime timeout = (PRIntervalTime) arg;
-+ PRIntervalTime timeout = (PRIntervalTime)(intptr_t)arg;
- PRIntervalTime elapsed;
- #if defined(XP_UNIX) || defined(WIN32)
-@@ -402,5 +402,5 @@
- static void WaitCMonitorThread(void *arg)
- {
-- PRIntervalTime timeout = (PRIntervalTime) arg;
-+ PRIntervalTime timeout = (PRIntervalTime)(intptr_t)arg;
- PRIntervalTime elapsed;
- #if defined(XP_UNIX) || defined(WIN32)
-@@ -525,5 +525,5 @@
- for (j = 0; j < num_thread_funcs; j++) {
- threads[idx] = PR_CreateThread(PR_USER_THREAD, threadFuncs[j],
-- (void*)PR_SecondsToInterval(secs), PR_PRIORITY_NORMAL,
-+ (void*)(intptr_t)PR_SecondsToInterval(secs), PR_PRIORITY_NORMAL,
- threadScopes[i], PR_JOINABLE_THREAD, 0);
- if (threads[idx] == NULL) {
---- ../pr/tests/zerolen.c Sun Apr 25 11:01:02 2004
-+++ ../pr/tests/zerolen.c Mon Jul 25 23:04:19 2005
-@@ -78,5 +78,5 @@
- PRFileDesc *sock;
- PRNetAddr addr;
-- PRUint16 port = (PRUint16) arg;
-+ PRUint16 port = (PRUint16)(uintptr_t)arg;
- char buf[1024];
- PRInt32 nbytes;
-@@ -157,5 +157,5 @@
- */
- clientThread = PR_CreateThread(PR_USER_THREAD,
-- ClientThread, (void *) PR_ntohs(PR_NetAddrInetPort(&addr)),
-+ ClientThread, (void *)(uintptr_t)PR_ntohs(PR_NetAddrInetPort(&addr)),
- PR_PRIORITY_NORMAL, PR_GLOBAL_THREAD, PR_JOINABLE_THREAD, 0);
- if (NULL == clientThread) {
-@@ -198,5 +198,5 @@
- */
- clientThread = PR_CreateThread(PR_USER_THREAD,
-- ClientThread, (void *) PR_ntohs(PR_NetAddrInetPort(&addr)),
-+ ClientThread, (void *)(uintptr_t)PR_ntohs(PR_NetAddrInetPort(&addr)),
- PR_PRIORITY_NORMAL, PR_GLOBAL_THREAD, PR_JOINABLE_THREAD, 0);
- if (NULL == clientThread) {
-@@ -237,5 +237,5 @@
- */
- clientThread = PR_CreateThread(PR_USER_THREAD,
-- ClientThread, (void *) PR_ntohs(PR_NetAddrInetPort(&addr)),
-+ ClientThread, (void *)(uintptr_t)PR_ntohs(PR_NetAddrInetPort(&addr)),
- PR_PRIORITY_NORMAL, PR_GLOBAL_THREAD, PR_JOINABLE_THREAD, 0);
- if (NULL == clientThread) {
---- ../pr/tests/runtests.sh Sun Apr 25 11:01:02 2004
-+++ ../pr/tests/runtests.sh Tue Jul 26 00:01:35 2005
-@@ -85,7 +85,4 @@
- #
-
--#forktest (failed on IRIX)
--#nbconn - fails on some platforms
--#poll_er - fails on some platforms? limited use?
- #prpoll - the bad-FD test needs to be moved to a different test
- #sleep - specific to OS/2
-@@ -119,4 +116,5 @@
- fileio
- foreign
-+forktest
- formattm
- fsync
-@@ -126,5 +124,4 @@
- initclk
- inrval
--instrumt
- intrio
- intrupt
-@@ -146,4 +143,5 @@
- multiwait
- nameshm1
-+nbconn
- nblayer
- nonblock
-@@ -161,4 +159,5 @@
- pipeping2
- pipeself
-+poll_er
- poll_nm
- poll_to
-@@ -230,5 +229,5 @@
- printf "BEGIN\t\t\t`date`\n"
- printf "NSPR_TEST_LOGFILE\t${LOGFILE}\n\n"
--printf "Test\t\t\tResult\n\n"
-+printf " Test\t\t\tResult\n\n"
- if [ $OS_PLATFORM = "Windows_95" ] || [ $OS_PLATFORM = "Windows_98" ] || [ $OS_PLATFORM = "Windows_NT" ] || [ $OS_PLATFORM = "OS/2" ] ; then
- for prog in $TESTS
-@@ -248,8 +247,6 @@
- for prog in $TESTS
- do
-- printf "$prog"
-- printf "\nBEGIN TEST: $prog\n\n" >> ${LOGFILE} 2>&1
-- export test_rval
-- ./$prog >> ${LOGFILE} 2>&1 &
-+ printf %16s $prog
-+ ./$prog >> $prog.output 2>&1 &
- test_pid=$!
- sleep_pid=0
-@@ -266,7 +263,7 @@
- else
- printf "\t\t\tFAILED\n";
-+ sed "s,^, $prog: ," < $prog.output
- rval=1
- fi;
-- printf "\nEND TEST: $prog\n\n" >> ${LOGFILE} 2>&1
- done
- fi;
-@@ -274,19 +271,2 @@
- printf "END\t\t\t`date`\n"
- exit $rval
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
diff --git a/devel/nspr/files/patch-warnings b/devel/nspr/files/patch-warnings
deleted file mode 100644
index d4e7145e9..000000000
--- a/devel/nspr/files/patch-warnings
+++ /dev/null
@@ -1,67 +0,0 @@
---- ../pr/src/misc/prdtoa.c Sun Apr 25 11:01:01 2004
-+++ ../pr/src/misc/prdtoa.c Sun Jul 24 23:55:19 2005
-@@ -3355,5 +3355,7 @@
- }
- else {
-+#ifdef Honor_FLT_ROUNDS
- trimzeros:
-+#endif
- while(*--s == '0');
- s++;
---- ../pr/src/pthreads/ptsynch.c Mon Nov 22 16:24:53 2004
-+++ ../pr/src/pthreads/ptsynch.c Mon Jul 25 00:03:49 2005
-@@ -63,5 +63,5 @@
- #endif /* defined(DEBUG) */
-
--#if defined(FREEBSD)
-+#if defined(FREEBSD) && (defined(DEBUG) || defined(FORCE_PR_ASSERT))
- /*
- * On older versions of FreeBSD, pthread_mutex_trylock returns EDEADLK.
-@@ -343,5 +343,8 @@
- if (cv != NULL)
- {
-- int rv = _PT_PTHREAD_COND_INIT(cv->cv, _pt_cvar_attr);
-+#if defined(DEBUG) || defined(FORCE_PR_ASSERT)
-+ int rv =
-+#endif
-+ _PT_PTHREAD_COND_INIT(cv->cv, _pt_cvar_attr);
- PR_ASSERT(0 == rv);
- cv->lock = lock;
-@@ -358,5 +361,9 @@
- if (0 > PR_AtomicDecrement(&cvar->notify_pending))
- {
-- PRIntn rv = pthread_cond_destroy(&cvar->cv); PR_ASSERT(0 == rv);
-+#if defined(DEBUG) || defined(FORCE_PR_ASSERT)
-+ PRIntn rv =
-+#endif
-+ pthread_cond_destroy(&cvar->cv);
-+ PR_ASSERT(0 == rv);
- #if defined(DEBUG)
- memset(cvar, 0xaf, sizeof(PRCondVar));
-@@ -1080,6 +1087,9 @@
- if (cv != NULL)
- {
-+#if defined(DEBUG) || defined(FORCE_PR_ASSERT)
- int rv;
-- rv = _PT_PTHREAD_COND_INIT(cv->cv, _pt_cvar_attr);
-+ rv =
-+#endif
-+ _PT_PTHREAD_COND_INIT(cv->cv, _pt_cvar_attr);
- PR_ASSERT(0 == rv);
- cv->lock = _PR_NAKED_CV_LOCK;
---- ../pr/include/prcountr.h Sun Apr 25 11:00:47 2004
-+++ ../pr/include/prcountr.h Mon Jul 25 20:43:03 2005
-@@ -427,5 +427,5 @@
- (counter) = PR_GetCounter((handle))
- #else
--#define PR_GET_COUNTER(counter,handle) 0
-+#define PR_GET_COUNTER(counter,handle)
- #endif
-
-@@ -501,5 +501,5 @@
- (next) = PR_FindNextCounterQname((handle))
- #else
--#define PR_FIND_NEXT_COUNTER_QNAME(next,handle) NULL
-+#define PR_FIND_NEXT_COUNTER_QNAME(next,handle)
- #endif
-
diff --git a/devel/nspr/pkg-descr b/devel/nspr/pkg-descr
deleted file mode 100644
index 938c02701..000000000
--- a/devel/nspr/pkg-descr
+++ /dev/null
@@ -1,5 +0,0 @@
-Netscape Portable Runtime (NSPR) provides a platform-neutral API for system
-level and libc like functions. The API is used in the Mozilla client, many of
-Netscape/AOL/iPlanet's and other software offerings.
-
-WWW: http://www.mozilla.org/projects/nspr/index.html
diff --git a/devel/nspr/pkg-plist b/devel/nspr/pkg-plist
deleted file mode 100644
index e9264e526..000000000
--- a/devel/nspr/pkg-plist
+++ /dev/null
@@ -1,105 +0,0 @@
-bin/nspr-config
-include/nspr/md/_aix32.cfg
-include/nspr/md/_aix64.cfg
-include/nspr/md/_beos.cfg
-include/nspr/md/_bsdi.cfg
-include/nspr/md/_darwin.cfg
-include/nspr/md/_dgux.cfg
-include/nspr/md/_freebsd.cfg
-include/nspr/md/_hpux32.cfg
-include/nspr/md/_hpux64.cfg
-include/nspr/md/_irix32.cfg
-include/nspr/md/_irix64.cfg
-include/nspr/md/_linux.cfg
-include/nspr/md/_ncr.cfg
-include/nspr/md/_nec.cfg
-include/nspr/md/_netbsd.cfg
-include/nspr/md/_nextstep.cfg
-include/nspr/md/_nto.cfg
-include/nspr/md/_openbsd.cfg
-include/nspr/md/_openvms.cfg
-include/nspr/md/_os2.cfg
-include/nspr/md/_osf1.cfg
-include/nspr/md/_qnx.cfg
-include/nspr/md/_reliantunix.cfg
-include/nspr/md/_rhapsody.cfg
-include/nspr/md/_riscos.cfg
-include/nspr/md/_scoos.cfg
-include/nspr/md/_solaris.cfg
-include/nspr/md/_sony.cfg
-include/nspr/md/_sunos4.cfg
-include/nspr/md/_unixware.cfg
-include/nspr/md/_unixware7.cfg
-include/nspr/md/_win16.cfg
-include/nspr/md/_win95.cfg
-include/nspr/md/_winnt.cfg
-include/nspr/nspr.h
-include/nspr/obsolete/pralarm.h
-include/nspr/obsolete/probslet.h
-include/nspr/obsolete/protypes.h
-include/nspr/obsolete/prsem.h
-include/nspr/plarena.h
-include/nspr/plarenas.h
-include/nspr/plbase64.h
-include/nspr/plerror.h
-include/nspr/plgetopt.h
-include/nspr/plhash.h
-include/nspr/plresolv.h
-include/nspr/plstr.h
-include/nspr/pratom.h
-include/nspr/prbit.h
-include/nspr/prclist.h
-include/nspr/prcmon.h
-include/nspr/prcountr.h
-include/nspr/prcpucfg.h
-include/nspr/prcvar.h
-include/nspr/prdtoa.h
-include/nspr/prenv.h
-include/nspr/prerr.h
-include/nspr/prerror.h
-include/nspr/prinet.h
-include/nspr/prinit.h
-include/nspr/prinrval.h
-include/nspr/prio.h
-include/nspr/pripcsem.h
-include/nspr/private/pprio.h
-include/nspr/private/pprthred.h
-include/nspr/private/prpriv.h
-include/nspr/prlink.h
-include/nspr/prlock.h
-include/nspr/prlog.h
-include/nspr/prlong.h
-include/nspr/prmem.h
-include/nspr/prmon.h
-include/nspr/prmwait.h
-include/nspr/prnetdb.h
-include/nspr/prolock.h
-include/nspr/prpdce.h
-include/nspr/prprf.h
-include/nspr/prproces.h
-include/nspr/prrng.h
-include/nspr/prrwlock.h
-include/nspr/prshm.h
-include/nspr/prshma.h
-include/nspr/prsystem.h
-include/nspr/prthread.h
-include/nspr/prtime.h
-include/nspr/prtpool.h
-include/nspr/prtrace.h
-include/nspr/prtypes.h
-include/nspr/prvrsion.h
-include/nspr/prwin16.h
-lib/libnspr4.a
-lib/libnspr4.so
-lib/libnspr4.so.1
-lib/libplc4.a
-lib/libplc4.so
-lib/libplc4.so.1
-lib/libplds4.a
-lib/libplds4.so
-lib/libplds4.so.1
-libdata/pkgconfig/nspr.pc
-@dirrm include/nspr/private
-@dirrm include/nspr/obsolete
-@dirrm include/nspr/md
-@dirrm include/nspr
diff --git a/graphics/png/Makefile b/graphics/png/Makefile
deleted file mode 100644
index bfc3374b4..000000000
--- a/graphics/png/Makefile
+++ /dev/null
@@ -1,54 +0,0 @@
-# New ports collection makefile for: PNG images library
-# Date created: 5 Dec 1995
-# Whom: ache
-#
-# $FreeBSD$
-#
-
-PORTNAME= png
-PORTVERSION= 1.2.18
-PORTREVISION= 1
-CATEGORIES= graphics
-MASTER_SITES= ${MASTER_SITE_SOURCEFORGE}
-MASTER_SITE_SUBDIR= lib${PORTNAME}
-DISTNAME= lib${PORTNAME}-${PORTVERSION}
-
-PATCH_SITES= ${MASTER_SITES}
-#PATCH_SITE_SUBDIR= ${MASTER_SITE_SUBDIR}
-#PATCHFILES=
-#PATCH_DIST_STRIP= -p1
-
-MAINTAINER= ache@FreeBSD.org
-COMMENT= Library for manipulating PNG images
-
-MAKEFILE= ${WRKSRC}/scripts/makefile.freebsd
-ALL_TARGET= all libpng-config test
-MAKE_FLAGS= ccopts="${CFLAGS}" ldopts="${LDFLAGS}" -f
-INSTALLS_SHLIB= yes
-SHLIB_VER= 5
-USE_BZIP2= yes
-
-MAKE_ENV= SHLIB_VER="${SHLIB_VER}"
-PLIST_SUB= SHLIB_VER="${SHLIB_VER}"
-
-MAN3= libpng.3 libpngpf.3
-MAN5= png.5
-MANCOMPRESSED= maybe
-
-.include <bsd.port.pre.mk>
-
-post-extract:
-# Please don't delete the following line - this link used by ghostscript* ports
- @${LN} -sf ${WRKSRC} ${WRKDIR}/libpng
-
-pre-su-install:
- @${MKDIR} ${PREFIX}/include/libpng
- @${MKDIR} ${PREFIX}/libdata/pkgconfig
-
-post-install:
- ${SED} -e 's|@PREFIX@|${PREFIX}|' ${WRKSRC}/scripts/libpng.pc.in \
- > ${WRKSRC}/scripts/libpng.pc
- ${INSTALL_DATA} ${WRKSRC}/scripts/libpng.pc \
- ${PREFIX}/libdata/pkgconfig/libpng12.pc
-
-.include <bsd.port.post.mk>
diff --git a/graphics/png/distinfo b/graphics/png/distinfo
deleted file mode 100644
index 7f2c876f1..000000000
--- a/graphics/png/distinfo
+++ /dev/null
@@ -1,3 +0,0 @@
-MD5 (libpng-1.2.18.tar.bz2) = 25a7f2f101eaaf2eb18c4987e0fbe39d
-SHA256 (libpng-1.2.18.tar.bz2) = 6fce62f9e67e951c38672bf520c062a2be742e893d240d150748a00c32f20c62
-SIZE (libpng-1.2.18.tar.bz2) = 623690
diff --git a/graphics/png/files/patch-aa b/graphics/png/files/patch-aa
deleted file mode 100644
index e42a97dc3..000000000
--- a/graphics/png/files/patch-aa
+++ /dev/null
@@ -1,63 +0,0 @@
---- scripts/makefile.freebsd.orig Sat Feb 25 15:37:11 2006
-+++ scripts/makefile.freebsd Thu Jul 27 22:03:50 2006
-@@ -8,27 +8,26 @@
- LIB= png
- SHLIB_MAJOR= ${SHLIB_VER}
- SHLIB_MINOR= 0
-+.if (${OSVERSION} > 600007)
-+NO_PROFILE= YES
-+NO_OBJ= YES
-+.else
- NOPROFILE= YES
--NOOBJ= YES
-+NOOBJ= YES
-+.endif
-
- # where make install puts libpng.a and png.h
--DESTDIR= ${PREFIX}
--LIBDIR= /lib
-+LIBDIR= ${PREFIX}/lib
- INCS= png.h pngconf.h
--INCSDIR= /include/libpng
-+INCSDIR= ${PREFIX}/include/libpng
- INCDIR= ${INCSDIR} # for 4.x bsd.lib.mk
- MAN= libpng.3 libpngpf.3 png.5
--MANDIR= /man/man
-+MANDIR= ${PREFIX}/man/man
- SYMLINKS= libpng/png.h ${INCSDIR}/../png.h \
- libpng/pngconf.h ${INCSDIR}/../pngconf.h
- LDADD+= -lm -lz
- DPADD+= ${LIBM} ${LIBZ}
-
--CFLAGS+= -I. -DPNG_USE_PNGGCCRD
--.if (${MACHINE_ARCH} != "i386")
--CFLAGS+= -DPNG_NO_MMX_CODE
--.endif
--
- SRCS= png.c pngset.c pngget.c pngrutil.c pngtrans.c pngwutil.c \
- pngread.c pngrio.c pngwio.c pngwrite.c pngrtran.c \
- pngwtran.c pngmem.c pngerror.c pngpread.c pnggccrd.c
-@@ -44,5 +43,23 @@
- DOCS = ANNOUNCE CHANGES INSTALL KNOWNBUG LICENSE README TODO Y2KINFO
- writelock:
- chmod a-w *.[ch35] $(DOCS) scripts/*
-+
-+libpng-config:
-+ ( cat scripts/libpng-config-head.in; \
-+ echo prefix=\"${PREFIX}\"; \
-+ echo libdir=\"${LIBDIR}\"; \
-+ echo ccopts=\"${ccopts}\"; \
-+ echo cppflags=\"${cppflags}\"; \
-+ echo I_opts=\"-I${INCSDIR}\"; \
-+ echo L_opts=\"-L${LIBDIR}\"; \
-+ echo libs=\"-lpng -lz -lm\"; \
-+ echo ldopts=\"${ldopts}\"; \
-+ cat scripts/libpng-config-body.in ) > libpng-config
-+ chmod +x libpng-config
-+
-+beforeinstall: libpng-config
-+ ${INSTALL} -o ${BINOWN} -g ${BINGRP} -m ${BINMODE} \
-+ libpng-config ${PREFIX}/bin
-+ ln -sf libpng-config ${PREFIX}/bin/libpng12-config
-
- .include <bsd.lib.mk>
diff --git a/graphics/png/files/patch-ab b/graphics/png/files/patch-ab
deleted file mode 100644
index e07387daf..000000000
--- a/graphics/png/files/patch-ab
+++ /dev/null
@@ -1,18 +0,0 @@
---- scripts/libpng.pc.in.orig Wed Jun 28 00:22:40 2006
-+++ scripts/libpng.pc.in Sun Jul 23 10:56:25 2006
-@@ -1,10 +1,10 @@
--prefix=@prefix@
--exec_prefix=@exec_prefix@
--libdir=@libdir@
--includedir=@includedir@/libpng12
-+prefix=@PREFIX@
-+exec_prefix=${prefix}
-+libdir=${exec_prefix}/lib
-+includedir=${prefix}/include
-
- Name: libpng
- Description: Loads and saves PNG files
- Version: 1.2.18
--Libs: -L${libdir} -lpng12
-+Libs: -L${libdir} -lpng -lz -lm
- Cflags: -I${includedir}
diff --git a/graphics/png/files/patch-ac b/graphics/png/files/patch-ac
deleted file mode 100644
index 5666752ac..000000000
--- a/graphics/png/files/patch-ac
+++ /dev/null
@@ -1,16 +0,0 @@
---- scripts/libpng-config-body.in.orig Wed Sep 18 08:05:43 2002
-+++ scripts/libpng-config-body.in Sun Jul 23 10:27:47 2006
-@@ -77,8 +77,12 @@
- echo ${R_opts}
- ;;
-
-+ --ldopts)
-+ echo ${ldopts}
-+ ;;
-+
- --ldflags)
-- echo ${ldflags} ${L_opts} ${R_opts} ${libs}
-+ echo ${ldopts} ${L_opts} ${R_opts} ${libs}
- ;;
-
- --static)
diff --git a/graphics/png/files/patch-ad b/graphics/png/files/patch-ad
deleted file mode 100644
index 08efacae5..000000000
--- a/graphics/png/files/patch-ad
+++ /dev/null
@@ -1,11 +0,0 @@
---- pngconf.h.orig Wed May 16 03:52:22 2007
-+++ pngconf.h Mon May 21 13:25:03 2007
-@@ -729,7 +729,7 @@
- * PNG_NO_MMX_CODE disables the use of MMX code without changing the API.
- * When MMX code is off, then optimized C replacement functions are used.
- */
--#if defined(PNG_READ_SUPPORTED) && !defined(PNG_NO_ASSEMBLER_CODE)
-+#if defined(PNG_READ_SUPPORTED) && !defined(PNG_NO_ASSEMBLER_CODE) && defined(__i386__)
- # ifndef PNG_ASSEMBLER_CODE_SUPPORTED
- # define PNG_ASSEMBLER_CODE_SUPPORTED
- # endif
diff --git a/graphics/png/files/patch-ae b/graphics/png/files/patch-ae
deleted file mode 100644
index cb24f17da..000000000
--- a/graphics/png/files/patch-ae
+++ /dev/null
@@ -1,18 +0,0 @@
---- pnggccrd.c.bak Wed May 16 03:52:23 2007
-+++ pnggccrd.c Mon May 21 13:04:54 2007
-@@ -359,6 +359,7 @@
- _pctemp = _pctemp;
- _MMXLength = _MMXLength;
- #endif
-+#if 0
- _const4 = _const4;
- _const6 = _const6;
- _mask8_0 = _mask8_0;
-@@ -377,6 +378,7 @@
- _mask48_2 = _mask48_2;
- _mask48_1 = _mask48_1;
- _mask48_0 = _mask48_0;
-+#endif
- }
- #endif /* PNG_MMX_CODE_SUPPORTED */
-
diff --git a/graphics/png/files/patch-apng b/graphics/png/files/patch-apng
deleted file mode 100644
index e72ac3af5..000000000
--- a/graphics/png/files/patch-apng
+++ /dev/null
@@ -1,1696 +0,0 @@
-Index: pngread.c
-===================================================================
---- pngread.c (révision 119)
-+++ pngread.c (copie de travail)
-@@ -401,6 +401,11 @@
- #if defined(PNG_READ_zTXt_SUPPORTED)
- PNG_zTXt;
- #endif
-+#if defined(PNG_READ_APNG_SUPPORTED)
-+ PNG_acTL;
-+ PNG_fcTL;
-+ PNG_fdAT;
-+#endif
- #endif /* PNG_USE_LOCAL_ARRAYS */
- png_byte chunk_length[4];
- png_uint_32 length;
-@@ -454,6 +459,9 @@
- !(png_ptr->mode & PNG_HAVE_PLTE))
- png_error(png_ptr, "Missing PLTE before IDAT");
-
-+#if defined(PNG_READ_APNG_SUPPORTED)
-+ png_have_info(png_ptr, info_ptr);
-+#endif
- png_ptr->idat_size = length;
- png_ptr->mode |= PNG_HAVE_IDAT;
- break;
-@@ -526,12 +534,97 @@
- else if (!png_memcmp(png_ptr->chunk_name, png_iTXt, 4))
- png_handle_iTXt(png_ptr, info_ptr, length);
- #endif
-+#if defined(PNG_READ_APNG_SUPPORTED)
-+ else if (!png_memcmp(png_ptr->chunk_name, png_acTL, 4))
-+ png_handle_acTL(png_ptr, info_ptr, length);
-+ else if (!png_memcmp(png_ptr->chunk_name, png_fcTL, 4))
-+ png_handle_fcTL(png_ptr, info_ptr, length);
-+ else if (!png_memcmp(png_ptr->chunk_name, png_fdAT, 4))
-+ png_handle_fdAT(png_ptr, info_ptr, length);
-+#endif
- else
- png_handle_unknown(png_ptr, info_ptr, length);
- }
- }
- #endif /* PNG_NO_SEQUENTIAL_READ_SUPPORTED */
-
-+#if defined(PNG_READ_APNG_SUPPORTED)
-+void PNGAPI
-+png_read_frame_head(png_structp png_ptr, png_infop info_ptr)
-+{
-+ png_byte have_chunk_after_DAT; /* after IDAT or after fdAT */
-+
-+ png_debug(0, "Reading frame head\n");
-+
-+ if (!(png_ptr->mode & PNG_HAVE_acTL))
-+ png_error(png_ptr, "attempt to png_read_frame_head() but "
-+ "no acTL present");
-+
-+ /* do nothing for the main IDAT */
-+ if (png_ptr->num_frames_read == 0)
-+ return;
-+
-+ png_crc_finish(png_ptr, 0); /* CRC from last IDAT or fdAT chunk */
-+
-+ png_read_reset(png_ptr);
-+ png_ptr->mode &= ~PNG_HAVE_fcTL;
-+
-+ have_chunk_after_DAT = 0;
-+ for (;;)
-+ {
-+#ifdef PNG_USE_LOCAL_ARRAYS
-+ PNG_IDAT;
-+ PNG_fdAT;
-+ PNG_fcTL;
-+#endif
-+ png_byte chunk_length[4];
-+ png_uint_32 length;
-+
-+ png_read_data(png_ptr, chunk_length, 4);
-+ length = png_get_uint_31(png_ptr, chunk_length);
-+
-+ png_reset_crc(png_ptr);
-+ png_crc_read(png_ptr, png_ptr->chunk_name, 4);
-+
-+ if (!png_memcmp(png_ptr->chunk_name, png_IDAT, 4))
-+ {
-+ /* discard trailing IDATs for the first frame */
-+ if (have_chunk_after_DAT || png_ptr->num_frames_read > 1)
-+ png_error(png_ptr, "png_read_frame_head(): out of place IDAT");
-+ png_crc_finish(png_ptr, length);
-+ }
-+ else if (!png_memcmp(png_ptr->chunk_name, png_fcTL, 4))
-+ {
-+ png_handle_fcTL(png_ptr, info_ptr, length);
-+ have_chunk_after_DAT = 1;
-+ }
-+ else if (!png_memcmp(png_ptr->chunk_name, png_fdAT, 4))
-+ {
-+ png_ensure_sequence_number(png_ptr, length);
-+
-+ /* discard trailing fdATs for frames other than the first */
-+ if (!have_chunk_after_DAT && png_ptr->num_frames_read > 1)
-+ png_crc_finish(png_ptr, length - 4);
-+ else if(png_ptr->mode & PNG_HAVE_fcTL)
-+ {
-+ png_ptr->idat_size = length - 4;
-+ png_ptr->mode |= PNG_HAVE_IDAT;
-+
-+ break;
-+ }
-+ else
-+ png_error(png_ptr, "png_read_frame_head(): out of place fdAT");
-+ }
-+ else
-+ {
-+ png_warning(png_ptr, "Skipped (ignored) a chunk "
-+ "between APNG chunks");
-+ png_crc_finish(png_ptr, length);
-+ }
-+ }
-+}
-+#endif /* PNG_READ_APNG_SUPPORTED */
-+
- /* optional call to update the users info_ptr structure */
- void PNGAPI
- png_read_update_info(png_structp png_ptr, png_infop info_ptr)
-@@ -568,6 +661,10 @@
- {
- #ifdef PNG_USE_LOCAL_ARRAYS
- PNG_IDAT;
-+#if defined(PNG_READ_APNG_SUPPORTED)
-+ PNG_fdAT;
-+ PNG_IEND;
-+#endif
- const int png_pass_dsp_mask[7] = {0xff, 0x0f, 0xff, 0x33, 0xff, 0x55, 0xff};
- const int png_pass_mask[7] = {0x80, 0x08, 0x88, 0x22, 0xaa, 0x55, 0xff};
- #endif
-@@ -696,19 +793,46 @@
- {
- if (!(png_ptr->zstream.avail_in))
- {
-- while (!png_ptr->idat_size)
-+ png_uint_32 bytes_to_skip = 0;
-+
-+ while (!png_ptr->idat_size || bytes_to_skip != 0)
- {
- png_byte chunk_length[4];
-
-- png_crc_finish(png_ptr, 0);
--
-+ png_crc_finish(png_ptr, bytes_to_skip);
-+ bytes_to_skip = 0;
-+
- png_read_data(png_ptr, chunk_length, 4);
- png_ptr->idat_size = png_get_uint_31(png_ptr,chunk_length);
--
-+
- png_reset_crc(png_ptr);
- png_crc_read(png_ptr, png_ptr->chunk_name, 4);
-- if (png_memcmp(png_ptr->chunk_name, png_IDAT, 4))
-- png_error(png_ptr, "Not enough image data");
-+
-+#if defined(PNG_READ_APNG_SUPPORTED)
-+ if (png_ptr->num_frames_read == 0)
-+ {
-+#endif
-+ if (png_memcmp(png_ptr->chunk_name, png_IDAT, 4))
-+ png_error(png_ptr, "Not enough image data");
-+#if defined(PNG_READ_APNG_SUPPORTED)
-+ }
-+ else
-+ {
-+ if (!png_memcmp(png_ptr->chunk_name, png_IEND, 4))
-+ png_error(png_ptr, "Not enough image data");
-+ if (png_memcmp(png_ptr->chunk_name, png_fdAT, 4))
-+ {
-+ png_warning(png_ptr, "Skipped (ignored) a chunk "
-+ "between APNG chunks");
-+ bytes_to_skip = png_ptr->idat_size;
-+ continue;
-+ }
-+
-+ png_ensure_sequence_number(png_ptr, png_ptr->idat_size);
-+
-+ png_ptr->idat_size -= 4;
-+ }
-+#endif
- }
- png_ptr->zstream.avail_in = (uInt)png_ptr->zbuf_size;
- png_ptr->zstream.next_in = png_ptr->zbuf;
-@@ -726,6 +850,9 @@
- png_error(png_ptr, "Extra compressed data");
- png_ptr->mode |= PNG_AFTER_IDAT;
- png_ptr->flags |= PNG_FLAG_ZLIB_FINISHED;
-+#if defined(PNG_READ_APNG_SUPPORTED)
-+ png_ptr->num_frames_read++;
-+#endif
- break;
- }
- if (ret != Z_OK)
-@@ -980,6 +1107,11 @@
- #if defined(PNG_READ_zTXt_SUPPORTED)
- PNG_zTXt;
- #endif
-+#if defined(PNG_READ_APNG_SUPPORTED)
-+ PNG_acTL;
-+ PNG_fcTL;
-+ PNG_fdAT;
-+#endif
- #endif /* PNG_USE_LOCAL_ARRAYS */
-
- png_read_data(png_ptr, chunk_length, 4);
-@@ -1086,6 +1218,14 @@
- else if (!png_memcmp(png_ptr->chunk_name, png_iTXt, 4))
- png_handle_iTXt(png_ptr, info_ptr, length);
- #endif
-+#if defined(PNG_READ_APNG_SUPPORTED)
-+ else if (!png_memcmp(png_ptr->chunk_name, png_acTL, 4))
-+ png_handle_acTL(png_ptr, info_ptr, length);
-+ else if (!png_memcmp(png_ptr->chunk_name, png_fcTL, 4))
-+ png_handle_fcTL(png_ptr, info_ptr, length);
-+ else if (!png_memcmp(png_ptr->chunk_name, png_fdAT, 4))
-+ png_handle_fdAT(png_ptr, info_ptr, length);
-+#endif
- else
- png_handle_unknown(png_ptr, info_ptr, length);
- } while (!(png_ptr->mode & PNG_HAVE_IEND));
-Index: png.c
-===================================================================
---- png.c (révision 119)
-+++ png.c (copie de travail)
-@@ -51,6 +51,9 @@
- PNG_tIME;
- PNG_tRNS;
- PNG_zTXt;
-+PNG_acTL;
-+PNG_fcTL;
-+PNG_fdAT;
-
- #ifdef PNG_READ_SUPPORTED
- /* arrays to facilitate easy interlacing - use pass (0 - 6) as index */
-Index: pngget.c
-===================================================================
---- pngget.c (révision 119)
-+++ pngget.c (copie de travail)
-@@ -794,6 +794,167 @@
- }
- #endif
-
-+#if defined(PNG_APNG_SUPPORTED)
-+png_uint_32 PNGAPI
-+png_get_acTL(png_structp png_ptr, png_infop info_ptr,
-+ png_uint_32 *num_frames, png_uint_32 *num_plays)
-+{
-+ png_debug1(1, "in %s retrieval function\n", "acTL");
-+
-+ if (png_ptr != NULL && info_ptr != NULL &&
-+ (info_ptr->valid & PNG_INFO_acTL) &&
-+ num_frames != NULL && num_plays != NULL)
-+ {
-+ *num_frames = info_ptr->num_frames;
-+ *num_plays = info_ptr->num_plays;
-+ return (1);
-+ }
-+
-+ return (0);
-+}
-+
-+png_uint_32 PNGAPI
-+png_get_num_frames(png_structp png_ptr, png_infop info_ptr)
-+{
-+ png_debug(1, "in png_get_num_frames()\n");
-+
-+ if (png_ptr != NULL && info_ptr != NULL)
-+ return (info_ptr->num_frames);
-+ return (0);
-+}
-+
-+png_uint_32 PNGAPI
-+png_get_num_plays(png_structp png_ptr, png_infop info_ptr)
-+{
-+ png_debug(1, "in png_get_num_plays()\n");
-+
-+ if (png_ptr != NULL && info_ptr != NULL)
-+ return (info_ptr->num_plays);
-+ return (0);
-+}
-+
-+png_uint_32 PNGAPI
-+png_get_next_frame_fcTL(png_structp png_ptr, png_infop info_ptr,
-+ png_uint_32 *width, png_uint_32 *height,
-+ png_uint_32 *x_offset, png_uint_32 *y_offset,
-+ png_uint_16 *delay_num, png_uint_16 *delay_den,
-+ png_byte *dispose_op, png_byte *blend_op)
-+{
-+ png_debug1(1, "in %s retrieval function\n", "fcTL");
-+
-+ if (png_ptr != NULL && info_ptr != NULL &&
-+ (info_ptr->valid & PNG_INFO_fcTL) &&
-+ width != NULL && height != NULL &&
-+ x_offset != NULL && x_offset != NULL &&
-+ delay_num != NULL && delay_den != NULL &&
-+ dispose_op != NULL && blend_op != NULL)
-+ {
-+ *width = info_ptr->next_frame_width;
-+ *height = info_ptr->next_frame_height;
-+ *x_offset = info_ptr->next_frame_x_offset;
-+ *y_offset = info_ptr->next_frame_y_offset;
-+ *delay_num = info_ptr->next_frame_delay_num;
-+ *delay_den = info_ptr->next_frame_delay_den;
-+ *dispose_op = info_ptr->next_frame_dispose_op;
-+ *blend_op = info_ptr->next_frame_blend_op;
-+ return (1);
-+ }
-+
-+ return (0);
-+}
-+
-+png_uint_32 PNGAPI
-+png_get_next_frame_width(png_structp png_ptr, png_infop info_ptr)
-+{
-+ png_debug(1, "in png_get_next_frame_width()\n");
-+
-+ if (png_ptr != NULL && info_ptr != NULL)
-+ return (info_ptr->next_frame_width);
-+ return (0);
-+}
-+
-+png_uint_32 PNGAPI
-+png_get_next_frame_height(png_structp png_ptr, png_infop info_ptr)
-+{
-+ png_debug(1, "in png_get_next_frame_height()\n");
-+
-+ if (png_ptr != NULL && info_ptr != NULL)
-+ return (info_ptr->next_frame_height);
-+ return (0);
-+}
-+
-+png_uint_32 PNGAPI
-+png_get_next_frame_x_offset(png_structp png_ptr, png_infop info_ptr)
-+{
-+ png_debug(1, "in png_get_next_frame_x_offset()\n");
-+
-+ if (png_ptr != NULL && info_ptr != NULL)
-+ return (info_ptr->next_frame_x_offset);
-+ return (0);
-+}
-+
-+png_uint_32 PNGAPI
-+png_get_next_frame_y_offset(png_structp png_ptr, png_infop info_ptr)
-+{
-+ png_debug(1, "in png_get_next_frame_y_offset()\n");
-+
-+ if (png_ptr != NULL && info_ptr != NULL)
-+ return (info_ptr->next_frame_y_offset);
-+ return (0);
-+}
-+
-+png_uint_16 PNGAPI
-+png_get_next_frame_delay_num(png_structp png_ptr, png_infop info_ptr)
-+{
-+ png_debug(1, "in png_get_next_frame_delay_num()\n");
-+
-+ if (png_ptr != NULL && info_ptr != NULL)
-+ return (info_ptr->next_frame_delay_num);
-+ return (0);
-+}
-+
-+png_uint_16 PNGAPI
-+png_get_next_frame_delay_den(png_structp png_ptr, png_infop info_ptr)
-+{
-+ png_debug(1, "in png_get_next_frame_delay_den()\n");
-+
-+ if (png_ptr != NULL && info_ptr != NULL)
-+ return (info_ptr->next_frame_delay_den);
-+ return (0);
-+}
-+
-+png_byte PNGAPI
-+png_get_next_frame_dispose_op(png_structp png_ptr, png_infop info_ptr)
-+{
-+ png_debug(1, "in png_get_next_frame_dispose_op()\n");
-+
-+ if (png_ptr != NULL && info_ptr != NULL)
-+ return (info_ptr->next_frame_dispose_op);
-+ return (0);
-+}
-+
-+png_byte PNGAPI
-+png_get_next_frame_blend_op(png_structp png_ptr, png_infop info_ptr)
-+{
-+ png_debug(1, "in png_get_next_frame_blend_op()\n");
-+
-+ if (png_ptr != NULL && info_ptr != NULL)
-+ return (info_ptr->next_frame_blend_op);
-+ return (0);
-+}
-+
-+png_byte PNGAPI
-+png_get_first_frame_is_hidden(png_structp png_ptr, png_infop info_ptr)
-+{
-+ png_debug(1, "in png_first_frame_is_hidden()\n");
-+
-+ if (png_ptr != NULL)
-+ return (png_byte)(png_ptr->apng_flags & PNG_FIRST_FRAME_HIDDEN);
-+
-+ return 0;
-+}
-+#endif /* PNG_APNG_SUPPORTED */
-+
- #if defined(PNG_UNKNOWN_CHUNKS_SUPPORTED)
- png_uint_32 PNGAPI
- png_get_unknown_chunks(png_structp png_ptr, png_infop info_ptr,
-Index: pngconf.h
-===================================================================
---- pngconf.h (révision 119)
-+++ pngconf.h (copie de travail)
-@@ -905,6 +905,10 @@
- # define PNG_READ_zTXt_SUPPORTED
- # define PNG_zTXt_SUPPORTED
- #endif
-+#ifndef PNG_NO_READ_APNG
-+# define PNG_READ_APNG_SUPPORTED
-+# define PNG_APNG_SUPPORTED
-+#endif
- #ifndef PNG_NO_READ_UNKNOWN_CHUNKS
- # define PNG_READ_UNKNOWN_CHUNKS_SUPPORTED
- # ifndef PNG_UNKNOWN_CHUNKS_SUPPORTED
-@@ -1047,6 +1051,12 @@
- # define PNG_zTXt_SUPPORTED
- # endif
- #endif
-+#ifndef PNG_NO_WRITE_APNG
-+# define PNG_WRITE_APNG_SUPPORTED
-+# ifndef PNG_APNG_SUPPORTED
-+# define PNG_APNG_SUPPORTED
-+# endif
-+#endif
- #ifndef PNG_NO_WRITE_UNKNOWN_CHUNKS
- # define PNG_WRITE_UNKNOWN_CHUNKS_SUPPORTED
- # ifndef PNG_UNKNOWN_CHUNKS_SUPPORTED
-Index: pngwrite.c
-===================================================================
---- pngwrite.c (révision 119)
-+++ pngwrite.c (copie de travail)
-@@ -261,6 +261,10 @@
- }
- }
- #endif
-+#if defined(PNG_WRITE_APNG_SUPPORTED)
-+ if (info_ptr->valid & PNG_INFO_acTL)
-+ png_write_acTL(png_ptr, info_ptr->num_frames, info_ptr->num_plays);
-+#endif
- #if defined(PNG_WRITE_UNKNOWN_CHUNKS_SUPPORTED)
- if (info_ptr->unknown_chunks_num)
- {
-@@ -299,6 +303,10 @@
- return;
- if (!(png_ptr->mode & PNG_HAVE_IDAT))
- png_error(png_ptr, "No IDATs written into file");
-+#if defined(PNG_WRITE_APNG_SUPPORTED)
-+ if (png_ptr->num_frames_written != png_ptr->num_frames_to_write)
-+ png_error(png_ptr, "Not enough frames written");
-+#endif
-
- /* see if user wants us to write information chunks */
- if (info_ptr != NULL)
-@@ -1515,4 +1523,39 @@
- /* quiet compiler warnings */ return;
- }
- #endif
-+
-+#if defined(PNG_WRITE_APNG_SUPPORTED)
-+void PNGAPI
-+png_write_frame_head(png_structp png_ptr, png_infop info_ptr,
-+ png_bytepp row_pointers, png_uint_32 width, png_uint_32 height,
-+ png_uint_32 x_offset, png_uint_32 y_offset,
-+ png_uint_16 delay_num, png_uint_16 delay_den, png_byte dispose_op,
-+ png_byte blend_op)
-+{
-+ png_debug(1, "in png_write_frame_head\n");
-+
-+ /* there is a chance this has been set after png_write_info was called,
-+ * so it would be set but not written. is there a way to be sure? */
-+ if (!(info_ptr->valid & PNG_INFO_acTL))
-+ png_error(png_ptr, "png_write_frame_head(): acTL not set");
-+
-+ png_write_reset(png_ptr);
-+
-+ png_write_reinit(png_ptr, info_ptr, width, height);
-+
-+ if ( !(png_ptr->num_frames_written == 0 &&
-+ (png_ptr->apng_flags & PNG_FIRST_FRAME_HIDDEN) ) )
-+ png_write_fcTL(png_ptr, width, height, x_offset, y_offset,
-+ delay_num, delay_den, dispose_op, blend_op);
-+}
-+
-+void PNGAPI
-+png_write_frame_tail(png_structp png_ptr, png_infop png_info)
-+{
-+ png_debug(1, "in png_write_frame_tail\n");
-+
-+ png_ptr->num_frames_written++;
-+}
-+#endif /* PNG_WRITE_APNG_SUPPORTED */
-+
- #endif /* PNG_WRITE_SUPPORTED */
-Index: pngset.c
-===================================================================
---- pngset.c (révision 119)
-+++ pngset.c (copie de travail)
-@@ -362,6 +362,11 @@
- info_ptr->rowbytes = (png_size_t)0;
- else
- info_ptr->rowbytes = PNG_ROWBYTES(info_ptr->pixel_depth,width);
-+
-+#if defined(PNG_APNG_SUPPORTED)
-+ /* for non-animated png. this may be overritten from an acTL chunk later */
-+ info_ptr->num_frames = 1;
-+#endif
- }
-
- #if defined(PNG_oFFs_SUPPORTED)
-@@ -993,6 +998,141 @@
- }
- #endif /* PNG_sPLT_SUPPORTED */
-
-+#if defined(PNG_APNG_SUPPORTED)
-+png_uint_32 PNGAPI
-+png_set_acTL(png_structp png_ptr, png_infop info_ptr,
-+ png_uint_32 num_frames, png_uint_32 num_plays)
-+{
-+ png_debug1(1, "in %s storage function\n", "acTL");
-+
-+ if (png_ptr == NULL || info_ptr == NULL)
-+ {
-+ png_warning(png_ptr,
-+ "Call to png_set_acTL() with NULL png_ptr "
-+ "or info_ptr ignored");
-+ return (0);
-+ }
-+ if (num_frames == 0)
-+ {
-+ png_warning(png_ptr,
-+ "Ignoring attempt to set acTL with num_frames zero");
-+ return (0);
-+ }
-+ if (num_frames > PNG_UINT_31_MAX)
-+ {
-+ png_warning(png_ptr,
-+ "Ignoring attempt to set acTL with num_frames > 2^31-1");
-+ return (0);
-+ }
-+ if (num_plays > PNG_UINT_31_MAX)
-+ {
-+ png_warning(png_ptr,
-+ "Ignoring attempt to set acTL with num_plays "
-+ "> 2^31-1");
-+ return (0);
-+ }
-+
-+ info_ptr->num_frames = num_frames;
-+ info_ptr->num_plays = num_plays;
-+
-+ info_ptr->valid |= PNG_INFO_acTL;
-+
-+ return (1);
-+}
-+
-+/* delay_num and delay_den can hold any values including zero */
-+png_uint_32 PNGAPI
-+png_set_next_frame_fcTL(png_structp png_ptr, png_infop info_ptr,
-+ png_uint_32 width, png_uint_32 height,
-+ png_uint_32 x_offset, png_uint_32 y_offset,
-+ png_uint_16 delay_num, png_uint_16 delay_den,
-+ png_byte dispose_op, png_byte blend_op)
-+{
-+ png_debug1(1, "in %s storage function\n", "fcTL");
-+
-+ if (png_ptr == NULL || info_ptr == NULL)
-+ {
-+ png_warning(png_ptr,
-+ "Call to png_set_fcTL() with NULL png_ptr or info_ptr "
-+ "ignored");
-+ return (0);
-+ }
-+
-+ png_ensure_fcTL_is_valid(png_ptr, width, height, x_offset, y_offset,
-+ delay_num, delay_den, dispose_op, blend_op);
-+
-+ info_ptr->next_frame_width = width;
-+ info_ptr->next_frame_height = height;
-+ info_ptr->next_frame_x_offset = x_offset;
-+ info_ptr->next_frame_y_offset = y_offset;
-+ info_ptr->next_frame_delay_num = delay_num;
-+ info_ptr->next_frame_delay_den = delay_den;
-+ info_ptr->next_frame_dispose_op = dispose_op;
-+ info_ptr->next_frame_blend_op = blend_op;
-+
-+ info_ptr->valid |= PNG_INFO_fcTL;
-+
-+ return (1);
-+}
-+
-+void /* PRIVATE */
-+png_ensure_fcTL_is_valid(png_structp png_ptr,
-+ png_uint_32 width, png_uint_32 height,
-+ png_uint_32 x_offset, png_uint_32 y_offset,
-+ png_uint_16 delay_num, png_uint_16 delay_den,
-+ png_byte dispose_op, png_byte blend_op)
-+{
-+ if (width > png_ptr->first_frame_width ||
-+ height > png_ptr->first_frame_height)
-+ png_error(png_ptr, "width and/or height for a frame greater than"
-+ "the ones in IHDR");
-+ if (width > PNG_UINT_31_MAX)
-+ png_error(png_ptr, "invalid width in fcTL (> 2^31-1)");
-+ if (height > PNG_UINT_31_MAX)
-+ png_error(png_ptr, "invalid height in fcTL (> 2^31-1)");
-+ if (x_offset > PNG_UINT_31_MAX)
-+ png_error(png_ptr, "invalid x_offset in fcTL (> 2^31-1)");
-+ if (y_offset > PNG_UINT_31_MAX)
-+ png_error(png_ptr, "invalid y_offset in fcTL (> 2^31-1)");
-+
-+ if (dispose_op != PNG_DISPOSE_OP_NONE &&
-+ dispose_op != PNG_DISPOSE_OP_BACKGROUND &&
-+ dispose_op != PNG_DISPOSE_OP_PREVIOUS)
-+ png_error(png_ptr, "invalid dispose_op in fcTL");
-+
-+ if (blend_op != PNG_BLEND_OP_SOURCE &&
-+ blend_op != PNG_BLEND_OP_OVER)
-+ png_error(png_ptr, "invalid blend_op in fcTL");
-+
-+ if (blend_op == PNG_BLEND_OP_OVER) {
-+ if (png_ptr->color_type == PNG_COLOR_TYPE_GRAY)
-+ png_error(png_ptr, "PNG_BLEND_OP_OVER is not valid for "
-+ "color type 'greyscale without alpha'");
-+ else if ((png_ptr->color_type & PNG_COLOR_MASK_COLOR) &&
-+ !(png_ptr->color_type & PNG_COLOR_MASK_ALPHA))
-+ png_error(png_ptr, "PNG_BLEND_OP_OVER is not valid for "
-+ "color type 'truecolor without alpha'");
-+ }
-+}
-+
-+png_uint_32 PNGAPI
-+png_set_first_frame_is_hidden(png_structp png_ptr, png_infop info_ptr,
-+ png_byte is_hidden)
-+{
-+ png_debug(1, "in png_first_frame_is_hidden()\n");
-+
-+ if (png_ptr == NULL)
-+ return 0;
-+
-+ if(is_hidden)
-+ png_ptr->apng_flags |= PNG_FIRST_FRAME_HIDDEN;
-+ else
-+ png_ptr->apng_flags &= ~PNG_FIRST_FRAME_HIDDEN;
-+
-+ return 1;
-+}
-+#endif /* PNG_APNG_SUPPORTED */
-+
- #if defined(PNG_UNKNOWN_CHUNKS_SUPPORTED)
- void PNGAPI
- png_set_unknown_chunks(png_structp png_ptr,
-Index: pngrutil.c
-===================================================================
---- pngrutil.c (révision 119)
-+++ pngrutil.c (copie de travail)
-@@ -366,6 +366,11 @@
- filter_type = buf[11];
- interlace_type = buf[12];
-
-+#if defined(PNG_READ_APNG_SUPPORTED)
-+ png_ptr->first_frame_width = width;
-+ png_ptr->first_frame_height = height;
-+#endif
-+
- /* set internal variables */
- png_ptr->width = width;
- png_ptr->height = height;
-@@ -2133,6 +2138,168 @@
- }
- #endif
-
-+#if defined(PNG_READ_APNG_SUPPORTED)
-+void /* PRIVATE */
-+png_handle_acTL(png_structp png_ptr, png_infop info_ptr, png_uint_32 length)
-+{
-+ png_byte data[8];
-+ png_uint_32 num_frames;
-+ png_uint_32 num_plays;
-+ png_uint_32 didSet;
-+
-+ png_debug(1, "in png_handle_acTL\n");
-+
-+ if (!(png_ptr->mode & PNG_HAVE_IHDR))
-+ {
-+ png_error(png_ptr, "Missing IHDR before acTL");
-+ }
-+ else if (png_ptr->mode & PNG_HAVE_IDAT)
-+ {
-+ png_warning(png_ptr, "Invalid acTL after IDAT skipped");
-+ png_crc_finish(png_ptr, length);
-+ return;
-+ }
-+ else if (png_ptr->mode & PNG_HAVE_acTL)
-+ {
-+ png_warning(png_ptr, "Duplicate acTL skipped");
-+ png_crc_finish(png_ptr, length);
-+ return;
-+ }
-+ else if (length != 8)
-+ {
-+ png_warning(png_ptr, "acTL with invalid length skipped");
-+ png_crc_finish(png_ptr, length);
-+ return;
-+ }
-+
-+ png_crc_read(png_ptr, data, 8);
-+ png_crc_finish(png_ptr, 0);
-+
-+ num_frames = png_get_uint_31(png_ptr, data);
-+ num_plays = png_get_uint_31(png_ptr, data + 4);
-+
-+ /* the set function will do error checking on num_frames */
-+ didSet = png_set_acTL(png_ptr, info_ptr, num_frames, num_plays);
-+ if(didSet)
-+ png_ptr->mode |= PNG_HAVE_acTL;
-+}
-+
-+void /* PRIVATE */
-+png_handle_fcTL(png_structp png_ptr, png_infop info_ptr, png_uint_32 length)
-+{
-+ png_byte data[22];
-+ png_uint_32 width;
-+ png_uint_32 height;
-+ png_uint_32 x_offset;
-+ png_uint_32 y_offset;
-+ png_uint_16 delay_num;
-+ png_uint_16 delay_den;
-+ png_byte dispose_op;
-+ png_byte blend_op;
-+
-+ png_debug(1, "in png_handle_fcTL\n");
-+
-+ if (!(png_ptr->mode & PNG_HAVE_IHDR))
-+ {
-+ png_error(png_ptr, "Missing IHDR before fcTL");
-+ }
-+ else if (png_ptr->mode & PNG_HAVE_IDAT)
-+ {
-+ /* for any frames other then the first this message may be misleading,
-+ * but correct. PNG_HAVE_IDAT is unset before the frame head is read
-+ * i can't think of a better message */
-+ png_warning(png_ptr, "Invalid fcTL after IDAT skipped");
-+ png_crc_finish(png_ptr, length);
-+ return;
-+ }
-+ else if (png_ptr->mode & PNG_HAVE_fcTL)
-+ {
-+ png_warning(png_ptr, "Duplicate fcTL within one frame skipped");
-+ png_crc_finish(png_ptr, length);
-+ return;
-+ }
-+ else if (length != 26)
-+ {
-+ png_warning(png_ptr, "fcTL with invalid length skipped");
-+ png_crc_finish(png_ptr, length);
-+ return;
-+ }
-+
-+ png_ensure_sequence_number(png_ptr, length);
-+
-+ png_crc_read(png_ptr, data, 22);
-+ png_crc_finish(png_ptr, 0);
-+
-+ width = png_get_uint_31(png_ptr, data);
-+ height = png_get_uint_31(png_ptr, data + 4);
-+ x_offset = png_get_uint_31(png_ptr, data + 8);
-+ y_offset = png_get_uint_31(png_ptr, data + 12);
-+ delay_num = png_get_uint_16(data + 16);
-+ delay_den = png_get_uint_16(data + 18);
-+ dispose_op = data[20];
-+ blend_op = data[21];
-+
-+ if (png_ptr->num_frames_read == 0 && (x_offset != 0 || y_offset != 0))
-+ png_error(png_ptr, "fcTL for the first frame must have zero offset");
-+ if (png_ptr->num_frames_read == 0 &&
-+ (width != info_ptr->width || height != info_ptr->height))
-+ png_error(png_ptr, "size in first frame's fcTL must match "
-+ "the size in IHDR");
-+
-+ /* the set function will do more error checking */
-+ png_set_next_frame_fcTL(png_ptr, info_ptr, width, height,
-+ x_offset, y_offset, delay_num, delay_den,
-+ dispose_op, blend_op);
-+
-+ png_read_reinit(png_ptr, info_ptr);
-+
-+ png_ptr->mode |= PNG_HAVE_fcTL;
-+}
-+
-+void /* PRIVATE */
-+png_have_info(png_structp png_ptr, png_infop info_ptr)
-+{
-+ if((info_ptr->valid & PNG_INFO_acTL) && !(info_ptr->valid & PNG_INFO_fcTL))
-+ {
-+ png_ptr->apng_flags |= PNG_FIRST_FRAME_HIDDEN;
-+ info_ptr->num_frames++;
-+ }
-+}
-+
-+void /* PRIVATE */
-+png_handle_fdAT(png_structp png_ptr, png_infop info_ptr, png_uint_32 length)
-+{
-+ png_ensure_sequence_number(png_ptr, length);
-+
-+ /* This function is only called from png_read_end(), png_read_info(),
-+ * and png_push_read_chunk() which means that:
-+ * - the user doesn't want to read this frame
-+ * - or this is an out-of-place fdAT
-+ * in either case it is safe to ignore the chunk with a warning */
-+ png_warning(png_ptr, "ignoring fdAT chunk");
-+ png_crc_finish(png_ptr, length - 4);
-+}
-+
-+void /* PRIVATE */
-+png_ensure_sequence_number(png_structp png_ptr, png_uint_32 length)
-+{
-+ png_byte data[4];
-+ png_uint_32 sequence_number;
-+
-+ if (length < 4)
-+ png_error(png_ptr, "invalid fcTL or fdAT chunk found");
-+
-+ png_crc_read(png_ptr, data, 4);
-+ sequence_number = png_get_uint_31(png_ptr, data);
-+
-+ if (sequence_number != png_ptr->next_seq_num)
-+ png_error(png_ptr, "fcTL or fdAT chunk with out-of-order sequence "
-+ "number found");
-+
-+ png_ptr->next_seq_num++;
-+}
-+#endif /* PNG_READ_APNG_SUPPORTED */
-+
- /* This function is called when we haven't found a handler for a
- chunk. If there isn't a problem with the chunk itself (ie bad
- chunk name, CRC, or a critical chunk), the chunk is silently ignored
-@@ -3097,8 +3264,10 @@
- if (row_bytes > (png_uint_32)65536L)
- png_error(png_ptr, "This image requires a row greater than 64KB");
- #endif
-- png_ptr->big_row_buf = (png_bytep)png_malloc(png_ptr, row_bytes+64);
-- png_ptr->row_buf = png_ptr->big_row_buf+32;
-+ if (png_ptr->big_row_buf == NULL)
-+ png_ptr->big_row_buf = (png_bytep)png_malloc(png_ptr, row_bytes+64);
-+ if (png_ptr->row_buf == NULL)
-+ png_ptr->row_buf = png_ptr->big_row_buf+32;
- #if defined(PNG_DEBUG) && defined(PNG_USE_PNGGCCRD)
- png_ptr->row_buf_size = row_bytes;
- #endif
-@@ -3123,4 +3292,82 @@
-
- png_ptr->flags |= PNG_FLAG_ROW_INIT;
- }
-+
-+#if defined(PNG_READ_APNG_SUPPORTED)
-+/* This function is to be called after the main IDAT set has been read and
-+ * before a new IDAT is read. It resets some parts of png_ptr
-+ * to make them usable by the read functions again */
-+void /* PRIVATE */
-+png_read_reset(png_structp png_ptr)
-+{
-+ png_ptr->mode &= ~PNG_HAVE_IDAT;
-+ png_ptr->mode &= ~PNG_AFTER_IDAT;
-+ png_ptr->row_number = 0;
-+ png_ptr->pass = 0;
-+ png_ptr->flags &= ~PNG_FLAG_ROW_INIT;
-+}
-+
-+void /* PRIVATE */
-+png_read_reinit(png_structp png_ptr, png_infop info_ptr)
-+{
-+ png_ptr->width = info_ptr->next_frame_width;
-+ png_ptr->height = info_ptr->next_frame_height;
-+ png_ptr->rowbytes = PNG_ROWBYTES(png_ptr->pixel_depth,png_ptr->width);
-+}
-+
-+/* same as png_read_reset() but for the progressive reader */
-+void /* PRIVATE */
-+png_progressive_read_reset(png_structp png_ptr)
-+{
-+#ifdef PNG_USE_LOCAL_ARRAYS
-+ /* start of interlace block */
-+ const int FARDATA png_pass_start[] = {0, 4, 0, 2, 0, 1, 0};
-+
-+ /* offset to next interlace block */
-+ const int FARDATA png_pass_inc[] = {8, 8, 4, 4, 2, 2, 1};
-+
-+ /* start of interlace block in the y direction */
-+ const int FARDATA png_pass_ystart[] = {0, 0, 4, 0, 2, 0, 1};
-+
-+ /* offset to next interlace block in the y direction */
-+ const int FARDATA png_pass_yinc[] = {8, 8, 8, 4, 4, 2, 2};
-+#endif
-+ png_uint_32 row_bytes;
-+
-+ if (png_ptr->interlaced)
-+ {
-+ if (!(png_ptr->transformations & PNG_INTERLACE))
-+ png_ptr->num_rows = (png_ptr->height + png_pass_yinc[0] - 1 -
-+ png_pass_ystart[0]) / png_pass_yinc[0];
-+ else
-+ png_ptr->num_rows = png_ptr->height;
-+
-+ png_ptr->iwidth = (png_ptr->width +
-+ png_pass_inc[png_ptr->pass] - 1 -
-+ png_pass_start[png_ptr->pass]) /
-+ png_pass_inc[png_ptr->pass];
-+
-+ row_bytes = PNG_ROWBYTES(png_ptr->pixel_depth,png_ptr->iwidth) + 1;
-+
-+ png_ptr->irowbytes = (png_size_t)row_bytes;
-+ if((png_uint_32)png_ptr->irowbytes != row_bytes)
-+ png_error(png_ptr, "png_progressive_read_reset(): Rowbytes "
-+ "overflow");
-+ }
-+ else
-+ {
-+ png_ptr->num_rows = png_ptr->height;
-+ png_ptr->iwidth = png_ptr->width;
-+ png_ptr->irowbytes = png_ptr->rowbytes + 1;
-+ }
-+
-+ png_ptr->flags &= ~PNG_FLAG_ZLIB_FINISHED;
-+ if (inflateReset(&(png_ptr->zstream)) != Z_OK)
-+ png_error(png_ptr, "inflateReset failed");
-+ png_ptr->zstream.avail_in = 0;
-+ png_ptr->zstream.next_in = 0;
-+ png_ptr->zstream.next_out = png_ptr->row_buf;
-+ png_ptr->zstream.avail_out = (uInt)png_ptr->irowbytes;
-+}
-+#endif /* PNG_READ_APNG_SUPPORTED */
- #endif /* PNG_READ_SUPPORTED */
-Index: pngwutil.c
-===================================================================
---- pngwutil.c (révision 119)
-+++ pngwutil.c (copie de travail)
-@@ -496,6 +496,11 @@
- /* write the chunk */
- png_write_chunk(png_ptr, (png_bytep)png_IHDR, buf, (png_size_t)13);
-
-+#if defined(PNG_WRITE_APNG_SUPPORTED)
-+ png_ptr->first_frame_width = width;
-+ png_ptr->first_frame_height = height;
-+#endif
-+
- /* initialize zlib with PNG info */
- png_ptr->zstream.zalloc = png_zalloc;
- png_ptr->zstream.zfree = png_zfree;
-@@ -607,7 +612,10 @@
- {
- #ifdef PNG_USE_LOCAL_ARRAYS
- PNG_IDAT;
-+#if defined(PNG_WRITE_APNG_SUPPORTED)
-+ PNG_fdAT;
- #endif
-+#endif
- png_debug(1, "in png_write_IDAT\n");
-
- /* Optimize the CMF field in the zlib stream. */
-@@ -649,7 +657,28 @@
- "Invalid zlib compression method or flags in IDAT");
- }
-
-- png_write_chunk(png_ptr, (png_bytep)png_IDAT, data, length);
-+#if defined(PNG_WRITE_APNG_SUPPORTED)
-+ if(png_ptr->num_frames_written == 0)
-+#endif
-+ png_write_chunk(png_ptr, (png_bytep)png_IDAT, data, length);
-+#if defined(PNG_WRITE_APNG_SUPPORTED)
-+ else
-+ {
-+ png_byte buf[4];
-+
-+ png_write_chunk_start(png_ptr, (png_bytep)png_fdAT, 4 + length);
-+
-+ png_save_uint_32(buf, png_ptr->next_seq_num);
-+ png_write_chunk_data(png_ptr, buf, 4);
-+
-+ png_write_chunk_data(png_ptr, data, length);
-+
-+ png_write_chunk_end(png_ptr);
-+
-+ png_ptr->next_seq_num++;
-+ }
-+#endif
-+
- png_ptr->mode |= PNG_HAVE_IDAT;
- }
-
-@@ -1720,6 +1749,70 @@
- }
- #endif
-
-+#if defined(PNG_WRITE_APNG_SUPPORTED)
-+void /* PRIVATE */
-+png_write_acTL(png_structp png_ptr,
-+ png_uint_32 num_frames, png_uint_32 num_plays)
-+{
-+#ifdef PNG_USE_LOCAL_ARRAYS
-+ PNG_acTL;
-+#endif
-+ png_byte data[16];
-+
-+ png_debug(1, "in png_write_acTL\n");
-+
-+ png_ptr->num_frames_to_write = num_frames;
-+
-+ if (png_ptr->apng_flags & PNG_FIRST_FRAME_HIDDEN)
-+ num_frames--;
-+
-+ png_save_uint_32(data, num_frames);
-+ png_save_uint_32(data + 4, num_plays);
-+
-+ png_write_chunk(png_ptr, (png_bytep)png_acTL, data, (png_size_t)8);
-+}
-+
-+void /* PRIVATE */
-+png_write_fcTL(png_structp png_ptr, png_uint_32 width, png_uint_32 height,
-+ png_uint_32 x_offset, png_uint_32 y_offset,
-+ png_uint_16 delay_num, png_uint_16 delay_den, png_byte dispose_op,
-+ png_byte blend_op)
-+{
-+#ifdef PNG_USE_LOCAL_ARRAYS
-+ PNG_fcTL;
-+#endif
-+ png_byte data[26];
-+
-+ png_debug(1, "in png_write_fcTL\n");
-+
-+ if (png_ptr->num_frames_written == 0 && (x_offset != 0 || y_offset != 0))
-+ png_error(png_ptr, "x and/or y offset for the first frame aren't 0\n");
-+ if (png_ptr->num_frames_written == 0 &&
-+ (width != png_ptr->first_frame_width ||
-+ height != png_ptr->first_frame_height))
-+ png_error(png_ptr, "width and/or height in the first frame's fcTL "
-+ "don't match the ones in IHDR\n");
-+
-+ /* more error checking */
-+ png_ensure_fcTL_is_valid(png_ptr, width, height, x_offset, y_offset,
-+ delay_num, delay_den, dispose_op, blend_op);
-+
-+ png_save_uint_32(data, png_ptr->next_seq_num);
-+ png_save_uint_32(data + 4, width);
-+ png_save_uint_32(data + 8, height);
-+ png_save_uint_32(data + 12, x_offset);
-+ png_save_uint_32(data + 16, y_offset);
-+ png_save_uint_16(data + 20, delay_num);
-+ png_save_uint_16(data + 22, delay_den);
-+ data[24] = dispose_op;
-+ data[25] = blend_op;
-+
-+ png_write_chunk(png_ptr, (png_bytep)png_fcTL, data, (png_size_t)26);
-+
-+ png_ptr->next_seq_num++;
-+}
-+#endif /* PNG_WRITE_APNG_SUPPORTED */
-+
- /* initializes the row writing capability of libpng */
- void /* PRIVATE */
- png_write_start_row(png_structp png_ptr)
-@@ -1747,14 +1840,16 @@
- png_ptr->usr_channels*png_ptr->usr_bit_depth,png_ptr->width)+1);
-
- /* set up row buffer */
-- png_ptr->row_buf = (png_bytep)png_malloc(png_ptr, (png_uint_32)buf_size);
-+ if (png_ptr->row_buf == NULL)
-+ png_ptr->row_buf = (png_bytep)png_malloc(png_ptr, (png_uint_32)buf_size);
- png_ptr->row_buf[0] = PNG_FILTER_VALUE_NONE;
-
- /* set up filtering buffer, if using this filter */
- if (png_ptr->do_filter & PNG_FILTER_SUB)
- {
-- png_ptr->sub_row = (png_bytep)png_malloc(png_ptr,
-- (png_ptr->rowbytes + 1));
-+ if (png_ptr->sub_row == NULL)
-+ png_ptr->sub_row = (png_bytep)png_malloc(png_ptr,
-+ (png_ptr->rowbytes + 1));
- png_ptr->sub_row[0] = PNG_FILTER_VALUE_SUB;
- }
-
-@@ -1762,27 +1857,31 @@
- if (png_ptr->do_filter & (PNG_FILTER_AVG | PNG_FILTER_UP | PNG_FILTER_PAETH))
- {
- /* set up previous row buffer */
-- png_ptr->prev_row = (png_bytep)png_malloc(png_ptr, (png_uint_32)buf_size);
-+ if (png_ptr->prev_row == NULL)
-+ png_ptr->prev_row = (png_bytep)png_malloc(png_ptr, (png_uint_32)buf_size);
- png_memset(png_ptr->prev_row, 0, buf_size);
-
- if (png_ptr->do_filter & PNG_FILTER_UP)
- {
-- png_ptr->up_row = (png_bytep )png_malloc(png_ptr,
-- (png_ptr->rowbytes + 1));
-+ if (png_ptr->up_row == NULL)
-+ png_ptr->up_row = (png_bytep )png_malloc(png_ptr,
-+ (png_ptr->rowbytes + 1));
- png_ptr->up_row[0] = PNG_FILTER_VALUE_UP;
- }
-
- if (png_ptr->do_filter & PNG_FILTER_AVG)
- {
-- png_ptr->avg_row = (png_bytep)png_malloc(png_ptr,
-- (png_ptr->rowbytes + 1));
-+ if (png_ptr->avg_row == NULL)
-+ png_ptr->avg_row = (png_bytep)png_malloc(png_ptr,
-+ (png_ptr->rowbytes + 1));
- png_ptr->avg_row[0] = PNG_FILTER_VALUE_AVG;
- }
-
- if (png_ptr->do_filter & PNG_FILTER_PAETH)
- {
-- png_ptr->paeth_row = (png_bytep )png_malloc(png_ptr,
-- (png_ptr->rowbytes + 1));
-+ if (png_ptr->paeth_row == NULL)
-+ png_ptr->paeth_row = (png_bytep )png_malloc(png_ptr,
-+ (png_ptr->rowbytes + 1));
- png_ptr->paeth_row[0] = PNG_FILTER_VALUE_PAETH;
- }
- }
-@@ -2774,4 +2873,39 @@
- }
- #endif
- }
-+
-+#if defined(PNG_WRITE_APNG_SUPPORTED)
-+void /* PRIVATE */
-+png_write_reset(png_structp png_ptr)
-+{
-+ png_ptr->row_number = 0;
-+ png_ptr->pass = 0;
-+ png_ptr->mode &= ~PNG_HAVE_IDAT;
-+}
-+
-+void /* PRIVATE */
-+png_write_reinit(png_structp png_ptr, png_infop info_ptr,
-+ png_uint_32 width, png_uint_32 height)
-+{
-+ if (png_ptr->num_frames_written == 0 &&
-+ (width != png_ptr->first_frame_width ||
-+ height != png_ptr->first_frame_height))
-+ png_error(png_ptr, "width and/or height in the first frame's fcTL "
-+ "don't match the ones in IHDR\n");
-+ if (width > png_ptr->first_frame_width ||
-+ height > png_ptr->first_frame_height)
-+ png_error(png_ptr, "width and/or height for a frame greater than"
-+ "the ones in IHDR");
-+
-+ png_set_IHDR(png_ptr, info_ptr, width, height,
-+ info_ptr->bit_depth, info_ptr->color_type,
-+ info_ptr->interlace_type, info_ptr->compression_type,
-+ info_ptr->filter_type);
-+
-+ png_ptr->width = width;
-+ png_ptr->height = height;
-+ png_ptr->rowbytes = PNG_ROWBYTES(png_ptr->pixel_depth, width);
-+ png_ptr->usr_width = png_ptr->width;
-+}
-+#endif
- #endif /* PNG_WRITE_SUPPORTED */
---- png.h.orig 2007-05-15 19:52:22.000000000 -0400
-+++ png.h 2007-07-05 09:08:50.000000000 -0400
-@@ -924,6 +924,19 @@
- png_fixed_point int_y_blue;
- #endif
-
-+#if defined(PNG_APNG_SUPPORTED)
-+ png_uint_32 num_frames; /* including default image */
-+ png_uint_32 num_plays;
-+ png_uint_32 next_frame_width;
-+ png_uint_32 next_frame_height;
-+ png_uint_32 next_frame_x_offset;
-+ png_uint_32 next_frame_y_offset;
-+ png_uint_16 next_frame_delay_num;
-+ png_uint_16 next_frame_delay_den;
-+ png_byte next_frame_dispose_op;
-+ png_byte next_frame_blend_op;
-+#endif
-+
- } png_info;
-
- typedef png_info FAR * png_infop;
-@@ -1025,6 +1038,8 @@
- #define PNG_INFO_sPLT 0x2000 /* ESR, 1.0.6 */
- #define PNG_INFO_sCAL 0x4000 /* ESR, 1.0.6 */
- #define PNG_INFO_IDAT 0x8000L /* ESR, 1.0.6 */
-+#define PNG_INFO_acTL 0x10000L
-+#define PNG_INFO_fcTL 0x20000L
-
- /* This is used for the transformation routines, as some of them
- * change these values for the row. It also should enable using
-@@ -1065,6 +1080,10 @@
- typedef void (PNGAPI *png_progressive_end_ptr) PNGARG((png_structp, png_infop));
- typedef void (PNGAPI *png_progressive_row_ptr) PNGARG((png_structp, png_bytep,
- png_uint_32, int));
-+#if defined(PNG_APNG_SUPPORTED)
-+typedef void (PNGAPI *png_progressive_frame_ptr) PNGARG((png_structp,
-+ png_uint_32));
-+#endif
- #endif
-
- #if defined(PNG_READ_USER_TRANSFORM_SUPPORTED) || \
-@@ -1400,8 +1419,40 @@
- /* storage for unknown chunk that the library doesn't recognize. */
- png_unknown_chunk unknown_chunk;
- #endif
--};
-+#if defined(PNG_APNG_SUPPORTED)
-+ png_uint_32 apng_flags;
-+ png_uint_32 next_seq_num; /* next fcTL/fdAT chunk sequence number */
-+ png_uint_32 first_frame_width;
-+ png_uint_32 first_frame_height;
-+#endif
-+
-+#if defined(PNG_READ_APNG_SUPPORTED)
-+ png_uint_32 num_frames_read; /* incremented after all image data of */
-+ /* a frame is read */
-+#ifdef PNG_PROGRESSIVE_READ_SUPPORTED
-+ png_progressive_frame_ptr frame_info_fn; /* frame info read callback */
-+ png_progressive_frame_ptr frame_end_fn; /* frame data read callback */
-+#endif
-+#endif
-
-+#if defined(PNG_WRITE_APNG_SUPPORTED)
-+ png_uint_32 num_frames_to_write;
-+ png_uint_32 num_frames_written;
-+#endif
-+
-+};
-+
-+/* For png_struct.apng_flags: */
-+#define PNG_FIRST_FRAME_HIDDEN 0x0001
-+
-+/* dispose_op flags from inside fcTL */
-+#define PNG_DISPOSE_OP_NONE 0x00
-+#define PNG_DISPOSE_OP_BACKGROUND 0x01
-+#define PNG_DISPOSE_OP_PREVIOUS 0x02
-+
-+/* blend_op flags from inside fcTL */
-+#define PNG_BLEND_OP_SOURCE 0x00
-+#define PNG_BLEND_OP_OVER 0x01
-
- /* This triggers a compiler error in png.c, if png.c and png.h
- * do not agree upon the version number.
-@@ -1721,6 +1772,18 @@
- extern PNG_EXPORT(void,png_write_image) PNGARG((png_structp png_ptr,
- png_bytepp image));
-
-+#if defined(PNG_WRITE_APNG_SUPPORTED)
-+extern PNG_EXPORT (void,png_write_frame_head) PNGARG((png_structp png_ptr,
-+ png_infop png_info, png_bytepp row_pointers,
-+ png_uint_32 width, png_uint_32 height,
-+ png_uint_32 x_offset, png_uint_32 y_offset,
-+ png_uint_16 delay_num, png_uint_16 delay_den, png_byte dispose_op,
-+ png_byte blend_op));
-+
-+extern PNG_EXPORT (void,png_write_frame_tail) PNGARG((png_structp png_ptr,
-+ png_infop png_info));
-+#endif
-+
- /* writes the end of the PNG file. */
- extern PNG_EXPORT(void,png_write_end) PNGARG((png_structp png_ptr,
- png_infop info_ptr));
-@@ -1969,6 +2032,11 @@
- png_voidp progressive_ptr,
- png_progressive_info_ptr info_fn, png_progressive_row_ptr row_fn,
- png_progressive_end_ptr end_fn));
-+#if defined(PNG_READ_APNG_SUPPORTED)
-+extern PNG_EXPORT(void,png_set_progressive_frame_fn) PNGARG((png_structp png_ptr,
-+ png_progressive_frame_ptr frame_info_fn,
-+ png_progressive_frame_ptr frame_end_fn));
-+#endif
-
- /* returns the user pointer associated with the push read functions */
- extern PNG_EXPORT(png_voidp,png_get_progressive_ptr)
-@@ -2397,6 +2465,59 @@
- #endif
- #endif /* PNG_sCAL_SUPPORTED || PNG_WRITE_sCAL_SUPPORTED */
-
-+#if defined(PNG_APNG_SUPPORTED)
-+extern PNG_EXPORT(png_uint_32,png_get_acTL) PNGARG((png_structp png_ptr,
-+ png_infop info_ptr, png_uint_32 *num_frames, png_uint_32 *num_plays));
-+extern PNG_EXPORT(png_uint_32,png_set_acTL) PNGARG((png_structp png_ptr,
-+ png_infop info_ptr, png_uint_32 num_frames, png_uint_32 num_plays));
-+extern PNG_EXPORT(png_uint_32,png_get_num_frames) PNGARG((png_structp png_ptr,
-+ png_infop info_ptr));
-+extern PNG_EXPORT(png_uint_32,png_get_num_plays)
-+ PNGARG((png_structp png_ptr, png_infop info_ptr));
-+
-+extern PNG_EXPORT(png_uint_32,png_get_next_frame_fcTL)
-+ PNGARG((png_structp png_ptr, png_infop info_ptr, png_uint_32 *width,
-+ png_uint_32 *height, png_uint_32 *x_offset, png_uint_32 *y_offset,
-+ png_uint_16 *delay_num, png_uint_16 *delay_den, png_byte *dispose_op,
-+ png_byte *blend_op));
-+extern PNG_EXPORT(png_uint_32,png_set_next_frame_fcTL)
-+ PNGARG((png_structp png_ptr, png_infop info_ptr, png_uint_32 width,
-+ png_uint_32 height, png_uint_32 x_offset, png_uint_32 y_offset,
-+ png_uint_16 delay_num, png_uint_16 delay_den, png_byte dispose_op,
-+ png_byte blend_op));
-+extern PNG_EXPORT(void,png_ensure_fcTL_is_valid)
-+ PNGARG((png_structp png_ptr,
-+ png_uint_32 width, png_uint_32 height,
-+ png_uint_32 x_offset, png_uint_32 y_offset,
-+ png_uint_16 delay_num, png_uint_16 delay_den,
-+ png_byte dispose_op, png_byte blend_op));
-+extern PNG_EXPORT(png_uint_32,png_get_next_frame_width)
-+ PNGARG((png_structp png_ptr, png_infop info_ptr));
-+extern PNG_EXPORT(png_uint_32,png_get_next_frame_height)
-+ PNGARG((png_structp png_ptr, png_infop info_ptr));
-+extern PNG_EXPORT(png_uint_32,png_get_next_frame_x_offset)
-+ PNGARG((png_structp png_ptr, png_infop info_ptr));
-+extern PNG_EXPORT(png_uint_32,png_get_next_frame_y_offset)
-+ PNGARG((png_structp png_ptr, png_infop info_ptr));
-+extern PNG_EXPORT(png_uint_16,png_get_next_frame_delay_num)
-+ PNGARG((png_structp png_ptr, png_infop info_ptr));
-+extern PNG_EXPORT(png_uint_16,png_get_next_frame_delay_den)
-+ PNGARG((png_structp png_ptr, png_infop info_ptr));
-+extern PNG_EXPORT(png_byte,png_get_next_frame_dispose_op)
-+ PNGARG((png_structp png_ptr, png_infop info_ptr));
-+extern PNG_EXPORT(png_byte,png_get_next_frame_blend_op)
-+ PNGARG((png_structp png_ptr, png_infop info_ptr));
-+extern PNG_EXPORT(png_byte,png_get_first_frame_is_hidden)
-+ PNGARG((png_structp png_ptr, png_infop info_ptr));
-+extern PNG_EXPORT(png_uint_32,png_set_first_frame_is_hidden)
-+ PNGARG((png_structp png_ptr, png_infop info_ptr, png_byte is_hidden));
-+#endif /* PNG_APNG_SUPPORTED */
-+
-+#if defined(PNG_READ_APNG_SUPPORTED)
-+extern PNG_EXPORT(void,png_read_frame_head) PNGARG((png_structp png_ptr,
-+ png_infop info_ptr));
-+#endif
-+
- #if defined(PNG_UNKNOWN_CHUNKS_SUPPORTED)
- /* provide a list of chunks and how they are to be handled, if the built-in
- handling or default unknown chunk handling is not desired. Any chunks not
-@@ -2707,6 +2828,8 @@
- #define PNG_BACKGROUND_IS_GRAY 0x800
- #define PNG_HAVE_PNG_SIGNATURE 0x1000
- #define PNG_HAVE_CHUNK_AFTER_IDAT 0x2000 /* Have another chunk after IDAT */
-+#define PNG_HAVE_acTL 0x4000
-+#define PNG_HAVE_fcTL 0x8000L
-
- /* flags for the transformations the PNG library does on the image data */
- #define PNG_BGR 0x0001
-@@ -2850,6 +2973,9 @@
- #define PNG_tIME const png_byte png_tIME[5] = {116, 73, 77, 69, '\0'}
- #define PNG_tRNS const png_byte png_tRNS[5] = {116, 82, 78, 83, '\0'}
- #define PNG_zTXt const png_byte png_zTXt[5] = {122, 84, 88, 116, '\0'}
-+#define PNG_acTL const png_byte png_acTL[5] = { 97, 99, 84, 76, '\0'}
-+#define PNG_fcTL const png_byte png_fcTL[5] = {102, 99, 84, 76, '\0'}
-+#define PNG_fdAT const png_byte png_fdAT[5] = {102, 100, 65, 84, '\0'}
-
- #ifdef PNG_USE_GLOBAL_ARRAYS
- PNG_EXPORT_VAR (const png_byte FARDATA) png_IHDR[5];
-@@ -2873,6 +2999,9 @@
- PNG_EXPORT_VAR (const png_byte FARDATA) png_tIME[5];
- PNG_EXPORT_VAR (const png_byte FARDATA) png_tRNS[5];
- PNG_EXPORT_VAR (const png_byte FARDATA) png_zTXt[5];
-+PNG_EXPORT_VAR (const png_byte FARDATA) png_acTL[5];
-+PNG_EXPORT_VAR (const png_byte FARDATA) png_fcTL[5];
-+PNG_EXPORT_VAR (const png_byte FARDATA) png_fdAT[5];
- #endif /* PNG_USE_GLOBAL_ARRAYS */
-
- #if defined(PNG_1_0_X) || defined (PNG_1_2_X)
-@@ -3147,6 +3276,17 @@
- #endif
- #endif
-
-+#if defined(PNG_WRITE_APNG_SUPPORTED)
-+PNG_EXTERN void png_write_acTL PNGARG((png_structp png_ptr,
-+ png_uint_32 num_frames, png_uint_32 num_plays));
-+
-+PNG_EXTERN void png_write_fcTL PNGARG((png_structp png_ptr,
-+ png_uint_32 width, png_uint_32 height,
-+ png_uint_32 x_offset, png_uint_32 y_offset,
-+ png_uint_16 delay_num, png_uint_16 delay_den,
-+ png_byte dispose_op, png_byte blend_op));
-+#endif
-+
- /* Called when finished processing a row of data */
- PNG_EXTERN void png_write_finish_row PNGARG((png_structp png_ptr));
-
-@@ -3198,6 +3338,20 @@
- PNG_EXTERN void png_read_transform_info PNGARG((png_structp png_ptr,
- png_infop info_ptr));
-
-+#if defined(PNG_READ_APNG_SUPPORTED)
-+/* private, reset some things to become ready for reading next frame */
-+PNG_EXTERN void png_read_reset PNGARG((png_structp png_ptr));
-+PNG_EXTERN void png_read_reinit PNGARG((png_structp png_ptr,
-+ png_infop info_ptr));
-+PNG_EXTERN void png_progressive_read_reset PNGARG((png_structp png_ptr));
-+#endif
-+#if defined(PNG_WRITE_APNG_SUPPORTED)
-+/* private, reset some things to become ready for writing next frame */
-+PNG_EXTERN void png_write_reset PNGARG((png_structp png_ptr));
-+PNG_EXTERN void png_write_reinit PNGARG((png_structp png_ptr,
-+ png_infop info_ptr, png_uint_32 width, png_uint_32 height));
-+#endif
-+
- /* these are the functions that do the transformations */
- #if defined(PNG_READ_FILLER_SUPPORTED)
- PNG_EXTERN void png_do_read_filler PNGARG((png_row_infop row_info,
-@@ -3413,6 +3567,18 @@
- png_uint_32 length));
- #endif
-
-+#if defined(PNG_READ_APNG_SUPPORTED)
-+PNG_EXTERN void png_handle_acTL PNGARG((png_structp png_ptr, png_infop info_ptr,
-+ png_uint_32 length));
-+PNG_EXTERN void png_handle_fcTL PNGARG((png_structp png_ptr, png_infop info_ptr,
-+ png_uint_32 length));
-+PNG_EXTERN void png_have_info PNGARG((png_structp png_ptr, png_infop info_ptr));
-+PNG_EXTERN void png_handle_fdAT PNGARG((png_structp png_ptr, png_infop info_ptr,
-+ png_uint_32 length));
-+PNG_EXTERN void png_ensure_sequence_number PNGARG((png_structp png_ptr,
-+ png_uint_32 length));
-+#endif
-+
- PNG_EXTERN void png_handle_unknown PNGARG((png_structp png_ptr,
- png_infop info_ptr, png_uint_32 length));
-
---- pngpread.c.orig 2007-05-15 19:52:24.000000000 -0400
-+++ pngpread.c 2007-07-05 09:25:21.000000000 -0400
-@@ -192,6 +192,11 @@
- #if defined(PNG_READ_zTXt_SUPPORTED)
- PNG_zTXt;
- #endif
-+#if defined(PNG_READ_APNG_SUPPORTED)
-+ PNG_acTL;
-+ PNG_fcTL;
-+ PNG_fdAT;
-+#endif
- #endif /* PNG_USE_LOCAL_ARRAYS */
- /* First we make sure we have enough data for the 4 byte chunk name
- * and the 4 byte chunk length before proceeding with decoding the
-@@ -215,7 +220,104 @@
- png_crc_read(png_ptr, png_ptr->chunk_name, 4);
- png_ptr->mode |= PNG_HAVE_CHUNK_HEADER;
- }
--
-+
-+#if defined(PNG_READ_APNG_SUPPORTED)
-+ if (png_ptr->num_frames_read > 0 &&
-+ png_ptr->num_frames_read < info_ptr->num_frames)
-+ {
-+ if (!png_memcmp(png_ptr->chunk_name, png_IDAT, 4))
-+ {
-+ /* discard trailing IDATs for the first frame */
-+ if (png_ptr->mode & PNG_HAVE_fcTL || png_ptr->num_frames_read > 1)
-+ png_error(png_ptr, "out of place IDAT");
-+
-+ if (png_ptr->push_length + 4 > png_ptr->buffer_size)
-+ {
-+ png_push_save_buffer(png_ptr);
-+ return;
-+ }
-+ png_push_crc_skip(png_ptr, png_ptr->push_length);
-+ png_ptr->mode &= ~PNG_HAVE_CHUNK_HEADER;
-+ return;
-+ }
-+ else if (!png_memcmp(png_ptr->chunk_name, png_fdAT, 4))
-+ {
-+ if (png_ptr->buffer_size < 4)
-+ {
-+ png_push_save_buffer(png_ptr);
-+ return;
-+ }
-+ png_ensure_sequence_number(png_ptr, 4);
-+
-+ if (!(png_ptr->mode & PNG_HAVE_fcTL))
-+ {
-+ /* discard trailing fdATs for frames other than the first */
-+ if (png_ptr->num_frames_read < 2)
-+ png_error(png_ptr, "out of place fdAT");
-+
-+ if (png_ptr->push_length + 4 > png_ptr->buffer_size)
-+ {
-+ png_push_save_buffer(png_ptr);
-+ return;
-+ }
-+ png_push_crc_skip(png_ptr, png_ptr->push_length);
-+ png_ptr->mode &= ~PNG_HAVE_CHUNK_HEADER;
-+ return;
-+ }
-+ else
-+ {
-+ /* frame data follows */
-+ png_ptr->idat_size = png_ptr->push_length - 4;
-+ png_ptr->mode |= PNG_HAVE_IDAT;
-+ png_ptr->process_mode = PNG_READ_IDAT_MODE;
-+
-+ return;
-+ }
-+ }
-+ else if(!png_memcmp(png_ptr->chunk_name, png_fcTL, 4))
-+ {
-+ if (png_ptr->push_length + 4 > png_ptr->buffer_size)
-+ {
-+ png_push_save_buffer(png_ptr);
-+ return;
-+ }
-+
-+ png_read_reset(png_ptr);
-+ png_ptr->mode &= ~PNG_HAVE_fcTL;
-+
-+ png_handle_fcTL(png_ptr, info_ptr, png_ptr->push_length);
-+
-+ if (!(png_ptr->mode & PNG_HAVE_fcTL))
-+ png_error(png_ptr, "missing required fcTL chunk");
-+
-+ png_read_reinit(png_ptr, info_ptr);
-+ png_progressive_read_reset(png_ptr);
-+
-+ if (png_ptr->frame_info_fn != NULL)
-+ (*(png_ptr->frame_info_fn))(png_ptr, png_ptr->num_frames_read);
-+
-+ png_ptr->mode &= ~PNG_HAVE_CHUNK_HEADER;
-+
-+ return;
-+ }
-+ else
-+ {
-+ if (png_ptr->push_length + 4 > png_ptr->buffer_size)
-+ {
-+ png_push_save_buffer(png_ptr);
-+ return;
-+ }
-+ png_warning(png_ptr, "Skipped (ignored) a chunk "
-+ "between APNG chunks");
-+ png_push_crc_skip(png_ptr, png_ptr->push_length);
-+ png_ptr->mode &= ~PNG_HAVE_CHUNK_HEADER;
-+ return;
-+ }
-+
-+ return;
-+ }
-+#endif /* PNG_READ_APNG_SUPPORTED */
-+
- if (!png_memcmp(png_ptr->chunk_name, (png_bytep)png_IDAT, 4))
- if(png_ptr->mode & PNG_AFTER_IDAT)
- png_ptr->mode |= PNG_HAVE_CHUNK_AFTER_IDAT;
-@@ -295,6 +397,9 @@
- png_error(png_ptr, "Too many IDAT's found");
- }
-
-+#if defined(PNG_READ_APNG_SUPPORTED)
-+ png_have_info(png_ptr, info_ptr);
-+#endif
- png_ptr->idat_size = png_ptr->push_length;
- png_ptr->mode |= PNG_HAVE_IDAT;
- png_ptr->process_mode = PNG_READ_IDAT_MODE;
-@@ -490,6 +595,35 @@
- png_push_handle_iTXt(png_ptr, info_ptr, png_ptr->push_length);
- }
- #endif
-+#if defined(PNG_READ_APNG_SUPPORTED)
-+ else if (!png_memcmp(png_ptr->chunk_name, png_acTL, 4))
-+ {
-+ if (png_ptr->push_length + 4 > png_ptr->buffer_size)
-+ {
-+ png_push_save_buffer(png_ptr);
-+ return;
-+ }
-+ png_handle_acTL(png_ptr, info_ptr, png_ptr->push_length);
-+ }
-+ else if (!png_memcmp(png_ptr->chunk_name, png_fcTL, 4))
-+ {
-+ if (png_ptr->push_length + 4 > png_ptr->buffer_size)
-+ {
-+ png_push_save_buffer(png_ptr);
-+ return;
-+ }
-+ png_handle_fcTL(png_ptr, info_ptr, png_ptr->push_length);
-+ }
-+ else if (!png_memcmp(png_ptr->chunk_name, png_fdAT, 4))
-+ {
-+ if (png_ptr->push_length + 4 > png_ptr->buffer_size)
-+ {
-+ png_push_save_buffer(png_ptr);
-+ return;
-+ }
-+ png_handle_fdAT(png_ptr, info_ptr, png_ptr->push_length);
-+ }
-+#endif /* PNG_READ_APNG_SUPPORTED */
- else
- {
- if (png_ptr->push_length + 4 > png_ptr->buffer_size)
-@@ -661,12 +795,16 @@
- {
- #ifdef PNG_USE_LOCAL_ARRAYS
- PNG_IDAT;
-+#if defined(PNG_READ_APNG_SUPPORTED)
-+ PNG_fdAT;
-+ PNG_IEND;
-+#endif
- #endif
- if (!(png_ptr->mode & PNG_HAVE_CHUNK_HEADER))
- {
- png_byte chunk_length[4];
-
-- if (png_ptr->buffer_size < 8)
-+ if (png_ptr->buffer_size < 12)
- {
- png_push_save_buffer(png_ptr);
- return;
-@@ -678,15 +816,59 @@
- png_crc_read(png_ptr, png_ptr->chunk_name, 4);
- png_ptr->mode |= PNG_HAVE_CHUNK_HEADER;
-
-- if (png_memcmp(png_ptr->chunk_name, (png_bytep)png_IDAT, 4))
-+#if defined(PNG_READ_APNG_SUPPORTED)
-+ if (png_memcmp(png_ptr->chunk_name, (png_bytep)png_fdAT, 4)
-+ && png_ptr->num_frames_read > 0)
-+ {
-+ if (png_ptr->flags & PNG_FLAG_ZLIB_FINISHED)
-+ {
-+ png_ptr->process_mode = PNG_READ_CHUNK_MODE;
-+ if (png_ptr->frame_end_fn != NULL)
-+ (*(png_ptr->frame_end_fn))(png_ptr, png_ptr->num_frames_read);
-+ png_ptr->num_frames_read++;
-+ return;
-+ }
-+ else
-+ {
-+ if (!png_memcmp(png_ptr->chunk_name, png_IEND, 4))
-+ png_error(png_ptr, "Not enough image data");
-+ if (png_ptr->push_length + 4 > png_ptr->buffer_size)
-+ {
-+ png_push_save_buffer(png_ptr);
-+ return;
-+ }
-+ png_warning(png_ptr, "Skipping (ignoring) a chunk between "
-+ "APNG chunks");
-+ png_crc_finish(png_ptr, png_ptr->push_length);
-+ png_ptr->mode &= ~PNG_HAVE_CHUNK_HEADER;
-+ return;
-+ }
-+ }
-+ else
-+#endif
-+ if ( png_memcmp(png_ptr->chunk_name, (png_bytep)png_IDAT, 4)
-+ && (png_ptr->num_frames_read == 0) )
- {
- png_ptr->process_mode = PNG_READ_CHUNK_MODE;
- if (!(png_ptr->flags & PNG_FLAG_ZLIB_FINISHED))
- png_error(png_ptr, "Not enough compressed data");
-+#if defined(PNG_READ_APNG_SUPPORTED)
-+ if (png_ptr->frame_end_fn != NULL)
-+ (*(png_ptr->frame_end_fn))(png_ptr, png_ptr->num_frames_read);
-+ png_ptr->num_frames_read++;
-+#endif
- return;
- }
-
- png_ptr->idat_size = png_ptr->push_length;
-+
-+#if defined(PNG_READ_APNG_SUPPORTED)
-+ if(png_ptr->num_frames_read > 0)
-+ {
-+ png_ensure_sequence_number(png_ptr, 4);
-+ png_ptr->idat_size -= 4;
-+ }
-+#endif
- }
- if (png_ptr->idat_size && png_ptr->save_buffer_size)
- {
-@@ -1580,6 +1762,17 @@
- png_set_read_fn(png_ptr, progressive_ptr, png_push_fill_buffer);
- }
-
-+#if defined(PNG_READ_APNG_SUPPORTED)
-+void PNGAPI
-+png_set_progressive_frame_fn(png_structp png_ptr,
-+ png_progressive_frame_ptr frame_info_fn,
-+ png_progressive_frame_ptr frame_end_fn)
-+{
-+ png_ptr->frame_info_fn = frame_info_fn;
-+ png_ptr->frame_end_fn = frame_end_fn;
-+}
-+#endif
-+
- png_voidp PNGAPI
- png_get_progressive_ptr(png_structp png_ptr)
- {
diff --git a/graphics/png/pkg-descr b/graphics/png/pkg-descr
deleted file mode 100644
index fb11db4ce..000000000
--- a/graphics/png/pkg-descr
+++ /dev/null
@@ -1,11 +0,0 @@
-Libpng was written as a companion to the PNG specification, as a
-way to reduce the amount of time and effort it takes to support
-the PNG file format in application programs. Most users will not
-have to modify the library significantly; advanced users may want
-to modify it more. The library was coded for both users. All
-attempts were made to make it as complete as possible, while
-keeping the code easy to understand. Currently, this library
-only supports C. Support for other languages is being considered.
-
-WWW: http://www.libpng.org/pub/png/libpng.html
- http://libpng.sourceforge.net/
diff --git a/graphics/png/pkg-plist b/graphics/png/pkg-plist
deleted file mode 100644
index 2f8148c6b..000000000
--- a/graphics/png/pkg-plist
+++ /dev/null
@@ -1,14 +0,0 @@
-@unexec rm -f %D/bin/libpng12-config
-bin/libpng-config
-@exec ln -sf %f %D/bin/libpng12-config
-include/libpng/png.h
-@exec ln -sf libpng/%f %D/include/%f
-@unexec rm -f %D/include/%f
-include/libpng/pngconf.h
-@exec ln -sf libpng/%f %D/include/%f
-@unexec rm -f %D/include/%f
-lib/libpng.a
-lib/libpng.so
-lib/libpng.so.%%SHLIB_VER%%
-libdata/pkgconfig/libpng12.pc
-@dirrm include/libpng
diff --git a/security/nss/Makefile b/security/nss/Makefile
deleted file mode 100644
index a14048794..000000000
--- a/security/nss/Makefile
+++ /dev/null
@@ -1,105 +0,0 @@
-# Ports collection Makefile for: nss
-# Date created: 18 December 2001
-# Whom: Maxim Sobolev <sobomax@FreeBSD.org>
-#
-# $FreeBSD$
-# $MCom: ports/security/nss/Makefile,v 1.11 2007/09/05 12:40:41 ahze Exp $
-
-PORTNAME= nss
-DISTVERSION= ${_MAJOR}.${_MINOR}.${_PATCH}-2
-PORTREVISION= 1
-CATEGORIES= security
-MASTER_SITES= LOCAL
-MASTER_SITE_SUBDIR= ahze
-#MASTER_SITES= ${MASTER_SITE_MOZILLA}
-#MASTER_SITE_SUBDIR= security/nss/releases/NSS_${PORTVERSION:S/./_/g}_RTM/src
-
-MAINTAINER= gnome@FreeBSD.org
-COMMENT= Libraries to support development of security-enabled applications
-
-BUILD_DEPENDS= zip:${PORTSDIR}/archivers/zip
-LIB_DEPENDS= nspr4.1:${PORTSDIR}/devel/nspr
-
-USE_BZIP2=yes
-
-_MAJOR= 3
-_MINOR= 11
-_PATCH= 7
-
-WRKSRC= ${WRKDIR}/${DISTNAME}/mozilla/security/nss
-
-USE_LDCONFIG= ${PREFIX}/lib/nss
-USE_GMAKE= yes
-USE_PERL5_BUILD=yes
-MAKE_ENV= BSD_LDOPTS="${PTHREAD_LIBS} -L${LOCALBASE}/lib" \
- BUILD_OPT=1
-ALL_TARGET= nss_build_all
-CFLAGS+= -I${LOCALBASE}/include/nspr
-
-DIST= ${WRKSRC:H:H}/dist
-
-.include <bsd.port.pre.mk>
-
-.if ${ARCH} == "alpha" && ${OSVERSION} < 500035
-IGNORE= core dumps on alpha during build
-.endif
-
-EXTERNALS= CVS dbm security/nss/cmd/zlib nsprpub security/dbm
-EXTRACT_AFTER_ARGS=| ${TAR} -xf - \
- ${EXTERNALS:C,^,--exclude ${DISTNAME}/mozilla/,}
-
-BINS=${DIST}/${OPSYS}${OSREL}_OPT.OBJ
-
-INSTALL_BINS= certcgi certutil checkcert cmsutil crlutil derdump makepqg \
- mangle modutil ocspclnt oidcalc p7content p7env p7sign \
- p7verify pk12util rsaperf shlibsign signtool signver \
- ssltap strsclnt symkeyutil vfychain vfyserv
-
-test:
- cd ${WRKSRC}/tests; \
- ${SETENV} PATH="${BINS}/bin:${PATH}" \
- LD_LIBRARY_PATH="${BINS}/lib" \
- ./all.sh
- @if ${GREP} -F '>Failed<' \
- ${WRKSRC:H:H}/tests_results/security/*/results.html; then \
- echo "Some tests have failed. Let ${MAINTAINER} know."; \
- exit 1; \
- else \
- echo "All tests succeeded. Good news."; \
- fi
-
-post-patch:
- @${REINPLACE_CMD} -e "s|-pthread|${PTHREAD_LIBS}|g ; \
- s|/usr/X11R6|${LOCALBASE}|g" \
- ${WRKSRC:H:H}/security/coreconf/FreeBSD.mk
- @${SED} -e 's|@exec_prefix@|${PREFIX}|; \
- s|@includedir@|${PREFIX}/include/nss|; \
- s|@libdir@|${PREFIX}/lib/nss|; \
- s|@prefix@|${PREFIX}|' \
- ${FILESDIR}/nss-config.in >${WRKDIR}/nss-config
- @${SED} -e 's|@PREFIX@|${PREFIX}|; s|@PORTVERSION@|${PORTVERSION}|' \
- ${FILESDIR}/nss.pc.in >${WRKDIR}/nss.pc
-.for i in MAJOR MINOR PATCH
- @${SED} -i.${i} -e 's|@${i}@|${_${i}}|' ${WRKDIR}/nss-config
-.endfor
-
-do-install:
- ${MKDIR} ${PREFIX}/include/nss ${PREFIX}/lib/nss
- ${TAR} -C ${DIST}/public --dereference -cf - . | \
- ${TAR} -C ${PREFIX}/include/nss -xf -
- ${INSTALL_DATA} ${DIST}/FreeBSD${OSREL:C/.$/*/}_OPT.OBJ/lib/*.so.1 \
- ${PREFIX}/lib/nss
- ${INSTALL_DATA} ${DIST}/FreeBSD${OSREL:C/.$/*/}_OPT.OBJ/lib/libcrmf.a \
- ${PREFIX}/lib/nss
-.for bin in ${INSTALL_BINS}
- ${INSTALL_PROGRAM} ${DIST}/FreeBSD${OSREL:C/.$/*/}_OPT.OBJ/bin/${bin} \
- ${PREFIX}/bin
-.endfor
- cd ${DIST}/FreeBSD${OSREL:C/.$/*/}_OPT.OBJ/lib && \
- ${TAR} -cf - *.so | ${TAR} --unlink -C ${PREFIX}/lib/nss -xf -
- ${INSTALL_SCRIPT} ${WRKDIR}/nss-config ${PREFIX}/bin
- ${INSTALL_DATA} ${WRKDIR}/nss.pc ${PREFIX}/libdata/pkgconfig
-#### Causes problems with older geckos, and it's not needed *yet*
- ${RM} -f ${PREFIX}/lib/nss/libsqlite3.so.1 ${PREFIX}/lib/nss/libsqlite3.so
-
-.include <bsd.port.post.mk>
diff --git a/security/nss/distinfo b/security/nss/distinfo
deleted file mode 100644
index 353b58a36..000000000
--- a/security/nss/distinfo
+++ /dev/null
@@ -1,3 +0,0 @@
-MD5 (nss-3.11.7-2.tar.bz2) = 777e9249d32a1cac9ba79379eb180899
-SHA256 (nss-3.11.7-2.tar.bz2) = 97586947ccf84b091358618af59b937c9100bfd6e5ca911fa16b2d7c5e6315f2
-SIZE (nss-3.11.7-2.tar.bz2) = 3791065
diff --git a/security/nss/files/nss-config.in b/security/nss/files/nss-config.in
deleted file mode 100644
index d2605fec9..000000000
--- a/security/nss/files/nss-config.in
+++ /dev/null
@@ -1,137 +0,0 @@
-#!/bin/sh
-
-prefix=@prefix@
-
-major_version=@MAJOR@
-minor_version=@MINOR@
-patch_version=@PATCH@
-
-usage()
-{
- cat <<EOF
-Usage: nss-config [OPTIONS] [LIBRARIES]
-Options:
- [--prefix[=DIR]]
- [--exec-prefix[=DIR]]
- [--includedir[=DIR]]
- [--libdir[=DIR]]
- [--version]
- [--libs]
- [--cflags]
-Dynamic Libraries:
- nss
- ssl
- smime
-EOF
- exit $1
-}
-
-if test $# -eq 0; then
- usage 1 1>&2
-fi
-
-lib_ssl=yes
-lib_smime=yes
-lib_nss=yes
-
-while test $# -gt 0; do
- case "$1" in
- -*=*) optarg=`echo "$1" | sed 's/[-_a-zA-Z0-9]*=//'` ;;
- *) optarg= ;;
- esac
-
- case $1 in
- --prefix=*)
- prefix=$optarg
- ;;
- --prefix)
- echo_prefix=yes
- ;;
- --exec-prefix=*)
- exec_prefix=$optarg
- ;;
- --exec-prefix)
- echo_exec_prefix=yes
- ;;
- --includedir=*)
- includedir=$optarg
- ;;
- --includedir)
- echo_includedir=yes
- ;;
- --libdir=*)
- libdir=$optarg
- ;;
- --libdir)
- echo_libdir=yes
- ;;
- --version)
- echo ${major_version}.${minor_version}.${patch_version}
- ;;
- --cflags)
- echo_cflags=yes
- ;;
- --libs)
- echo_libs=yes
- ;;
- ssl)
- lib_ssl=yes
- ;;
- smime)
- lib_smime=yes
- ;;
- nss)
- lib_nss=yes
- ;;
- *)
- usage 1 1>&2
- ;;
- esac
- shift
-done
-
-# Set variables that may be dependent upon other variables
-if test -z "$exec_prefix"; then
- exec_prefix=@exec_prefix@
-fi
-if test -z "$includedir"; then
- includedir=@includedir@
-fi
-if test -z "$libdir"; then
- libdir=@libdir@
-fi
-
-if test "$echo_prefix" = "yes"; then
- echo $prefix
-fi
-
-if test "$echo_exec_prefix" = "yes"; then
- echo $exec_prefix
-fi
-
-if test "$echo_includedir" = "yes"; then
- echo $includedir
-fi
-
-if test "$echo_libdir" = "yes"; then
- echo $libdir
-fi
-
-if test "$echo_cflags" = "yes"; then
- echo -I$includedir
-fi
-
-if test "$echo_libs" = "yes"; then
- libdirs="-Wl,-R$libdir -L$libdir"
- if test -n "$lib_ssl"; then
- libdirs="$libdirs -lssl${major_version}"
- fi
- if test -n "$lib_smime"; then
- libdirs="$libdirs -lsmime${major_version}"
- fi
- if test -n "$lib_nss"; then
- libdirs="$libdirs -lnss${major_version}"
- fi
- echo $libdirs
-fi
-
diff --git a/security/nss/files/nss.pc.in b/security/nss/files/nss.pc.in
deleted file mode 100644
index 7b1714374..000000000
--- a/security/nss/files/nss.pc.in
+++ /dev/null
@@ -1,11 +0,0 @@
-prefix=@PREFIX@
-exec_prefix=@PREFIX@
-libdir=@PREFIX@/lib/nss
-includedir=@PREFIX@/include
-
-Name: NSS
-Description: Mozilla Network Security Services
-Version: @PORTVERSION@
-Requires: nspr
-Libs: -L${libdir} -lnss3 -lsmime3 -lssl3
-Cflags: -I${includedir}/nss -I${includedir}/nss/nss
diff --git a/security/nss/files/patch-..::coreconf::FreeBSD.mk b/security/nss/files/patch-..::coreconf::FreeBSD.mk
deleted file mode 100644
index 7a0417e0f..000000000
--- a/security/nss/files/patch-..::coreconf::FreeBSD.mk
+++ /dev/null
@@ -1,62 +0,0 @@
---- ../coreconf/FreeBSD.mk.orig Sat Jan 21 03:36:11 2006
-+++ ../coreconf/FreeBSD.mk Tue Jan 30 21:13:41 2007
-@@ -37,9 +37,9 @@
-
- include $(CORE_DEPTH)/coreconf/UNIX.mk
-
--DEFAULT_COMPILER = gcc
--CC = gcc
--CCC = g++
-+DEFAULT_COMPILER = $(CC)
-+CC ?= gcc
-+CCC = $(CXX)
- RANLIB = ranlib
-
- ifeq ($(OS_TEST),alpha)
-@@ -49,8 +49,14 @@
- endif
-
- OS_CFLAGS = $(DSO_CFLAGS) -ansi -Wall -DFREEBSD -DHAVE_STRERROR -DHAVE_BSD_FLOCK
-+OS_LIBS = $(BSD_LDOPTS)
-+OPTIMIZER =
-
-+ifeq ($(OS_TEST),sparc64)
- DSO_CFLAGS = -fPIC
-+else
-+DSO_CFLAGS = -fpic
-+endif
- DSO_LDOPTS = -shared -Wl,-soname -Wl,$(notdir $@)
-
- #
-@@ -60,20 +66,18 @@
- USE_PTHREADS = 1
- DEFINES += -D_THREAD_SAFE -D_REENTRANT
- OS_LIBS += -pthread
--DSO_LDOPTS += -pthread
-+DSO_LDOPTS += $(BSD_LDOPTS)
- endif
-
- ARCH = freebsd
-
--MOZ_OBJFORMAT := $(shell test -x /usr/bin/objformat && /usr/bin/objformat || echo aout)
-+DLL_SUFFIX = so.1
-
--ifeq ($(MOZ_OBJFORMAT),elf)
--DLL_SUFFIX = so
-+ifneq (,$(filter alpha ia64,$(OS_TEST)))
-+MKSHLIB = $(CC) -Wl,-Bsymbolic -lc $(DSO_LDOPTS)
- else
--DLL_SUFFIX = so.1.0
-+MKSHLIB = $(CC) -Wl,-Bsymbolic $(DSO_LDOPTS)
- endif
--
--MKSHLIB = $(CC) $(DSO_LDOPTS)
- ifdef MAPFILE
- MKSHLIB += -Wl,--version-script,$(MAPFILE)
- endif
-@@ -83,3 +87,5 @@
- G++INCLUDES = -I/usr/include/g++
-
- INCLUDES += -I/usr/X11R6/include
-+USE_SYSTEM_ZLIB = 1
-+ZLIB_LIBS = -lz
diff --git a/security/nss/files/patch-..::coreconf::command.mk b/security/nss/files/patch-..::coreconf::command.mk
deleted file mode 100644
index 1e3de66f7..000000000
--- a/security/nss/files/patch-..::coreconf::command.mk
+++ /dev/null
@@ -1,9 +0,0 @@
---- ../coreconf/command.mk Mon Oct 10 19:46:12 2005
-+++ ../coreconf/command.mk Wed Jan 18 17:23:28 2006
-@@ -46,5 +46,5 @@
- LINK_DLL = $(LINK) $(OS_DLLFLAGS) $(DLLFLAGS)
- LINK_EXE = $(LINK) $(OS_LFLAGS) $(LFLAGS)
--CFLAGS = $(OPTIMIZER) $(OS_CFLAGS) $(XP_DEFINE) $(DEFINES) $(INCLUDES) \
-+CFLAGS += $(OPTIMIZER) $(OS_CFLAGS) $(XP_DEFINE) $(DEFINES) $(INCLUDES) \
- $(XCFLAGS)
- RANLIB = echo
diff --git a/security/nss/files/patch-..::coreconf::rules.mk b/security/nss/files/patch-..::coreconf::rules.mk
deleted file mode 100644
index 707f69da8..000000000
--- a/security/nss/files/patch-..::coreconf::rules.mk
+++ /dev/null
@@ -1,10 +0,0 @@
---- ../coreconf/rules.mk.orig Sat Jan 6 00:48:54 2007
-+++ ../coreconf/rules.mk Fri Mar 23 10:15:46 2007
-@@ -114,6 +114,7 @@
- endif
- ifdef SHARED_LIBRARY
- $(INSTALL) -m 775 $(SHARED_LIBRARY) $(SOURCE_LIB_DIR)
-+ ln -sf $(notdir $(SHARED_LIBRARY)) $(SOURCE_LIB_DIR)/$(notdir $(SHARED_LIBRARY:.so.1=.so))
- ifdef MOZ_DEBUG_SYMBOLS
- ifeq (,$(filter-out _WIN%,$(NS_USE_GCC)_$(OS_TARGET)))
- $(INSTALL) -m 644 $(SHARED_LIBRARY:$(DLL_SUFFIX)=pdb) $(SOURCE_LIB_DIR)
diff --git a/security/nss/files/patch-Makefile b/security/nss/files/patch-Makefile
deleted file mode 100644
index af20e9a2a..000000000
--- a/security/nss/files/patch-Makefile
+++ /dev/null
@@ -1,11 +0,0 @@
---- Makefile.orig Thu Apr 14 20:28:40 2005
-+++ Makefile Tue Aug 30 15:32:11 2005
-@@ -78,7 +78,7 @@
- # (7) Execute "local" rules. (OPTIONAL). #
- #######################################################################
-
--nss_build_all: build_coreconf build_nspr build_dbm all
-+nss_build_all: build_coreconf all
-
- build_coreconf:
- cd $(CORE_DEPTH)/coreconf ; $(MAKE)
diff --git a/security/nss/files/patch-cmd::platlibs.mk b/security/nss/files/patch-cmd::platlibs.mk
deleted file mode 100644
index 4ac01e3e4..000000000
--- a/security/nss/files/patch-cmd::platlibs.mk
+++ /dev/null
@@ -1,14 +0,0 @@
---- cmd/platlibs.mk Wed Apr 6 17:35:41 2005
-+++ cmd/platlibs.mk Wed Jul 27 22:22:59 2005
-@@ -72,5 +72,4 @@
- $(DIST)/lib/$(LIB_PREFIX)nssdev.$(LIB_SUFFIX) \
- $(DIST)/lib/$(LIB_PREFIX)nssb.$(LIB_SUFFIX) \
-- $(DIST)/lib/$(LIB_PREFIX)dbm.$(LIB_SUFFIX) \
- $(DIST)/lib/$(NSPR31_LIB_PREFIX)plc4.$(LIB_SUFFIX) \
- $(DIST)/lib/$(NSPR31_LIB_PREFIX)plds4.$(LIB_SUFFIX) \
-@@ -120,5 +118,4 @@
- $(CRYPTOLIB) \
- $(DIST)/lib/$(LIB_PREFIX)secutil.$(LIB_SUFFIX) \
-- $(DIST)/lib/$(LIB_PREFIX)dbm.$(LIB_SUFFIX) \
- $(NULL)
-
diff --git a/security/nss/files/patch-const b/security/nss/files/patch-const
deleted file mode 100644
index de5fae9f6..000000000
--- a/security/nss/files/patch-const
+++ /dev/null
@@ -1,46 +0,0 @@
---- cmd/modutil/modutil.h Sun Apr 25 11:02:47 2004
-+++ cmd/modutil/modutil.h Fri Jul 22 17:35:20 2005
-@@ -53,6 +53,6 @@
- #include "error.h"
-
--Error FipsMode(char *arg);
--Error ChkFipsMode(char *arg);
-+Error FipsMode(const char *arg);
-+Error ChkFipsMode(const char *arg);
- Error AddModule(char *moduleName, char *libFile, char *ciphers,
- char *mechanisms, char* modparms);
---- cmd/modutil/pk11.c Sun Apr 25 11:02:47 2004
-+++ cmd/modutil/pk11.c Fri Jul 22 17:36:48 2005
-@@ -53,5 +53,5 @@
- */
- Error
--FipsMode(char *arg)
-+FipsMode(const char *arg)
- {
- char *internal_name;
-@@ -62,14 +62,16 @@
- SECMOD_GetInternalModule()->commonName);
- if(SECMOD_DeleteInternalModule(internal_name) != SECSuccess) {
-- PR_fprintf(PR_STDERR, "%s\n", SECU_Strerror(PORT_GetError()));
-+ PR_fprintf(PR_STDERR, "FipsMode(true): %s (%s)\n", SECU_Strerror(PORT_GetError()), internal_name);
- PR_smprintf_free(internal_name);
- PR_fprintf(PR_STDERR, errStrings[FIPS_SWITCH_FAILED_ERR]);
- return FIPS_SWITCH_FAILED_ERR;
- }
-- PR_smprintf_free(internal_name);
- if (!PK11_IsFIPS()) {
-+ PR_fprintf(PR_STDERR, "FipsMode(true): in module %s", internal_name);
-+ PR_smprintf_free(internal_name);
- PR_fprintf(PR_STDERR, errStrings[FIPS_SWITCH_FAILED_ERR]);
- return FIPS_SWITCH_FAILED_ERR;
- }
-+ PR_smprintf_free(internal_name);
- PR_fprintf(PR_STDOUT, msgStrings[FIPS_ENABLED_MSG]);
- } else {
-@@ -112,5 +114,5 @@
- */
- Error
--ChkFipsMode(char *arg)
-+ChkFipsMode(const char *arg)
- {
- if(!PORT_Strcasecmp(arg, "true")) {
diff --git a/security/nss/files/patch-sysdb b/security/nss/files/patch-sysdb
deleted file mode 100644
index 45f4a02ca..000000000
--- a/security/nss/files/patch-sysdb
+++ /dev/null
@@ -1,175 +0,0 @@
---- lib/softoken/legacydb/cdbhdl.h Sun Apr 25 11:03:16 2004
-+++ lib/softoken/legacydb/cdbhdl.h Fri Jul 22 00:25:16 2005
-@@ -43,6 +43,6 @@
- #define _CDBHDL_H_
-
--#include "nspr.h"
--#include "mcom_db.h"
-+#include <nspr.h>
-+#include <db.h>
- #include "pcertt.h"
- --- lib/softoken/legacydb/dbmshim.c Tue Mar 29 13:21:18 2005
-+++ lib/softoken/legacydb/dbmshim.c Fri Jul 22 00:35:33 2005
-@@ -40,5 +40,6 @@
- * $Id: patch-sysdb,v 1.4 2007-09-05 12:40:41 ahze Exp $
- */
--#include "mcom_db.h"
-+#include <db.h>
-+#include <fcntl.h>
- #include "secitem.h"
- #include "secder.h"
---- lib/softoken/legacydb/keydb.c Fri Jun 4 20:50:32 2004
-+++ lib/softoken/legacydb/keydb.c Fri Jul 22 00:37:01 2005
-@@ -46,5 +46,6 @@
- #include "secitem.h"
- #include "pcert.h"
--#include "mcom_db.h"
-+#include <db.h>
-+#include <fcntl.h>
- #include "lowpbe.h"
- #include "secerr.h"
---- lib/softoken/legacydb/pcertdb.c Tue Mar 29 13:21:18 2005
-+++ lib/softoken/legacydb/pcertdb.c Fri Jul 22 00:40:00 2005
-@@ -44,5 +44,6 @@
- #include "lowkeyti.h"
- #include "pcert.h"
--#include "mcom_db.h"
-+#include <db.h>
-+#include <fcntl.h>
- #include "pcert.h"
- #include "secitem.h"
---- lib/softoken/legacydb/pk11db.c Fri Apr 1 19:46:13 2005
-+++ lib/softoken/legacydb/pk11db.c Fri Jul 22 00:42:01 2005
-@@ -42,5 +42,6 @@
- #include "pk11pars.h"
- #include "pkcs11i.h"
--#include "mcom_db.h"
-+#include <db.h>
-+#include <fcntl.h>
- #include "cdbhdl.h"
- #include "secerr.h"
---- lib/softoken/legacydb/keydbi.h Tue Apr 27 19:04:38 2004
-+++ lib/softoken/legacydb/keydbi.h Fri Jul 22 00:43:24 2005
-@@ -42,7 +42,7 @@
- #define _KEYDBI_H_
-
--#include "nspr.h"
-+#include <nspr.h>
- #include "seccomon.h"
--#include "mcom_db.h"
-+#include <db.h>
-
- /*
---- lib/softoken/legacydb/config.mk Mon May 24 20:13:11 2004
-+++ lib/softoken/legacydb/config.mk Fri Jul 22 00:55:20 2005
-@@ -47,5 +47,4 @@
- $(CRYPTOLIB) \
- $(DIST)/lib/$(LIB_PREFIX)secutil.$(LIB_SUFFIX) \
-- $(DIST)/lib/$(LIB_PREFIX)dbm.$(LIB_SUFFIX) \
- $(NULL)
-
---- lib/certdb/certdb.c Sat Mar 5 03:03:03 2005
-+++ lib/certdb/certdb.c Fri Jul 22 01:02:11 2005
-@@ -53,5 +53,4 @@
- #include "keyhi.h"
- #include "secitem.h"
--#include "mcom_db.h"
- #include "certdb.h"
- #include "prprf.h"
---- lib/certdb/genname.c Sun Apr 25 11:03:03 2004
-+++ lib/certdb/genname.c Fri Jul 22 01:02:59 2005
-@@ -39,5 +39,4 @@
- #include "secitem.h"
- #include "secoidt.h"
--#include "mcom_db.h"
- #include "secasn1.h"
- #include "secder.h"
---- lib/certdb/stanpcertdb.c Thu Dec 2 16:34:15 2004
-+++ lib/certdb/stanpcertdb.c Fri Jul 22 01:03:19 2005
-@@ -38,5 +38,4 @@
-
- #include "cert.h"
--#include "mcom_db.h"
- #include "certdb.h"
- #include "secitem.h"
---- lib/certdb/xauthkid.c Sun Apr 25 11:03:03 2004
-+++ lib/certdb/xauthkid.c Fri Jul 22 01:03:54 2005
-@@ -40,6 +40,5 @@
- */
-
--#include "prtypes.h"
--#include "mcom_db.h"
-+#include <prtypes.h>
- #include "seccomon.h"
- #include "secdert.h"
---- lib/certdb/xbsconst.c Sun Apr 25 11:03:03 2004
-+++ lib/certdb/xbsconst.c Fri Jul 22 01:05:41 2005
-@@ -39,6 +39,6 @@
- */
-
--#include "prtypes.h"
--#include "mcom_db.h"
-+#include <limits.h> /* LONG_MAX */
-+#include <prtypes.h>
- #include "seccomon.h"
- #include "secdert.h"
-@@ -48,5 +48,5 @@
- #include "certt.h"
- #include "secder.h"
--#include "prprf.h"
-+#include <prprf.h>
- #include "secerr.h"
-
---- lib/certdb/xconst.c Tue Nov 9 01:13:32 2004
-+++ lib/certdb/xconst.c Fri Jul 22 01:06:20 2005
-@@ -39,6 +39,5 @@
- */
-
--#include "prtypes.h"
--#include "mcom_db.h"
-+#include <prtypes.h>
- #include "seccomon.h"
- #include "secdert.h"
-@@ -48,5 +47,5 @@
- #include "cert.h"
- #include "secder.h"
--#include "prprf.h"
-+#include <prprf.h>
- #include "xconst.h"
- #include "genname.h"
---- lib/ckfw/dbm/ckdbm.h Wed Jan 19 21:25:47 2005
-+++ lib/ckfw/dbm/ckdbm.h Fri Jul 22 01:06:58 2005
-@@ -57,5 +57,5 @@
- #endif /* CKT_H */
-
--#include "mcom_db.h"
-+#include <db.h>
-
- NSS_EXTERN_DATA NSSCKMDInstance nss_dbm_mdInstance;
---- lib/freebl/mac_rand.c Sun Apr 25 11:03:08 2004
-+++ lib/freebl/mac_rand.c Fri Jul 22 01:08:19 2005
-@@ -40,5 +40,4 @@
- #endif
- #include "secrng.h"
--#include "mcom_db.h"
- #ifdef XP_MAC
- #include <Events.h>
---- lib/pk11wrap/secmodi.h Mon Mar 28 15:45:37 2005
-+++ lib/pk11wrap/secmodi.h Fri Jul 22 01:08:47 2005
-@@ -42,5 +42,5 @@
- #include "pkcs11.h"
- #include "nssilock.h"
--#include "mcom_db.h"
-+#include <db.h>
- #include "secoidt.h"
- #include "secdert.h"
---- lib/softoken/legacydb/lginit.c.orig 2007-09-05 06:52:46.000000000 -0400
-+++ lib/softoken/legacydb/lginit.c 2007-09-05 06:53:06.000000000 -0400
-@@ -38,6 +38,7 @@
- * ***** END LICENSE BLOCK ***** */
- /* $Id: patch-sysdb,v 1.4 2007-09-05 12:40:41 ahze Exp $ */
-
-+#include <fcntl.h>
- #include "lowkeyi.h"
- #include "pcert.h"
- #include "keydbi.h"
diff --git a/security/nss/files/patch-tests b/security/nss/files/patch-tests
deleted file mode 100644
index 2ff07f35a..000000000
--- a/security/nss/files/patch-tests
+++ /dev/null
@@ -1,10 +0,0 @@
---- tests/common/init.sh Mon Apr 11 22:24:17 2005
-+++ tests/common/init.sh Fri Jul 22 16:55:36 2005
-@@ -197,5 +197,6 @@
- case $HOST in
- *\.*)
-- HOST=`echo $HOST | sed -e "s/\..*//"`
-+ DOMSUF=${HOST#*.} # remove Smallest Prefix matching ``*.''
-+ HOST=${HOST%%.*} # remove Largest Suffix ``.*''. See sh(1)
- ;;
- ?*)
diff --git a/security/nss/pkg-descr b/security/nss/pkg-descr
deleted file mode 100644
index 4d06c9a0a..000000000
--- a/security/nss/pkg-descr
+++ /dev/null
@@ -1,7 +0,0 @@
-Network Security Services (NSS) is a set of libraries designed to support
-cross-platform development of security-enabled server applications.
-Applications built with NSS can support SSL v2 and v3, TLS, PKCS #5, PKCS #7,
-PKCS #11, PKCS #12, S/MIME, X.509 v3 certificates, and other security
-standards.
-
-WWW: http://www.mozilla.org/projects/security/pki/nss/
diff --git a/security/nss/pkg-plist b/security/nss/pkg-plist
deleted file mode 100644
index e90a55785..000000000
--- a/security/nss/pkg-plist
+++ /dev/null
@@ -1,153 +0,0 @@
-bin/certcgi
-bin/certutil
-bin/checkcert
-bin/cmsutil
-bin/crlutil
-bin/derdump
-bin/makepqg
-bin/mangle
-bin/modutil
-bin/nss-config
-bin/ocspclnt
-bin/oidcalc
-bin/p7content
-bin/p7env
-bin/p7sign
-bin/p7verify
-bin/pk12util
-bin/rsaperf
-bin/shlibsign
-bin/signtool
-bin/signver
-bin/ssltap
-bin/strsclnt
-bin/symkeyutil
-bin/vfychain
-bin/vfyserv
-include/nss/nss/base64.h
-include/nss/nss/blapit.h
-include/nss/nss/cert.h
-include/nss/nss/certdb.h
-include/nss/nss/certt.h
-include/nss/nss/ciferfam.h
-include/nss/nss/cmmf.h
-include/nss/nss/cmmft.h
-include/nss/nss/cms.h
-include/nss/nss/cmsreclist.h
-include/nss/nss/cmst.h
-include/nss/nss/crmf.h
-include/nss/nss/crmft.h
-include/nss/nss/cryptohi.h
-include/nss/nss/cryptoht.h
-include/nss/nss/ecl-exp.h
-include/nss/nss/hasht.h
-include/nss/nss/jar-ds.h
-include/nss/nss/jar.h
-include/nss/nss/jarfile.h
-include/nss/nss/key.h
-include/nss/nss/keyhi.h
-include/nss/nss/keyt.h
-include/nss/nss/keythi.h
-include/nss/nss/nss.h
-include/nss/nss/nssb64.h
-include/nss/nss/nssb64t.h
-include/nss/nss/nssbase.h
-include/nss/nss/nssbaset.h
-include/nss/nss/nssck.api
-include/nss/nss/nssckbi.h
-include/nss/nss/nssckepv.h
-include/nss/nss/nssckft.h
-include/nss/nss/nssckfw.h
-include/nss/nss/nssckfwc.h
-include/nss/nss/nssckfwt.h
-include/nss/nss/nssckg.h
-include/nss/nss/nssckmdt.h
-include/nss/nss/nssckt.h
-include/nss/nss/nssilckt.h
-include/nss/nss/nssilock.h
-include/nss/nss/nsslocks.h
-include/nss/nss/nssrwlk.h
-include/nss/nss/nssrwlkt.h
-include/nss/nss/ocsp.h
-include/nss/nss/ocspt.h
-include/nss/nss/p12.h
-include/nss/nss/p12plcy.h
-include/nss/nss/p12t.h
-include/nss/nss/pk11func.h
-include/nss/nss/pk11pqg.h
-include/nss/nss/pk11priv.h
-include/nss/nss/pk11pub.h
-include/nss/nss/pk11sdr.h
-include/nss/nss/pkcs11.h
-include/nss/nss/pkcs11f.h
-include/nss/nss/pkcs11n.h
-include/nss/nss/pkcs11p.h
-include/nss/nss/pkcs11t.h
-include/nss/nss/pkcs11u.h
-include/nss/nss/pkcs12.h
-include/nss/nss/pkcs12t.h
-include/nss/nss/pkcs7t.h
-include/nss/nss/pkix.h
-include/nss/nss/pkix_certsel.h
-include/nss/nss/pkix_certselector.h
-include/nss/nss/pkix_certstore.h
-include/nss/nss/pkix_checker.h
-include/nss/nss/pkix_comcertselparams.h
-include/nss/nss/pkix_crlsel.h
-include/nss/nss/pkix_errorstrings.h
-include/nss/nss/pkix_params.h
-include/nss/nss/pkix_pl_pki.h
-include/nss/nss/pkix_pl_system.h
-include/nss/nss/pkix_results.h
-include/nss/nss/pkix_revchecker.h
-include/nss/nss/pkix_sample_modules.h
-include/nss/nss/pkix_util.h
-include/nss/nss/pkixt.h
-include/nss/nss/portreg.h
-include/nss/nss/preenc.h
-include/nss/nss/sdb.h
-include/nss/nss/secasn1.h
-include/nss/nss/secasn1t.h
-include/nss/nss/seccomon.h
-include/nss/nss/secder.h
-include/nss/nss/secdert.h
-include/nss/nss/secdig.h
-include/nss/nss/secdigt.h
-include/nss/nss/secerr.h
-include/nss/nss/sechash.h
-include/nss/nss/secitem.h
-include/nss/nss/secmime.h
-include/nss/nss/secmod.h
-include/nss/nss/secmodt.h
-include/nss/nss/secoid.h
-include/nss/nss/secoidt.h
-include/nss/nss/secpkcs5.h
-include/nss/nss/secpkcs7.h
-include/nss/nss/secport.h
-include/nss/nss/sftkdbt.h
-include/nss/nss/shsign.h
-include/nss/nss/smime.h
-include/nss/nss/ssl.h
-include/nss/nss/sslerr.h
-include/nss/nss/sslproto.h
-include/nss/nss/sslt.h
-include/nss/nss/watcomfx.h
-lib/nss/libcrmf.a
-lib/nss/libfreebl3.so
-lib/nss/libfreebl3.so.1
-lib/nss/libnss3.so
-lib/nss/libnss3.so.1
-lib/nss/libnssckbi.so
-lib/nss/libnssckbi.so.1
-lib/nss/libnssdbm3.so
-lib/nss/libnssdbm3.so.1
-lib/nss/libsmime3.so
-lib/nss/libsmime3.so.1
-lib/nss/libsoftokn3.so
-lib/nss/libsoftokn3.so.1
-lib/nss/libssl3.so
-lib/nss/libssl3.so.1
-libdata/pkgconfig/nss.pc
-@dirrm lib/nss
-@dirrm include/nss/nss
-@dirrm include/nss
diff --git a/www/firefox-devel/Makefile b/www/firefox-devel/Makefile
deleted file mode 100644
index 25c3232f5..000000000
--- a/www/firefox-devel/Makefile
+++ /dev/null
@@ -1,101 +0,0 @@
-# New ports collection makefile for: phoenix
-# Date created: 2002/10/21
-# Whom: Alan Eldridge <alane@FreeBSD.org>
-#
-# $FreeBSD$
-# $MCom: ports/www/firefox-devel/Makefile,v 1.40 2007/09/10 16:26:49 ahze Exp $
-
-PORTNAME= firefox
-DISTVERSION= 3.0.a7
-PORTEPOCH= 1
-CATEGORIES= www ipv6
-MASTER_SITES= ${MASTER_SITE_MOZILLA}
-MASTER_SITE_SUBDIR= ${PORTNAME}/releases/granparadiso/alpha7/source/
-#MASTER_SITE_SUBDIR= ${PORTNAME}/releases/${DISTVERSION}/source
-DISTNAME= granparadiso-alpha7-source
-#DISTNAME= ${PORTNAME}-${DISTVERSION}-source
-
-MAINTAINER= gnome@FreeBSD.org
-COMMENT= Web browser based on the browser portion of Mozilla
-
-MOZILLA_NAME= Firefox-${MOZILLA_SUFX}
-MOZILLA_SUFX= -devel
-MOZILLA= ${PORTNAME}${MOZILLA_SUFX}
-MOZ_OPTIONS= --program-transform-name='s/firefox/${MOZILLA}/' \
- --enable-svg --enable-svg-renderer=cairo
-MOZ_TOOLKIT= cairo-gtk2
-
-WANT_GNOME= yes
-ALL_TARGET= default
-CONFIGURE_ENV= LOCALBASE=${LOCALBASE}
-EXTRA_CFLAGS= -O2
-HAS_CONFIGURE= yes
-USE_BZIP2= yes
-USE_GMAKE= yes
-NO_MOZPKGINSTALL=yes
-
-FIREFOX_ICON= ${MOZILLA}.xpm
-FIREFOX_ICON_SRC= ${PREFIX}/lib/firefox-devel/chrome/icons/default/default.xpm
-MOZ_PKGCONFIG_FILES= ${MOZILLA}-js ${MOZILLA}-xpcom ${MOZILLA}-plugin
-MOZ_OPTIONS= --enable-application=browser \
- --enable-system-cairo \
- --enable-official-branding \
- --enable-canvas \
- --with-system-nss
-
-SYSTEM_PREFS= ${FAKEDIR}/lib/${MOZILLA}/defaults/pref/firefox.js
-
-OPTIONS= NEWTAB "Open external links in a new tab" on \
- SMB "Enable smb:// URI support using gnomevfs" off
-
-.include <bsd.port.pre.mk>
-
-GECKO_PTHREAD_LIBS!=${CC} -dumpspecs | ${GREP} -m 1 pthread | ${SED} -e 's|^.*%{\!pg: %{pthread:|| ; s|}.*$$||' || ${TRUE}
-
-post-extract::
- @${SED} -e 's|@FIREFOX_ICON@|${FIREFOX_ICON}|' -e 's|@MOZILLA@|${MOZILLA}|' \
- -e 's|@MOZILLA_NAME@|${MOZILLA_NAME}|' \
- <${FILESDIR}/firefox.desktop.in >${WRKDIR}/${MOZILLA}.desktop
-
-post-patch:
- ${REINPLACE_CMD} -e 's|%%PTHREAD_LIBS%%|${PTHREAD_LIBS:C/-pthread/${GECKO_PTHREAD_LIBS}/}|' \
- ${WRKSRC}/storage/build/Makefile.in
- @${REINPLACE_CMD} -e 's|%%LOCALBASE%%|${LOCALBASE}|' \
- ${WRKSRC}/security/manager/ssl/src/Makefile.in
-.for ii in modules/libpref/src/init extensions/sroaming/resources/content/prefs
- @${REINPLACE_CMD} -e '/accessibility.typeaheadfind.enablesound/s/true/false/ ; \
- /dom.disable_window_open_feature.toolbar/s/false/true/' \
- ${WRKSRC}/${ii}/all.js
-.endfor
-
-port-pre-install:
- ${SED} -e 's|1.9a7|0|' ${WRKSRC}/dist/bin/application.ini ${FAKEDIR}/lib
- ${ECHO_CMD} 'share/applications/${MOZILLA}.desktop' >> ${PLIST}
- ${ECHO_CMD} "@unexec ${RMDIR} %D/share/applications 2>/dev/null || ${TRUE}" >> ${PLIST}
- ${ECHO_CMD} 'share/pixmaps/${FIREFOX_ICON}' >> ${PLIST}
-.if !defined(WITHOUT_NEWTAB)
- ${ECHO_CMD} >> ${SYSTEM_PREFS}
- ${ECHO_CMD} "// Open external links in new tab" >> ${SYSTEM_PREFS}
- ${ECHO_CMD} "pref(\"browser.link.open_external\", 3);" \
- >> ${SYSTEM_PREFS}
-.endif # !defined(WITHOUT_NEWTAB)
-
-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
-
-post-install:
- ${MKDIR} ${PREFIX}/share/applications ${PREFIX}/share/pixmaps
- ${INSTALL_DATA} ${WRKDIR}/${MOZILLA}.desktop ${PREFIX}/share/applications/
- ${MKDIR} ${PREFIX}/lib/${MOZILLA}/chrome/icons/default
- ${LN} -sf ${FIREFOX_ICON_SRC} ${PREFIX}/share/pixmaps/${FIREFOX_ICON}
-
-.include "${PORTSDIR}/www/mozilla/Makefile.common"
-.include <bsd.port.post.mk>
diff --git a/www/firefox-devel/distinfo b/www/firefox-devel/distinfo
deleted file mode 100644
index 1340a04a1..000000000
--- a/www/firefox-devel/distinfo
+++ /dev/null
@@ -1,3 +0,0 @@
-MD5 (granparadiso-alpha7-source.tar.bz2) = cd692127775b55f5e64685ef49788c1c
-SHA256 (granparadiso-alpha7-source.tar.bz2) = 91369eff2bba6b0ef3a9b5a40a1585b27f66a670f1a96299852f2595bd96f209
-SIZE (granparadiso-alpha7-source.tar.bz2) = 35319889
diff --git a/www/firefox-devel/files/firefox.desktop.in b/www/firefox-devel/files/firefox.desktop.in
deleted file mode 100644
index d72090e1a..000000000
--- a/www/firefox-devel/files/firefox.desktop.in
+++ /dev/null
@@ -1,191 +0,0 @@
-[Desktop Entry]
-Encoding=UTF-8
-Name=@MOZILLA_NAME@ Web Browser
-Name[am]=
-Name[ar]=
-Name[az]=@MOZILLA_NAME@ Veb Səyyahı
-Name[be]=
-Name[bg]=Интернет браузър @MOZILLA_NAME@
-Name[bn]=
-Name[bs]=@MOZILLA_NAME@ web preglednik
-Name[ca]=Navegador web @MOZILLA_NAME@
-Name[cs]=ProhlížeÄ WWW @MOZILLA_NAME@
-Name[cy]=Y Porwr Gwe @MOZILLA_NAME@
-Name[da]=@MOZILLA_NAME@ - internetsurfning
-Name[de]=@MOZILLA_NAME@ Webbrowser
-Name[el]=ΠεÏιηγητής ΔιαδικτÏου @MOZILLA_NAME@
-Name[en_CA]=@MOZILLA_NAME@ Web Browser
-Name[en_GB]=@MOZILLA_NAME@ Web Browser
-Name[es]=Navegador Web @MOZILLA_NAME@
-Name[et]=@MOZILLA_NAME@ veebibrauser
-Name[eu]=@MOZILLA_NAME@ web arakatzailea
-Name[fi]=@MOZILLA_NAME@, WWW-selain
-Name[fr]=Navigateur Web @MOZILLA_NAME@
-Name[ga]=Brabhsálaí Lín @MOZILLA_NAME@
-Name[gu]=àªàªªà«€àª«àª¨à«€ વૅબ બà«àª°àª¾àª‰àªàª°
-Name[he]=דפדפן @MOZILLA_NAME@
-Name[hi]=
-Name[hr]=@MOZILLA_NAME@ Web preglednik
-Name[hu]=@MOZILLA_NAME@ webböngésző
-Name[id]=Web Browser @MOZILLA_NAME@
-Name[it]=Browser web @MOZILLA_NAME@
-Name[ja]=@MOZILLA_NAME@ ウェブ・ブラウザ
-Name[ko]=@MOZILLA_NAME@ 웹 브ë¼ìš°ì €
-Name[li]=@MOZILLA_NAME@ Web Browser
-Name[lt]=@MOZILLA_NAME@ web naršyklė
-Name[mk]=@MOZILLA_NAME@ веб прелиÑтувач
-Name[ml]=à´Žà´ªàµà´ªà´¿à´«à´¾à´¨à´¿ വെബàµà´¬àµ à´¬àµà´°àµŒà´¸â€Œà´°àµ
-Name[mn]=@MOZILLA_NAME@ веб хөтөч
-Name[ms]=Pelungsur Web @MOZILLA_NAME@
-Name[nb]=@MOZILLA_NAME@ nettleser
-Name[nl]=@MOZILLA_NAME@ Webbrowser
-Name[nn]=@MOZILLA_NAME@ nettlesar
-Name[no]=@MOZILLA_NAME@ nettleser
-Name[pa]=à¨à¨ªà©€à¨«à¨¾à¨¨à©€ ਵੈੱਬ ਬਰਾਊਜ਼ਰ
-Name[pl]=PrzeglÄ…darka WWW @MOZILLA_NAME@
-Name[pt]=Navegador Web @MOZILLA_NAME@
-Name[pt_BR]=Navegador Web @MOZILLA_NAME@
-Name[ro]=Navigatorul @MOZILLA_NAME@
-Name[ru]=Веб-браузер @MOZILLA_NAME@
-Name[sk]=
-Name[sl]=Spletni brskalnik @MOZILLA_NAME@
-Name[sq]=@MOZILLA_NAME@ - Shfletuesi Web
-Name[sr]=
-Name[sr@Latn]=Veb ÄitaÄ Spoznaja
-Name[sv]=Webbläsaren @MOZILLA_NAME@
-Name[ta]=எபிபனி வலை உலாவி
-Name[tk]=@MOZILLA_NAME@ Web Ahtarçisi
-Name[tr]=@MOZILLA_NAME@ Web Tarayıcı
-Name[uk]=ПереглÑдач web @MOZILLA_NAME@
-Name[vi]=Trình Duyệt Web @MOZILLA_NAME@
-Name[wa]=Betchteu waibe epiphany
-Name[zh_CN]=@MOZILLA_NAME@ Web æµè§ˆå™¨
-Name[zh_TW]=@MOZILLA_NAME@ 網é ç€è¦½å™¨
-GenericName=Web Browser
-GenericName[ar]=متصÙّح الانترنت
-GenericName[az]=Veb Səyyahı
-GenericName[be]=Вандроўнік па павуціньню
-GenericName[bg]=Браузър
-GenericName[bn]=ওয়েব বà§à¦°à¦¾à¦‰à¦œà¦¾à¦°
-GenericName[bs]=Web preglednik
-GenericName[ca]=Navegador web
-GenericName[cs]=ProhlížeÄ WWW
-GenericName[cy]=Porwr Gwe
-GenericName[da]=Internetsurfning
-GenericName[de]=Webbrowser
-GenericName[el]=ΠεÏιηγητής Ιστοσελίδων
-GenericName[en_CA]=Web Browser
-GenericName[en_GB]=Web Browser
-GenericName[es]=Navegador web
-GenericName[et]=Veebilehitseja
-GenericName[eu]=Web arakatzailea
-GenericName[fi]=WWW-selain
-GenericName[fr]=Navigateur Web @MOZILLA_NAME@
-GenericName[ga]=Brabhsálaí Lín
-GenericName[gu]=વેબ બà«àª°àª¾àª‰àªàª°
-GenericName[he]=דפדפן ×ינטרנט
-GenericName[hi]=वेब बà¥à¤°à¤¾à¤‰à¤œà¤¼à¤°
-GenericName[hr]=Web preglednik
-GenericName[hu]=Webböngésző
-GenericName[id]=Browser Web
-GenericName[it]=Browser web
-GenericName[ja]=GNOME ウェブ・ブラウザ
-GenericName[ko]=웹 브ë¼ìš°ì €
-GenericName[li]=Wèb Browser
-GenericName[lt]=Web naršyklė
-GenericName[mk]=Веб прелиÑтувач
-GenericName[mn]=Веб хөтөч
-GenericName[ms]=Pelungsur Web
-GenericName[nb]=Nettleser
-GenericName[nl]=Web-browser
-GenericName[nn]=Nettlesar
-GenericName[no]=Nettleser
-GenericName[pa]=ਵੈਬ ਬਰਾਊਜ਼
-GenericName[pl]=PrzeglÄ…darka WWW
-GenericName[pt]=Navegador Web
-GenericName[pt_BR]=Navegador Web
-GenericName[ro]=Navigator Internet
-GenericName[ru]=Веб-браузер
-GenericName[sk]=WWW prehliadaÄ
-GenericName[sl]=Spletni brskalnik
-GenericName[sq]=Shfletuesi Web
-GenericName[sr]=Веб читач
-GenericName[sr@Latn]=Veb ÄitaÄ
-GenericName[sv]=Webbläsare
-GenericName[ta]=வலை உலாவி
-GenericName[th]=เว็บบราวเซอร์
-GenericName[tk]=Web Ahtarçysy
-GenericName[tr]=Web Tarayıcı
-GenericName[uk]=ПереглÑдач web-Ñторінок
-GenericName[vi]=Trình duyệt Web
-GenericName[wa]=Betchteu waibe
-GenericName[zh_CN]=Web æµè§ˆå™¨
-GenericName[zh_TW]=網é ç€è¦½å™¨
-Comment=Browse the web
-Comment[ar]=تصÙØ­ الانترنت
-Comment[az]=Vebi gəzin
-Comment[be]=Вандраваць па павуціньню
-Comment[bg]=Сърфиране в интернет
-Comment[bn]=ওয়েব বà§à¦°à¦¾à¦‰à¦œ করà§à¦¨
-Comment[bs]=Pregledaj na internetu
-Comment[ca]=Navegueu per la web
-Comment[cs]=Prohlížet WWW
-Comment[cy]=Pori'r we
-Comment[da]=Surf på internettet
-Comment[de]=Im Web surfen
-Comment[el]=ΠεÏιήγηση στον παγκόσμιο ιστό
-Comment[en_CA]=Browse the web
-Comment[en_GB]=Browse the web
-Comment[es]=Navegar por la web
-Comment[et]=Sirvi veebi
-Comment[eu]=Arakatu web-a
-Comment[fi]=Selaa WWW:tä
-Comment[fr]=Naviguer sur Internet
-Comment[ga]=Brabhsáil an Líon
-Comment[gu]=વેબમાં શોધો
-Comment[he]=גלוש ברשת
-Comment[hi]=वेब बà¥à¤°à¤¾à¤‰à¤œà¤¼ करें
-Comment[hr]=Pregledaj Web
-Comment[hu]=A világháló böngészése
-Comment[id]=Jelajah web
-Comment[it]=Esplora il web
-Comment[ja]=ウェブを閲覧ã—ã¾ã™
-Comment[ko]=ì›¹ì„ ëŒì•„ 다닙니다
-Comment[li]=Blajere op internet
-Comment[lt]=Naršyti internete
-Comment[mk]=ПрелиÑтувајте на веб
-Comment[ml]=വലകàµà´•àµ†à´Ÿàµà´Ÿàµ തിരയàµà´•
-Comment[mn]=Веб броузе хийх
-Comment[ms]=Layari web
-Comment[nb]=Surf på nettet
-Comment[nl]=Websurfen
-Comment[nn]=Surf på nettet
-Comment[no]=Surf på nettet
-Comment[pa]=ਵੈਬ ਬਰਾਊਜ਼
-Comment[pl]=PrzeglÄ…danie stron WWW
-Comment[pt]=Navegar na web
-Comment[pt_BR]=Navegar na web
-Comment[ro]=Navigare Internet
-Comment[ru]=Веб-браузер
-Comment[sk]=Prehliadať internet
-Comment[sl]=Brskaj po spletu
-Comment[sq]=Eksploro web-in
-Comment[sr]=Прегледај веб
-Comment[sr@Latn]=Pregledaj veb
-Comment[sv]=Surfa på nätet
-Comment[ta]=வலையில௠உலாவà¯
-Comment[th]=ใช้งานเว็บบราวเซอร์ @MOZILLA_NAME@
-Comment[tk]=Webi Ahtar
-Comment[tr]=Web'e Gözat
-Comment[uk]=Програма переглÑду web-Ñторінок
-Comment[vi]=Duyệt web
-Comment[wa]=Naivyî avå les waibes
-Comment[zh_CN]=æµè§ˆ Web
-Comment[zh_TW]=ç€è¦½ç¶²é 
-Exec=@MOZILLA@ %u
-Icon=@FIREFOX_ICON@
-StartupNotify=false
-Terminal=false
-Type=Application
-Categories=Application;Network;
-MimeType=text/html;text/xml;application/xhtml+xml;application/vnd.mozilla.xul+xml;text/mml;
diff --git a/www/firefox-devel/files/patch-bugzilla296818 b/www/firefox-devel/files/patch-bugzilla296818
deleted file mode 100644
index a7f22b4eb..000000000
--- a/www/firefox-devel/files/patch-bugzilla296818
+++ /dev/null
@@ -1,1621 +0,0 @@
-diff --git ChangeLog ChangeLog
-new file mode 100644
-index 0000000..c9c7dce
---- /dev/null
-+++ ChangeLog
-@@ -0,0 +1,277 @@
-+2007-09-06 Federico Mena Quintero <federico@novell.com>
-+
-+ * modules/libpr0n/decoders/jpeg/nsJPEGDecoder.cpp
-+ (nsJPEGDecoder::WriteFrom): Write the restore data regardless of
-+ the state we are in, right when we first fill the buffer.
-+
-+2007-09-06 Federico Mena Quintero <federico@novell.com>
-+
-+ * modules/libpr0n/src/imgContainer.cpp
-+ (imgContainer::RestoreDataDone): Print the first four bytes of the
-+ restore data, to check it later.
-+ (imgContainer::ReloadImages): Likewise.
-+
-+2007-09-06 Federico Mena Quintero <federico@novell.com>
-+
-+ * modules/libpr0n/decoders/png/nsPNGDecoder.cpp (info_callback):
-+ Reuse the image container if the loader has one; don't always
-+ create a new one. This lets containers reload themselves.
-+
-+2007-09-06 Federico Mena Quintero <federico@novell.com>
-+
-+ * modules/libpr0n/src/imgContainer.cpp
-+ (imgContainer::AppendFrame): Unconditionally increment mNumFrames!
-+ (imgContainer::RestoreDiscardedData): Check the number of restored
-+ frames here.
-+ (imgContainer::ReloadImages): Flush and close the decoder.
-+ (imgContainer::RestoreDataDone): No-op if we are already restoring
-+ the data.
-+
-+2007-09-06 Federico Mena Quintero <federico@novell.com>
-+
-+ * modules/libpr0n/decoders/png/nsPNGDecoder.cpp (*): Print the
-+ imgContainer pointers when logging.
-+
-+ * modules/libpr0n/src/imgContainer.cpp (*): Likewise.
-+
-+2007-09-04 Federico Mena Quintero <federico@novell.com>
-+
-+ * modules/libpr0n/src/imgContainer.cpp
-+ (imgContainer::ReloadImages): Oops, use an nsCOMPtr<> for the
-+ ContainerLoader, not a direct pointer.
-+ (ContainerLoader NS_IMPL_ISUPPORTS3): Oops, we also implement
-+ imgIContainerObserver.
-+ (class ContainerLoader): Implement nsISupportsWeakReference as
-+ well; imgContainer needs it from the observer.
-+ (imgContainer::RestoreDiscardedData): Log how many frames we got
-+ and how many we expected.
-+ (imgContainer::ReloadImages): Assert that we got the right number
-+ of frames.
-+ (imgContainer::GetCurrentFrameNoRef): Log failures from
-+ RestoreDiscardedData().
-+
-+ * modules/libpr0n/decoders/png/nsPNGDecoder.cpp (end_callback):
-+ Don't tell the container that the restore data is done here...
-+ (nsPNGDecoder::Close): ... but do it here instead. This is
-+ because end_callback() gets called from within ReadDataOut(); we
-+ don't want end_callback() to inform the container that the restore
-+ data is done before actually writing the restore data to it!
-+
-+2007-09-04 Federico Mena Quintero <federico@novell.com>
-+
-+ * modules/libpr0n/decoders/png/nsPNGDecoder.cpp (info_callback):
-+ Set the image container as discardable.
-+ (ReadDataOut): Store the compressed data in the image container to
-+ restore from it later.
-+ (end_callback): Tell the image container that we finished feeding
-+ it the restore data.
-+
-+ * modules/libpr0n/src/imgContainer.cpp
-+ (imgContainer::SetDiscardable): Log the MIME type of the
-+ discardable container.
-+
-+ * modules/libpr0n/decoders/jpeg/nsJPEGDecoder.cpp
-+ (nsJPEGDecoder::WriteFrom): Clean up a printf format, and do the
-+ logging only on success.
-+
-+ * gfx/thebes/public/gfxXlibSurface.h: Add myself to the contributors.
-+ * modules/libpr0n/public/imgIContainer.idl: Likewise.
-+ * modules/libpr0n/src/imgContainer.cpp: Likewise.
-+ * modules/libpr0n/src/imgContainer.h: Likewise.
-+
-+2007-09-03 Federico Mena Quintero <federico@novell.com>
-+
-+ * modules/libpr0n/src/imgContainer.cpp
-+ (imgContainer::AddRestoreData): No-op if we are being called
-+ during the restore process (we already have the data; there is no
-+ need to save it again).
-+ (class ContainerLoader): Put the macro to implement QI for
-+ imgILoad and imgIDecoderObserver.
-+ (imgContainer::AppendFrame): Don't increment mNumFrames if we are
-+ restoring the image data. Fix the use of the frame counters.
-+ (imgContainer::sDiscardTimerCallback): Implement.
-+ (imgContainer::GetCurrentFrame): Oops, preserve the semantics of
-+ the original function --- if the actual getter gives us a null
-+ frame, return NS_ERROR_FAILURE.
-+
-+2007-08-31 Federico Mena Quintero <federico@novell.com>
-+
-+ * modules/libpr0n/src/imgContainer.h (class imgContainer): New
-+ prototype for a ReloadImages() method.
-+
-+ * modules/libpr0n/src/imgContainer.cpp
-+ (imgContainer::RestoreDiscardedData): Call ReloadImages().
-+ (imgContainer::ReloadImages): Implement.
-+ (class ContainerLoader): New helper class that implements
-+ imgILoader and imgIDecoderObserver. We'll use this to re-load the
-+ imgContainer from an image decoder.
-+
-+2007-08-31 Federico Mena Quintero <federico@novell.com>
-+
-+ * modules/libpr0n/src/imgContainer.cpp
-+ (imgContainer::RestoreDiscardedData): Reset the timer; if we got
-+ here it means that the data may be used again soon.
-+
-+2007-08-30 Federico Mena Quintero <federico@novell.com>
-+
-+ * modules/libpr0n/src/imgContainer.h (class imgContainer): Add an
-+ mDiscarded field. We'll use it to know if the uncompressed image
-+ data has been discarded already and needs to be regenerated on
-+ demand.
-+ (class imgContainer): New prototype for a RestoreDiscardedData() method.
-+
-+ * modules/libpr0n/src/imgContainer.cpp (imgContainer): Initialize
-+ mDiscarded.
-+ (imgContainer::GetCurrentFrameNoRef): Return an nsresult rather
-+ than the image frame; return the actual image frame as a
-+ reference. Ensure that the discarded data gets restored.
-+ (imgContainer::GetCurrentFrame): Return the error from
-+ GetCurrentFrameNoRef() if it fails.
-+ (imgContainer::StartAnimation): Likewise.
-+ (imgContainer::GetFrameAt): Ensure that the discarded data gets restored.
-+ (imgContainer::ResetAnimation): Likewise.
-+ (imgContainer::Notify): Likewise.
-+ (imgContainer::RestoreDiscardedData): Just a stub for now.
-+
-+ * modules/libpr0n/decoders/jpeg/nsJPEGDecoder.cpp
-+ (nsJPEGDecoder::WriteFrom): Oops, use "count" for the restore
-+ data, not "mBufferLen".
-+
-+2007-08-29 Federico Mena Quintero <federico@novell.com>
-+
-+ * modules/libpr0n/src/imgContainer.h (class imgContainer): Add a
-+ mNumFrames field. Since we'll discard the contents of mFrames, we
-+ can't rely on mFrames.Count() for the frame count.
-+
-+ * modules/libpr0n/src/imgContainer.cpp (imgContainer): Initialize mNumFrames.
-+ (imgContainer::AppendFrame): Maintain the frame count in mNumFrames.
-+ (imgContainer::GetNumFrames): Use mNumFrames instead of mFrames.Count().
-+ (imgContainer::GetFrameAt): Likewise.
-+ (imgContainer::DecodingComplete): Likewise.
-+ (imgContainer::SetAnimationMode): Likewise.
-+ (imgContainer::StartAnimation): Likewise.
-+ (imgContainer::Notify): Likewise.
-+
-+2007-08-29 Federico Mena Quintero <federico@novell.com>
-+
-+ * modules/libpr0n/src/imgContainer.h
-+ (imgContainer::inlinedGetCurrentFrame): Removed to make it not
-+ inline.
-+ (imgContainer::GetCurrentFrameNoRef): New prototype.
-+
-+ * modules/libpr0n/src/imgContainer.cpp
-+ (imgContainer::GetCurrentFrameNoRef): Implement this here.
-+ (imgContainer::GetCurrentFrame, imgContainer::StartAnimation): Use
-+ GetCurrentFrameNoRef() instead of inlinedGetCurrentFrame().
-+
-+2007-08-28 Federico Mena Quintero <federico@novell.com>
-+
-+ * modules/libpr0n/public/imgIContainer.idl (restoreDataDone): New
-+ method. We'll use this to tell the container when we finish
-+ feeding it the compressed data. After that, it can begin its
-+ discard process whenever it wants.
-+
-+ * modules/libpr0n/src/imgContainer.h (class imgContainer): Add
-+ mRestoreDataDone and mDiscardTimer fields.
-+
-+ * modules/libpr0n/src/imgContainer.cpp (imgContainer): Initialize
-+ the new fields.
-+ (imgContainer::RestoreDataDone): Implement. When turned on, we
-+ start the discard timer.
-+ (imgContainer::ResetDiscardTimer): New method.
-+ (~imgContainer): Cancel and destroy the timer.
-+ (imgContainer::sDiscardTimerCallback): New callback. Here we'll
-+ discard the uncompressed image data in the image frames. For now
-+ this is just a stub.
-+
-+ * modules/libpr0n/decoders/jpeg/nsJPEGDecoder.cpp
-+ (nsJPEGDecoder::WriteFrom): Tell the imgContainer when we are done
-+ feeding data to it.
-+
-+2007-08-28 Federico Mena Quintero <federico@novell.com>
-+
-+ * modules/libpr0n/src/imgContainer.cpp (discarding_is_enabled):
-+ Stub function, to be replaced with something better in the
-+ future. This lets us disable image discarding by setting a
-+ MOZ_DISABLE_IMAGE_DISCARD environment variable.
-+ (imgContainer::SetDiscardable): Noop if discarding is disabled.
-+ (imgContainer::AddRestoreData): Likewise.
-+
-+2007-08-28 Federico Mena Quintero <federico@novell.com>
-+
-+ * modules/libpr0n/decoders/jpeg/nsJPEGDecoder.cpp
-+ (nsJPEGDecoder::WriteFrom): Mark the imgContainer as discardable
-+ when we create it. And when writing to the JPEG decoder, add the
-+ compressed data to the imgContainer so that it can restore itself
-+ later.
-+
-+2007-08-28 Federico Mena Quintero <federico@novell.com>
-+
-+ * modules/libpr0n/src/imgContainer.cpp
-+ (gCompressedImageAccountingLog): Create a
-+ "CompressedImageAccounting" log domain.
-+ (~imgContainer): Log the destruction of compressed data.
-+ (imgContainer::AddRestoreData): Log the addition of compressed data.
-+ (imgContainer::SetDiscardable): Log the creation of a compressed imgContainer.
-+
-+2007-08-28 Federico Mena Quintero <federico@novell.com>
-+
-+
-+ * modules/libpr0n/src/imgContainer.cpp (~imgContainer): Free the
-+ restore data and the MIME type.
-+
-+2007-08-22 Federico Mena Quintero <federico@novell.com>
-+
-+ * modules/libpr0n/public/imgIContainer.idl (setDiscardable): New
-+ method. When this is called (can be called only once) from an
-+ image decoder, the image container will discard its uncompressed
-+ image data after a timeout.
-+ (addRestoreData): New method. Image decoders should call this
-+ repeatedly after calling setDiscardable(); this is used to feed
-+ the original, compressed image data to the image container so that
-+ it can uncompress it on demand after discarding it.
-+
-+ * modules/libpr0n/src/imgContainer.cpp (imgContainer::SetDiscardable):
-+ Implement.
-+ (imgContainer::AddRestoreData): Implement.
-+
-+2007-08-20 Federico Mena Quintero <federico@novell.com>
-+
-+ * gfx/thebes/src/gfxXlibSurface.cpp
-+ (gfxXlibSurface::LogSurfaceCreation, surface_destroy_func): Count
-+ the number of surfaces in addition to the number of pixels.
-+
-+2007-08-17 Federico Mena Quintero <federico@novell.com>
-+
-+ * modules/libpr0n/public/ImageLogging.h: Remove gImgAccountingLog
-+ from here.
-+
-+ * modules/libpr0n/src/imgRequest.cpp: Likewise.
-+
-+ * modules/libpr0n/decoders/jpeg/nsJPEGDecoder.cpp
-+ (gJPEGDecodeAccountingLog): Create a "JPEGDecoderAccounting" log domain.
-+ (nsJPEGDecoder::WriteFrom): Use that log domain.
-+
-+ * gfx/thebes/src/gfxXlibSurface.cpp (gXlibSurfaceAccountingLog):
-+ Define a "XlibSurfaceAccounting" log domain.
-+ (gfxXlibSurface::LogSurfaceCreation): New method to log when an
-+ Xlib surface is created from a pixmap. Keeps a counter of how
-+ many pixels are allocated globally.
-+ (gfxXlibSurface::HookSurfaceDestructionForLogging): Utility method
-+ to set user data on the cairo surface, so that we can know when it
-+ is destroyed.
-+ (gfxXlibSurface::gfxXlibSurface): Log the creation of the surface,
-+ and hook it so that we can know when it is destroyed.
-+
-+2007-08-17 Federico Mena Quintero <federico@novell.com>
-+
-+ * modules/libpr0n/src/imgRequest.cpp (gImgAccountingLog): New
-+ logging domain "imgAccounting". We'll use this to log when images
-+ get allocated, freed, requested, etc.
-+
-+ * modules/libpr0n/public/ImageLogging.h (gImgAccountingLog):
-+ Declare this.
-+
-+ * modules/libpr0n/decoders/jpeg/nsJPEGDecoder.cpp
-+ (nsJPEGDecoder::WriteFrom): Log the creation of an image frame.
-+
-diff --git gfx/thebes/public/gfxXlibSurface.h gfx/thebes/public/gfxXlibSurface.h
-index 078dc73..ea7ba24 100644
---- gfx/thebes/public/gfxXlibSurface.h
-+++ gfx/thebes/public/gfxXlibSurface.h
-@@ -21,6 +21,7 @@
- * Contributor(s):
- * Stuart Parmenter <pavlov@pavlov.net>
- * Vladimir Vukicevic <vladimir@pobox.com>
-+ * Federico Mena-Quintero <federico@novell.com>
- *
- * 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
-@@ -85,6 +86,9 @@ public:
- // when the gfxXlibSurface is destroyed.
- void TakePixmap();
-
-+ void LogSurfaceCreation ();
-+ void HookSurfaceDestructionForLogging ();
-+
- protected:
- // if TakePixmap() was already called on this
- PRBool mPixmapTaken;
-diff --git gfx/thebes/src/gfxXlibSurface.cpp gfx/thebes/src/gfxXlibSurface.cpp
-index dc2a19f..f9c191c 100644
---- gfx/thebes/src/gfxXlibSurface.cpp
-+++ gfx/thebes/src/gfxXlibSurface.cpp
-@@ -21,6 +21,7 @@
- * Contributor(s):
- * Stuart Parmenter <pavlov@pavlov.net>
- * Vladimir Vukicevic <vladimir@pobox.com>
-+ * Federico Mena-Quintero <federico@novell.com>
- *
- * 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
-@@ -37,6 +38,7 @@
- * ***** END LICENSE BLOCK ***** */
-
- #include "gfxXlibSurface.h"
-+#include "prlog.h"
-
- #include "cairo.h"
- #include "cairo-xlib.h"
-@@ -51,6 +53,18 @@ typedef struct {
-
- static void pixmap_free_func (void *);
-
-+
-+#if defined(PR_LOGGING)
-+static PRLogModuleInfo *gXlibSurfaceAccountingLog = PR_NewLogModule ("XlibSurfaceAccounting");
-+#else
-+#define gXlibSurfaceAccountingLog
-+#endif
-+
-+static cairo_user_data_key_t surface_free_key;
-+static int num_surfaces_allocated;
-+static PRInt64 pixels_allocated;
-+
-+
- #define XLIB_IMAGE_SIDE_SIZE_LIMIT 0xffff
-
- gfxXlibSurface::gfxXlibSurface(Display *dpy, Drawable drawable, Visual *visual)
-@@ -59,6 +73,9 @@ gfxXlibSurface::gfxXlibSurface(Display *dpy, Drawable drawable, Visual *visual)
- DoSizeQuery();
- cairo_surface_t *surf = cairo_xlib_surface_create(dpy, drawable, visual, mSize.width, mSize.height);
- Init(surf);
-+
-+ LogSurfaceCreation ();
-+ HookSurfaceDestructionForLogging();
- }
-
- gfxXlibSurface::gfxXlibSurface(Display *dpy, Drawable drawable, Visual *visual, const gfxIntSize& size)
-@@ -69,6 +86,9 @@ gfxXlibSurface::gfxXlibSurface(Display *dpy, Drawable drawable, Visual *visual,
-
- cairo_surface_t *surf = cairo_xlib_surface_create(dpy, drawable, visual, mSize.width, mSize.height);
- Init(surf);
-+
-+ LogSurfaceCreation ();
-+ HookSurfaceDestructionForLogging();
- }
-
- gfxXlibSurface::gfxXlibSurface(Display *dpy, Visual *visual, const gfxIntSize& size)
-@@ -87,6 +107,9 @@ gfxXlibSurface::gfxXlibSurface(Display *dpy, Visual *visual, const gfxIntSize& s
-
- Init(surf);
- TakePixmap();
-+
-+ LogSurfaceCreation ();
-+ HookSurfaceDestructionForLogging();
- }
-
- gfxXlibSurface::gfxXlibSurface(Display *dpy, Drawable drawable, XRenderPictFormat *format,
-@@ -100,6 +123,9 @@ gfxXlibSurface::gfxXlibSurface(Display *dpy, Drawable drawable, XRenderPictForma
- ScreenOfDisplay(dpy,DefaultScreen(dpy)),
- format, mSize.width, mSize.height);
- Init(surf);
-+
-+ LogSurfaceCreation ();
-+ HookSurfaceDestructionForLogging();
- }
-
- gfxXlibSurface::gfxXlibSurface(Display *dpy, XRenderPictFormat *format, const gfxIntSize& size)
-@@ -115,6 +141,9 @@ gfxXlibSurface::gfxXlibSurface(Display *dpy, XRenderPictFormat *format, const gf
- format, mSize.width, mSize.height);
- Init(surf);
- TakePixmap();
-+
-+ LogSurfaceCreation ();
-+ HookSurfaceDestructionForLogging();
- }
-
- gfxXlibSurface::gfxXlibSurface(cairo_surface_t *csurf)
-@@ -124,6 +153,9 @@ gfxXlibSurface::gfxXlibSurface(cairo_surface_t *csurf)
- mDisplay = cairo_xlib_surface_get_display(csurf);
-
- Init(csurf, PR_TRUE);
-+
-+ LogSurfaceCreation ();
-+ HookSurfaceDestructionForLogging();
- }
-
- gfxXlibSurface::~gfxXlibSurface()
-@@ -198,3 +230,63 @@ pixmap_free_func (void *data)
-
- delete pfs;
- }
-+
-+void
-+gfxXlibSurface::LogSurfaceCreation ()
-+{
-+ gfxIntSize size;
-+
-+ size = GetSize ();
-+
-+ num_surfaces_allocated++;
-+ pixels_allocated += (PRInt64) size.width * size.height;
-+
-+ PR_LOG (gXlibSurfaceAccountingLog, PR_LOG_DEBUG,
-+ ("XlibSurfaceAccounting: Xlib surface %p created, %ux%u pixels - %d surfaces with %lld global pixels allocated",
-+ CairoSurface (),
-+ size.width,
-+ size.height,
-+ num_surfaces_allocated,
-+ pixels_allocated));
-+}
-+
-+struct SurfaceFreeData {
-+ gfxIntSize size;
-+ cairo_surface_t *surface;
-+};
-+
-+static void
-+surface_destroy_func (void *closure)
-+{
-+ SurfaceFreeData *data;
-+
-+ data = (SurfaceFreeData *) closure;
-+
-+ num_surfaces_allocated--;
-+ pixels_allocated -= (PRInt64) data->size.width * data->size.height;
-+
-+ PR_LOG (gXlibSurfaceAccountingLog, PR_LOG_DEBUG,
-+ ("XlibSurfaceAccounting: Destroying Xlib surface %p, %dx%d pixels - %d surfaces with %lld global pixels allocated",
-+ data->surface,
-+ data->size.width,
-+ data->size.height,
-+ num_surfaces_allocated,
-+ pixels_allocated));
-+
-+ delete data;
-+}
-+
-+void
-+gfxXlibSurface::HookSurfaceDestructionForLogging ()
-+{
-+ SurfaceFreeData *data;
-+
-+ data = new SurfaceFreeData;
-+ data->size = GetSize ();
-+ data->surface = CairoSurface ();
-+
-+ cairo_surface_set_user_data (data->surface,
-+ &surface_free_key,
-+ data,
-+ surface_destroy_func);
-+}
-diff --git modules/libpr0n/decoders/jpeg/nsJPEGDecoder.cpp modules/libpr0n/decoders/jpeg/nsJPEGDecoder.cpp
-index 16b9fd8..48431e4 100644
---- modules/libpr0n/decoders/jpeg/nsJPEGDecoder.cpp
-+++ modules/libpr0n/decoders/jpeg/nsJPEGDecoder.cpp
-@@ -22,6 +22,7 @@
- *
- * Contributor(s):
- * Stuart Parmenter <stuart@mozilla.com>
-+ * Federico Mena-Quintero <federico@novell.com>
- *
- * 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
-@@ -63,8 +64,10 @@ NS_IMPL_ISUPPORTS1(nsJPEGDecoder, imgIDecoder)
-
- #if defined(PR_LOGGING)
- PRLogModuleInfo *gJPEGlog = PR_NewLogModule("JPEGDecoder");
-+static PRLogModuleInfo *gJPEGDecoderAccountingLog = PR_NewLogModule ("JPEGDecoderAccounting");
- #else
- #define gJPEGlog
-+#define gJPEGDecoderAccountingLog
- #endif
-
-
-@@ -208,6 +211,15 @@ NS_IMETHODIMP nsJPEGDecoder::WriteFrom(nsIInputStream *inStr, PRUint32 count, PR
- nsresult rv = inStr->Read((char*)mBuffer, count, &mBufferLen);
- *_retval = mBufferLen;
-
-+ if (mImage) {
-+ nsresult result = mImage->AddRestoreData ((char *) mBuffer, count);
-+
-+ if (NS_FAILED (result)) {
-+ mState = JPEG_ERROR;
-+ return result;
-+ }
-+ }
-+
- NS_ASSERTION(NS_SUCCEEDED(rv), "nsJPEGDecoder::WriteFrom -- inStr->Read failed");
- }
- // else no input stream.. Flush() ?
-@@ -357,6 +369,9 @@ NS_IMETHODIMP nsJPEGDecoder::WriteFrom(nsIInputStream *inStr, PRUint32 count, PR
- /* Check if the request already has an image container.
- this is the case when multipart/x-mixed-replace is being downloaded
- if we already have one and it has the same width and height, reuse it.
-+
-+ This is also the case when an existing container is reloading itself from
-+ us.
- */
- mImageLoad->GetImage(getter_AddRefs(mImage));
- if (mImage) {
-@@ -370,6 +385,8 @@ NS_IMETHODIMP nsJPEGDecoder::WriteFrom(nsIInputStream *inStr, PRUint32 count, PR
- }
-
- if (!mImage) {
-+ nsresult result;
-+
- mImage = do_CreateInstance("@mozilla.org/image/container;1");
- if (!mImage) {
- mState = JPEG_ERROR;
-@@ -377,6 +394,18 @@ NS_IMETHODIMP nsJPEGDecoder::WriteFrom(nsIInputStream *inStr, PRUint32 count, PR
- }
- mImageLoad->SetImage(mImage);
- mImage->Init(mInfo.image_width, mInfo.image_height, mObserver);
-+
-+ result = mImage->SetDiscardable ("image/jpeg"); /* FIXME: is this MIME type always right for this decoder? */
-+ if (NS_FAILED (result)) {
-+ mState = JPEG_ERROR;
-+ return result;
-+ }
-+
-+ result = mImage->AddRestoreData ((char *) mBuffer, count);
-+ if (NS_FAILED (result)) {
-+ mState = JPEG_ERROR;
-+ return result;
-+ }
- }
-
- mObserver->OnStartContainer(nsnull, mImage);
-@@ -416,7 +445,11 @@ NS_IMETHODIMP nsJPEGDecoder::WriteFrom(nsIInputStream *inStr, PRUint32 count, PR
- }
-
- mImage->AppendFrame(mFrame);
-- }
-+
-+ PR_LOG (gJPEGDecoderAccountingLog, PR_LOG_DEBUG,
-+ ("JPEGDecoderAccounting: nsJPEGDecoder::WriteFrom -- created image frame with %ux%u pixels",
-+ mInfo.image_width, mInfo.image_height));
-+ }
-
- mObserver->OnStartFrame(nsnull, mFrame);
-
-@@ -538,6 +571,8 @@ NS_IMETHODIMP nsJPEGDecoder::WriteFrom(nsIInputStream *inStr, PRUint32 count, PR
-
- case JPEG_DONE:
- {
-+ nsresult result;
-+
- LOG_SCOPE(gJPEGlog, "nsJPEGDecoder::WriteFrom -- entering JPEG_DONE case");
-
- /* Step 7: Finish decompression */
-@@ -547,6 +582,12 @@ NS_IMETHODIMP nsJPEGDecoder::WriteFrom(nsIInputStream *inStr, PRUint32 count, PR
-
- mState = JPEG_SINK_NON_JPEG_TRAILER;
-
-+ result = mImage->RestoreDataDone ();
-+ if (NS_FAILED (result)) {
-+ mState = JPEG_ERROR;
-+ return result;
-+ }
-+
- /* we're done dude */
- break;
- }
-diff --git modules/libpr0n/decoders/png/nsPNGDecoder.cpp modules/libpr0n/decoders/png/nsPNGDecoder.cpp
-index 85f0216..15abc9f 100644
---- modules/libpr0n/decoders/png/nsPNGDecoder.cpp
-+++ modules/libpr0n/decoders/png/nsPNGDecoder.cpp
-@@ -23,6 +23,7 @@
- * Contributor(s):
- * Stuart Parmenter <stuart@mozilla.com>
- * Andrew Smith
-+ * Federico Mena-Quintero <federico@novell.com>
- *
- * 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
-@@ -73,6 +74,7 @@ static void PNGAPI warning_callback(png_structp png_ptr, png_const_charp warning
-
- #ifdef PR_LOGGING
- PRLogModuleInfo *gPNGLog = PR_NewLogModule("PNGDecoder");
-+static PRLogModuleInfo *gPNGDecoderAccountingLog = PR_NewLogModule ("PNGDecoderAccounting");
- #endif
-
- NS_IMPL_ISUPPORTS1(nsPNGDecoder, imgIDecoder)
-@@ -119,6 +121,11 @@ void nsPNGDecoder::CreateFrame(png_uint_32 x_offset, png_uint_32 y_offset,
-
- if (mObserver)
- mObserver->OnStartFrame(nsnull, mFrame);
-+
-+ PR_LOG (gPNGDecoderAccountingLog, PR_LOG_DEBUG,
-+ ("PNGDecoderAccounting: nsPNGDecoder::CreateFrame -- created image frame with %dx%d pixels in container %p",
-+ width, height,
-+ mImage.get ()));
- }
-
- // set timeout and frame disposal method for the current frame
-@@ -213,9 +220,25 @@ NS_IMETHODIMP nsPNGDecoder::Init(imgILoad *aLoad)
- /* void close (); */
- NS_IMETHODIMP nsPNGDecoder::Close()
- {
-+ nsresult result;
-+
- if (mPNG)
- png_destroy_read_struct(&mPNG, mInfo ? &mInfo : NULL, NULL);
-
-+ result = mImage->RestoreDataDone ();
-+ if (NS_FAILED (result)) {
-+ PR_LOG (gPNGDecoderAccountingLog, PR_LOG_DEBUG,
-+ ("PNGDecoderAccounting: nsPNGDecoder::Close(): failure in RestoreDataDone() for image container %p",
-+ mImage.get ()));
-+
-+ mError = PR_TRUE;
-+ return result;
-+ }
-+
-+ PR_LOG (gPNGDecoderAccountingLog, PR_LOG_DEBUG,
-+ ("PNGDecoderAccounting: nsPNGDecoder::Close(): image container %p is now with RestoreDataDone",
-+ mImage.get ()));
-+
- return NS_OK;
- }
-
-@@ -234,6 +257,7 @@ static NS_METHOD ReadDataOut(nsIInputStream* in,
- PRUint32 *writeCount)
- {
- nsPNGDecoder *decoder = static_cast<nsPNGDecoder*>(closure);
-+ nsresult result;
-
- if (decoder->mError) {
- *writeCount = 0;
-@@ -248,10 +272,24 @@ static NS_METHOD ReadDataOut(nsIInputStream* in,
- *writeCount = 0;
- return NS_ERROR_FAILURE;
- }
--
- png_process_data(decoder->mPNG, decoder->mInfo,
- reinterpret_cast<unsigned char *>(const_cast<char *>(fromRawSegment)), count);
-
-+ result = decoder->mImage->AddRestoreData ((char *) fromRawSegment, count);
-+ if (NS_FAILED (result)) {
-+ PR_LOG (gPNGDecoderAccountingLog, PR_LOG_DEBUG,
-+ ("PNGDecoderAccounting: ReadDataOut(): failed to add restore data to image container %p",
-+ decoder->mImage.get ()));
-+
-+ decoder->mError = PR_TRUE;
-+ *writeCount = 0;
-+ return result;
-+ }
-+
-+ PR_LOG (gPNGDecoderAccountingLog, PR_LOG_DEBUG,
-+ ("PNGDecoderAccounting: ReadDataOut(): Added restore data to image container %p",
-+ decoder->mImage.get ()));
-+
- *writeCount = count;
- return NS_OK;
- }
-@@ -525,13 +563,41 @@ info_callback(png_structp png_ptr, png_infop info_ptr)
- if (decoder->mObserver)
- decoder->mObserver->OnStartDecode(nsnull);
-
-- decoder->mImage = do_CreateInstance("@mozilla.org/image/container;1");
-- if (!decoder->mImage)
-- longjmp(decoder->mPNG->jmpbuf, 5); // NS_ERROR_OUT_OF_MEMORY
-+ /* The image container may already exist if it is reloading itself from us.
-+ * Check that it has the same width/height; otherwise create a new container.
-+ */
-+ decoder->mImageLoad->GetImage (getter_AddRefs (decoder->mImage));
-+ if (decoder->mImage) {
-+ PRInt32 container_width, container_height;
-+
-+ decoder->mImage->GetWidth (&container_width);
-+ decoder->mImage->GetHeight (&container_height);
-
-- decoder->mImageLoad->SetImage(decoder->mImage);
-+ if (container_width != width || container_height != height)
-+ decoder->mImage = nsnull;
-+ }
-
-- decoder->mImage->Init(width, height, decoder->mObserver);
-+ if (!decoder->mImage) {
-+ decoder->mImage = do_CreateInstance("@mozilla.org/image/container;1");
-+ if (!decoder->mImage)
-+ longjmp(decoder->mPNG->jmpbuf, 5); // NS_ERROR_OUT_OF_MEMORY
-+
-+ decoder->mImageLoad->SetImage(decoder->mImage);
-+
-+ decoder->mImage->Init(width, height, decoder->mObserver);
-+
-+ /* FIXME: is this MIME type always right for this decoder? */
-+ if (NS_FAILED (decoder->mImage->SetDiscardable ("image/png"))) {
-+ PR_LOG (gPNGDecoderAccountingLog, PR_LOG_DEBUG,
-+ ("PNGDecoderAccounting: info_callback(): failed to set image container %p as discardable",
-+ decoder->mImage.get ()));
-+ longjmp(decoder->mPNG->jmpbuf, 5); // NS_ERROR_OUT_OF_MEMORY
-+ }
-+
-+ PR_LOG (gPNGDecoderAccountingLog, PR_LOG_DEBUG,
-+ ("PNGDecoderAccounting: info_callback(): set image container %p as discardable",
-+ decoder->mImage.get ()));
-+ }
-
- if (decoder->mObserver)
- decoder->mObserver->OnStartContainer(nsnull, decoder->mImage);
-@@ -757,7 +823,7 @@ end_callback(png_structp png_ptr, png_infop info_ptr)
- }
-
- decoder->mImage->DecodingComplete();
--
-+
- if (decoder->mObserver) {
- if (!(decoder->apngFlags & FRAME_HIDDEN))
- decoder->mObserver->OnStopFrame(nsnull, decoder->mFrame);
-diff --git modules/libpr0n/public/imgIContainer.idl modules/libpr0n/public/imgIContainer.idl
-index fc42335..524af96 100644
---- modules/libpr0n/public/imgIContainer.idl
-+++ modules/libpr0n/public/imgIContainer.idl
-@@ -22,6 +22,7 @@
- *
- * Contributor(s):
- * Stuart Parmenter <pavlov@netscape.com>
-+ * Federico Mena-Quintero <federico@novell.com>
- *
- * 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
-@@ -144,4 +145,10 @@ interface imgIContainer : nsISupports
- * @note -1 means forever.
- */
- attribute long loopCount;
-+
-+ /* Methods to discard uncompressed images and restore them again */
-+ [noscript] void setDiscardable(in string aMimeType);
-+ [noscript] void addRestoreData(in charPtr aBuffer,
-+ in unsigned long aCount);
-+ [noscript] void restoreDataDone();
- };
-diff --git modules/libpr0n/src/imgContainer.cpp modules/libpr0n/src/imgContainer.cpp
-index 776c4ee..22d8735 100644
---- modules/libpr0n/src/imgContainer.cpp
-+++ modules/libpr0n/src/imgContainer.cpp
-@@ -25,6 +25,7 @@
- * Asko Tontti <atontti@cc.hut.fi>
- * Arron Mogge <paper@animecity.nu>
- * Andrew Smith
-+ * Federico Mena-Quintero <federico@novell.com>
- *
- * 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
-@@ -42,23 +43,49 @@
-
- #include "nsComponentManagerUtils.h"
- #include "imgIContainerObserver.h"
-+#include "ImageErrors.h"
- #include "nsIImage.h"
-+#include "imgILoad.h"
-+#include "imgIDecoder.h"
-+#include "imgIDecoderObserver.h"
- #include "imgContainer.h"
- #include "nsIInterfaceRequestor.h"
- #include "nsIInterfaceRequestorUtils.h"
- #include "nsAutoPtr.h"
-+#include "nsStringStream.h"
-+#include "prmem.h"
-+#include "prlog.h"
-
- #include "gfxContext.h"
-
-+/* Accounting for compressed data */
-+#if defined(PR_LOGGING)
-+static PRLogModuleInfo *gCompressedImageAccountingLog = PR_NewLogModule ("CompressedImageAccounting");
-+#else
-+#define gCompressedImageAccountingLog
-+#endif
-+
-+static int num_containers_with_discardable_data;
-+static PRInt64 num_compressed_image_bytes;
-+
-+
- NS_IMPL_ISUPPORTS3(imgContainer, imgIContainer, nsITimerCallback, nsIProperties)
-
- //******************************************************************************
- imgContainer::imgContainer() :
- mSize(0,0),
-+ mNumFrames(0),
- mAnim(nsnull),
- mAnimationMode(kNormalAnimMode),
- mLoopCount(-1),
-- mObserver(nsnull)
-+ mObserver(nsnull),
-+ mDiscardable(PR_FALSE),
-+ mDiscarded(PR_FALSE),
-+ mDiscardableMimeType(nsnull),
-+ mRestoreData(nsnull),
-+ mRestoreDataLength(0),
-+ mRestoreDataDone(PR_FALSE),
-+ mDiscardTimer(nsnull)
- {
- }
-
-@@ -67,6 +94,32 @@ imgContainer::~imgContainer()
- {
- if (mAnim)
- delete mAnim;
-+
-+ if (mDiscardableMimeType) {
-+ free (mDiscardableMimeType);
-+ mDiscardableMimeType = nsnull;
-+ }
-+
-+ if (mRestoreData) {
-+ PR_Free (mRestoreData);
-+
-+ num_containers_with_discardable_data--;
-+ num_compressed_image_bytes -= mRestoreDataLength;
-+
-+ PR_LOG (gCompressedImageAccountingLog, PR_LOG_DEBUG,
-+ ("CompressedImageAccounting: destroying imgContainer %p. "
-+ "Compressed containers: %d, Compressed data bytes: %lld",
-+ this,
-+ num_containers_with_discardable_data,
-+ num_compressed_image_bytes));
-+
-+ mRestoreDataLength = 0;
-+ }
-+
-+ if (mDiscardTimer) {
-+ mDiscardTimer->Cancel ();
-+ mDiscardTimer = nsnull;
-+ }
- }
-
- //******************************************************************************
-@@ -124,15 +177,53 @@ NS_IMETHODIMP imgContainer::GetHeight(PRInt32 *aHeight)
- return NS_OK;
- }
-
-+nsresult imgContainer::GetCurrentFrameNoRef (gfxIImageFrame** aFrame)
-+{
-+ nsresult result;
-+
-+ result = RestoreDiscardedData ();
-+ if (NS_FAILED (result)) {
-+ PR_LOG (gCompressedImageAccountingLog, PR_LOG_DEBUG,
-+ ("CompressedImageAccounting: imgContainer::GetCurrentFrameNoRef(): error %d in RestoreDiscardedData(); "
-+ "returning a null frame from imgContainer %p",
-+ result,
-+ this));
-+
-+ *aFrame = nsnull;
-+ return result;
-+ }
-+
-+ if (!mAnim)
-+ *aFrame = mFrames.SafeObjectAt(0);
-+ else if (mAnim->lastCompositedFrameIndex == mAnim->currentAnimationFrameIndex)
-+ *aFrame = mAnim->compositingFrame;
-+ else
-+ *aFrame = mFrames.SafeObjectAt(mAnim->currentAnimationFrameIndex);
-+
-+ if (!*aFrame)
-+ PR_LOG (gCompressedImageAccountingLog, PR_LOG_DEBUG,
-+ ("CompressedImageAccounting: imgContainer::GetCurrentFrameNoRef(): returning null frame from imgContainer %p "
-+ "(no errors when restoring data)",
-+ this));
-+
-+ return NS_OK;
-+}
-+
- //******************************************************************************
- /* readonly attribute gfxIImageFrame currentFrame; */
- NS_IMETHODIMP imgContainer::GetCurrentFrame(gfxIImageFrame **aCurrentFrame)
- {
-+ nsresult result;
-+
- NS_ASSERTION(aCurrentFrame, "imgContainer::GetCurrentFrame; Invalid Arg");
- if (!aCurrentFrame)
- return NS_ERROR_INVALID_POINTER;
-
-- if (!(*aCurrentFrame = inlinedGetCurrentFrame()))
-+ result = GetCurrentFrameNoRef (aCurrentFrame);
-+ if (NS_FAILED (result))
-+ return result;
-+
-+ if (!*aCurrentFrame)
- return NS_ERROR_FAILURE;
-
- NS_ADDREF(*aCurrentFrame);
-@@ -148,7 +239,7 @@ NS_IMETHODIMP imgContainer::GetNumFrames(PRUint32 *aNumFrames)
- if (!aNumFrames)
- return NS_ERROR_INVALID_ARG;
-
-- *aNumFrames = mFrames.Count();
-+ *aNumFrames = mNumFrames;
-
- return NS_OK;
- }
-@@ -157,16 +248,24 @@ NS_IMETHODIMP imgContainer::GetNumFrames(PRUint32 *aNumFrames)
- /* gfxIImageFrame getFrameAt (in unsigned long index); */
- NS_IMETHODIMP imgContainer::GetFrameAt(PRUint32 index, gfxIImageFrame **_retval)
- {
-+ nsresult result;
-+
- NS_ASSERTION(_retval, "imgContainer::GetFrameAt; Invalid Arg");
- if (!_retval)
- return NS_ERROR_INVALID_POINTER;
-
-- if (!mFrames.Count()) {
-+ if (mNumFrames == 0) {
- *_retval = nsnull;
- return NS_OK;
- }
-
-- NS_ENSURE_ARG(index < static_cast<PRUint32>(mFrames.Count()));
-+ NS_ENSURE_ARG((int) index < mNumFrames);
-+
-+ result = RestoreDiscardedData ();
-+ if (NS_FAILED (result)) {
-+ *_retval = nsnull;
-+ return result;
-+ }
-
- if (!(*_retval = mFrames[index]))
- return NS_ERROR_FAILURE;
-@@ -183,16 +282,17 @@ NS_IMETHODIMP imgContainer::AppendFrame(gfxIImageFrame *item)
- NS_ASSERTION(item, "imgContainer::AppendFrame; Invalid Arg");
- if (!item)
- return NS_ERROR_INVALID_ARG;
--
-- PRInt32 numFrames = mFrames.Count();
--
-- if (numFrames == 0) {
-+
-+ if (mFrames.Count () == 0) {
- // This may not be an animated image, don't do all the animation stuff.
- mFrames.AppendObject(item);
-+
-+ mNumFrames++;
-+
- return NS_OK;
- }
-
-- if (numFrames == 1) {
-+ if (mFrames.Count () == 1) {
- // Now that we got a second frame, initialize animation stuff.
- if (!ensureAnimExists())
- return NS_ERROR_OUT_OF_MEMORY;
-@@ -216,11 +316,13 @@ NS_IMETHODIMP imgContainer::AppendFrame(gfxIImageFrame *item)
- itemRect);
-
- mFrames.AppendObject(item);
-+
-+ mNumFrames++;
-
- // If this is our second frame, start the animation.
- // Must be called after AppendObject because StartAnimation checks for > 1
- // frame
-- if (numFrames == 1)
-+ if (mFrames.Count () == 1)
- StartAnimation();
-
- return NS_OK;
-@@ -230,6 +332,7 @@ NS_IMETHODIMP imgContainer::AppendFrame(gfxIImageFrame *item)
- /* void removeFrame (in gfxIImageFrame item); */
- NS_IMETHODIMP imgContainer::RemoveFrame(gfxIImageFrame *item)
- {
-+ /* Remember to decrement mNumFrames if you implement this */
- return NS_ERROR_NOT_IMPLEMENTED;
- }
-
-@@ -253,7 +356,7 @@ NS_IMETHODIMP imgContainer::DecodingComplete(void)
- mAnim->doneDecoding = PR_TRUE;
- // If there's only 1 frame, optimize it.
- // Optimizing animated images is not supported
-- if (mFrames.Count() == 1)
-+ if (mNumFrames == 1)
- mFrames[0]->SetMutable(PR_FALSE);
- return NS_OK;
- }
-@@ -292,11 +395,11 @@ NS_IMETHODIMP imgContainer::SetAnimationMode(PRUint16 aAnimationMode)
- break;
- case kNormalAnimMode:
- if (mLoopCount != 0 ||
-- (mAnim && (mAnim->currentAnimationFrameIndex + 1 < mFrames.Count())))
-+ (mAnim && (mAnim->currentAnimationFrameIndex + 1 < mNumFrames)))
- StartAnimation();
- break;
- case kLoopOnceAnimMode:
-- if (mAnim && (mAnim->currentAnimationFrameIndex + 1 < mFrames.Count()))
-+ if (mAnim && (mAnim->currentAnimationFrameIndex + 1 < mNumFrames))
- StartAnimation();
- break;
- }
-@@ -312,12 +415,18 @@ NS_IMETHODIMP imgContainer::StartAnimation()
- (mAnim && (mAnim->timer || mAnim->animating)))
- return NS_OK;
-
-- if (mFrames.Count() > 1) {
-+ if (mNumFrames > 1) {
- if (!ensureAnimExists())
- return NS_ERROR_OUT_OF_MEMORY;
-
- PRInt32 timeout;
-- gfxIImageFrame *currentFrame = inlinedGetCurrentFrame();
-+ nsresult result;
-+ gfxIImageFrame *currentFrame;
-+
-+ result = GetCurrentFrameNoRef (&currentFrame);
-+ if (NS_FAILED (result))
-+ return result;
-+
- if (currentFrame) {
- currentFrame->GetTimeout(&timeout);
- if (timeout <= 0) // -1 means display this frame forever
-@@ -376,8 +485,15 @@ NS_IMETHODIMP imgContainer::ResetAnimation()
- mAnim->currentAnimationFrameIndex = 0;
- // Update display
- nsCOMPtr<imgIContainerObserver> observer(do_QueryReferent(mObserver));
-- if (observer)
-+ if (observer) {
-+ nsresult result;
-+
-+ result = RestoreDiscardedData ();
-+ if (NS_FAILED (result))
-+ return result;
-+
- observer->FrameChanged(this, mFrames[0], &(mAnim->firstFrameRefreshArea));
-+ }
-
- if (oldAnimating)
- return StartAnimation();
-@@ -411,10 +527,161 @@ NS_IMETHODIMP imgContainer::SetLoopCount(PRInt32 aLoopCount)
- return NS_OK;
- }
-
-+static PRBool
-+discarding_is_enabled (void)
-+{
-+ static PRBool inited;
-+ static PRBool enabled;
-+
-+ if (!inited) {
-+ inited = PR_TRUE;
-+
-+ enabled = (getenv ("MOZ_DISABLE_IMAGE_DISCARD") == nsnull);
-+ }
-+
-+ return enabled;
-+}
-+
-+//******************************************************************************
-+/* void setDiscardable(in string mime_type); */
-+NS_IMETHODIMP imgContainer::SetDiscardable (const char* aMimeType)
-+{
-+ NS_ASSERTION(aMimeType, "imgContainer::SetDiscardable() called with null aMimeType");
-+
-+ if (!discarding_is_enabled ())
-+ return NS_OK;
-+
-+ if (mDiscardable) {
-+ NS_WARNING ("imgContainer::SetDiscardable(): cannot change an imgContainer which is already discardable");
-+ return NS_ERROR_FAILURE;
-+ }
-+
-+ mDiscardableMimeType = strdup (aMimeType);
-+ if (!mDiscardableMimeType)
-+ return NS_ERROR_OUT_OF_MEMORY;
-+
-+ mDiscardable = PR_TRUE;
-+
-+ num_containers_with_discardable_data++;
-+ PR_LOG (gCompressedImageAccountingLog, PR_LOG_DEBUG,
-+ ("CompressedImageAccounting: Making imgContainer %p (%s) discardable. "
-+ "Compressed containers: %d, Compressed data bytes: %lld",
-+ this,
-+ aMimeType,
-+ num_containers_with_discardable_data,
-+ num_compressed_image_bytes));
-+
-+ return NS_OK;
-+}
-+
-+//******************************************************************************
-+/* void addRestoreData(in nsIInputStream aInputStream, in unsigned long aCount); */
-+NS_IMETHODIMP imgContainer::AddRestoreData (char *aBuffer, PRUint32 aCount)
-+{
-+ PRSize new_size;
-+ char *new_buffer;
-+
-+ NS_ASSERTION(aBuffer, "imgContainer::AddRestoreData() called with null aBuffer");
-+
-+ if (!discarding_is_enabled ())
-+ return NS_OK;
-+
-+ if (!mDiscardable) {
-+ NS_WARNING ("imgContainer::AddRestoreData() can only be called if SetDiscardable is called first");
-+ return NS_ERROR_FAILURE;
-+ }
-+
-+ if (mRestoreDataDone) {
-+ /* We are being called from the decoder while the data is being restored
-+ * (i.e. we were fully loaded once, then we discarded the image data, then
-+ * we are being restored). We don't want to save the compressed data again,
-+ * since we already have it.
-+ */
-+ return NS_OK;
-+ }
-+
-+ new_size = mRestoreDataLength + aCount;
-+
-+ new_buffer = (char *) PR_Realloc (mRestoreData, new_size);
-+ if (new_buffer)
-+ mRestoreData = new_buffer;
-+ else {
-+ /* Hmm, should we discard the whole buffer? The caller isn't going to be able to recover... */
-+ return NS_ERROR_OUT_OF_MEMORY;
-+ }
-+
-+ memcpy (mRestoreData + mRestoreDataLength, aBuffer, aCount);
-+ mRestoreDataLength = new_size;
-+
-+ num_compressed_image_bytes += aCount;
-+
-+ PR_LOG (gCompressedImageAccountingLog, PR_LOG_DEBUG,
-+ ("CompressedImageAccounting: Added compressed data to imgContainer %p (%s). "
-+ "Compressed containers: %d, Compressed data bytes: %lld",
-+ this,
-+ mDiscardableMimeType,
-+ num_containers_with_discardable_data,
-+ num_compressed_image_bytes));
-+
-+ return NS_OK;
-+}
-+
-+/* Note! buf must be declared as char buf[9]; */
-+static void
-+get_header_str (char *buf, char *data, PRSize data_len)
-+{
-+ int i;
-+ int n;
-+ static char hex[] = "0123456789abcdef";
-+
-+ n = data_len < 4 ? data_len : 4;
-+
-+ for (i = 0; i < n; i++) {
-+ buf[i * 2] = hex[(data[i] >> 4) & 0x0f];
-+ buf[i * 2 + 1] = hex[data[i] & 0x0f];
-+ }
-+
-+ buf[i * 2] = 0;
-+}
-+
-+//******************************************************************************
-+/* void restoreDataDone(); */
-+NS_IMETHODIMP imgContainer::RestoreDataDone (void)
-+{
-+ char buf[9];
-+
-+ if (!discarding_is_enabled ())
-+ return NS_OK;
-+
-+ if (mRestoreDataDone)
-+ return NS_OK;
-+
-+ mRestoreDataDone = PR_TRUE;
-+
-+ get_header_str (buf, mRestoreData, mRestoreDataLength);
-+ PR_LOG (gCompressedImageAccountingLog, PR_LOG_DEBUG,
-+ ("CompressedImageAccounting: imgContainer::RestoreDataDone() - data is done for container %p (%s), %d real frames (cached as %d frames) - header %p is 0x%s (length %d)",
-+ this,
-+ mDiscardableMimeType,
-+ mFrames.Count (),
-+ mNumFrames,
-+ mRestoreData,
-+ buf,
-+ (int) mRestoreDataLength));
-+
-+ return ResetDiscardTimer ();
-+}
-+
- //******************************************************************************
- /* void notify(in nsITimer timer); */
- NS_IMETHODIMP imgContainer::Notify(nsITimer *timer)
- {
-+ nsresult result;
-+
-+ result = RestoreDiscardedData ();
-+ if (NS_FAILED (result))
-+ return result;
-+
- // This should never happen since the timer is only set up in StartAnimation()
- // after mAnim is checked to exist.
- NS_ASSERTION(mAnim, "imgContainer::Notify() called but mAnim is null");
-@@ -433,8 +700,7 @@ NS_IMETHODIMP imgContainer::Notify(nsITimer *timer)
- return NS_OK;
- }
-
-- PRInt32 numFrames = mFrames.Count();
-- if (!numFrames)
-+ if (mNumFrames == 0)
- return NS_OK;
-
- gfxIImageFrame *nextFrame = nsnull;
-@@ -448,7 +714,7 @@ NS_IMETHODIMP imgContainer::Notify(nsITimer *timer)
- // finished decoding (see EndFrameDecode)
- if (mAnim->doneDecoding ||
- (nextFrameIndex < mAnim->currentDecodingFrameIndex)) {
-- if (numFrames == nextFrameIndex) {
-+ if (mNumFrames == nextFrameIndex) {
- // End of Animation
-
- // If animation mode is "loop once", it's time to stop animating
-@@ -875,3 +1141,328 @@ NS_IMETHODIMP imgContainer::GetKeys(PRUint32 *count, char ***keys)
- }
- return mProperties->GetKeys(count, keys);
- }
-+
-+static int
-+get_discard_timer_ms (void)
-+{
-+ /* FIXME: don't hardcode this */
-+ return 5000; /* 5 seconds */
-+}
-+
-+void
-+imgContainer::sDiscardTimerCallback (nsITimer *aTimer, void *aClosure)
-+{
-+ imgContainer *self = (imgContainer *) aClosure;
-+ int old_frame_count;
-+
-+ NS_ASSERTION (aTimer == self->mDiscardTimer,
-+ "imgContainer::DiscardTimerCallback() got a callback for an unknown timer");
-+
-+ self->mDiscardTimer = nsnull;
-+
-+ old_frame_count = self->mFrames.Count ();
-+
-+ if (self->mAnim) {
-+ delete self->mAnim;
-+ self->mAnim = nsnull;
-+ }
-+
-+ self->mFrames.Clear ();
-+
-+ self->mDiscarded = PR_TRUE;
-+
-+ PR_LOG (gCompressedImageAccountingLog, PR_LOG_DEBUG,
-+ ("CompressedImageAccounting: discarded uncompressed image data from imgContainer %p (%s) - %d frames (cached count: %d); "
-+ "Compressed containers: %d, Compressed data bytes: %lld",
-+ self,
-+ self->mDiscardableMimeType,
-+ old_frame_count,
-+ self->mNumFrames,
-+ num_containers_with_discardable_data,
-+ num_compressed_image_bytes));
-+}
-+
-+nsresult
-+imgContainer::ResetDiscardTimer (void)
-+{
-+ if (!discarding_is_enabled ())
-+ return NS_OK;
-+
-+ if (!mDiscardTimer) {
-+ mDiscardTimer = do_CreateInstance("@mozilla.org/timer;1");
-+
-+ if (!mDiscardTimer)
-+ return NS_ERROR_OUT_OF_MEMORY;
-+ } else {
-+ if (NS_FAILED (mDiscardTimer->Cancel ()))
-+ return NS_ERROR_FAILURE;
-+ }
-+
-+ return mDiscardTimer->InitWithFuncCallback (sDiscardTimerCallback,
-+ (void *) this,
-+ get_discard_timer_ms (),
-+ nsITimer::TYPE_ONE_SHOT);
-+}
-+
-+nsresult
-+imgContainer::RestoreDiscardedData (void)
-+{
-+ nsresult result;
-+ int num_expected_frames;
-+
-+ if (!mDiscarded)
-+ return NS_OK;
-+
-+ result = ResetDiscardTimer ();
-+ if (NS_FAILED (result))
-+ return result;
-+
-+ num_expected_frames = mNumFrames;
-+
-+ result = ReloadImages ();
-+ if (NS_FAILED (result)) {
-+ PR_LOG (gCompressedImageAccountingLog, PR_LOG_DEBUG,
-+ ("CompressedImageAccounting: imgContainer::RestoreDiscardedData() for container %p failed to ReloadImages()",
-+ this));
-+ return result;
-+ }
-+
-+ mDiscarded = PR_FALSE;
-+
-+ NS_ASSERTION (mNumFrames == mFrames.Count (),
-+ "number of restored image frames doesn't match");
-+ NS_ASSERTION (num_expected_frames == mNumFrames,
-+ "number of restored image frames doesn't match the original number of frames!");
-+
-+ PR_LOG (gCompressedImageAccountingLog, PR_LOG_DEBUG,
-+ ("CompressedImageAccounting: imgContainer::RestoreDiscardedData() restored discarded data "
-+ "for imgContainer %p (%s) - %d image frames. "
-+ "Compressed containers: %d, Compressed data bytes: %lld",
-+ this,
-+ mDiscardableMimeType,
-+ mNumFrames,
-+ num_containers_with_discardable_data,
-+ num_compressed_image_bytes));
-+
-+ return NS_OK;
-+}
-+
-+class ContainerLoader : public imgILoad,
-+ public imgIDecoderObserver,
-+ public nsSupportsWeakReference
-+{
-+public:
-+
-+ NS_DECL_ISUPPORTS
-+ NS_DECL_IMGILOAD
-+ NS_DECL_IMGIDECODEROBSERVER
-+ NS_DECL_IMGICONTAINEROBSERVER
-+
-+ ContainerLoader (void);
-+
-+private:
-+
-+ imgIContainer *mContainer;
-+};
-+
-+NS_IMPL_ISUPPORTS4 (ContainerLoader, imgILoad, imgIDecoderObserver, imgIContainerObserver, nsISupportsWeakReference)
-+
-+ContainerLoader::ContainerLoader (void)
-+{
-+}
-+
-+/* Implement imgILoad::image getter */
-+NS_IMETHODIMP
-+ContainerLoader::GetImage(imgIContainer **aImage)
-+{
-+ *aImage = mContainer;
-+ NS_IF_ADDREF (*aImage);
-+ return NS_OK;
-+}
-+
-+/* Implement imgILoad::image setter */
-+NS_IMETHODIMP
-+ContainerLoader::SetImage(imgIContainer *aImage)
-+{
-+ mContainer = aImage;
-+ return NS_OK;
-+}
-+
-+/* Implement imgILoad::isMultiPartChannel getter */
-+NS_IMETHODIMP
-+ContainerLoader::GetIsMultiPartChannel(PRBool *aIsMultiPartChannel)
-+{
-+ *aIsMultiPartChannel = PR_FALSE; /* FIXME: is this always right? */
-+ return NS_OK;
-+}
-+
-+/* Implement imgIDecoderObserver::onStartRequest() */
-+NS_IMETHODIMP
-+ContainerLoader::OnStartRequest (imgIRequest *aRequest)
-+{
-+ return NS_OK;
-+}
-+
-+/* Implement imgIDecoderObserver::onStartDecode() */
-+NS_IMETHODIMP
-+ContainerLoader::OnStartDecode (imgIRequest *aRequest)
-+{
-+ return NS_OK;
-+}
-+
-+/* Implement imgIDecoderObserver::onStartContainer() */
-+NS_IMETHODIMP
-+ContainerLoader::OnStartContainer (imgIRequest *aRequest, imgIContainer *aContainer)
-+{
-+ return NS_OK;
-+}
-+
-+/* Implement imgIDecoderObserver::onStartFrame() */
-+NS_IMETHODIMP
-+ContainerLoader::OnStartFrame (imgIRequest *aRequest, gfxIImageFrame *aFrame)
-+{
-+ return NS_OK;
-+}
-+
-+/* Implement imgIDecoderObserver::onDataAvailable() */
-+NS_IMETHODIMP
-+ContainerLoader::OnDataAvailable (imgIRequest *aRequest, gfxIImageFrame *aFrame, const nsIntRect * aRect)
-+{
-+ return NS_OK;
-+}
-+
-+/* Implement imgIDecoderObserver::onStopFrame() */
-+NS_IMETHODIMP
-+ContainerLoader::OnStopFrame (imgIRequest *aRequest, gfxIImageFrame *aFrame)
-+{
-+ return NS_OK;
-+}
-+
-+/* Implement imgIDecoderObserver::onStopContainer() */
-+NS_IMETHODIMP
-+ContainerLoader::OnStopContainer (imgIRequest *aRequest, imgIContainer *aContainer)
-+{
-+ return NS_OK;
-+}
-+
-+/* Implement imgIDecoderObserver::onStopDecode() */
-+NS_IMETHODIMP
-+ContainerLoader::OnStopDecode (imgIRequest *aRequest, nsresult status, const PRUnichar *statusArg)
-+{
-+ return NS_OK;
-+}
-+
-+/* Implement imgIDecoderObserver::onStopRequest() */
-+NS_IMETHODIMP
-+ContainerLoader::OnStopRequest (imgIRequest *aRequest, PRBool aIsLastPart)
-+{
-+ return NS_OK;
-+}
-+
-+/* implement imgIContainerObserver::frameChanged() */
-+NS_IMETHODIMP
-+ContainerLoader::FrameChanged (imgIContainer *aContainer, gfxIImageFrame *aFrame, nsIntRect * aDirtyRect)
-+{
-+ return NS_OK;
-+}
-+
-+static char *
-+make_id_from_mime_type (char *mime_type)
-+{
-+ const char idbase[] = "@mozilla.org/image/decoder;2?type=";
-+ int idbase_len = strlen (idbase);
-+ char *id;
-+
-+ id = (char *) PR_Malloc (strlen (mime_type) + idbase_len + 1);
-+ if (!id)
-+ return nsnull;
-+
-+ strcpy (id, idbase);
-+ strcpy (id + idbase_len, mime_type);
-+
-+ return id;
-+}
-+
-+nsresult
-+imgContainer::ReloadImages (void)
-+{
-+ char *id;
-+ nsCOMPtr<imgILoad> loader;
-+ nsCOMPtr<imgIDecoder> decoder;
-+ nsresult result;
-+ PRUint32 written;
-+ nsCOMPtr<nsIInputStream> stream;
-+ char buf[9];
-+
-+ NS_ASSERTION (mRestoreData,
-+ "imgContainer::ReloadImages(): mRestoreData should not be null");
-+ NS_ASSERTION (mRestoreDataDone,
-+ "imgContainer::ReloadImages(): mRestoreDataDone shoudl be true!");
-+
-+ id = make_id_from_mime_type (mDiscardableMimeType);
-+ if (!id)
-+ return NS_ERROR_OUT_OF_MEMORY;
-+
-+ mNumFrames = 0;
-+ NS_ASSERTION (mFrames.Count() == 0,
-+ "imgContainer::ReloadImages(): mFrames should be empty");
-+
-+ decoder = do_CreateInstance (id);
-+ PR_Free (id);
-+
-+ if (!decoder) {
-+ PR_LOG (gCompressedImageAccountingLog, PR_LOG_WARNING,
-+ ("CompressedImageAccounting: imgContainer::ReloadImages() could not create decoder for %s",
-+ mDiscardableMimeType));
-+ return NS_IMAGELIB_ERROR_NO_DECODER;
-+ }
-+
-+ loader = new ContainerLoader ();
-+ if (!loader) {
-+ PR_LOG (gCompressedImageAccountingLog, PR_LOG_WARNING,
-+ ("CompressedImageAccounting: imgContainer::ReloadImages() could not allocate ContainerLoader "
-+ "when reloading the images for container %p",
-+ this));
-+ return NS_ERROR_OUT_OF_MEMORY;
-+ }
-+
-+ loader->SetImage (this);
-+
-+ result = decoder->Init (loader);
-+ if (NS_FAILED (result)) {
-+ PR_LOG (gCompressedImageAccountingLog, PR_LOG_WARNING,
-+ ("CompressedImageAccounting: imgContainer::ReloadImages() image container %p "
-+ "failed to initialize the decoder (%s)",
-+ this,
-+ mDiscardableMimeType));
-+ return result;
-+ }
-+
-+ result = NS_NewByteInputStream (getter_AddRefs (stream), mRestoreData, mRestoreDataLength, NS_ASSIGNMENT_DEPEND);
-+ NS_ENSURE_SUCCESS (result, result);
-+
-+ get_header_str (buf, mRestoreData, mRestoreDataLength);
-+ PR_LOG (gCompressedImageAccountingLog, PR_LOG_WARNING,
-+ ("CompressedImageAccounting: imgContainer::ReloadImages() starting to restore images for container %p (%s) - "
-+ "header %p is 0x%s (length %d)",
-+ this,
-+ mDiscardableMimeType,
-+ mRestoreData,
-+ buf,
-+ (int) mRestoreDataLength));
-+
-+ result = decoder->WriteFrom (stream, mRestoreDataLength, &written);
-+ NS_ENSURE_SUCCESS (result, result);
-+
-+ result = decoder->Flush ();
-+ if (!(result == NS_OK || result == NS_ERROR_NOT_IMPLEMENTED)) /* PNG doesn't implement Flush(), for example */
-+ return result;
-+
-+ result = decoder->Close ();
-+ NS_ENSURE_SUCCESS (result, result);
-+
-+ NS_ASSERTION (mFrames.Count() == mNumFrames,
-+ "imgContainer::ReloadImages(): the restored mFrames.Count() doesn't match mNumFrames!");
-+
-+ return result;
-+}
-diff --git modules/libpr0n/src/imgContainer.h modules/libpr0n/src/imgContainer.h
-index 3db7034..aa56939 100644
---- modules/libpr0n/src/imgContainer.h
-+++ modules/libpr0n/src/imgContainer.h
-@@ -23,6 +23,7 @@
- * Contributor(s):
- * Stuart Parmenter <pavlov@netscape.com>
- * Chris Saari <saari@netscape.com>
-+ * Federico Mena-Quintero <federico@novell.com>
- *
- * 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
-@@ -194,14 +195,8 @@ private:
- timer->Cancel();
- }
- };
--
-- inline gfxIImageFrame* inlinedGetCurrentFrame() {
-- if (!mAnim)
-- return mFrames.SafeObjectAt(0);
-- if (mAnim->lastCompositedFrameIndex == mAnim->currentAnimationFrameIndex)
-- return mAnim->compositingFrame;
-- return mFrames.SafeObjectAt(mAnim->currentAnimationFrameIndex);
-- }
-+
-+ nsresult GetCurrentFrameNoRef(gfxIImageFrame** aFrame);
-
- inline Anim* ensureAnimExists() {
- if (!mAnim)
-@@ -274,10 +269,15 @@ private:
- nsIntSize mSize;
-
- //! All the <gfxIImageFrame>s of the PNG
-+ // *** IMPORTANT: if you use mFrames in a method, call RestoreDiscardedData() first to ensure
-+ // that the frames actually exist (they may have been discarded to save memory).
- nsCOMArray<gfxIImageFrame> mFrames;
-+ int mNumFrames; /* stored separately from mFrames.Count() to support discarded images */
-
- nsCOMPtr<nsIProperties> mProperties;
--
-+
-+ // *** IMPORTANT: if you use mAnim in a method, call RestoreDiscardedData() first to ensure
-+ // that the frames actually exist (they may have been discarded to save memory).
- imgContainer::Anim* mAnim;
-
- //! See imgIContainer for mode constants
-@@ -288,6 +288,19 @@ private:
-
- //! imgIContainerObserver
- nsWeakPtr mObserver;
-+
-+ PRBool mDiscardable;
-+ PRBool mDiscarded;
-+ char* mDiscardableMimeType;
-+ char* mRestoreData;
-+ PRSize mRestoreDataLength;
-+ PRBool mRestoreDataDone;
-+ nsCOMPtr<nsITimer> mDiscardTimer;
-+
-+ nsresult ResetDiscardTimer (void);
-+ nsresult RestoreDiscardedData (void);
-+ nsresult ReloadImages (void);
-+ static void sDiscardTimerCallback (nsITimer *aTimer, void *aClosure);
- };
-
- #endif /* __imgContainer_h__ */
diff --git a/www/firefox-devel/files/patch-build_unix_run-mozilla.sh b/www/firefox-devel/files/patch-build_unix_run-mozilla.sh
deleted file mode 100644
index a5295588e..000000000
--- a/www/firefox-devel/files/patch-build_unix_run-mozilla.sh
+++ /dev/null
@@ -1,12 +0,0 @@
---- build/unix/run-mozilla.sh.orig Tue Feb 14 19:56:54 2006
-+++ build/unix/run-mozilla.sh Fri Dec 8 15:49:48 2006
-@@ -443,6 +443,9 @@
- export MOZILLA_FIVE_HOME LD_LIBRARY_PATH
- export SHLIB_PATH LIBPATH LIBRARY_PATH ADDON_PATH DYLD_LIBRARY_PATH
-
-+MOZ_PLUGIN_PATH=%%PREFIX%%/lib/browser_plugins:%%PREFIX%%/lib/browser_linux_plugins
-+export MOZ_PLUGIN_PATH
-+
- if [ $moz_debug -eq 1 ]
- then
- moz_debug_program ${1+"$@"}
diff --git a/www/firefox-devel/files/patch-config-mkdepend-imakemdep.h b/www/firefox-devel/files/patch-config-mkdepend-imakemdep.h
deleted file mode 100644
index b688e6644..000000000
--- a/www/firefox-devel/files/patch-config-mkdepend-imakemdep.h
+++ /dev/null
@@ -1,10 +0,0 @@
---- config/mkdepend/imakemdep.h Fri Sep 4 21:22:25 1998
-+++ config/mkdepend/imakemdep.h Thu Oct 16 22:43:25 2003
-@@ -278,4 +278,7 @@
- "-D__i386__",
- # endif
-+# if defined(__amd64__) || defined(__x86_64__)
-+ "-D__amd64__ -D__x86_64__",
-+# endif
- # ifdef __GNUC__
- "-traditional",
diff --git a/www/firefox-devel/files/patch-config-rules.mk b/www/firefox-devel/files/patch-config-rules.mk
deleted file mode 100644
index 8ab35f5a8..000000000
--- a/www/firefox-devel/files/patch-config-rules.mk
+++ /dev/null
@@ -1,13 +0,0 @@
---- config/rules.mk.orig Thu Sep 14 14:07:03 2006
-+++ config/rules.mk Wed Oct 18 11:00:09 2006
-@@ -442,9 +442,7 @@
- endif
-
- ifeq ($(OS_ARCH),FreeBSD)
--ifdef IS_COMPONENT
--EXTRA_DSO_LDOPTS += -Wl,-Bsymbolic
--endif
-+EXTRA_DSO_LDOPTS += -Wl,-Bsymbolic -lc
- endif
-
- ifeq ($(OS_ARCH),NetBSD)
diff --git a/www/firefox-devel/files/patch-config_autoconf.mk.in b/www/firefox-devel/files/patch-config_autoconf.mk.in
deleted file mode 100644
index 29fe7f8fb..000000000
--- a/www/firefox-devel/files/patch-config_autoconf.mk.in
+++ /dev/null
@@ -1,18 +0,0 @@
---- config/autoconf.mk.in.orig Thu Jul 14 00:50:06 2005
-+++ config/autoconf.mk.in Thu Jul 14 00:50:40 2005
-@@ -50,13 +50,13 @@
- 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)
-
--mozappdir = $(libdir)/$(MOZ_APP_NAME)-$(MOZ_APP_VERSION)
-+mozappdir = $(libdir)/%%MOZILLA%%
- mredir = $(libdir)/mre/mre-$(MOZ_APP_VERSION)
- mrelibdir = $(mredir)/lib
-
diff --git a/www/firefox-devel/files/patch-config_mkdepend_Makefile.in b/www/firefox-devel/files/patch-config_mkdepend_Makefile.in
deleted file mode 100644
index bace012a2..000000000
--- a/www/firefox-devel/files/patch-config_mkdepend_Makefile.in
+++ /dev/null
@@ -1,10 +0,0 @@
---- config/mkdepend/Makefile.in.orig Sun Dec 12 07:36:57 2004
-+++ config/mkdepend/Makefile.in Sun Dec 12 07:37:55 2004
-@@ -57,6 +57,7 @@
- include $(topsrcdir)/config/rules.mk
-
- HOST_CFLAGS += -DINCLUDEDIR=\"/usr/include\" -DOBJSUFFIX=\".$(OBJ_SUFFIX)\"
-+HOST_CFLAGS += $(XCFLAGS)
-
- ifdef GNU_CC
- _GCCDIR = $(shell $(CC) -print-file-name=include)
diff --git a/www/firefox-devel/files/patch-content_xslt_public_txDouble.h b/www/firefox-devel/files/patch-content_xslt_public_txDouble.h
deleted file mode 100644
index 534bccba4..000000000
--- a/www/firefox-devel/files/patch-content_xslt_public_txDouble.h
+++ /dev/null
@@ -1,20 +0,0 @@
---- content/xslt/public/txDouble.h.orig Fri Oct 13 00:00:29 2006
-+++ content/xslt/public/txDouble.h Fri Oct 13 00:00:53 2006
-@@ -41,7 +41,7 @@
- #define __txdouble_h__
-
- //A trick to handle IEEE floating point exceptions on FreeBSD - E.D.
--#ifdef __FreeBSD__
-+/* #ifdef __FreeBSD__
- #include <ieeefp.h>
- #ifdef __alpha__
- fp_except_t allmask = FP_X_INV|FP_X_OFL|FP_X_UFL|FP_X_DZ|FP_X_IMP;
-@@ -50,7 +50,7 @@
- #endif
- fp_except_t oldmask = fpsetmask(~allmask);
- #endif
--
-+*/
- /**
- * Macros to workaround math-bugs bugs in various platforms
- */
diff --git a/www/firefox-devel/files/patch-extensions_typeaheadfind_src_nsTypeAheadFind.cpp b/www/firefox-devel/files/patch-extensions_typeaheadfind_src_nsTypeAheadFind.cpp
deleted file mode 100644
index 41c462d74..000000000
--- a/www/firefox-devel/files/patch-extensions_typeaheadfind_src_nsTypeAheadFind.cpp
+++ /dev/null
@@ -1,46 +0,0 @@
---- extensions/typeaheadfind/src/nsTypeAheadFind.cpp.orig Wed Nov 19 01:20:47 2003
-+++ extensions/typeaheadfind/src/nsTypeAheadFind.cpp Tue Feb 10 02:52:26 2004
-@@ -323,11 +323,11 @@
- prefBranch->GetBoolPref("accessibility.typeaheadfind.startlinksonly",
- &mStartLinksOnlyPref);
-
-- PRBool isSoundEnabled = PR_TRUE;
-+ mIsSoundEnabled = PR_TRUE;
- prefBranch->GetBoolPref("accessibility.typeaheadfind.enablesound",
-- &isSoundEnabled);
-+ &mIsSoundEnabled);
- nsXPIDLCString soundStr;
-- if (isSoundEnabled) {
-+ if (mIsSoundEnabled && mIsSoundEnabled) {
- prefBranch->GetCharPref("accessibility.typeaheadfind.soundURL",
- getter_Copies(soundStr));
- }
-@@ -758,7 +758,7 @@
- }
- else {
- // No find string to backspace in!
-- if (mIsBackspaceProtectOn) {
-+ if (mIsBackspaceProtectOn && mIsSoundEnabled) {
- // This flag should be on only if the last key was a backspace.
- // It keeps us from accidentally hitting backspace too many times and
- // going back in history when we really just wanted to clear
-@@ -1012,7 +1012,9 @@
-
- // Error sound (don't fire when backspace is pressed, they're
- // trying to correct the mistake!)
-- PlayNotFoundSound();
-+ if (mIsSoundEnabled) {
-+ PlayNotFoundSound();
-+ }
-
- // Remove bad character from buffer, so we can continue typing from
- // last matched character
-@@ -1059,7 +1061,7 @@
- void
- nsTypeAheadFind::PlayNotFoundSound()
- {
-- if (mNotFoundSoundURL.IsEmpty()) // no sound
-+ if (mNotFoundSoundURL.IsEmpty() || !mIsSoundEnabled) // no sound
- return;
- if (!mSoundInterface) {
- mSoundInterface = do_CreateInstance("@mozilla.org/sound;1");
diff --git a/www/firefox-devel/files/patch-extensions_typeaheadfind_src_nsTypeAheadFind.h b/www/firefox-devel/files/patch-extensions_typeaheadfind_src_nsTypeAheadFind.h
deleted file mode 100644
index 07ad43b43..000000000
--- a/www/firefox-devel/files/patch-extensions_typeaheadfind_src_nsTypeAheadFind.h
+++ /dev/null
@@ -1,12 +0,0 @@
---- extensions/typeaheadfind/src/nsTypeAheadFind.h.orig Fri May 23 22:00:33 2003
-+++ extensions/typeaheadfind/src/nsTypeAheadFind.h Mon Feb 9 22:21:43 2004
-@@ -194,6 +194,9 @@
-
- nsCString mNotFoundSoundURL;
-
-+ // Move the sound enabled boolean out for all methods to access.
-+ PRBool mIsSoundEnabled;
-+
- // PRBool's are used instead of PRPackedBool's where the address of the
- // boolean variable is getting passed into a method. For example:
- // GetBoolPref("accessibility.typeaheadfind.linksonly", &mLinksOnlyPref);
diff --git a/www/firefox-devel/files/patch-js_src_Makefile.in b/www/firefox-devel/files/patch-js_src_Makefile.in
deleted file mode 100644
index fb0bd7f19..000000000
--- a/www/firefox-devel/files/patch-js_src_Makefile.in
+++ /dev/null
@@ -1,10 +0,0 @@
---- js/src/Makefile.in.orig Wed Oct 18 09:23:09 2006
-+++ js/src/Makefile.in Wed Oct 18 09:27:27 2006
-@@ -244,6 +244,7 @@
- endif
-
- LDFLAGS += $(pathsubst -l%,$(NSPR_STATIC_PATH)/%.a,$(NSPR_LIBS))
-+LDFLAGS += -lc
-
- # BeOS and HP-UX do not require the extra linking of "-lm"
- ifeq (,$(filter BeOS HP-UX WINNT WINCE OpenVMS,$(OS_ARCH)))
diff --git a/www/firefox-devel/files/patch-js_src_jsnum.c b/www/firefox-devel/files/patch-js_src_jsnum.c
deleted file mode 100644
index a3ef2769a..000000000
--- a/www/firefox-devel/files/patch-js_src_jsnum.c
+++ /dev/null
@@ -1,28 +0,0 @@
---- js/src/jsnum.c.orig Sun Nov 5 18:37:07 2006
-+++ js/src/jsnum.c Sun Nov 5 18:42:31 2006
-@@ -45,6 +45,9 @@
- #if defined(XP_WIN) || defined(XP_OS2)
- #include <float.h>
- #endif
-+#if defined(__FreeBSD__)
-+#include <sys/param.h>
-+#endif
- #include <locale.h>
- #include <limits.h>
- #include <math.h>
-@@ -532,7 +535,15 @@ static jsdouble NaN;
-
- #else
-
-+#if defined(__FreeBSD__) && __FreeBSD_version >= 601000
-+#include <fenv.h>
-+#define FIX_FPU() (fedisableexcept(FE_ALL_EXCEPT))
-+
-+#else
-+
- #define FIX_FPU() ((void)0)
-+
-+#endif /* defined(__FreeBSD__) && __FreeBSD_version >= 503000 */
-
- #endif
-
diff --git a/www/firefox-devel/files/patch-modules_libpref_src_init_all.js b/www/firefox-devel/files/patch-modules_libpref_src_init_all.js
deleted file mode 100644
index 1700380a5..000000000
--- a/www/firefox-devel/files/patch-modules_libpref_src_init_all.js
+++ /dev/null
@@ -1,53 +0,0 @@
---- modules/libpref/src/init/all.js.orig Mon Feb 13 22:58:15 2006
-+++ modules/libpref/src/init/all.js Tue May 2 00:32:55 2006
-@@ -1883,33 +1883,33 @@
-
- // th
-
--pref("font.name.serif.tr", "Times");
--pref("font.name.sans-serif.tr", "Helvetica");
--pref("font.name.monospace.tr", "Courier");
-+pref("font.name.serif.tr", "serif");
-+pref("font.name.sans-serif.tr", "sans-serif");
-+pref("font.name.monospace.tr", "monospace");
-
- pref("font.name.serif.x-baltic", "serif");
- pref("font.name.sans-serif.x-baltic", "sans-serif");
- pref("font.name.monospace.x-baltic", "monospace");
-
--pref("font.name.serif.x-central-euro", "Times");
--pref("font.name.sans-serif.x-central-euro", "Helvetica");
--pref("font.name.monospace.x-central-euro", "Courier");
-+pref("font.name.serif.x-central-euro", "serif");
-+pref("font.name.sans-serif.x-central-euro", "sans-serif");
-+pref("font.name.monospace.x-central-euro", "monospace");
-
- pref("font.name.serif.x-cyrillic", "serif");
- pref("font.name.sans-serif.x-cyrillic", "sans-serif");
- pref("font.name.monospace.x-cyrillic", "monospace");
-
--pref("font.name.serif.x-unicode", "Times");
--pref("font.name.sans-serif.x-unicode", "Helvetica");
--pref("font.name.monospace.x-unicode", "Courier");
--
--pref("font.name.serif.x-user-def", "Times");
--pref("font.name.sans-serif.x-user-def", "Helvetica");
--pref("font.name.monospace.x-user-def", "Courier");
--
--pref("font.name.serif.x-western", "Times");
--pref("font.name.sans-serif.x-western", "Helvetica");
--pref("font.name.monospace.x-western", "Courier");
-+pref("font.name.serif.x-unicode", "serif");
-+pref("font.name.sans-serif.x-unicode", "sans-serif");
-+pref("font.name.monospace.x-unicode", "monospace");
-+
-+pref("font.name.serif.x-user-def", "serif");
-+pref("font.name.sans-serif.x-user-def", "sans-serif");
-+pref("font.name.monospace.x-user-def", "monospace");
-+
-+pref("font.name.serif.x-western", "serif");
-+pref("font.name.sans-serif.x-western", "sans-serif");
-+pref("font.name.monospace.x-western", "monospace");
-
- pref("font.name.serif.zh-CN", "serif");
- pref("font.name.sans-serif.zh-CN", "sans-serif");
diff --git a/www/firefox-devel/files/patch-security-coreconf-FreeBSD.mk b/www/firefox-devel/files/patch-security-coreconf-FreeBSD.mk
deleted file mode 100644
index 0f7a04a02..000000000
--- a/www/firefox-devel/files/patch-security-coreconf-FreeBSD.mk
+++ /dev/null
@@ -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
diff --git a/www/firefox-devel/files/patch-security_manager_ssl_src_nsNSSComponent.cpp b/www/firefox-devel/files/patch-security_manager_ssl_src_nsNSSComponent.cpp
deleted file mode 100644
index f30d12229..000000000
--- a/www/firefox-devel/files/patch-security_manager_ssl_src_nsNSSComponent.cpp
+++ /dev/null
@@ -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"
diff --git a/www/firefox-devel/files/patch-storage_build_Makefile.in b/www/firefox-devel/files/patch-storage_build_Makefile.in
deleted file mode 100644
index 18202a5a6..000000000
--- a/www/firefox-devel/files/patch-storage_build_Makefile.in
+++ /dev/null
@@ -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
diff --git a/www/firefox-devel/files/patch-sysnss b/www/firefox-devel/files/patch-sysnss
deleted file mode 100644
index 6f3d06298..000000000
--- a/www/firefox-devel/files/patch-sysnss
+++ /dev/null
@@ -1,34 +0,0 @@
---- security/manager/ssl/src/Makefile.in.orig 2007-07-23 15:03:01.000000000 -0400
-+++ security/manager/ssl/src/Makefile.in 2007-09-04 20:47:03.000000000 -0400
-@@ -125,13 +125,11 @@
- 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
-
- ifeq ($(OS_ARCH),Darwin)
- EXTRA_DSO_LDOPTS += \
-@@ -143,6 +141,7 @@
- $(MOZ_COMPONENT_LIBS) \
- $(MOZ_JS_LIBS) \
- $(NSS_LIBS) \
-+ $(LOCAL_INCLUDES) \
- $(NULL)
-
- include $(topsrcdir)/config/rules.mk
---- toolkit/components/url-classifier/src/Makefile.in.orig 2007-09-05 09:00:23.000000000 -0400
-+++ toolkit/components/url-classifier/src/Makefile.in 2007-09-05 09:00:27.000000000 -0400
-@@ -36,6 +36,3 @@
- $(NULL)
-
- include $(topsrcdir)/config/rules.mk
--
--export:: $(topsrcdir)/security/nss/lib/freebl/sha512.c
-- $(INSTALL) $^ .
diff --git a/www/firefox-devel/files/patch-toolkit_xre_Makefile.in b/www/firefox-devel/files/patch-toolkit_xre_Makefile.in
deleted file mode 100644
index 4a9c8533a..000000000
--- a/www/firefox-devel/files/patch-toolkit_xre_Makefile.in
+++ /dev/null
@@ -1,8 +0,0 @@
---- toolkit/xre/Makefile.in.orig 2007-09-10 10:31:53.000000000 -0400
-+++ toolkit/xre/Makefile.in 2007-09-10 10:35:00.000000000 -0400
-@@ -263,5 +263,3 @@
- libs:: platform.ini
- $(INSTALL) $^ $(DIST)/bin
-
--install::
-- $(INSTALL) $(IFLAGS1) $^ $(DESTDIR)$(mozappdir)
diff --git a/www/firefox-devel/files/patch-uriloader_exthandler_unix_nsGNOMERegistry.cpp b/www/firefox-devel/files/patch-uriloader_exthandler_unix_nsGNOMERegistry.cpp
deleted file mode 100644
index 7f8e55f53..000000000
--- a/www/firefox-devel/files/patch-uriloader_exthandler_unix_nsGNOMERegistry.cpp
+++ /dev/null
@@ -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);
diff --git a/www/firefox-devel/files/patch-xpcom-reflect-xptcall-public-xptcstubsdecl.inc b/www/firefox-devel/files/patch-xpcom-reflect-xptcall-public-xptcstubsdecl.inc
deleted file mode 100644
index 9a41bbfc4..000000000
--- a/www/firefox-devel/files/patch-xpcom-reflect-xptcall-public-xptcstubsdecl.inc
+++ /dev/null
@@ -1,11 +0,0 @@
---- xpcom/reflect/xptcall/public/xptcstubsdecl.inc.orig Tue Mar 16 03:07:25 2004
-+++ xpcom/reflect/xptcall/public/xptcstubsdecl.inc Tue Jun 15 12:52:36 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();
diff --git a/www/firefox-devel/files/patch-xpcom-reflect-xptcall-src-md-unix-Makefile.in b/www/firefox-devel/files/patch-xpcom-reflect-xptcall-src-md-unix-Makefile.in
deleted file mode 100644
index 51edeb95a..000000000
--- a/www/firefox-devel/files/patch-xpcom-reflect-xptcall-src-md-unix-Makefile.in
+++ /dev/null
@@ -1,54 +0,0 @@
---- xpcom/reflect/xptcall/src/md/unix/Makefile.in.orig Thu Aug 14 21:00:23 2003
-+++ xpcom/reflect/xptcall/src/md/unix/Makefile.in Sun Feb 1 15:06:40 2004
-@@ -49,6 +49,9 @@
- ifeq (86,$(findstring 86,$(OS_TEST)))
- CPPSRCS := xptcinvoke_unixish_x86.cpp xptcstubs_unixish_x86.cpp
- endif
-+ifeq (amd64,$(OS_TEST))
-+CPPSRCS := xptcinvoke_x86_64_linux.cpp xptcstubs_x86_64_linux.cpp
-+endif
- endif
- #
- # New code for Linux, et. al., with gcc
-@@ -60,7 +63,7 @@
- endif
- endif
- # IA64 Linux
--ifneq (,$(filter Linux,$(OS_ARCH)))
-+ifneq (,$(filter 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
-@@ -106,9 +109,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
- #
-@@ -294,6 +303,15 @@
- ifeq ($(OS_ARCH)$(OS_TEST),NetBSDsparc)
- 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
- #
- # Solaris/SPARC
diff --git a/www/firefox-devel/files/patch-xptcall-alpha b/www/firefox-devel/files/patch-xptcall-alpha
deleted file mode 100644
index 29631a98e..000000000
--- a/www/firefox-devel/files/patch-xptcall-alpha
+++ /dev/null
@@ -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@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@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"
-+
diff --git a/www/firefox-devel/files/patch-xptcall-sparc64 b/www/firefox-devel/files/patch-xptcall-sparc64
deleted file mode 100644
index 9599a8a71..000000000
--- a/www/firefox-devel/files/patch-xptcall-sparc64
+++ /dev/null
@@ -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@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@netscape.com>
-+ * Chris Seawood <cls@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@netscape.com>
-+ * Chris Seawood <cls@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;
-+}
diff --git a/www/firefox-devel/pkg-descr b/www/firefox-devel/pkg-descr
deleted file mode 100644
index 166df46a0..000000000
--- a/www/firefox-devel/pkg-descr
+++ /dev/null
@@ -1,12 +0,0 @@
-Firefox is an award winning, free, open-source web browser for many platforms
-and is based on the Mozilla codebase. It is small, fast and easy to use, and
-offers many advanced features:
- o Popup Blocking
- o Tabbed Browsing
- o Live Bookmarks (ie. RSS)
- o Extensions
- o Themes
- o FastFind
- o Improved Security
-
-WWW: http://www.mozilla.com/firefox
diff --git a/www/firefox-devel/pkg-message b/www/firefox-devel/pkg-message
deleted file mode 100644
index 5c9d24b32..000000000
--- a/www/firefox-devel/pkg-message
+++ /dev/null
@@ -1,32 +0,0 @@
-======================================================================
-
-SMB issues:
-Network group, machine, and share browsing does not work correctly.
-
-SFTP:
-Only sftp access using public key authentication works. To easily
-setup public key authentication to "remote_host":
-
-ssh-keygen -t dsa
-cat ~/.ssh/id_dsa.pub | ssh remote_host "cat >> .ssh/authorized_keys"
-
-The SSH sever on remote_host must allow pub key authentication.
-
-======================================================================
-
-Any bug reports should be addressed to the maintainers at:
- gnome@FreeBSD.org
-You may also Cc: freebsd-ports@FreeBSD.org. Please do not send
-bug reports to any other addresses.
-
-Please include the following information with any bug report:
-* Output from 'uname -a'.
-* Date/time stamp from www/firefox-devel/Makefile.
-* Where/when did the problem occur: configuring, building, or
- running firefox
-* How can you reproduce the problem?
-
-Thank you for your help in testing and reporting bugs, and we hope you
-enjoy using Firefox.
-The Maintainers (gnome@)
-======================================================================
diff --git a/www/firefox3-devel/Makefile b/www/firefox3-devel/Makefile
deleted file mode 100644
index 25c3232f5..000000000
--- a/www/firefox3-devel/Makefile
+++ /dev/null
@@ -1,101 +0,0 @@
-# New ports collection makefile for: phoenix
-# Date created: 2002/10/21
-# Whom: Alan Eldridge <alane@FreeBSD.org>
-#
-# $FreeBSD$
-# $MCom: ports/www/firefox-devel/Makefile,v 1.40 2007/09/10 16:26:49 ahze Exp $
-
-PORTNAME= firefox
-DISTVERSION= 3.0.a7
-PORTEPOCH= 1
-CATEGORIES= www ipv6
-MASTER_SITES= ${MASTER_SITE_MOZILLA}
-MASTER_SITE_SUBDIR= ${PORTNAME}/releases/granparadiso/alpha7/source/
-#MASTER_SITE_SUBDIR= ${PORTNAME}/releases/${DISTVERSION}/source
-DISTNAME= granparadiso-alpha7-source
-#DISTNAME= ${PORTNAME}-${DISTVERSION}-source
-
-MAINTAINER= gnome@FreeBSD.org
-COMMENT= Web browser based on the browser portion of Mozilla
-
-MOZILLA_NAME= Firefox-${MOZILLA_SUFX}
-MOZILLA_SUFX= -devel
-MOZILLA= ${PORTNAME}${MOZILLA_SUFX}
-MOZ_OPTIONS= --program-transform-name='s/firefox/${MOZILLA}/' \
- --enable-svg --enable-svg-renderer=cairo
-MOZ_TOOLKIT= cairo-gtk2
-
-WANT_GNOME= yes
-ALL_TARGET= default
-CONFIGURE_ENV= LOCALBASE=${LOCALBASE}
-EXTRA_CFLAGS= -O2
-HAS_CONFIGURE= yes
-USE_BZIP2= yes
-USE_GMAKE= yes
-NO_MOZPKGINSTALL=yes
-
-FIREFOX_ICON= ${MOZILLA}.xpm
-FIREFOX_ICON_SRC= ${PREFIX}/lib/firefox-devel/chrome/icons/default/default.xpm
-MOZ_PKGCONFIG_FILES= ${MOZILLA}-js ${MOZILLA}-xpcom ${MOZILLA}-plugin
-MOZ_OPTIONS= --enable-application=browser \
- --enable-system-cairo \
- --enable-official-branding \
- --enable-canvas \
- --with-system-nss
-
-SYSTEM_PREFS= ${FAKEDIR}/lib/${MOZILLA}/defaults/pref/firefox.js
-
-OPTIONS= NEWTAB "Open external links in a new tab" on \
- SMB "Enable smb:// URI support using gnomevfs" off
-
-.include <bsd.port.pre.mk>
-
-GECKO_PTHREAD_LIBS!=${CC} -dumpspecs | ${GREP} -m 1 pthread | ${SED} -e 's|^.*%{\!pg: %{pthread:|| ; s|}.*$$||' || ${TRUE}
-
-post-extract::
- @${SED} -e 's|@FIREFOX_ICON@|${FIREFOX_ICON}|' -e 's|@MOZILLA@|${MOZILLA}|' \
- -e 's|@MOZILLA_NAME@|${MOZILLA_NAME}|' \
- <${FILESDIR}/firefox.desktop.in >${WRKDIR}/${MOZILLA}.desktop
-
-post-patch:
- ${REINPLACE_CMD} -e 's|%%PTHREAD_LIBS%%|${PTHREAD_LIBS:C/-pthread/${GECKO_PTHREAD_LIBS}/}|' \
- ${WRKSRC}/storage/build/Makefile.in
- @${REINPLACE_CMD} -e 's|%%LOCALBASE%%|${LOCALBASE}|' \
- ${WRKSRC}/security/manager/ssl/src/Makefile.in
-.for ii in modules/libpref/src/init extensions/sroaming/resources/content/prefs
- @${REINPLACE_CMD} -e '/accessibility.typeaheadfind.enablesound/s/true/false/ ; \
- /dom.disable_window_open_feature.toolbar/s/false/true/' \
- ${WRKSRC}/${ii}/all.js
-.endfor
-
-port-pre-install:
- ${SED} -e 's|1.9a7|0|' ${WRKSRC}/dist/bin/application.ini ${FAKEDIR}/lib
- ${ECHO_CMD} 'share/applications/${MOZILLA}.desktop' >> ${PLIST}
- ${ECHO_CMD} "@unexec ${RMDIR} %D/share/applications 2>/dev/null || ${TRUE}" >> ${PLIST}
- ${ECHO_CMD} 'share/pixmaps/${FIREFOX_ICON}' >> ${PLIST}
-.if !defined(WITHOUT_NEWTAB)
- ${ECHO_CMD} >> ${SYSTEM_PREFS}
- ${ECHO_CMD} "// Open external links in new tab" >> ${SYSTEM_PREFS}
- ${ECHO_CMD} "pref(\"browser.link.open_external\", 3);" \
- >> ${SYSTEM_PREFS}
-.endif # !defined(WITHOUT_NEWTAB)
-
-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
-
-post-install:
- ${MKDIR} ${PREFIX}/share/applications ${PREFIX}/share/pixmaps
- ${INSTALL_DATA} ${WRKDIR}/${MOZILLA}.desktop ${PREFIX}/share/applications/
- ${MKDIR} ${PREFIX}/lib/${MOZILLA}/chrome/icons/default
- ${LN} -sf ${FIREFOX_ICON_SRC} ${PREFIX}/share/pixmaps/${FIREFOX_ICON}
-
-.include "${PORTSDIR}/www/mozilla/Makefile.common"
-.include <bsd.port.post.mk>
diff --git a/www/firefox3-devel/distinfo b/www/firefox3-devel/distinfo
deleted file mode 100644
index 1340a04a1..000000000
--- a/www/firefox3-devel/distinfo
+++ /dev/null
@@ -1,3 +0,0 @@
-MD5 (granparadiso-alpha7-source.tar.bz2) = cd692127775b55f5e64685ef49788c1c
-SHA256 (granparadiso-alpha7-source.tar.bz2) = 91369eff2bba6b0ef3a9b5a40a1585b27f66a670f1a96299852f2595bd96f209
-SIZE (granparadiso-alpha7-source.tar.bz2) = 35319889
diff --git a/www/firefox3-devel/files/firefox.desktop.in b/www/firefox3-devel/files/firefox.desktop.in
deleted file mode 100644
index d72090e1a..000000000
--- a/www/firefox3-devel/files/firefox.desktop.in
+++ /dev/null
@@ -1,191 +0,0 @@
-[Desktop Entry]
-Encoding=UTF-8
-Name=@MOZILLA_NAME@ Web Browser
-Name[am]=
-Name[ar]=
-Name[az]=@MOZILLA_NAME@ Veb Səyyahı
-Name[be]=
-Name[bg]=Интернет браузър @MOZILLA_NAME@
-Name[bn]=
-Name[bs]=@MOZILLA_NAME@ web preglednik
-Name[ca]=Navegador web @MOZILLA_NAME@
-Name[cs]=ProhlížeÄ WWW @MOZILLA_NAME@
-Name[cy]=Y Porwr Gwe @MOZILLA_NAME@
-Name[da]=@MOZILLA_NAME@ - internetsurfning
-Name[de]=@MOZILLA_NAME@ Webbrowser
-Name[el]=ΠεÏιηγητής ΔιαδικτÏου @MOZILLA_NAME@
-Name[en_CA]=@MOZILLA_NAME@ Web Browser
-Name[en_GB]=@MOZILLA_NAME@ Web Browser
-Name[es]=Navegador Web @MOZILLA_NAME@
-Name[et]=@MOZILLA_NAME@ veebibrauser
-Name[eu]=@MOZILLA_NAME@ web arakatzailea
-Name[fi]=@MOZILLA_NAME@, WWW-selain
-Name[fr]=Navigateur Web @MOZILLA_NAME@
-Name[ga]=Brabhsálaí Lín @MOZILLA_NAME@
-Name[gu]=àªàªªà«€àª«àª¨à«€ વૅબ બà«àª°àª¾àª‰àªàª°
-Name[he]=דפדפן @MOZILLA_NAME@
-Name[hi]=
-Name[hr]=@MOZILLA_NAME@ Web preglednik
-Name[hu]=@MOZILLA_NAME@ webböngésző
-Name[id]=Web Browser @MOZILLA_NAME@
-Name[it]=Browser web @MOZILLA_NAME@
-Name[ja]=@MOZILLA_NAME@ ウェブ・ブラウザ
-Name[ko]=@MOZILLA_NAME@ 웹 브ë¼ìš°ì €
-Name[li]=@MOZILLA_NAME@ Web Browser
-Name[lt]=@MOZILLA_NAME@ web naršyklė
-Name[mk]=@MOZILLA_NAME@ веб прелиÑтувач
-Name[ml]=à´Žà´ªàµà´ªà´¿à´«à´¾à´¨à´¿ വെബàµà´¬àµ à´¬àµà´°àµŒà´¸â€Œà´°àµ
-Name[mn]=@MOZILLA_NAME@ веб хөтөч
-Name[ms]=Pelungsur Web @MOZILLA_NAME@
-Name[nb]=@MOZILLA_NAME@ nettleser
-Name[nl]=@MOZILLA_NAME@ Webbrowser
-Name[nn]=@MOZILLA_NAME@ nettlesar
-Name[no]=@MOZILLA_NAME@ nettleser
-Name[pa]=à¨à¨ªà©€à¨«à¨¾à¨¨à©€ ਵੈੱਬ ਬਰਾਊਜ਼ਰ
-Name[pl]=PrzeglÄ…darka WWW @MOZILLA_NAME@
-Name[pt]=Navegador Web @MOZILLA_NAME@
-Name[pt_BR]=Navegador Web @MOZILLA_NAME@
-Name[ro]=Navigatorul @MOZILLA_NAME@
-Name[ru]=Веб-браузер @MOZILLA_NAME@
-Name[sk]=
-Name[sl]=Spletni brskalnik @MOZILLA_NAME@
-Name[sq]=@MOZILLA_NAME@ - Shfletuesi Web
-Name[sr]=
-Name[sr@Latn]=Veb ÄitaÄ Spoznaja
-Name[sv]=Webbläsaren @MOZILLA_NAME@
-Name[ta]=எபிபனி வலை உலாவி
-Name[tk]=@MOZILLA_NAME@ Web Ahtarçisi
-Name[tr]=@MOZILLA_NAME@ Web Tarayıcı
-Name[uk]=ПереглÑдач web @MOZILLA_NAME@
-Name[vi]=Trình Duyệt Web @MOZILLA_NAME@
-Name[wa]=Betchteu waibe epiphany
-Name[zh_CN]=@MOZILLA_NAME@ Web æµè§ˆå™¨
-Name[zh_TW]=@MOZILLA_NAME@ 網é ç€è¦½å™¨
-GenericName=Web Browser
-GenericName[ar]=متصÙّح الانترنت
-GenericName[az]=Veb Səyyahı
-GenericName[be]=Вандроўнік па павуціньню
-GenericName[bg]=Браузър
-GenericName[bn]=ওয়েব বà§à¦°à¦¾à¦‰à¦œà¦¾à¦°
-GenericName[bs]=Web preglednik
-GenericName[ca]=Navegador web
-GenericName[cs]=ProhlížeÄ WWW
-GenericName[cy]=Porwr Gwe
-GenericName[da]=Internetsurfning
-GenericName[de]=Webbrowser
-GenericName[el]=ΠεÏιηγητής Ιστοσελίδων
-GenericName[en_CA]=Web Browser
-GenericName[en_GB]=Web Browser
-GenericName[es]=Navegador web
-GenericName[et]=Veebilehitseja
-GenericName[eu]=Web arakatzailea
-GenericName[fi]=WWW-selain
-GenericName[fr]=Navigateur Web @MOZILLA_NAME@
-GenericName[ga]=Brabhsálaí Lín
-GenericName[gu]=વેબ બà«àª°àª¾àª‰àªàª°
-GenericName[he]=דפדפן ×ינטרנט
-GenericName[hi]=वेब बà¥à¤°à¤¾à¤‰à¤œà¤¼à¤°
-GenericName[hr]=Web preglednik
-GenericName[hu]=Webböngésző
-GenericName[id]=Browser Web
-GenericName[it]=Browser web
-GenericName[ja]=GNOME ウェブ・ブラウザ
-GenericName[ko]=웹 브ë¼ìš°ì €
-GenericName[li]=Wèb Browser
-GenericName[lt]=Web naršyklė
-GenericName[mk]=Веб прелиÑтувач
-GenericName[mn]=Веб хөтөч
-GenericName[ms]=Pelungsur Web
-GenericName[nb]=Nettleser
-GenericName[nl]=Web-browser
-GenericName[nn]=Nettlesar
-GenericName[no]=Nettleser
-GenericName[pa]=ਵੈਬ ਬਰਾਊਜ਼
-GenericName[pl]=PrzeglÄ…darka WWW
-GenericName[pt]=Navegador Web
-GenericName[pt_BR]=Navegador Web
-GenericName[ro]=Navigator Internet
-GenericName[ru]=Веб-браузер
-GenericName[sk]=WWW prehliadaÄ
-GenericName[sl]=Spletni brskalnik
-GenericName[sq]=Shfletuesi Web
-GenericName[sr]=Веб читач
-GenericName[sr@Latn]=Veb ÄitaÄ
-GenericName[sv]=Webbläsare
-GenericName[ta]=வலை உலாவி
-GenericName[th]=เว็บบราวเซอร์
-GenericName[tk]=Web Ahtarçysy
-GenericName[tr]=Web Tarayıcı
-GenericName[uk]=ПереглÑдач web-Ñторінок
-GenericName[vi]=Trình duyệt Web
-GenericName[wa]=Betchteu waibe
-GenericName[zh_CN]=Web æµè§ˆå™¨
-GenericName[zh_TW]=網é ç€è¦½å™¨
-Comment=Browse the web
-Comment[ar]=تصÙØ­ الانترنت
-Comment[az]=Vebi gəzin
-Comment[be]=Вандраваць па павуціньню
-Comment[bg]=Сърфиране в интернет
-Comment[bn]=ওয়েব বà§à¦°à¦¾à¦‰à¦œ করà§à¦¨
-Comment[bs]=Pregledaj na internetu
-Comment[ca]=Navegueu per la web
-Comment[cs]=Prohlížet WWW
-Comment[cy]=Pori'r we
-Comment[da]=Surf på internettet
-Comment[de]=Im Web surfen
-Comment[el]=ΠεÏιήγηση στον παγκόσμιο ιστό
-Comment[en_CA]=Browse the web
-Comment[en_GB]=Browse the web
-Comment[es]=Navegar por la web
-Comment[et]=Sirvi veebi
-Comment[eu]=Arakatu web-a
-Comment[fi]=Selaa WWW:tä
-Comment[fr]=Naviguer sur Internet
-Comment[ga]=Brabhsáil an Líon
-Comment[gu]=વેબમાં શોધો
-Comment[he]=גלוש ברשת
-Comment[hi]=वेब बà¥à¤°à¤¾à¤‰à¤œà¤¼ करें
-Comment[hr]=Pregledaj Web
-Comment[hu]=A világháló böngészése
-Comment[id]=Jelajah web
-Comment[it]=Esplora il web
-Comment[ja]=ウェブを閲覧ã—ã¾ã™
-Comment[ko]=ì›¹ì„ ëŒì•„ 다닙니다
-Comment[li]=Blajere op internet
-Comment[lt]=Naršyti internete
-Comment[mk]=ПрелиÑтувајте на веб
-Comment[ml]=വലകàµà´•àµ†à´Ÿàµà´Ÿàµ തിരയàµà´•
-Comment[mn]=Веб броузе хийх
-Comment[ms]=Layari web
-Comment[nb]=Surf på nettet
-Comment[nl]=Websurfen
-Comment[nn]=Surf på nettet
-Comment[no]=Surf på nettet
-Comment[pa]=ਵੈਬ ਬਰਾਊਜ਼
-Comment[pl]=PrzeglÄ…danie stron WWW
-Comment[pt]=Navegar na web
-Comment[pt_BR]=Navegar na web
-Comment[ro]=Navigare Internet
-Comment[ru]=Веб-браузер
-Comment[sk]=Prehliadať internet
-Comment[sl]=Brskaj po spletu
-Comment[sq]=Eksploro web-in
-Comment[sr]=Прегледај веб
-Comment[sr@Latn]=Pregledaj veb
-Comment[sv]=Surfa på nätet
-Comment[ta]=வலையில௠உலாவà¯
-Comment[th]=ใช้งานเว็บบราวเซอร์ @MOZILLA_NAME@
-Comment[tk]=Webi Ahtar
-Comment[tr]=Web'e Gözat
-Comment[uk]=Програма переглÑду web-Ñторінок
-Comment[vi]=Duyệt web
-Comment[wa]=Naivyî avå les waibes
-Comment[zh_CN]=æµè§ˆ Web
-Comment[zh_TW]=ç€è¦½ç¶²é 
-Exec=@MOZILLA@ %u
-Icon=@FIREFOX_ICON@
-StartupNotify=false
-Terminal=false
-Type=Application
-Categories=Application;Network;
-MimeType=text/html;text/xml;application/xhtml+xml;application/vnd.mozilla.xul+xml;text/mml;
diff --git a/www/firefox3-devel/files/patch-bugzilla296818 b/www/firefox3-devel/files/patch-bugzilla296818
deleted file mode 100644
index a7f22b4eb..000000000
--- a/www/firefox3-devel/files/patch-bugzilla296818
+++ /dev/null
@@ -1,1621 +0,0 @@
-diff --git ChangeLog ChangeLog
-new file mode 100644
-index 0000000..c9c7dce
---- /dev/null
-+++ ChangeLog
-@@ -0,0 +1,277 @@
-+2007-09-06 Federico Mena Quintero <federico@novell.com>
-+
-+ * modules/libpr0n/decoders/jpeg/nsJPEGDecoder.cpp
-+ (nsJPEGDecoder::WriteFrom): Write the restore data regardless of
-+ the state we are in, right when we first fill the buffer.
-+
-+2007-09-06 Federico Mena Quintero <federico@novell.com>
-+
-+ * modules/libpr0n/src/imgContainer.cpp
-+ (imgContainer::RestoreDataDone): Print the first four bytes of the
-+ restore data, to check it later.
-+ (imgContainer::ReloadImages): Likewise.
-+
-+2007-09-06 Federico Mena Quintero <federico@novell.com>
-+
-+ * modules/libpr0n/decoders/png/nsPNGDecoder.cpp (info_callback):
-+ Reuse the image container if the loader has one; don't always
-+ create a new one. This lets containers reload themselves.
-+
-+2007-09-06 Federico Mena Quintero <federico@novell.com>
-+
-+ * modules/libpr0n/src/imgContainer.cpp
-+ (imgContainer::AppendFrame): Unconditionally increment mNumFrames!
-+ (imgContainer::RestoreDiscardedData): Check the number of restored
-+ frames here.
-+ (imgContainer::ReloadImages): Flush and close the decoder.
-+ (imgContainer::RestoreDataDone): No-op if we are already restoring
-+ the data.
-+
-+2007-09-06 Federico Mena Quintero <federico@novell.com>
-+
-+ * modules/libpr0n/decoders/png/nsPNGDecoder.cpp (*): Print the
-+ imgContainer pointers when logging.
-+
-+ * modules/libpr0n/src/imgContainer.cpp (*): Likewise.
-+
-+2007-09-04 Federico Mena Quintero <federico@novell.com>
-+
-+ * modules/libpr0n/src/imgContainer.cpp
-+ (imgContainer::ReloadImages): Oops, use an nsCOMPtr<> for the
-+ ContainerLoader, not a direct pointer.
-+ (ContainerLoader NS_IMPL_ISUPPORTS3): Oops, we also implement
-+ imgIContainerObserver.
-+ (class ContainerLoader): Implement nsISupportsWeakReference as
-+ well; imgContainer needs it from the observer.
-+ (imgContainer::RestoreDiscardedData): Log how many frames we got
-+ and how many we expected.
-+ (imgContainer::ReloadImages): Assert that we got the right number
-+ of frames.
-+ (imgContainer::GetCurrentFrameNoRef): Log failures from
-+ RestoreDiscardedData().
-+
-+ * modules/libpr0n/decoders/png/nsPNGDecoder.cpp (end_callback):
-+ Don't tell the container that the restore data is done here...
-+ (nsPNGDecoder::Close): ... but do it here instead. This is
-+ because end_callback() gets called from within ReadDataOut(); we
-+ don't want end_callback() to inform the container that the restore
-+ data is done before actually writing the restore data to it!
-+
-+2007-09-04 Federico Mena Quintero <federico@novell.com>
-+
-+ * modules/libpr0n/decoders/png/nsPNGDecoder.cpp (info_callback):
-+ Set the image container as discardable.
-+ (ReadDataOut): Store the compressed data in the image container to
-+ restore from it later.
-+ (end_callback): Tell the image container that we finished feeding
-+ it the restore data.
-+
-+ * modules/libpr0n/src/imgContainer.cpp
-+ (imgContainer::SetDiscardable): Log the MIME type of the
-+ discardable container.
-+
-+ * modules/libpr0n/decoders/jpeg/nsJPEGDecoder.cpp
-+ (nsJPEGDecoder::WriteFrom): Clean up a printf format, and do the
-+ logging only on success.
-+
-+ * gfx/thebes/public/gfxXlibSurface.h: Add myself to the contributors.
-+ * modules/libpr0n/public/imgIContainer.idl: Likewise.
-+ * modules/libpr0n/src/imgContainer.cpp: Likewise.
-+ * modules/libpr0n/src/imgContainer.h: Likewise.
-+
-+2007-09-03 Federico Mena Quintero <federico@novell.com>
-+
-+ * modules/libpr0n/src/imgContainer.cpp
-+ (imgContainer::AddRestoreData): No-op if we are being called
-+ during the restore process (we already have the data; there is no
-+ need to save it again).
-+ (class ContainerLoader): Put the macro to implement QI for
-+ imgILoad and imgIDecoderObserver.
-+ (imgContainer::AppendFrame): Don't increment mNumFrames if we are
-+ restoring the image data. Fix the use of the frame counters.
-+ (imgContainer::sDiscardTimerCallback): Implement.
-+ (imgContainer::GetCurrentFrame): Oops, preserve the semantics of
-+ the original function --- if the actual getter gives us a null
-+ frame, return NS_ERROR_FAILURE.
-+
-+2007-08-31 Federico Mena Quintero <federico@novell.com>
-+
-+ * modules/libpr0n/src/imgContainer.h (class imgContainer): New
-+ prototype for a ReloadImages() method.
-+
-+ * modules/libpr0n/src/imgContainer.cpp
-+ (imgContainer::RestoreDiscardedData): Call ReloadImages().
-+ (imgContainer::ReloadImages): Implement.
-+ (class ContainerLoader): New helper class that implements
-+ imgILoader and imgIDecoderObserver. We'll use this to re-load the
-+ imgContainer from an image decoder.
-+
-+2007-08-31 Federico Mena Quintero <federico@novell.com>
-+
-+ * modules/libpr0n/src/imgContainer.cpp
-+ (imgContainer::RestoreDiscardedData): Reset the timer; if we got
-+ here it means that the data may be used again soon.
-+
-+2007-08-30 Federico Mena Quintero <federico@novell.com>
-+
-+ * modules/libpr0n/src/imgContainer.h (class imgContainer): Add an
-+ mDiscarded field. We'll use it to know if the uncompressed image
-+ data has been discarded already and needs to be regenerated on
-+ demand.
-+ (class imgContainer): New prototype for a RestoreDiscardedData() method.
-+
-+ * modules/libpr0n/src/imgContainer.cpp (imgContainer): Initialize
-+ mDiscarded.
-+ (imgContainer::GetCurrentFrameNoRef): Return an nsresult rather
-+ than the image frame; return the actual image frame as a
-+ reference. Ensure that the discarded data gets restored.
-+ (imgContainer::GetCurrentFrame): Return the error from
-+ GetCurrentFrameNoRef() if it fails.
-+ (imgContainer::StartAnimation): Likewise.
-+ (imgContainer::GetFrameAt): Ensure that the discarded data gets restored.
-+ (imgContainer::ResetAnimation): Likewise.
-+ (imgContainer::Notify): Likewise.
-+ (imgContainer::RestoreDiscardedData): Just a stub for now.
-+
-+ * modules/libpr0n/decoders/jpeg/nsJPEGDecoder.cpp
-+ (nsJPEGDecoder::WriteFrom): Oops, use "count" for the restore
-+ data, not "mBufferLen".
-+
-+2007-08-29 Federico Mena Quintero <federico@novell.com>
-+
-+ * modules/libpr0n/src/imgContainer.h (class imgContainer): Add a
-+ mNumFrames field. Since we'll discard the contents of mFrames, we
-+ can't rely on mFrames.Count() for the frame count.
-+
-+ * modules/libpr0n/src/imgContainer.cpp (imgContainer): Initialize mNumFrames.
-+ (imgContainer::AppendFrame): Maintain the frame count in mNumFrames.
-+ (imgContainer::GetNumFrames): Use mNumFrames instead of mFrames.Count().
-+ (imgContainer::GetFrameAt): Likewise.
-+ (imgContainer::DecodingComplete): Likewise.
-+ (imgContainer::SetAnimationMode): Likewise.
-+ (imgContainer::StartAnimation): Likewise.
-+ (imgContainer::Notify): Likewise.
-+
-+2007-08-29 Federico Mena Quintero <federico@novell.com>
-+
-+ * modules/libpr0n/src/imgContainer.h
-+ (imgContainer::inlinedGetCurrentFrame): Removed to make it not
-+ inline.
-+ (imgContainer::GetCurrentFrameNoRef): New prototype.
-+
-+ * modules/libpr0n/src/imgContainer.cpp
-+ (imgContainer::GetCurrentFrameNoRef): Implement this here.
-+ (imgContainer::GetCurrentFrame, imgContainer::StartAnimation): Use
-+ GetCurrentFrameNoRef() instead of inlinedGetCurrentFrame().
-+
-+2007-08-28 Federico Mena Quintero <federico@novell.com>
-+
-+ * modules/libpr0n/public/imgIContainer.idl (restoreDataDone): New
-+ method. We'll use this to tell the container when we finish
-+ feeding it the compressed data. After that, it can begin its
-+ discard process whenever it wants.
-+
-+ * modules/libpr0n/src/imgContainer.h (class imgContainer): Add
-+ mRestoreDataDone and mDiscardTimer fields.
-+
-+ * modules/libpr0n/src/imgContainer.cpp (imgContainer): Initialize
-+ the new fields.
-+ (imgContainer::RestoreDataDone): Implement. When turned on, we
-+ start the discard timer.
-+ (imgContainer::ResetDiscardTimer): New method.
-+ (~imgContainer): Cancel and destroy the timer.
-+ (imgContainer::sDiscardTimerCallback): New callback. Here we'll
-+ discard the uncompressed image data in the image frames. For now
-+ this is just a stub.
-+
-+ * modules/libpr0n/decoders/jpeg/nsJPEGDecoder.cpp
-+ (nsJPEGDecoder::WriteFrom): Tell the imgContainer when we are done
-+ feeding data to it.
-+
-+2007-08-28 Federico Mena Quintero <federico@novell.com>
-+
-+ * modules/libpr0n/src/imgContainer.cpp (discarding_is_enabled):
-+ Stub function, to be replaced with something better in the
-+ future. This lets us disable image discarding by setting a
-+ MOZ_DISABLE_IMAGE_DISCARD environment variable.
-+ (imgContainer::SetDiscardable): Noop if discarding is disabled.
-+ (imgContainer::AddRestoreData): Likewise.
-+
-+2007-08-28 Federico Mena Quintero <federico@novell.com>
-+
-+ * modules/libpr0n/decoders/jpeg/nsJPEGDecoder.cpp
-+ (nsJPEGDecoder::WriteFrom): Mark the imgContainer as discardable
-+ when we create it. And when writing to the JPEG decoder, add the
-+ compressed data to the imgContainer so that it can restore itself
-+ later.
-+
-+2007-08-28 Federico Mena Quintero <federico@novell.com>
-+
-+ * modules/libpr0n/src/imgContainer.cpp
-+ (gCompressedImageAccountingLog): Create a
-+ "CompressedImageAccounting" log domain.
-+ (~imgContainer): Log the destruction of compressed data.
-+ (imgContainer::AddRestoreData): Log the addition of compressed data.
-+ (imgContainer::SetDiscardable): Log the creation of a compressed imgContainer.
-+
-+2007-08-28 Federico Mena Quintero <federico@novell.com>
-+
-+
-+ * modules/libpr0n/src/imgContainer.cpp (~imgContainer): Free the
-+ restore data and the MIME type.
-+
-+2007-08-22 Federico Mena Quintero <federico@novell.com>
-+
-+ * modules/libpr0n/public/imgIContainer.idl (setDiscardable): New
-+ method. When this is called (can be called only once) from an
-+ image decoder, the image container will discard its uncompressed
-+ image data after a timeout.
-+ (addRestoreData): New method. Image decoders should call this
-+ repeatedly after calling setDiscardable(); this is used to feed
-+ the original, compressed image data to the image container so that
-+ it can uncompress it on demand after discarding it.
-+
-+ * modules/libpr0n/src/imgContainer.cpp (imgContainer::SetDiscardable):
-+ Implement.
-+ (imgContainer::AddRestoreData): Implement.
-+
-+2007-08-20 Federico Mena Quintero <federico@novell.com>
-+
-+ * gfx/thebes/src/gfxXlibSurface.cpp
-+ (gfxXlibSurface::LogSurfaceCreation, surface_destroy_func): Count
-+ the number of surfaces in addition to the number of pixels.
-+
-+2007-08-17 Federico Mena Quintero <federico@novell.com>
-+
-+ * modules/libpr0n/public/ImageLogging.h: Remove gImgAccountingLog
-+ from here.
-+
-+ * modules/libpr0n/src/imgRequest.cpp: Likewise.
-+
-+ * modules/libpr0n/decoders/jpeg/nsJPEGDecoder.cpp
-+ (gJPEGDecodeAccountingLog): Create a "JPEGDecoderAccounting" log domain.
-+ (nsJPEGDecoder::WriteFrom): Use that log domain.
-+
-+ * gfx/thebes/src/gfxXlibSurface.cpp (gXlibSurfaceAccountingLog):
-+ Define a "XlibSurfaceAccounting" log domain.
-+ (gfxXlibSurface::LogSurfaceCreation): New method to log when an
-+ Xlib surface is created from a pixmap. Keeps a counter of how
-+ many pixels are allocated globally.
-+ (gfxXlibSurface::HookSurfaceDestructionForLogging): Utility method
-+ to set user data on the cairo surface, so that we can know when it
-+ is destroyed.
-+ (gfxXlibSurface::gfxXlibSurface): Log the creation of the surface,
-+ and hook it so that we can know when it is destroyed.
-+
-+2007-08-17 Federico Mena Quintero <federico@novell.com>
-+
-+ * modules/libpr0n/src/imgRequest.cpp (gImgAccountingLog): New
-+ logging domain "imgAccounting". We'll use this to log when images
-+ get allocated, freed, requested, etc.
-+
-+ * modules/libpr0n/public/ImageLogging.h (gImgAccountingLog):
-+ Declare this.
-+
-+ * modules/libpr0n/decoders/jpeg/nsJPEGDecoder.cpp
-+ (nsJPEGDecoder::WriteFrom): Log the creation of an image frame.
-+
-diff --git gfx/thebes/public/gfxXlibSurface.h gfx/thebes/public/gfxXlibSurface.h
-index 078dc73..ea7ba24 100644
---- gfx/thebes/public/gfxXlibSurface.h
-+++ gfx/thebes/public/gfxXlibSurface.h
-@@ -21,6 +21,7 @@
- * Contributor(s):
- * Stuart Parmenter <pavlov@pavlov.net>
- * Vladimir Vukicevic <vladimir@pobox.com>
-+ * Federico Mena-Quintero <federico@novell.com>
- *
- * 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
-@@ -85,6 +86,9 @@ public:
- // when the gfxXlibSurface is destroyed.
- void TakePixmap();
-
-+ void LogSurfaceCreation ();
-+ void HookSurfaceDestructionForLogging ();
-+
- protected:
- // if TakePixmap() was already called on this
- PRBool mPixmapTaken;
-diff --git gfx/thebes/src/gfxXlibSurface.cpp gfx/thebes/src/gfxXlibSurface.cpp
-index dc2a19f..f9c191c 100644
---- gfx/thebes/src/gfxXlibSurface.cpp
-+++ gfx/thebes/src/gfxXlibSurface.cpp
-@@ -21,6 +21,7 @@
- * Contributor(s):
- * Stuart Parmenter <pavlov@pavlov.net>
- * Vladimir Vukicevic <vladimir@pobox.com>
-+ * Federico Mena-Quintero <federico@novell.com>
- *
- * 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
-@@ -37,6 +38,7 @@
- * ***** END LICENSE BLOCK ***** */
-
- #include "gfxXlibSurface.h"
-+#include "prlog.h"
-
- #include "cairo.h"
- #include "cairo-xlib.h"
-@@ -51,6 +53,18 @@ typedef struct {
-
- static void pixmap_free_func (void *);
-
-+
-+#if defined(PR_LOGGING)
-+static PRLogModuleInfo *gXlibSurfaceAccountingLog = PR_NewLogModule ("XlibSurfaceAccounting");
-+#else
-+#define gXlibSurfaceAccountingLog
-+#endif
-+
-+static cairo_user_data_key_t surface_free_key;
-+static int num_surfaces_allocated;
-+static PRInt64 pixels_allocated;
-+
-+
- #define XLIB_IMAGE_SIDE_SIZE_LIMIT 0xffff
-
- gfxXlibSurface::gfxXlibSurface(Display *dpy, Drawable drawable, Visual *visual)
-@@ -59,6 +73,9 @@ gfxXlibSurface::gfxXlibSurface(Display *dpy, Drawable drawable, Visual *visual)
- DoSizeQuery();
- cairo_surface_t *surf = cairo_xlib_surface_create(dpy, drawable, visual, mSize.width, mSize.height);
- Init(surf);
-+
-+ LogSurfaceCreation ();
-+ HookSurfaceDestructionForLogging();
- }
-
- gfxXlibSurface::gfxXlibSurface(Display *dpy, Drawable drawable, Visual *visual, const gfxIntSize& size)
-@@ -69,6 +86,9 @@ gfxXlibSurface::gfxXlibSurface(Display *dpy, Drawable drawable, Visual *visual,
-
- cairo_surface_t *surf = cairo_xlib_surface_create(dpy, drawable, visual, mSize.width, mSize.height);
- Init(surf);
-+
-+ LogSurfaceCreation ();
-+ HookSurfaceDestructionForLogging();
- }
-
- gfxXlibSurface::gfxXlibSurface(Display *dpy, Visual *visual, const gfxIntSize& size)
-@@ -87,6 +107,9 @@ gfxXlibSurface::gfxXlibSurface(Display *dpy, Visual *visual, const gfxIntSize& s
-
- Init(surf);
- TakePixmap();
-+
-+ LogSurfaceCreation ();
-+ HookSurfaceDestructionForLogging();
- }
-
- gfxXlibSurface::gfxXlibSurface(Display *dpy, Drawable drawable, XRenderPictFormat *format,
-@@ -100,6 +123,9 @@ gfxXlibSurface::gfxXlibSurface(Display *dpy, Drawable drawable, XRenderPictForma
- ScreenOfDisplay(dpy,DefaultScreen(dpy)),
- format, mSize.width, mSize.height);
- Init(surf);
-+
-+ LogSurfaceCreation ();
-+ HookSurfaceDestructionForLogging();
- }
-
- gfxXlibSurface::gfxXlibSurface(Display *dpy, XRenderPictFormat *format, const gfxIntSize& size)
-@@ -115,6 +141,9 @@ gfxXlibSurface::gfxXlibSurface(Display *dpy, XRenderPictFormat *format, const gf
- format, mSize.width, mSize.height);
- Init(surf);
- TakePixmap();
-+
-+ LogSurfaceCreation ();
-+ HookSurfaceDestructionForLogging();
- }
-
- gfxXlibSurface::gfxXlibSurface(cairo_surface_t *csurf)
-@@ -124,6 +153,9 @@ gfxXlibSurface::gfxXlibSurface(cairo_surface_t *csurf)
- mDisplay = cairo_xlib_surface_get_display(csurf);
-
- Init(csurf, PR_TRUE);
-+
-+ LogSurfaceCreation ();
-+ HookSurfaceDestructionForLogging();
- }
-
- gfxXlibSurface::~gfxXlibSurface()
-@@ -198,3 +230,63 @@ pixmap_free_func (void *data)
-
- delete pfs;
- }
-+
-+void
-+gfxXlibSurface::LogSurfaceCreation ()
-+{
-+ gfxIntSize size;
-+
-+ size = GetSize ();
-+
-+ num_surfaces_allocated++;
-+ pixels_allocated += (PRInt64) size.width * size.height;
-+
-+ PR_LOG (gXlibSurfaceAccountingLog, PR_LOG_DEBUG,
-+ ("XlibSurfaceAccounting: Xlib surface %p created, %ux%u pixels - %d surfaces with %lld global pixels allocated",
-+ CairoSurface (),
-+ size.width,
-+ size.height,
-+ num_surfaces_allocated,
-+ pixels_allocated));
-+}
-+
-+struct SurfaceFreeData {
-+ gfxIntSize size;
-+ cairo_surface_t *surface;
-+};
-+
-+static void
-+surface_destroy_func (void *closure)
-+{
-+ SurfaceFreeData *data;
-+
-+ data = (SurfaceFreeData *) closure;
-+
-+ num_surfaces_allocated--;
-+ pixels_allocated -= (PRInt64) data->size.width * data->size.height;
-+
-+ PR_LOG (gXlibSurfaceAccountingLog, PR_LOG_DEBUG,
-+ ("XlibSurfaceAccounting: Destroying Xlib surface %p, %dx%d pixels - %d surfaces with %lld global pixels allocated",
-+ data->surface,
-+ data->size.width,
-+ data->size.height,
-+ num_surfaces_allocated,
-+ pixels_allocated));
-+
-+ delete data;
-+}
-+
-+void
-+gfxXlibSurface::HookSurfaceDestructionForLogging ()
-+{
-+ SurfaceFreeData *data;
-+
-+ data = new SurfaceFreeData;
-+ data->size = GetSize ();
-+ data->surface = CairoSurface ();
-+
-+ cairo_surface_set_user_data (data->surface,
-+ &surface_free_key,
-+ data,
-+ surface_destroy_func);
-+}
-diff --git modules/libpr0n/decoders/jpeg/nsJPEGDecoder.cpp modules/libpr0n/decoders/jpeg/nsJPEGDecoder.cpp
-index 16b9fd8..48431e4 100644
---- modules/libpr0n/decoders/jpeg/nsJPEGDecoder.cpp
-+++ modules/libpr0n/decoders/jpeg/nsJPEGDecoder.cpp
-@@ -22,6 +22,7 @@
- *
- * Contributor(s):
- * Stuart Parmenter <stuart@mozilla.com>
-+ * Federico Mena-Quintero <federico@novell.com>
- *
- * 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
-@@ -63,8 +64,10 @@ NS_IMPL_ISUPPORTS1(nsJPEGDecoder, imgIDecoder)
-
- #if defined(PR_LOGGING)
- PRLogModuleInfo *gJPEGlog = PR_NewLogModule("JPEGDecoder");
-+static PRLogModuleInfo *gJPEGDecoderAccountingLog = PR_NewLogModule ("JPEGDecoderAccounting");
- #else
- #define gJPEGlog
-+#define gJPEGDecoderAccountingLog
- #endif
-
-
-@@ -208,6 +211,15 @@ NS_IMETHODIMP nsJPEGDecoder::WriteFrom(nsIInputStream *inStr, PRUint32 count, PR
- nsresult rv = inStr->Read((char*)mBuffer, count, &mBufferLen);
- *_retval = mBufferLen;
-
-+ if (mImage) {
-+ nsresult result = mImage->AddRestoreData ((char *) mBuffer, count);
-+
-+ if (NS_FAILED (result)) {
-+ mState = JPEG_ERROR;
-+ return result;
-+ }
-+ }
-+
- NS_ASSERTION(NS_SUCCEEDED(rv), "nsJPEGDecoder::WriteFrom -- inStr->Read failed");
- }
- // else no input stream.. Flush() ?
-@@ -357,6 +369,9 @@ NS_IMETHODIMP nsJPEGDecoder::WriteFrom(nsIInputStream *inStr, PRUint32 count, PR
- /* Check if the request already has an image container.
- this is the case when multipart/x-mixed-replace is being downloaded
- if we already have one and it has the same width and height, reuse it.
-+
-+ This is also the case when an existing container is reloading itself from
-+ us.
- */
- mImageLoad->GetImage(getter_AddRefs(mImage));
- if (mImage) {
-@@ -370,6 +385,8 @@ NS_IMETHODIMP nsJPEGDecoder::WriteFrom(nsIInputStream *inStr, PRUint32 count, PR
- }
-
- if (!mImage) {
-+ nsresult result;
-+
- mImage = do_CreateInstance("@mozilla.org/image/container;1");
- if (!mImage) {
- mState = JPEG_ERROR;
-@@ -377,6 +394,18 @@ NS_IMETHODIMP nsJPEGDecoder::WriteFrom(nsIInputStream *inStr, PRUint32 count, PR
- }
- mImageLoad->SetImage(mImage);
- mImage->Init(mInfo.image_width, mInfo.image_height, mObserver);
-+
-+ result = mImage->SetDiscardable ("image/jpeg"); /* FIXME: is this MIME type always right for this decoder? */
-+ if (NS_FAILED (result)) {
-+ mState = JPEG_ERROR;
-+ return result;
-+ }
-+
-+ result = mImage->AddRestoreData ((char *) mBuffer, count);
-+ if (NS_FAILED (result)) {
-+ mState = JPEG_ERROR;
-+ return result;
-+ }
- }
-
- mObserver->OnStartContainer(nsnull, mImage);
-@@ -416,7 +445,11 @@ NS_IMETHODIMP nsJPEGDecoder::WriteFrom(nsIInputStream *inStr, PRUint32 count, PR
- }
-
- mImage->AppendFrame(mFrame);
-- }
-+
-+ PR_LOG (gJPEGDecoderAccountingLog, PR_LOG_DEBUG,
-+ ("JPEGDecoderAccounting: nsJPEGDecoder::WriteFrom -- created image frame with %ux%u pixels",
-+ mInfo.image_width, mInfo.image_height));
-+ }
-
- mObserver->OnStartFrame(nsnull, mFrame);
-
-@@ -538,6 +571,8 @@ NS_IMETHODIMP nsJPEGDecoder::WriteFrom(nsIInputStream *inStr, PRUint32 count, PR
-
- case JPEG_DONE:
- {
-+ nsresult result;
-+
- LOG_SCOPE(gJPEGlog, "nsJPEGDecoder::WriteFrom -- entering JPEG_DONE case");
-
- /* Step 7: Finish decompression */
-@@ -547,6 +582,12 @@ NS_IMETHODIMP nsJPEGDecoder::WriteFrom(nsIInputStream *inStr, PRUint32 count, PR
-
- mState = JPEG_SINK_NON_JPEG_TRAILER;
-
-+ result = mImage->RestoreDataDone ();
-+ if (NS_FAILED (result)) {
-+ mState = JPEG_ERROR;
-+ return result;
-+ }
-+
- /* we're done dude */
- break;
- }
-diff --git modules/libpr0n/decoders/png/nsPNGDecoder.cpp modules/libpr0n/decoders/png/nsPNGDecoder.cpp
-index 85f0216..15abc9f 100644
---- modules/libpr0n/decoders/png/nsPNGDecoder.cpp
-+++ modules/libpr0n/decoders/png/nsPNGDecoder.cpp
-@@ -23,6 +23,7 @@
- * Contributor(s):
- * Stuart Parmenter <stuart@mozilla.com>
- * Andrew Smith
-+ * Federico Mena-Quintero <federico@novell.com>
- *
- * 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
-@@ -73,6 +74,7 @@ static void PNGAPI warning_callback(png_structp png_ptr, png_const_charp warning
-
- #ifdef PR_LOGGING
- PRLogModuleInfo *gPNGLog = PR_NewLogModule("PNGDecoder");
-+static PRLogModuleInfo *gPNGDecoderAccountingLog = PR_NewLogModule ("PNGDecoderAccounting");
- #endif
-
- NS_IMPL_ISUPPORTS1(nsPNGDecoder, imgIDecoder)
-@@ -119,6 +121,11 @@ void nsPNGDecoder::CreateFrame(png_uint_32 x_offset, png_uint_32 y_offset,
-
- if (mObserver)
- mObserver->OnStartFrame(nsnull, mFrame);
-+
-+ PR_LOG (gPNGDecoderAccountingLog, PR_LOG_DEBUG,
-+ ("PNGDecoderAccounting: nsPNGDecoder::CreateFrame -- created image frame with %dx%d pixels in container %p",
-+ width, height,
-+ mImage.get ()));
- }
-
- // set timeout and frame disposal method for the current frame
-@@ -213,9 +220,25 @@ NS_IMETHODIMP nsPNGDecoder::Init(imgILoad *aLoad)
- /* void close (); */
- NS_IMETHODIMP nsPNGDecoder::Close()
- {
-+ nsresult result;
-+
- if (mPNG)
- png_destroy_read_struct(&mPNG, mInfo ? &mInfo : NULL, NULL);
-
-+ result = mImage->RestoreDataDone ();
-+ if (NS_FAILED (result)) {
-+ PR_LOG (gPNGDecoderAccountingLog, PR_LOG_DEBUG,
-+ ("PNGDecoderAccounting: nsPNGDecoder::Close(): failure in RestoreDataDone() for image container %p",
-+ mImage.get ()));
-+
-+ mError = PR_TRUE;
-+ return result;
-+ }
-+
-+ PR_LOG (gPNGDecoderAccountingLog, PR_LOG_DEBUG,
-+ ("PNGDecoderAccounting: nsPNGDecoder::Close(): image container %p is now with RestoreDataDone",
-+ mImage.get ()));
-+
- return NS_OK;
- }
-
-@@ -234,6 +257,7 @@ static NS_METHOD ReadDataOut(nsIInputStream* in,
- PRUint32 *writeCount)
- {
- nsPNGDecoder *decoder = static_cast<nsPNGDecoder*>(closure);
-+ nsresult result;
-
- if (decoder->mError) {
- *writeCount = 0;
-@@ -248,10 +272,24 @@ static NS_METHOD ReadDataOut(nsIInputStream* in,
- *writeCount = 0;
- return NS_ERROR_FAILURE;
- }
--
- png_process_data(decoder->mPNG, decoder->mInfo,
- reinterpret_cast<unsigned char *>(const_cast<char *>(fromRawSegment)), count);
-
-+ result = decoder->mImage->AddRestoreData ((char *) fromRawSegment, count);
-+ if (NS_FAILED (result)) {
-+ PR_LOG (gPNGDecoderAccountingLog, PR_LOG_DEBUG,
-+ ("PNGDecoderAccounting: ReadDataOut(): failed to add restore data to image container %p",
-+ decoder->mImage.get ()));
-+
-+ decoder->mError = PR_TRUE;
-+ *writeCount = 0;
-+ return result;
-+ }
-+
-+ PR_LOG (gPNGDecoderAccountingLog, PR_LOG_DEBUG,
-+ ("PNGDecoderAccounting: ReadDataOut(): Added restore data to image container %p",
-+ decoder->mImage.get ()));
-+
- *writeCount = count;
- return NS_OK;
- }
-@@ -525,13 +563,41 @@ info_callback(png_structp png_ptr, png_infop info_ptr)
- if (decoder->mObserver)
- decoder->mObserver->OnStartDecode(nsnull);
-
-- decoder->mImage = do_CreateInstance("@mozilla.org/image/container;1");
-- if (!decoder->mImage)
-- longjmp(decoder->mPNG->jmpbuf, 5); // NS_ERROR_OUT_OF_MEMORY
-+ /* The image container may already exist if it is reloading itself from us.
-+ * Check that it has the same width/height; otherwise create a new container.
-+ */
-+ decoder->mImageLoad->GetImage (getter_AddRefs (decoder->mImage));
-+ if (decoder->mImage) {
-+ PRInt32 container_width, container_height;
-+
-+ decoder->mImage->GetWidth (&container_width);
-+ decoder->mImage->GetHeight (&container_height);
-
-- decoder->mImageLoad->SetImage(decoder->mImage);
-+ if (container_width != width || container_height != height)
-+ decoder->mImage = nsnull;
-+ }
-
-- decoder->mImage->Init(width, height, decoder->mObserver);
-+ if (!decoder->mImage) {
-+ decoder->mImage = do_CreateInstance("@mozilla.org/image/container;1");
-+ if (!decoder->mImage)
-+ longjmp(decoder->mPNG->jmpbuf, 5); // NS_ERROR_OUT_OF_MEMORY
-+
-+ decoder->mImageLoad->SetImage(decoder->mImage);
-+
-+ decoder->mImage->Init(width, height, decoder->mObserver);
-+
-+ /* FIXME: is this MIME type always right for this decoder? */
-+ if (NS_FAILED (decoder->mImage->SetDiscardable ("image/png"))) {
-+ PR_LOG (gPNGDecoderAccountingLog, PR_LOG_DEBUG,
-+ ("PNGDecoderAccounting: info_callback(): failed to set image container %p as discardable",
-+ decoder->mImage.get ()));
-+ longjmp(decoder->mPNG->jmpbuf, 5); // NS_ERROR_OUT_OF_MEMORY
-+ }
-+
-+ PR_LOG (gPNGDecoderAccountingLog, PR_LOG_DEBUG,
-+ ("PNGDecoderAccounting: info_callback(): set image container %p as discardable",
-+ decoder->mImage.get ()));
-+ }
-
- if (decoder->mObserver)
- decoder->mObserver->OnStartContainer(nsnull, decoder->mImage);
-@@ -757,7 +823,7 @@ end_callback(png_structp png_ptr, png_infop info_ptr)
- }
-
- decoder->mImage->DecodingComplete();
--
-+
- if (decoder->mObserver) {
- if (!(decoder->apngFlags & FRAME_HIDDEN))
- decoder->mObserver->OnStopFrame(nsnull, decoder->mFrame);
-diff --git modules/libpr0n/public/imgIContainer.idl modules/libpr0n/public/imgIContainer.idl
-index fc42335..524af96 100644
---- modules/libpr0n/public/imgIContainer.idl
-+++ modules/libpr0n/public/imgIContainer.idl
-@@ -22,6 +22,7 @@
- *
- * Contributor(s):
- * Stuart Parmenter <pavlov@netscape.com>
-+ * Federico Mena-Quintero <federico@novell.com>
- *
- * 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
-@@ -144,4 +145,10 @@ interface imgIContainer : nsISupports
- * @note -1 means forever.
- */
- attribute long loopCount;
-+
-+ /* Methods to discard uncompressed images and restore them again */
-+ [noscript] void setDiscardable(in string aMimeType);
-+ [noscript] void addRestoreData(in charPtr aBuffer,
-+ in unsigned long aCount);
-+ [noscript] void restoreDataDone();
- };
-diff --git modules/libpr0n/src/imgContainer.cpp modules/libpr0n/src/imgContainer.cpp
-index 776c4ee..22d8735 100644
---- modules/libpr0n/src/imgContainer.cpp
-+++ modules/libpr0n/src/imgContainer.cpp
-@@ -25,6 +25,7 @@
- * Asko Tontti <atontti@cc.hut.fi>
- * Arron Mogge <paper@animecity.nu>
- * Andrew Smith
-+ * Federico Mena-Quintero <federico@novell.com>
- *
- * 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
-@@ -42,23 +43,49 @@
-
- #include "nsComponentManagerUtils.h"
- #include "imgIContainerObserver.h"
-+#include "ImageErrors.h"
- #include "nsIImage.h"
-+#include "imgILoad.h"
-+#include "imgIDecoder.h"
-+#include "imgIDecoderObserver.h"
- #include "imgContainer.h"
- #include "nsIInterfaceRequestor.h"
- #include "nsIInterfaceRequestorUtils.h"
- #include "nsAutoPtr.h"
-+#include "nsStringStream.h"
-+#include "prmem.h"
-+#include "prlog.h"
-
- #include "gfxContext.h"
-
-+/* Accounting for compressed data */
-+#if defined(PR_LOGGING)
-+static PRLogModuleInfo *gCompressedImageAccountingLog = PR_NewLogModule ("CompressedImageAccounting");
-+#else
-+#define gCompressedImageAccountingLog
-+#endif
-+
-+static int num_containers_with_discardable_data;
-+static PRInt64 num_compressed_image_bytes;
-+
-+
- NS_IMPL_ISUPPORTS3(imgContainer, imgIContainer, nsITimerCallback, nsIProperties)
-
- //******************************************************************************
- imgContainer::imgContainer() :
- mSize(0,0),
-+ mNumFrames(0),
- mAnim(nsnull),
- mAnimationMode(kNormalAnimMode),
- mLoopCount(-1),
-- mObserver(nsnull)
-+ mObserver(nsnull),
-+ mDiscardable(PR_FALSE),
-+ mDiscarded(PR_FALSE),
-+ mDiscardableMimeType(nsnull),
-+ mRestoreData(nsnull),
-+ mRestoreDataLength(0),
-+ mRestoreDataDone(PR_FALSE),
-+ mDiscardTimer(nsnull)
- {
- }
-
-@@ -67,6 +94,32 @@ imgContainer::~imgContainer()
- {
- if (mAnim)
- delete mAnim;
-+
-+ if (mDiscardableMimeType) {
-+ free (mDiscardableMimeType);
-+ mDiscardableMimeType = nsnull;
-+ }
-+
-+ if (mRestoreData) {
-+ PR_Free (mRestoreData);
-+
-+ num_containers_with_discardable_data--;
-+ num_compressed_image_bytes -= mRestoreDataLength;
-+
-+ PR_LOG (gCompressedImageAccountingLog, PR_LOG_DEBUG,
-+ ("CompressedImageAccounting: destroying imgContainer %p. "
-+ "Compressed containers: %d, Compressed data bytes: %lld",
-+ this,
-+ num_containers_with_discardable_data,
-+ num_compressed_image_bytes));
-+
-+ mRestoreDataLength = 0;
-+ }
-+
-+ if (mDiscardTimer) {
-+ mDiscardTimer->Cancel ();
-+ mDiscardTimer = nsnull;
-+ }
- }
-
- //******************************************************************************
-@@ -124,15 +177,53 @@ NS_IMETHODIMP imgContainer::GetHeight(PRInt32 *aHeight)
- return NS_OK;
- }
-
-+nsresult imgContainer::GetCurrentFrameNoRef (gfxIImageFrame** aFrame)
-+{
-+ nsresult result;
-+
-+ result = RestoreDiscardedData ();
-+ if (NS_FAILED (result)) {
-+ PR_LOG (gCompressedImageAccountingLog, PR_LOG_DEBUG,
-+ ("CompressedImageAccounting: imgContainer::GetCurrentFrameNoRef(): error %d in RestoreDiscardedData(); "
-+ "returning a null frame from imgContainer %p",
-+ result,
-+ this));
-+
-+ *aFrame = nsnull;
-+ return result;
-+ }
-+
-+ if (!mAnim)
-+ *aFrame = mFrames.SafeObjectAt(0);
-+ else if (mAnim->lastCompositedFrameIndex == mAnim->currentAnimationFrameIndex)
-+ *aFrame = mAnim->compositingFrame;
-+ else
-+ *aFrame = mFrames.SafeObjectAt(mAnim->currentAnimationFrameIndex);
-+
-+ if (!*aFrame)
-+ PR_LOG (gCompressedImageAccountingLog, PR_LOG_DEBUG,
-+ ("CompressedImageAccounting: imgContainer::GetCurrentFrameNoRef(): returning null frame from imgContainer %p "
-+ "(no errors when restoring data)",
-+ this));
-+
-+ return NS_OK;
-+}
-+
- //******************************************************************************
- /* readonly attribute gfxIImageFrame currentFrame; */
- NS_IMETHODIMP imgContainer::GetCurrentFrame(gfxIImageFrame **aCurrentFrame)
- {
-+ nsresult result;
-+
- NS_ASSERTION(aCurrentFrame, "imgContainer::GetCurrentFrame; Invalid Arg");
- if (!aCurrentFrame)
- return NS_ERROR_INVALID_POINTER;
-
-- if (!(*aCurrentFrame = inlinedGetCurrentFrame()))
-+ result = GetCurrentFrameNoRef (aCurrentFrame);
-+ if (NS_FAILED (result))
-+ return result;
-+
-+ if (!*aCurrentFrame)
- return NS_ERROR_FAILURE;
-
- NS_ADDREF(*aCurrentFrame);
-@@ -148,7 +239,7 @@ NS_IMETHODIMP imgContainer::GetNumFrames(PRUint32 *aNumFrames)
- if (!aNumFrames)
- return NS_ERROR_INVALID_ARG;
-
-- *aNumFrames = mFrames.Count();
-+ *aNumFrames = mNumFrames;
-
- return NS_OK;
- }
-@@ -157,16 +248,24 @@ NS_IMETHODIMP imgContainer::GetNumFrames(PRUint32 *aNumFrames)
- /* gfxIImageFrame getFrameAt (in unsigned long index); */
- NS_IMETHODIMP imgContainer::GetFrameAt(PRUint32 index, gfxIImageFrame **_retval)
- {
-+ nsresult result;
-+
- NS_ASSERTION(_retval, "imgContainer::GetFrameAt; Invalid Arg");
- if (!_retval)
- return NS_ERROR_INVALID_POINTER;
-
-- if (!mFrames.Count()) {
-+ if (mNumFrames == 0) {
- *_retval = nsnull;
- return NS_OK;
- }
-
-- NS_ENSURE_ARG(index < static_cast<PRUint32>(mFrames.Count()));
-+ NS_ENSURE_ARG((int) index < mNumFrames);
-+
-+ result = RestoreDiscardedData ();
-+ if (NS_FAILED (result)) {
-+ *_retval = nsnull;
-+ return result;
-+ }
-
- if (!(*_retval = mFrames[index]))
- return NS_ERROR_FAILURE;
-@@ -183,16 +282,17 @@ NS_IMETHODIMP imgContainer::AppendFrame(gfxIImageFrame *item)
- NS_ASSERTION(item, "imgContainer::AppendFrame; Invalid Arg");
- if (!item)
- return NS_ERROR_INVALID_ARG;
--
-- PRInt32 numFrames = mFrames.Count();
--
-- if (numFrames == 0) {
-+
-+ if (mFrames.Count () == 0) {
- // This may not be an animated image, don't do all the animation stuff.
- mFrames.AppendObject(item);
-+
-+ mNumFrames++;
-+
- return NS_OK;
- }
-
-- if (numFrames == 1) {
-+ if (mFrames.Count () == 1) {
- // Now that we got a second frame, initialize animation stuff.
- if (!ensureAnimExists())
- return NS_ERROR_OUT_OF_MEMORY;
-@@ -216,11 +316,13 @@ NS_IMETHODIMP imgContainer::AppendFrame(gfxIImageFrame *item)
- itemRect);
-
- mFrames.AppendObject(item);
-+
-+ mNumFrames++;
-
- // If this is our second frame, start the animation.
- // Must be called after AppendObject because StartAnimation checks for > 1
- // frame
-- if (numFrames == 1)
-+ if (mFrames.Count () == 1)
- StartAnimation();
-
- return NS_OK;
-@@ -230,6 +332,7 @@ NS_IMETHODIMP imgContainer::AppendFrame(gfxIImageFrame *item)
- /* void removeFrame (in gfxIImageFrame item); */
- NS_IMETHODIMP imgContainer::RemoveFrame(gfxIImageFrame *item)
- {
-+ /* Remember to decrement mNumFrames if you implement this */
- return NS_ERROR_NOT_IMPLEMENTED;
- }
-
-@@ -253,7 +356,7 @@ NS_IMETHODIMP imgContainer::DecodingComplete(void)
- mAnim->doneDecoding = PR_TRUE;
- // If there's only 1 frame, optimize it.
- // Optimizing animated images is not supported
-- if (mFrames.Count() == 1)
-+ if (mNumFrames == 1)
- mFrames[0]->SetMutable(PR_FALSE);
- return NS_OK;
- }
-@@ -292,11 +395,11 @@ NS_IMETHODIMP imgContainer::SetAnimationMode(PRUint16 aAnimationMode)
- break;
- case kNormalAnimMode:
- if (mLoopCount != 0 ||
-- (mAnim && (mAnim->currentAnimationFrameIndex + 1 < mFrames.Count())))
-+ (mAnim && (mAnim->currentAnimationFrameIndex + 1 < mNumFrames)))
- StartAnimation();
- break;
- case kLoopOnceAnimMode:
-- if (mAnim && (mAnim->currentAnimationFrameIndex + 1 < mFrames.Count()))
-+ if (mAnim && (mAnim->currentAnimationFrameIndex + 1 < mNumFrames))
- StartAnimation();
- break;
- }
-@@ -312,12 +415,18 @@ NS_IMETHODIMP imgContainer::StartAnimation()
- (mAnim && (mAnim->timer || mAnim->animating)))
- return NS_OK;
-
-- if (mFrames.Count() > 1) {
-+ if (mNumFrames > 1) {
- if (!ensureAnimExists())
- return NS_ERROR_OUT_OF_MEMORY;
-
- PRInt32 timeout;
-- gfxIImageFrame *currentFrame = inlinedGetCurrentFrame();
-+ nsresult result;
-+ gfxIImageFrame *currentFrame;
-+
-+ result = GetCurrentFrameNoRef (&currentFrame);
-+ if (NS_FAILED (result))
-+ return result;
-+
- if (currentFrame) {
- currentFrame->GetTimeout(&timeout);
- if (timeout <= 0) // -1 means display this frame forever
-@@ -376,8 +485,15 @@ NS_IMETHODIMP imgContainer::ResetAnimation()
- mAnim->currentAnimationFrameIndex = 0;
- // Update display
- nsCOMPtr<imgIContainerObserver> observer(do_QueryReferent(mObserver));
-- if (observer)
-+ if (observer) {
-+ nsresult result;
-+
-+ result = RestoreDiscardedData ();
-+ if (NS_FAILED (result))
-+ return result;
-+
- observer->FrameChanged(this, mFrames[0], &(mAnim->firstFrameRefreshArea));
-+ }
-
- if (oldAnimating)
- return StartAnimation();
-@@ -411,10 +527,161 @@ NS_IMETHODIMP imgContainer::SetLoopCount(PRInt32 aLoopCount)
- return NS_OK;
- }
-
-+static PRBool
-+discarding_is_enabled (void)
-+{
-+ static PRBool inited;
-+ static PRBool enabled;
-+
-+ if (!inited) {
-+ inited = PR_TRUE;
-+
-+ enabled = (getenv ("MOZ_DISABLE_IMAGE_DISCARD") == nsnull);
-+ }
-+
-+ return enabled;
-+}
-+
-+//******************************************************************************
-+/* void setDiscardable(in string mime_type); */
-+NS_IMETHODIMP imgContainer::SetDiscardable (const char* aMimeType)
-+{
-+ NS_ASSERTION(aMimeType, "imgContainer::SetDiscardable() called with null aMimeType");
-+
-+ if (!discarding_is_enabled ())
-+ return NS_OK;
-+
-+ if (mDiscardable) {
-+ NS_WARNING ("imgContainer::SetDiscardable(): cannot change an imgContainer which is already discardable");
-+ return NS_ERROR_FAILURE;
-+ }
-+
-+ mDiscardableMimeType = strdup (aMimeType);
-+ if (!mDiscardableMimeType)
-+ return NS_ERROR_OUT_OF_MEMORY;
-+
-+ mDiscardable = PR_TRUE;
-+
-+ num_containers_with_discardable_data++;
-+ PR_LOG (gCompressedImageAccountingLog, PR_LOG_DEBUG,
-+ ("CompressedImageAccounting: Making imgContainer %p (%s) discardable. "
-+ "Compressed containers: %d, Compressed data bytes: %lld",
-+ this,
-+ aMimeType,
-+ num_containers_with_discardable_data,
-+ num_compressed_image_bytes));
-+
-+ return NS_OK;
-+}
-+
-+//******************************************************************************
-+/* void addRestoreData(in nsIInputStream aInputStream, in unsigned long aCount); */
-+NS_IMETHODIMP imgContainer::AddRestoreData (char *aBuffer, PRUint32 aCount)
-+{
-+ PRSize new_size;
-+ char *new_buffer;
-+
-+ NS_ASSERTION(aBuffer, "imgContainer::AddRestoreData() called with null aBuffer");
-+
-+ if (!discarding_is_enabled ())
-+ return NS_OK;
-+
-+ if (!mDiscardable) {
-+ NS_WARNING ("imgContainer::AddRestoreData() can only be called if SetDiscardable is called first");
-+ return NS_ERROR_FAILURE;
-+ }
-+
-+ if (mRestoreDataDone) {
-+ /* We are being called from the decoder while the data is being restored
-+ * (i.e. we were fully loaded once, then we discarded the image data, then
-+ * we are being restored). We don't want to save the compressed data again,
-+ * since we already have it.
-+ */
-+ return NS_OK;
-+ }
-+
-+ new_size = mRestoreDataLength + aCount;
-+
-+ new_buffer = (char *) PR_Realloc (mRestoreData, new_size);
-+ if (new_buffer)
-+ mRestoreData = new_buffer;
-+ else {
-+ /* Hmm, should we discard the whole buffer? The caller isn't going to be able to recover... */
-+ return NS_ERROR_OUT_OF_MEMORY;
-+ }
-+
-+ memcpy (mRestoreData + mRestoreDataLength, aBuffer, aCount);
-+ mRestoreDataLength = new_size;
-+
-+ num_compressed_image_bytes += aCount;
-+
-+ PR_LOG (gCompressedImageAccountingLog, PR_LOG_DEBUG,
-+ ("CompressedImageAccounting: Added compressed data to imgContainer %p (%s). "
-+ "Compressed containers: %d, Compressed data bytes: %lld",
-+ this,
-+ mDiscardableMimeType,
-+ num_containers_with_discardable_data,
-+ num_compressed_image_bytes));
-+
-+ return NS_OK;
-+}
-+
-+/* Note! buf must be declared as char buf[9]; */
-+static void
-+get_header_str (char *buf, char *data, PRSize data_len)
-+{
-+ int i;
-+ int n;
-+ static char hex[] = "0123456789abcdef";
-+
-+ n = data_len < 4 ? data_len : 4;
-+
-+ for (i = 0; i < n; i++) {
-+ buf[i * 2] = hex[(data[i] >> 4) & 0x0f];
-+ buf[i * 2 + 1] = hex[data[i] & 0x0f];
-+ }
-+
-+ buf[i * 2] = 0;
-+}
-+
-+//******************************************************************************
-+/* void restoreDataDone(); */
-+NS_IMETHODIMP imgContainer::RestoreDataDone (void)
-+{
-+ char buf[9];
-+
-+ if (!discarding_is_enabled ())
-+ return NS_OK;
-+
-+ if (mRestoreDataDone)
-+ return NS_OK;
-+
-+ mRestoreDataDone = PR_TRUE;
-+
-+ get_header_str (buf, mRestoreData, mRestoreDataLength);
-+ PR_LOG (gCompressedImageAccountingLog, PR_LOG_DEBUG,
-+ ("CompressedImageAccounting: imgContainer::RestoreDataDone() - data is done for container %p (%s), %d real frames (cached as %d frames) - header %p is 0x%s (length %d)",
-+ this,
-+ mDiscardableMimeType,
-+ mFrames.Count (),
-+ mNumFrames,
-+ mRestoreData,
-+ buf,
-+ (int) mRestoreDataLength));
-+
-+ return ResetDiscardTimer ();
-+}
-+
- //******************************************************************************
- /* void notify(in nsITimer timer); */
- NS_IMETHODIMP imgContainer::Notify(nsITimer *timer)
- {
-+ nsresult result;
-+
-+ result = RestoreDiscardedData ();
-+ if (NS_FAILED (result))
-+ return result;
-+
- // This should never happen since the timer is only set up in StartAnimation()
- // after mAnim is checked to exist.
- NS_ASSERTION(mAnim, "imgContainer::Notify() called but mAnim is null");
-@@ -433,8 +700,7 @@ NS_IMETHODIMP imgContainer::Notify(nsITimer *timer)
- return NS_OK;
- }
-
-- PRInt32 numFrames = mFrames.Count();
-- if (!numFrames)
-+ if (mNumFrames == 0)
- return NS_OK;
-
- gfxIImageFrame *nextFrame = nsnull;
-@@ -448,7 +714,7 @@ NS_IMETHODIMP imgContainer::Notify(nsITimer *timer)
- // finished decoding (see EndFrameDecode)
- if (mAnim->doneDecoding ||
- (nextFrameIndex < mAnim->currentDecodingFrameIndex)) {
-- if (numFrames == nextFrameIndex) {
-+ if (mNumFrames == nextFrameIndex) {
- // End of Animation
-
- // If animation mode is "loop once", it's time to stop animating
-@@ -875,3 +1141,328 @@ NS_IMETHODIMP imgContainer::GetKeys(PRUint32 *count, char ***keys)
- }
- return mProperties->GetKeys(count, keys);
- }
-+
-+static int
-+get_discard_timer_ms (void)
-+{
-+ /* FIXME: don't hardcode this */
-+ return 5000; /* 5 seconds */
-+}
-+
-+void
-+imgContainer::sDiscardTimerCallback (nsITimer *aTimer, void *aClosure)
-+{
-+ imgContainer *self = (imgContainer *) aClosure;
-+ int old_frame_count;
-+
-+ NS_ASSERTION (aTimer == self->mDiscardTimer,
-+ "imgContainer::DiscardTimerCallback() got a callback for an unknown timer");
-+
-+ self->mDiscardTimer = nsnull;
-+
-+ old_frame_count = self->mFrames.Count ();
-+
-+ if (self->mAnim) {
-+ delete self->mAnim;
-+ self->mAnim = nsnull;
-+ }
-+
-+ self->mFrames.Clear ();
-+
-+ self->mDiscarded = PR_TRUE;
-+
-+ PR_LOG (gCompressedImageAccountingLog, PR_LOG_DEBUG,
-+ ("CompressedImageAccounting: discarded uncompressed image data from imgContainer %p (%s) - %d frames (cached count: %d); "
-+ "Compressed containers: %d, Compressed data bytes: %lld",
-+ self,
-+ self->mDiscardableMimeType,
-+ old_frame_count,
-+ self->mNumFrames,
-+ num_containers_with_discardable_data,
-+ num_compressed_image_bytes));
-+}
-+
-+nsresult
-+imgContainer::ResetDiscardTimer (void)
-+{
-+ if (!discarding_is_enabled ())
-+ return NS_OK;
-+
-+ if (!mDiscardTimer) {
-+ mDiscardTimer = do_CreateInstance("@mozilla.org/timer;1");
-+
-+ if (!mDiscardTimer)
-+ return NS_ERROR_OUT_OF_MEMORY;
-+ } else {
-+ if (NS_FAILED (mDiscardTimer->Cancel ()))
-+ return NS_ERROR_FAILURE;
-+ }
-+
-+ return mDiscardTimer->InitWithFuncCallback (sDiscardTimerCallback,
-+ (void *) this,
-+ get_discard_timer_ms (),
-+ nsITimer::TYPE_ONE_SHOT);
-+}
-+
-+nsresult
-+imgContainer::RestoreDiscardedData (void)
-+{
-+ nsresult result;
-+ int num_expected_frames;
-+
-+ if (!mDiscarded)
-+ return NS_OK;
-+
-+ result = ResetDiscardTimer ();
-+ if (NS_FAILED (result))
-+ return result;
-+
-+ num_expected_frames = mNumFrames;
-+
-+ result = ReloadImages ();
-+ if (NS_FAILED (result)) {
-+ PR_LOG (gCompressedImageAccountingLog, PR_LOG_DEBUG,
-+ ("CompressedImageAccounting: imgContainer::RestoreDiscardedData() for container %p failed to ReloadImages()",
-+ this));
-+ return result;
-+ }
-+
-+ mDiscarded = PR_FALSE;
-+
-+ NS_ASSERTION (mNumFrames == mFrames.Count (),
-+ "number of restored image frames doesn't match");
-+ NS_ASSERTION (num_expected_frames == mNumFrames,
-+ "number of restored image frames doesn't match the original number of frames!");
-+
-+ PR_LOG (gCompressedImageAccountingLog, PR_LOG_DEBUG,
-+ ("CompressedImageAccounting: imgContainer::RestoreDiscardedData() restored discarded data "
-+ "for imgContainer %p (%s) - %d image frames. "
-+ "Compressed containers: %d, Compressed data bytes: %lld",
-+ this,
-+ mDiscardableMimeType,
-+ mNumFrames,
-+ num_containers_with_discardable_data,
-+ num_compressed_image_bytes));
-+
-+ return NS_OK;
-+}
-+
-+class ContainerLoader : public imgILoad,
-+ public imgIDecoderObserver,
-+ public nsSupportsWeakReference
-+{
-+public:
-+
-+ NS_DECL_ISUPPORTS
-+ NS_DECL_IMGILOAD
-+ NS_DECL_IMGIDECODEROBSERVER
-+ NS_DECL_IMGICONTAINEROBSERVER
-+
-+ ContainerLoader (void);
-+
-+private:
-+
-+ imgIContainer *mContainer;
-+};
-+
-+NS_IMPL_ISUPPORTS4 (ContainerLoader, imgILoad, imgIDecoderObserver, imgIContainerObserver, nsISupportsWeakReference)
-+
-+ContainerLoader::ContainerLoader (void)
-+{
-+}
-+
-+/* Implement imgILoad::image getter */
-+NS_IMETHODIMP
-+ContainerLoader::GetImage(imgIContainer **aImage)
-+{
-+ *aImage = mContainer;
-+ NS_IF_ADDREF (*aImage);
-+ return NS_OK;
-+}
-+
-+/* Implement imgILoad::image setter */
-+NS_IMETHODIMP
-+ContainerLoader::SetImage(imgIContainer *aImage)
-+{
-+ mContainer = aImage;
-+ return NS_OK;
-+}
-+
-+/* Implement imgILoad::isMultiPartChannel getter */
-+NS_IMETHODIMP
-+ContainerLoader::GetIsMultiPartChannel(PRBool *aIsMultiPartChannel)
-+{
-+ *aIsMultiPartChannel = PR_FALSE; /* FIXME: is this always right? */
-+ return NS_OK;
-+}
-+
-+/* Implement imgIDecoderObserver::onStartRequest() */
-+NS_IMETHODIMP
-+ContainerLoader::OnStartRequest (imgIRequest *aRequest)
-+{
-+ return NS_OK;
-+}
-+
-+/* Implement imgIDecoderObserver::onStartDecode() */
-+NS_IMETHODIMP
-+ContainerLoader::OnStartDecode (imgIRequest *aRequest)
-+{
-+ return NS_OK;
-+}
-+
-+/* Implement imgIDecoderObserver::onStartContainer() */
-+NS_IMETHODIMP
-+ContainerLoader::OnStartContainer (imgIRequest *aRequest, imgIContainer *aContainer)
-+{
-+ return NS_OK;
-+}
-+
-+/* Implement imgIDecoderObserver::onStartFrame() */
-+NS_IMETHODIMP
-+ContainerLoader::OnStartFrame (imgIRequest *aRequest, gfxIImageFrame *aFrame)
-+{
-+ return NS_OK;
-+}
-+
-+/* Implement imgIDecoderObserver::onDataAvailable() */
-+NS_IMETHODIMP
-+ContainerLoader::OnDataAvailable (imgIRequest *aRequest, gfxIImageFrame *aFrame, const nsIntRect * aRect)
-+{
-+ return NS_OK;
-+}
-+
-+/* Implement imgIDecoderObserver::onStopFrame() */
-+NS_IMETHODIMP
-+ContainerLoader::OnStopFrame (imgIRequest *aRequest, gfxIImageFrame *aFrame)
-+{
-+ return NS_OK;
-+}
-+
-+/* Implement imgIDecoderObserver::onStopContainer() */
-+NS_IMETHODIMP
-+ContainerLoader::OnStopContainer (imgIRequest *aRequest, imgIContainer *aContainer)
-+{
-+ return NS_OK;
-+}
-+
-+/* Implement imgIDecoderObserver::onStopDecode() */
-+NS_IMETHODIMP
-+ContainerLoader::OnStopDecode (imgIRequest *aRequest, nsresult status, const PRUnichar *statusArg)
-+{
-+ return NS_OK;
-+}
-+
-+/* Implement imgIDecoderObserver::onStopRequest() */
-+NS_IMETHODIMP
-+ContainerLoader::OnStopRequest (imgIRequest *aRequest, PRBool aIsLastPart)
-+{
-+ return NS_OK;
-+}
-+
-+/* implement imgIContainerObserver::frameChanged() */
-+NS_IMETHODIMP
-+ContainerLoader::FrameChanged (imgIContainer *aContainer, gfxIImageFrame *aFrame, nsIntRect * aDirtyRect)
-+{
-+ return NS_OK;
-+}
-+
-+static char *
-+make_id_from_mime_type (char *mime_type)
-+{
-+ const char idbase[] = "@mozilla.org/image/decoder;2?type=";
-+ int idbase_len = strlen (idbase);
-+ char *id;
-+
-+ id = (char *) PR_Malloc (strlen (mime_type) + idbase_len + 1);
-+ if (!id)
-+ return nsnull;
-+
-+ strcpy (id, idbase);
-+ strcpy (id + idbase_len, mime_type);
-+
-+ return id;
-+}
-+
-+nsresult
-+imgContainer::ReloadImages (void)
-+{
-+ char *id;
-+ nsCOMPtr<imgILoad> loader;
-+ nsCOMPtr<imgIDecoder> decoder;
-+ nsresult result;
-+ PRUint32 written;
-+ nsCOMPtr<nsIInputStream> stream;
-+ char buf[9];
-+
-+ NS_ASSERTION (mRestoreData,
-+ "imgContainer::ReloadImages(): mRestoreData should not be null");
-+ NS_ASSERTION (mRestoreDataDone,
-+ "imgContainer::ReloadImages(): mRestoreDataDone shoudl be true!");
-+
-+ id = make_id_from_mime_type (mDiscardableMimeType);
-+ if (!id)
-+ return NS_ERROR_OUT_OF_MEMORY;
-+
-+ mNumFrames = 0;
-+ NS_ASSERTION (mFrames.Count() == 0,
-+ "imgContainer::ReloadImages(): mFrames should be empty");
-+
-+ decoder = do_CreateInstance (id);
-+ PR_Free (id);
-+
-+ if (!decoder) {
-+ PR_LOG (gCompressedImageAccountingLog, PR_LOG_WARNING,
-+ ("CompressedImageAccounting: imgContainer::ReloadImages() could not create decoder for %s",
-+ mDiscardableMimeType));
-+ return NS_IMAGELIB_ERROR_NO_DECODER;
-+ }
-+
-+ loader = new ContainerLoader ();
-+ if (!loader) {
-+ PR_LOG (gCompressedImageAccountingLog, PR_LOG_WARNING,
-+ ("CompressedImageAccounting: imgContainer::ReloadImages() could not allocate ContainerLoader "
-+ "when reloading the images for container %p",
-+ this));
-+ return NS_ERROR_OUT_OF_MEMORY;
-+ }
-+
-+ loader->SetImage (this);
-+
-+ result = decoder->Init (loader);
-+ if (NS_FAILED (result)) {
-+ PR_LOG (gCompressedImageAccountingLog, PR_LOG_WARNING,
-+ ("CompressedImageAccounting: imgContainer::ReloadImages() image container %p "
-+ "failed to initialize the decoder (%s)",
-+ this,
-+ mDiscardableMimeType));
-+ return result;
-+ }
-+
-+ result = NS_NewByteInputStream (getter_AddRefs (stream), mRestoreData, mRestoreDataLength, NS_ASSIGNMENT_DEPEND);
-+ NS_ENSURE_SUCCESS (result, result);
-+
-+ get_header_str (buf, mRestoreData, mRestoreDataLength);
-+ PR_LOG (gCompressedImageAccountingLog, PR_LOG_WARNING,
-+ ("CompressedImageAccounting: imgContainer::ReloadImages() starting to restore images for container %p (%s) - "
-+ "header %p is 0x%s (length %d)",
-+ this,
-+ mDiscardableMimeType,
-+ mRestoreData,
-+ buf,
-+ (int) mRestoreDataLength));
-+
-+ result = decoder->WriteFrom (stream, mRestoreDataLength, &written);
-+ NS_ENSURE_SUCCESS (result, result);
-+
-+ result = decoder->Flush ();
-+ if (!(result == NS_OK || result == NS_ERROR_NOT_IMPLEMENTED)) /* PNG doesn't implement Flush(), for example */
-+ return result;
-+
-+ result = decoder->Close ();
-+ NS_ENSURE_SUCCESS (result, result);
-+
-+ NS_ASSERTION (mFrames.Count() == mNumFrames,
-+ "imgContainer::ReloadImages(): the restored mFrames.Count() doesn't match mNumFrames!");
-+
-+ return result;
-+}
-diff --git modules/libpr0n/src/imgContainer.h modules/libpr0n/src/imgContainer.h
-index 3db7034..aa56939 100644
---- modules/libpr0n/src/imgContainer.h
-+++ modules/libpr0n/src/imgContainer.h
-@@ -23,6 +23,7 @@
- * Contributor(s):
- * Stuart Parmenter <pavlov@netscape.com>
- * Chris Saari <saari@netscape.com>
-+ * Federico Mena-Quintero <federico@novell.com>
- *
- * 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
-@@ -194,14 +195,8 @@ private:
- timer->Cancel();
- }
- };
--
-- inline gfxIImageFrame* inlinedGetCurrentFrame() {
-- if (!mAnim)
-- return mFrames.SafeObjectAt(0);
-- if (mAnim->lastCompositedFrameIndex == mAnim->currentAnimationFrameIndex)
-- return mAnim->compositingFrame;
-- return mFrames.SafeObjectAt(mAnim->currentAnimationFrameIndex);
-- }
-+
-+ nsresult GetCurrentFrameNoRef(gfxIImageFrame** aFrame);
-
- inline Anim* ensureAnimExists() {
- if (!mAnim)
-@@ -274,10 +269,15 @@ private:
- nsIntSize mSize;
-
- //! All the <gfxIImageFrame>s of the PNG
-+ // *** IMPORTANT: if you use mFrames in a method, call RestoreDiscardedData() first to ensure
-+ // that the frames actually exist (they may have been discarded to save memory).
- nsCOMArray<gfxIImageFrame> mFrames;
-+ int mNumFrames; /* stored separately from mFrames.Count() to support discarded images */
-
- nsCOMPtr<nsIProperties> mProperties;
--
-+
-+ // *** IMPORTANT: if you use mAnim in a method, call RestoreDiscardedData() first to ensure
-+ // that the frames actually exist (they may have been discarded to save memory).
- imgContainer::Anim* mAnim;
-
- //! See imgIContainer for mode constants
-@@ -288,6 +288,19 @@ private:
-
- //! imgIContainerObserver
- nsWeakPtr mObserver;
-+
-+ PRBool mDiscardable;
-+ PRBool mDiscarded;
-+ char* mDiscardableMimeType;
-+ char* mRestoreData;
-+ PRSize mRestoreDataLength;
-+ PRBool mRestoreDataDone;
-+ nsCOMPtr<nsITimer> mDiscardTimer;
-+
-+ nsresult ResetDiscardTimer (void);
-+ nsresult RestoreDiscardedData (void);
-+ nsresult ReloadImages (void);
-+ static void sDiscardTimerCallback (nsITimer *aTimer, void *aClosure);
- };
-
- #endif /* __imgContainer_h__ */
diff --git a/www/firefox3-devel/files/patch-build_unix_run-mozilla.sh b/www/firefox3-devel/files/patch-build_unix_run-mozilla.sh
deleted file mode 100644
index a5295588e..000000000
--- a/www/firefox3-devel/files/patch-build_unix_run-mozilla.sh
+++ /dev/null
@@ -1,12 +0,0 @@
---- build/unix/run-mozilla.sh.orig Tue Feb 14 19:56:54 2006
-+++ build/unix/run-mozilla.sh Fri Dec 8 15:49:48 2006
-@@ -443,6 +443,9 @@
- export MOZILLA_FIVE_HOME LD_LIBRARY_PATH
- export SHLIB_PATH LIBPATH LIBRARY_PATH ADDON_PATH DYLD_LIBRARY_PATH
-
-+MOZ_PLUGIN_PATH=%%PREFIX%%/lib/browser_plugins:%%PREFIX%%/lib/browser_linux_plugins
-+export MOZ_PLUGIN_PATH
-+
- if [ $moz_debug -eq 1 ]
- then
- moz_debug_program ${1+"$@"}
diff --git a/www/firefox3-devel/files/patch-config-mkdepend-imakemdep.h b/www/firefox3-devel/files/patch-config-mkdepend-imakemdep.h
deleted file mode 100644
index b688e6644..000000000
--- a/www/firefox3-devel/files/patch-config-mkdepend-imakemdep.h
+++ /dev/null
@@ -1,10 +0,0 @@
---- config/mkdepend/imakemdep.h Fri Sep 4 21:22:25 1998
-+++ config/mkdepend/imakemdep.h Thu Oct 16 22:43:25 2003
-@@ -278,4 +278,7 @@
- "-D__i386__",
- # endif
-+# if defined(__amd64__) || defined(__x86_64__)
-+ "-D__amd64__ -D__x86_64__",
-+# endif
- # ifdef __GNUC__
- "-traditional",
diff --git a/www/firefox3-devel/files/patch-config-rules.mk b/www/firefox3-devel/files/patch-config-rules.mk
deleted file mode 100644
index 8ab35f5a8..000000000
--- a/www/firefox3-devel/files/patch-config-rules.mk
+++ /dev/null
@@ -1,13 +0,0 @@
---- config/rules.mk.orig Thu Sep 14 14:07:03 2006
-+++ config/rules.mk Wed Oct 18 11:00:09 2006
-@@ -442,9 +442,7 @@
- endif
-
- ifeq ($(OS_ARCH),FreeBSD)
--ifdef IS_COMPONENT
--EXTRA_DSO_LDOPTS += -Wl,-Bsymbolic
--endif
-+EXTRA_DSO_LDOPTS += -Wl,-Bsymbolic -lc
- endif
-
- ifeq ($(OS_ARCH),NetBSD)
diff --git a/www/firefox3-devel/files/patch-config_autoconf.mk.in b/www/firefox3-devel/files/patch-config_autoconf.mk.in
deleted file mode 100644
index 29fe7f8fb..000000000
--- a/www/firefox3-devel/files/patch-config_autoconf.mk.in
+++ /dev/null
@@ -1,18 +0,0 @@
---- config/autoconf.mk.in.orig Thu Jul 14 00:50:06 2005
-+++ config/autoconf.mk.in Thu Jul 14 00:50:40 2005
-@@ -50,13 +50,13 @@
- 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)
-
--mozappdir = $(libdir)/$(MOZ_APP_NAME)-$(MOZ_APP_VERSION)
-+mozappdir = $(libdir)/%%MOZILLA%%
- mredir = $(libdir)/mre/mre-$(MOZ_APP_VERSION)
- mrelibdir = $(mredir)/lib
-
diff --git a/www/firefox3-devel/files/patch-config_mkdepend_Makefile.in b/www/firefox3-devel/files/patch-config_mkdepend_Makefile.in
deleted file mode 100644
index bace012a2..000000000
--- a/www/firefox3-devel/files/patch-config_mkdepend_Makefile.in
+++ /dev/null
@@ -1,10 +0,0 @@
---- config/mkdepend/Makefile.in.orig Sun Dec 12 07:36:57 2004
-+++ config/mkdepend/Makefile.in Sun Dec 12 07:37:55 2004
-@@ -57,6 +57,7 @@
- include $(topsrcdir)/config/rules.mk
-
- HOST_CFLAGS += -DINCLUDEDIR=\"/usr/include\" -DOBJSUFFIX=\".$(OBJ_SUFFIX)\"
-+HOST_CFLAGS += $(XCFLAGS)
-
- ifdef GNU_CC
- _GCCDIR = $(shell $(CC) -print-file-name=include)
diff --git a/www/firefox3-devel/files/patch-content_xslt_public_txDouble.h b/www/firefox3-devel/files/patch-content_xslt_public_txDouble.h
deleted file mode 100644
index 534bccba4..000000000
--- a/www/firefox3-devel/files/patch-content_xslt_public_txDouble.h
+++ /dev/null
@@ -1,20 +0,0 @@
---- content/xslt/public/txDouble.h.orig Fri Oct 13 00:00:29 2006
-+++ content/xslt/public/txDouble.h Fri Oct 13 00:00:53 2006
-@@ -41,7 +41,7 @@
- #define __txdouble_h__
-
- //A trick to handle IEEE floating point exceptions on FreeBSD - E.D.
--#ifdef __FreeBSD__
-+/* #ifdef __FreeBSD__
- #include <ieeefp.h>
- #ifdef __alpha__
- fp_except_t allmask = FP_X_INV|FP_X_OFL|FP_X_UFL|FP_X_DZ|FP_X_IMP;
-@@ -50,7 +50,7 @@
- #endif
- fp_except_t oldmask = fpsetmask(~allmask);
- #endif
--
-+*/
- /**
- * Macros to workaround math-bugs bugs in various platforms
- */
diff --git a/www/firefox3-devel/files/patch-extensions_typeaheadfind_src_nsTypeAheadFind.cpp b/www/firefox3-devel/files/patch-extensions_typeaheadfind_src_nsTypeAheadFind.cpp
deleted file mode 100644
index 41c462d74..000000000
--- a/www/firefox3-devel/files/patch-extensions_typeaheadfind_src_nsTypeAheadFind.cpp
+++ /dev/null
@@ -1,46 +0,0 @@
---- extensions/typeaheadfind/src/nsTypeAheadFind.cpp.orig Wed Nov 19 01:20:47 2003
-+++ extensions/typeaheadfind/src/nsTypeAheadFind.cpp Tue Feb 10 02:52:26 2004
-@@ -323,11 +323,11 @@
- prefBranch->GetBoolPref("accessibility.typeaheadfind.startlinksonly",
- &mStartLinksOnlyPref);
-
-- PRBool isSoundEnabled = PR_TRUE;
-+ mIsSoundEnabled = PR_TRUE;
- prefBranch->GetBoolPref("accessibility.typeaheadfind.enablesound",
-- &isSoundEnabled);
-+ &mIsSoundEnabled);
- nsXPIDLCString soundStr;
-- if (isSoundEnabled) {
-+ if (mIsSoundEnabled && mIsSoundEnabled) {
- prefBranch->GetCharPref("accessibility.typeaheadfind.soundURL",
- getter_Copies(soundStr));
- }
-@@ -758,7 +758,7 @@
- }
- else {
- // No find string to backspace in!
-- if (mIsBackspaceProtectOn) {
-+ if (mIsBackspaceProtectOn && mIsSoundEnabled) {
- // This flag should be on only if the last key was a backspace.
- // It keeps us from accidentally hitting backspace too many times and
- // going back in history when we really just wanted to clear
-@@ -1012,7 +1012,9 @@
-
- // Error sound (don't fire when backspace is pressed, they're
- // trying to correct the mistake!)
-- PlayNotFoundSound();
-+ if (mIsSoundEnabled) {
-+ PlayNotFoundSound();
-+ }
-
- // Remove bad character from buffer, so we can continue typing from
- // last matched character
-@@ -1059,7 +1061,7 @@
- void
- nsTypeAheadFind::PlayNotFoundSound()
- {
-- if (mNotFoundSoundURL.IsEmpty()) // no sound
-+ if (mNotFoundSoundURL.IsEmpty() || !mIsSoundEnabled) // no sound
- return;
- if (!mSoundInterface) {
- mSoundInterface = do_CreateInstance("@mozilla.org/sound;1");
diff --git a/www/firefox3-devel/files/patch-extensions_typeaheadfind_src_nsTypeAheadFind.h b/www/firefox3-devel/files/patch-extensions_typeaheadfind_src_nsTypeAheadFind.h
deleted file mode 100644
index 07ad43b43..000000000
--- a/www/firefox3-devel/files/patch-extensions_typeaheadfind_src_nsTypeAheadFind.h
+++ /dev/null
@@ -1,12 +0,0 @@
---- extensions/typeaheadfind/src/nsTypeAheadFind.h.orig Fri May 23 22:00:33 2003
-+++ extensions/typeaheadfind/src/nsTypeAheadFind.h Mon Feb 9 22:21:43 2004
-@@ -194,6 +194,9 @@
-
- nsCString mNotFoundSoundURL;
-
-+ // Move the sound enabled boolean out for all methods to access.
-+ PRBool mIsSoundEnabled;
-+
- // PRBool's are used instead of PRPackedBool's where the address of the
- // boolean variable is getting passed into a method. For example:
- // GetBoolPref("accessibility.typeaheadfind.linksonly", &mLinksOnlyPref);
diff --git a/www/firefox3-devel/files/patch-js_src_Makefile.in b/www/firefox3-devel/files/patch-js_src_Makefile.in
deleted file mode 100644
index fb0bd7f19..000000000
--- a/www/firefox3-devel/files/patch-js_src_Makefile.in
+++ /dev/null
@@ -1,10 +0,0 @@
---- js/src/Makefile.in.orig Wed Oct 18 09:23:09 2006
-+++ js/src/Makefile.in Wed Oct 18 09:27:27 2006
-@@ -244,6 +244,7 @@
- endif
-
- LDFLAGS += $(pathsubst -l%,$(NSPR_STATIC_PATH)/%.a,$(NSPR_LIBS))
-+LDFLAGS += -lc
-
- # BeOS and HP-UX do not require the extra linking of "-lm"
- ifeq (,$(filter BeOS HP-UX WINNT WINCE OpenVMS,$(OS_ARCH)))
diff --git a/www/firefox3-devel/files/patch-js_src_jsnum.c b/www/firefox3-devel/files/patch-js_src_jsnum.c
deleted file mode 100644
index a3ef2769a..000000000
--- a/www/firefox3-devel/files/patch-js_src_jsnum.c
+++ /dev/null
@@ -1,28 +0,0 @@
---- js/src/jsnum.c.orig Sun Nov 5 18:37:07 2006
-+++ js/src/jsnum.c Sun Nov 5 18:42:31 2006
-@@ -45,6 +45,9 @@
- #if defined(XP_WIN) || defined(XP_OS2)
- #include <float.h>
- #endif
-+#if defined(__FreeBSD__)
-+#include <sys/param.h>
-+#endif
- #include <locale.h>
- #include <limits.h>
- #include <math.h>
-@@ -532,7 +535,15 @@ static jsdouble NaN;
-
- #else
-
-+#if defined(__FreeBSD__) && __FreeBSD_version >= 601000
-+#include <fenv.h>
-+#define FIX_FPU() (fedisableexcept(FE_ALL_EXCEPT))
-+
-+#else
-+
- #define FIX_FPU() ((void)0)
-+
-+#endif /* defined(__FreeBSD__) && __FreeBSD_version >= 503000 */
-
- #endif
-
diff --git a/www/firefox3-devel/files/patch-modules_libpref_src_init_all.js b/www/firefox3-devel/files/patch-modules_libpref_src_init_all.js
deleted file mode 100644
index 1700380a5..000000000
--- a/www/firefox3-devel/files/patch-modules_libpref_src_init_all.js
+++ /dev/null
@@ -1,53 +0,0 @@
---- modules/libpref/src/init/all.js.orig Mon Feb 13 22:58:15 2006
-+++ modules/libpref/src/init/all.js Tue May 2 00:32:55 2006
-@@ -1883,33 +1883,33 @@
-
- // th
-
--pref("font.name.serif.tr", "Times");
--pref("font.name.sans-serif.tr", "Helvetica");
--pref("font.name.monospace.tr", "Courier");
-+pref("font.name.serif.tr", "serif");
-+pref("font.name.sans-serif.tr", "sans-serif");
-+pref("font.name.monospace.tr", "monospace");
-
- pref("font.name.serif.x-baltic", "serif");
- pref("font.name.sans-serif.x-baltic", "sans-serif");
- pref("font.name.monospace.x-baltic", "monospace");
-
--pref("font.name.serif.x-central-euro", "Times");
--pref("font.name.sans-serif.x-central-euro", "Helvetica");
--pref("font.name.monospace.x-central-euro", "Courier");
-+pref("font.name.serif.x-central-euro", "serif");
-+pref("font.name.sans-serif.x-central-euro", "sans-serif");
-+pref("font.name.monospace.x-central-euro", "monospace");
-
- pref("font.name.serif.x-cyrillic", "serif");
- pref("font.name.sans-serif.x-cyrillic", "sans-serif");
- pref("font.name.monospace.x-cyrillic", "monospace");
-
--pref("font.name.serif.x-unicode", "Times");
--pref("font.name.sans-serif.x-unicode", "Helvetica");
--pref("font.name.monospace.x-unicode", "Courier");
--
--pref("font.name.serif.x-user-def", "Times");
--pref("font.name.sans-serif.x-user-def", "Helvetica");
--pref("font.name.monospace.x-user-def", "Courier");
--
--pref("font.name.serif.x-western", "Times");
--pref("font.name.sans-serif.x-western", "Helvetica");
--pref("font.name.monospace.x-western", "Courier");
-+pref("font.name.serif.x-unicode", "serif");
-+pref("font.name.sans-serif.x-unicode", "sans-serif");
-+pref("font.name.monospace.x-unicode", "monospace");
-+
-+pref("font.name.serif.x-user-def", "serif");
-+pref("font.name.sans-serif.x-user-def", "sans-serif");
-+pref("font.name.monospace.x-user-def", "monospace");
-+
-+pref("font.name.serif.x-western", "serif");
-+pref("font.name.sans-serif.x-western", "sans-serif");
-+pref("font.name.monospace.x-western", "monospace");
-
- pref("font.name.serif.zh-CN", "serif");
- pref("font.name.sans-serif.zh-CN", "sans-serif");
diff --git a/www/firefox3-devel/files/patch-security-coreconf-FreeBSD.mk b/www/firefox3-devel/files/patch-security-coreconf-FreeBSD.mk
deleted file mode 100644
index 0f7a04a02..000000000
--- a/www/firefox3-devel/files/patch-security-coreconf-FreeBSD.mk
+++ /dev/null
@@ -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
diff --git a/www/firefox3-devel/files/patch-security_manager_ssl_src_nsNSSComponent.cpp b/www/firefox3-devel/files/patch-security_manager_ssl_src_nsNSSComponent.cpp
deleted file mode 100644
index f30d12229..000000000
--- a/www/firefox3-devel/files/patch-security_manager_ssl_src_nsNSSComponent.cpp
+++ /dev/null
@@ -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"
diff --git a/www/firefox3-devel/files/patch-storage_build_Makefile.in b/www/firefox3-devel/files/patch-storage_build_Makefile.in
deleted file mode 100644
index 18202a5a6..000000000
--- a/www/firefox3-devel/files/patch-storage_build_Makefile.in
+++ /dev/null
@@ -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
diff --git a/www/firefox3-devel/files/patch-sysnss b/www/firefox3-devel/files/patch-sysnss
deleted file mode 100644
index 6f3d06298..000000000
--- a/www/firefox3-devel/files/patch-sysnss
+++ /dev/null
@@ -1,34 +0,0 @@
---- security/manager/ssl/src/Makefile.in.orig 2007-07-23 15:03:01.000000000 -0400
-+++ security/manager/ssl/src/Makefile.in 2007-09-04 20:47:03.000000000 -0400
-@@ -125,13 +125,11 @@
- 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
-
- ifeq ($(OS_ARCH),Darwin)
- EXTRA_DSO_LDOPTS += \
-@@ -143,6 +141,7 @@
- $(MOZ_COMPONENT_LIBS) \
- $(MOZ_JS_LIBS) \
- $(NSS_LIBS) \
-+ $(LOCAL_INCLUDES) \
- $(NULL)
-
- include $(topsrcdir)/config/rules.mk
---- toolkit/components/url-classifier/src/Makefile.in.orig 2007-09-05 09:00:23.000000000 -0400
-+++ toolkit/components/url-classifier/src/Makefile.in 2007-09-05 09:00:27.000000000 -0400
-@@ -36,6 +36,3 @@
- $(NULL)
-
- include $(topsrcdir)/config/rules.mk
--
--export:: $(topsrcdir)/security/nss/lib/freebl/sha512.c
-- $(INSTALL) $^ .
diff --git a/www/firefox3-devel/files/patch-toolkit_xre_Makefile.in b/www/firefox3-devel/files/patch-toolkit_xre_Makefile.in
deleted file mode 100644
index 4a9c8533a..000000000
--- a/www/firefox3-devel/files/patch-toolkit_xre_Makefile.in
+++ /dev/null
@@ -1,8 +0,0 @@
---- toolkit/xre/Makefile.in.orig 2007-09-10 10:31:53.000000000 -0400
-+++ toolkit/xre/Makefile.in 2007-09-10 10:35:00.000000000 -0400
-@@ -263,5 +263,3 @@
- libs:: platform.ini
- $(INSTALL) $^ $(DIST)/bin
-
--install::
-- $(INSTALL) $(IFLAGS1) $^ $(DESTDIR)$(mozappdir)
diff --git a/www/firefox3-devel/files/patch-uriloader_exthandler_unix_nsGNOMERegistry.cpp b/www/firefox3-devel/files/patch-uriloader_exthandler_unix_nsGNOMERegistry.cpp
deleted file mode 100644
index 7f8e55f53..000000000
--- a/www/firefox3-devel/files/patch-uriloader_exthandler_unix_nsGNOMERegistry.cpp
+++ /dev/null
@@ -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);
diff --git a/www/firefox3-devel/files/patch-xpcom-reflect-xptcall-public-xptcstubsdecl.inc b/www/firefox3-devel/files/patch-xpcom-reflect-xptcall-public-xptcstubsdecl.inc
deleted file mode 100644
index 9a41bbfc4..000000000
--- a/www/firefox3-devel/files/patch-xpcom-reflect-xptcall-public-xptcstubsdecl.inc
+++ /dev/null
@@ -1,11 +0,0 @@
---- xpcom/reflect/xptcall/public/xptcstubsdecl.inc.orig Tue Mar 16 03:07:25 2004
-+++ xpcom/reflect/xptcall/public/xptcstubsdecl.inc Tue Jun 15 12:52:36 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();
diff --git a/www/firefox3-devel/files/patch-xpcom-reflect-xptcall-src-md-unix-Makefile.in b/www/firefox3-devel/files/patch-xpcom-reflect-xptcall-src-md-unix-Makefile.in
deleted file mode 100644
index 51edeb95a..000000000
--- a/www/firefox3-devel/files/patch-xpcom-reflect-xptcall-src-md-unix-Makefile.in
+++ /dev/null
@@ -1,54 +0,0 @@
---- xpcom/reflect/xptcall/src/md/unix/Makefile.in.orig Thu Aug 14 21:00:23 2003
-+++ xpcom/reflect/xptcall/src/md/unix/Makefile.in Sun Feb 1 15:06:40 2004
-@@ -49,6 +49,9 @@
- ifeq (86,$(findstring 86,$(OS_TEST)))
- CPPSRCS := xptcinvoke_unixish_x86.cpp xptcstubs_unixish_x86.cpp
- endif
-+ifeq (amd64,$(OS_TEST))
-+CPPSRCS := xptcinvoke_x86_64_linux.cpp xptcstubs_x86_64_linux.cpp
-+endif
- endif
- #
- # New code for Linux, et. al., with gcc
-@@ -60,7 +63,7 @@
- endif
- endif
- # IA64 Linux
--ifneq (,$(filter Linux,$(OS_ARCH)))
-+ifneq (,$(filter 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
-@@ -106,9 +109,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
- #
-@@ -294,6 +303,15 @@
- ifeq ($(OS_ARCH)$(OS_TEST),NetBSDsparc)
- 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
- #
- # Solaris/SPARC
diff --git a/www/firefox3-devel/files/patch-xptcall-alpha b/www/firefox3-devel/files/patch-xptcall-alpha
deleted file mode 100644
index 29631a98e..000000000
--- a/www/firefox3-devel/files/patch-xptcall-alpha
+++ /dev/null
@@ -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@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@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"
-+
diff --git a/www/firefox3-devel/files/patch-xptcall-sparc64 b/www/firefox3-devel/files/patch-xptcall-sparc64
deleted file mode 100644
index 9599a8a71..000000000
--- a/www/firefox3-devel/files/patch-xptcall-sparc64
+++ /dev/null
@@ -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@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@netscape.com>
-+ * Chris Seawood <cls@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@netscape.com>
-+ * Chris Seawood <cls@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;
-+}
diff --git a/www/firefox3-devel/pkg-descr b/www/firefox3-devel/pkg-descr
deleted file mode 100644
index 166df46a0..000000000
--- a/www/firefox3-devel/pkg-descr
+++ /dev/null
@@ -1,12 +0,0 @@
-Firefox is an award winning, free, open-source web browser for many platforms
-and is based on the Mozilla codebase. It is small, fast and easy to use, and
-offers many advanced features:
- o Popup Blocking
- o Tabbed Browsing
- o Live Bookmarks (ie. RSS)
- o Extensions
- o Themes
- o FastFind
- o Improved Security
-
-WWW: http://www.mozilla.com/firefox
diff --git a/www/firefox3-devel/pkg-message b/www/firefox3-devel/pkg-message
deleted file mode 100644
index 5c9d24b32..000000000
--- a/www/firefox3-devel/pkg-message
+++ /dev/null
@@ -1,32 +0,0 @@
-======================================================================
-
-SMB issues:
-Network group, machine, and share browsing does not work correctly.
-
-SFTP:
-Only sftp access using public key authentication works. To easily
-setup public key authentication to "remote_host":
-
-ssh-keygen -t dsa
-cat ~/.ssh/id_dsa.pub | ssh remote_host "cat >> .ssh/authorized_keys"
-
-The SSH sever on remote_host must allow pub key authentication.
-
-======================================================================
-
-Any bug reports should be addressed to the maintainers at:
- gnome@FreeBSD.org
-You may also Cc: freebsd-ports@FreeBSD.org. Please do not send
-bug reports to any other addresses.
-
-Please include the following information with any bug report:
-* Output from 'uname -a'.
-* Date/time stamp from www/firefox-devel/Makefile.
-* Where/when did the problem occur: configuring, building, or
- running firefox
-* How can you reproduce the problem?
-
-Thank you for your help in testing and reporting bugs, and we hope you
-enjoy using Firefox.
-The Maintainers (gnome@)
-======================================================================
diff --git a/www/mozilla/Makefile b/www/mozilla/Makefile
deleted file mode 100644
index dd10a7ce7..000000000
--- a/www/mozilla/Makefile
+++ /dev/null
@@ -1,162 +0,0 @@
-# New ports collection makefile for: mozilla
-# Date created: 31 Mar 1998
-# Whom: eivind/dima/jseger
-#
-# $FreeBSD$
-# $MCom: ports/www/mozilla/Makefile,v 1.45 2007/07/05 17:01:49 ahze Exp $
-#
-
-PORTNAME= mozilla
-PORTVERSION= 1.7.13
-PORTREVISION?= 3
-PORTEPOCH= 2
-CATEGORIES?= www
-MASTER_SITES= ${MASTER_SITE_MOZILLA} \
- ${MASTER_SITE_LOCAL:S/$/:local/}
-MASTER_SITE_SUBDIR= mozilla/releases/${PORTNAME}${PORTVERSION}/source \
- ahze/:local
-DISTFILES= ${PORTNAME}-${PORTVERSION}-source${EXTRACT_SUFX} \
- libart_lgpl-1${EXTRACT_SUFX}:local
-
-MAINTAINER= gnome@FreeBSD.org
-COMMENT= The open source, standards compliant web browser
-
-DEPRECATED= The mozilla team has shifted the development branch of mozilla to \
- seamonkey, this port is outdated and has many vulnerabilities. \
- Please consider using www/seamonkey or www/firefox instead.
-
-MAKE_ENV+= LD_LIBRARY_PATH=${WRKSRC}/dist/bin
-USE_GMAKE= yes
-USE_BZIP2= yes
-WANT_GNOME= yes
-HAS_CONFIGURE= yes
-MAKE_ENV= LD_LIBRARY_PATH=${WRKSRC}/dist/bin
-ALL_TARGET= default
-
-CONFIGURE_ENV= LOCALBASE=${LOCALBASE}
-
-MOZ_EXTENSIONS= default
-MOZ_EXPORT+= MOZ_INTERNAL_LIBART_LGPL=1
-MOZ_MK_OPTIONS+=MOZ_INTERNAL_LIBART_LGPL=1
-MOZ_OPTIONS+= --enable-svg-renderer-libart --enable-svg \
- --disable-plaintext-editor-only
-
-NOT_FOR_ARCHS= ia64
-
-OPTIONS=CALENDAR "Enable the Calendar module" off \
- MAILNEWS "Enable Mail and News modules" on \
- COMPOSER "Enable the HTML Composer module" on \
- LDAP "Enable LDAP support for Mailnews" on \
- CHATZILLA "Enable the Chatzilla IRC module" on \
- XMLTERM "Enable the XMLTerm module" on \
- JAVASCRIPT_DEBUGGER "Enable DTD and JavaScript debuggers" off \
- SMB "Enable smb:// URI support using gnomevfs" off
-
-.if !defined(WITHOUT_MAILNEWS)
-GECKO_PLIST_PRE_FILES= lib/${MOZILLA}/defaults/isp/US/movemail.rdf \
- lib/${MOZILLA}/defaults/isp/movemail.rdf
-GECKO_PLIST_PRE_DIRS= lib/${MOZILLA}/defaults/isp/US/ \
- lib/${MOZILLA}/defaults/isp
-.endif
-
-.include <bsd.port.pre.mk>
-
-# libart patches
-.if ${OSVERSION} < 500035
-EXTRA_PATCHES+= ${FILESDIR}/extra-patch-nsSVGLibartGlyphMetricsFT.cpp
-.else
-EXTRA_PATCHES+= ${FILESDIR}/extra-patch2-nsSVGLibartGlyphMetricsFT.cpp
-.endif
-
-LATEST_LINK= ${MOZILLA}
-
-.if ${ARCH} == "alpha" && ${OSVERSION} < 500035
-IGNORE= core dumps on ${ARCH} during post-build
-.endif
-
-.if defined(WITH_CALENDAR) && (defined(WITHOUT_MAILNEWS) || \
- defined(WITHOUT_COMPOSER))
-BROKEN= Calendar requires Composer and Mailnews support.
-.endif
-.if defined(WITHOUT_MAILNEWS)
-MOZ_OPTIONS+= --disable-ldap --disable-mailnews
-.else
-# mail and news desired, but not LDAP
-.if defined(WITHOUT_LDAP)
-MOZ_OPTIONS+= --disable-ldap --enable-mailnews
-.else
-MOZ_OPTIONS+= --enable-ldap --enable-mailnews
-.endif
-.endif
-
-.if !defined(WITHOUT_CHATZILLA)
-MOZ_EXTENSIONS:= ${MOZ_EXTENSIONS},irc
-.endif
-
-.if !defined(WITHOUT_XMLTERM) && defined(WITH_JAVASCRIPT_DEBUGGER)
-MOZ_EXTENSIONS:= ${MOZ_EXTENSIONS},xmlterm
-.endif
-
-.if defined(WITH_JAVASCRIPT_DEBUGGER)
-MOZ_OPTIONS+= --enable-jsd \
- --enable-dtd-debug
-.else
-MOZ_OPTIONS+= --disable-jsd \
- --disable-dtd-debug
-.endif
-
-.if defined(WITH_CALENDAR)
-MOZ_OPTIONS+= --enable-calendar
-.endif
-
-.if defined(WITHOUT_COMPOSER)
-MOZ_OPTIONS+= --disable-composer
-.endif
-
-post-patch:
- @${FIND} ${WRKSRC}/other-licenses/libical -name "*.c" | ${XARGS} \
- ${REINPLACE_CMD} 's|<malloc.h>|<stdlib.h>|g'
- @${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' \
- < ${FILESDIR}/mozilla.desktop.in > \
- ${WRKDIR}/mozilla.desktop
-
-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
-.if !defined(WITHOUT_MAILNEWS)
- @${CP} -RL ${WRKSRC}/dist/bin/defaults/isp ${FAKEDIR}/lib/${MOZILLA}/defaults
-.endif
- ${ECHO_CMD} share/applications/mozilla.desktop >> ${PLIST}
- ${ECHO_CMD} "@unexec ${RMDIR} %D/share/applications 2>/dev/null || ${TRUE}" >> ${PLIST}
-
-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}/mozilla.desktop \
- ${PREFIX}/share/applications
-
-post-install:
- @${CHMOD} -R u-w ${PREFIX}/lib/${MOZILLA}/components
-
-.include "${.CURDIR}/Makefile.common"
-.include <bsd.port.post.mk>
diff --git a/www/mozilla/Makefile.common b/www/mozilla/Makefile.common
deleted file mode 100644
index 35c331b6b..000000000
--- a/www/mozilla/Makefile.common
+++ /dev/null
@@ -1,433 +0,0 @@
-# Makefile.common handles common tasks and dependencies for mozilla ports.
-#
-# Date created: 12 Nov 2005
-# Whom: Michael Johnson <ahze@FreeBSD.org>
-#
-# $FreeBSD$
-# $MCom: ports/www/mozilla/Makefile.common,v 1.48 2007/07/30 20:44:28 mezz Exp $
-#
-
-# This file contains some reusable components for mozilla ports. It's of
-# use primarily to apps from the mozilla project itself (such as Firefox,
-# Thunderbird, etc.), and probably won't be of use for gecko-based ports
-# like epiphany, galeon, etc. The reusable components for gecko-based ports
-# lives in www/mozilla/bsd.gecko.mk.
-#
-#
-# Ports can use the following:
-#
-# GECKO_PLIST_PRE_FILES List of files to add to the beginning of plist
-# GECKO_PLIST_PRE_DIRS
-#
-# MOZILLA_PLIST_DIRS List of directories to descend into when
-# installing and creating the plist
-# MOZ_PIS_SCRIPTS List of scripts residing in ${FILESDIR} to
-# be filtered through MOZCONFIG_SED and installed
-# along with our Pluggable Init Scripts (PIS)
-# MOZ_SED_ARGS sed(1) commands through which MOZ_PIS_SCRIPTS
-# are filtered. There is a default set defined here,
-# so you probably want to add to MOZ_SED_ARGS rather
-# than clobber it
-#
-# MOZ_OPTIONS configure arguments (added to .mozconfig). If
-# NOMOZCONFIG is defined, you probably want to set
-# CONFIGURE_ARGS+=${MOZ_OPTIONS}
-# MOZ_MK_OPTIONS make(1) arguments (added to .mozconfig). If
-# NOMOZCONFIG is defined, you probably want to set
-# MAKE_ARGS+=${MOZ_MK_OPTIONS}
-# MOZ_EXPORT environment variables for the build process
-# (added to .mozconfig). If NOMOZCONFIG is defined,
-# you probably want to set MAKE_ENV+=${MOZ_EXPORT}
-# MOZ_EXTENSIONS A list of extensions to build
-# MOZ_GRAPHICS A list of image decoders to build
-# MOZ_PROTOCOLS A list of protocols to build (http, ftp, etc.)
-#
-# PORT_MOZCONFIG Defaults to ${FILESDIR}/mozconfig.in, but can
-# be set to a generic mozconfig included with
-# the port
-#
-# NOGECKO_INSTALL Don't install the built gecko (most likely
-# for testing)
-# NOGECKO_PLIST Don't create a dynamically-generated playlist
-# NOMOZCONFIG Don't drop a customized .mozconfig into the
-# build directory. Options will have to be
-# specified in CONFIGURE_ARGS instead
-
-BUILD_DEPENDS+= zip:${PORTSDIR}/archivers/zip
-LIB_DEPENDS+= jpeg.9:${PORTSDIR}/graphics/jpeg \
- png.5:${PORTSDIR}/graphics/png \
- nspr4:${PORTSDIR}/devel/nspr \
- nss3:${PORTSDIR}/security/nss \
- Xft.2:${PORTSDIR}/x11-fonts/libXft
-
-MAINTAINER?= gnome@FreeBSD.org
-
-MOZILLA?= ${PORTNAME}
-MOZILLA_VER?= ${PORTVERSION}
-MOZILLA_BIN?= ${PORTNAME}-bin
-MOZ_RPATH?= ${MOZILLA}
-USE_GNOME+= gtk20 libidl desktopfileutils
-USE_ICONV= yes
-USE_PERL5_BUILD=yes
-USE_XLIB= yes
-
-MOZILLA_SUFX?= none
-WRKSRC?= ${WRKDIR}/mozilla
-FAKEDIR?= ${WRKDIR}/fake
-PLIST?= ${WRKDIR}/plist
-MASTER_DIR?= ${.CURDIR}/../../www/mozilla
-
-KRB5_HOME?= /usr
-BROWSER_PLUGINS_DIR?= lib/browser_plugins
-MOZ_PIS_DIR?= lib/${MOZILLA}/init.d
-
-ESD_LIB?= libesd.so.2
-FREETYPE_LIB?= libfreetype.so.9
-
-GENERIC_MOZCONFIG?= ${.CURDIR}/../../www/mozilla/files/mozconfig-generic.in
-PORT_MOZCONFIG?= ${FILESDIR}/mozconfig.in
-MOZCONFIG?= ${WRKSRC}/.mozconfig
-MOZILLA_PLIST_DIRS?= bin include lib share/idl
-GECKO_PTHREAD_LIBS!=${CC} -dumpspecs | ${GREP} -m 1 pthread | ${SED} -e 's|^.*%{\!pg: %{pthread:|| ; s|}.*$$||' || ${TRUE}
-PKGINSTALL?= ${WRKDIR}/pkg-install
-PKGDEINSTALL?= ${WRKDIR}/pkg-deinstall
-MASTER_MOZDIR?= ${PORTSDIR}/www/mozilla
-PKGINSTALL_INC?= ${MASTER_MOZDIR}/pkg-install.in
-PKGDEINSTALL_INC?= ${MASTER_MOZDIR}/pkg-deinstall.in
-
-EXTRACT_AFTER_ARGS?= | ${TAR} -xf - --exclude */CVS/* \
- --exclude */macbuild/* \
- --exclude */package/* \
- --exclude mozilla/jpeg \
- --exclude mozilla/dbm \
- --exclude mozilla/security/nss \
- --exclude mozilla/gc/boehm \
- --exclude mozilla/gfx/cairo
-
-JPI_LIST?=\
- ${LOCALBASE}/jdk1.5.0/jre/plugin/${ARCH}/ns7/libjavaplugin_oji.so \
- ${LOCALBASE}/jdk1.4.2/jre/plugin/${ARCH}/ns610/libjavaplugin_oji.so
-
-MOZ_PKGCONFIG_FILES?= ${MOZILLA}-gtkmozembed ${MOZILLA}-js \
- ${MOZILLA}-xpcom ${MOZILLA}-plugin
-
-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
-
-_USE_GECKO_OPTIONS_ALL= java debug logging optimized_cflags
-
-.if !defined(USE_GECKO_OPTIONS)
-USE_GECKO_OPTIONS= debug logging optimized_cflags
-.endif
-
-debug_OPTION= "Build a debugging image" off
-java_OPTION= "Enable JAVA xpcom" off
-logging_OPTION= "Enable additional log messages" off
-optimized_cflags_OPTION= "Enable some additional optimizations" off
-
-.for option in ${USE_GECKO_OPTIONS:L}
-.if ${_USE_GECKO_OPTIONS_ALL:M${option}}!=""
-OPTIONS+= ${option:U} ${${option}_OPTION}
-_${option}= ${TRUE}
-.endif
-.endfor
-
-# Standard options from README
-MOZ_TOOLKIT?= gtk2
-MOZ_OPTIONS+= --enable-crypto \
- --disable-tests \
- --enable-default-toolkit=${MOZ_TOOLKIT} \
- --enable-xft \
- --with-pthreads
-# Configure options for install
-MOZ_OPTIONS+= --x-includes=${LOCALBASE}/include \
- --x-libraries=${LOCALBASE}/lib
-.if !defined(MOZ_EXTENSIONS)
-MOZ_OPTIONS+= --enable-extensions=default
-.else
-MOZ_OPTIONS+= --enable-extensions=${MOZ_EXTENSIONS}
-.endif
-.if !defined(MOZ_GRAPHICS)
-MOZ_OPTIONS+= --enable-image-decoders=default
-.else
-MOZ_OPTIONS+= --enable-image-decoders=${MOZ_GRAPHICS}
-.endif
-.if !defined(MOZ_PROTOCOLS)
-MOZ_OPTIONS+= --enable-necko-protocols=default
-.else
-MOZ_OPTIONS+= --enable-necko-protocols=${MOZ_PROTOCOLS}
-.endif
-# others
-MOZ_OPTIONS+= --with-system-jpeg=${LOCALBASE} \
- --with-system-zlib=/usr \
- --with-system-png=${LOCALBASE} \
- --with-gssapi=${KRB5_HOME} \
- --with-system-nspr \
- --disable-auto-deps \
- --enable-chrome-format=jar \
- --disable-cpp-exceptions \
- --disable-cpp-rtti \
- --disable-glibtest \
- --disable-gtktest \
- --disable-freetypetest \
- --enable-double-buffer \
- --enable-mathml \
- --disable-installer \
- --disable-md \
- --disable-pedantic \
- --disable-bidi \
- --disable-xterm-updates \
- --enable-xinerama
-MOZ_MK_OPTIONS+= XP_UNIX=1 \
- PERL=${PERL}
-
-.if defined(WITH_OPTIMIZED_CFLAGS)
-CFLAGS:= ${CFLAGS} -O2 -fno-strict-aliasing ${EXTRA_CFLAGS}
-WITH_OPTIMIZE?= -O2
-.else
-CFLAGS:= ${CFLAGS} ${EXTRA_CFLAGS}
-WITH_OPTIMIZE?=
-.endif
-
-.if defined(WITH_SMB)
-USE_GNOME+= gnomevfs2
-MOZ_OPTIONS+= --enable-gnomevfs
-.endif
-
-.if defined(WITH_DEBUG)
-MOZ_OPTIONS+= --enable-debug \
- --disable-strip
-WITH_LOGGING= yes
-.else
-MOZ_OPTIONS+= --disable-debug \
- --enable-optimize=${WITH_OPTIMIZE} \
- --enable-strip
-.endif
-
-.if defined(WITH_JAVA) && defined(_WITH_JAVA)
-USE_JAVA= yes
-JAVA_VERSION+= 1.4+
-JAVA_OS+= native
-CONFIGURE_ENV+= JAVA_HOME="${JAVA_HOME}"
-MOZ_OPTIONS+= --enable-javaxpcom
-.endif
-
-.if defined(WITH_LOGGING)
-MOZ_OPTIONS+= --enable-logging
-.else
-MOZ_OPTIONS+= --disable-logging
-.endif
-
-MOZ_SED_ARGS+= -e's|@CPPFLAGS@|${CPPFLAGS}|g' \
- -e 's|@CFLAGS@|${CFLAGS}|g' \
- -e 's|@LDFLAGS@|${LDFLAGS}|g' \
- -e 's|@LIBS@|${LIBS}|g' \
- -e 's|@X11BASE@|${LOCALBASE}|g' \
- -e 's|@LOCALBASE@|${LOCALBASE}|g' \
- -e 's|@FAKEDIR@|${FAKEDIR}|g' \
- -e 's|@PERL@|${PERL5}|g' \
- -e 's|@KRB5_HOME@|${KRB5_HOME}|g' \
- -e 's|@MOZDIR@|${PREFIX}/lib/${MOZILLA}|g' \
- -e 's|%%PREFIX%%|${PREFIX}|g' \
- -e 's|%%CFLAGS%%|${CFLAGS}|g' \
- -e 's|%%LDFLAGS%%|${LDFLAGS}|g' \
- -e 's|%%LIBS%%|${LIBS}|g' \
- -e 's|%%X11BASE%%|${LOCALBASE}|g' \
- -e 's|%%LOCALBASE%%|${LOCALBASE}|g' \
- -e 's|%%FAKEDIR%%|${FAKEDIR}|g' \
- -e 's|%%PERL%%|${PERL5}|g' \
- -e 's|%%KRB5_HOME%%|${KRB5_HOME}|g' \
- -e 's|%%MOZILLA%%|${MOZILLA}|g' \
- -e 's|%%MOZILLA_BIN%%|${MOZILLA_BIN}|g' \
- -e 's|%%MOZDIR%%|${PREFIX}/lib/${MOZILLA}|g'
-MOZCONFIG_SED?= ${SED} ${MOZ_SED_ARGS}
-
-.if ${OSVERSION} >= 700000 || exists(/usr/lib/libbz2_p.a)
-LIB_BZ2= -lbz2_p
-.else
-LIB_BZ2= -lbz2
-.endif
-
-post-patch: gecko-post-patch gecko-moz-pis-patch
-
-gecko-post-patch:
-.if exists(${PKGINSTALL_INC})
- @${MOZCONFIG_SED} < ${PKGINSTALL_INC} > ${PKGINSTALL}
-.endif
-.if exists(${PKGDEINSTALL_INC})
- @${MOZCONFIG_SED} < ${PKGDEINSTALL_INC} > ${PKGDEINSTALL}
-.endif
- @${RM} -f ${MOZCONFIG}
-.if !defined(NOMOZCONFIG)
-.if exists(${GENERIC_MOZCONFIG})
- @${MOZCONFIG_SED} < ${GENERIC_MOZCONFIG} >> ${MOZCONFIG}
-.endif
- @if [ -e ${PORT_MOZCONFIG} ] ; then \
- ${MOZCONFIG_SED} < ${PORT_MOZCONFIG} >> ${MOZCONFIG} ; \
- fi
-.for arg in ${MOZ_OPTIONS}
- @${ECHO_CMD} ac_add_options ${arg} >> ${MOZCONFIG}
-.endfor
-.for arg in ${MOZ_MK_OPTIONS}
- @${ECHO_CMD} mk_add_options ${arg} >> ${MOZCONFIG}
-.endfor
-.for var in ${MOZ_EXPORT}
- @${ECHO_CMD} "export ${var}" >> ${MOZCONFIG}
-.endfor
-.endif # .if !defined(NOMOZCONFIG)
- @${REINPLACE_CMD} -e 's/%{idldir}/%idldir%/g ; \
- s|"%FULL_NSPR_CFLAGS%"|`nspr-config --cflags`|g ; \
- s|"%FULL_NSPR_LIBS%"|`nspr-config --libs`|g' \
- ${WRKSRC}/build/unix/mozilla-config.in
- @${REINPLACE_CMD} -e 's|<iconv.h>|\"${LOCALBASE}/include/iconv.h\"|g' \
- ${WRKSRC}/configure \
- ${WRKSRC}/intl/uconv/native/nsNativeUConvService.cpp \
- ${WRKSRC}/xpcom/io/nsNativeCharsetUtils.cpp
- @${REINPLACE_CMD} -e 's|%%MOZILLA%%|${MOZILLA}|g' \
- ${WRKSRC}/config/autoconf.mk.in
- @${REINPLACE_CMD} -e 's|-pthread|${PTHREAD_LIBS}|g ; \
- s|echo aout|echo elf|g ; s|/usr/X11R6|${LOCALBASE}|g' \
- ${WRKSRC}/security/coreconf/FreeBSD.mk \
- ${WRKSRC}/js/src/Makefile.in
- @if [ -d ${WRKSRC}/directory/c-sdk ]; then \
- ${REINPLACE_CMD} -e 's|echo aout|echo elf|g' \
- ${WRKSRC}/directory/c-sdk/config/FreeBSD.mk \
- ${WRKSRC}/directory/c-sdk/configure ; \
- fi
- @${REINPLACE_CMD} -e 's|-lc_r|${PTHREAD_LIBS}|g ; \
- s|-lpthread|${PTHREAD_LIBS}|g ; \
- s|echo aout|echo elf|g ; \
- s|/usr/X11R6|${LOCALBASE}|g' \
- ${WRKSRC}/configure
- @${REINPLACE_CMD} -e 's|%%PREFIX%%|${PREFIX}|g' \
- ${WRKSRC}/build/unix/run-mozilla.sh
- @${REINPLACE_CMD} -E -e 's|libesd\.so\.[0-9]+|libesd.so|g' \
- ${WRKSRC}/widget/src/gtk2/nsSound.cpp
- @${REINPLACE_CMD} -E -e 's|libcups\.so\.[0-9]+|libcups.so|g' \
- ${WRKSRC}/*/*/*/nsDeviceContextSpecG.cpp
- @${REINPLACE_CMD} -e 's|/usr/local/netscape|${LOCALBASE}|g ; \
- s|/usr/local/lib/netscape|${LOCALBASE}/lib|g' \
- ${WRKSRC}/xpcom/*/SpecialSystemDirectory.cpp
- @if [ -n "`${PKG_INFO} -xI '^bind[0-9]*-base-[0-9]'`" ]; then \
- ${ECHO_CMD} "${PKGNAME}: bind installed with PORT_REPLACES_BASE_BIND causes build problems."; \
- ${FALSE}; \
- fi
-
-# handles mozilla pis scripts.
-gecko-moz-pis-patch:
-.for moz in ${MOZ_PIS_SCRIPTS}
- @${MOZCONFIG_SED} < ${FILESDIR}/${moz} > ${WRKDIR}/${moz}
-.endfor
-
-post-configure: gecko-post-configure
-
-gecko-post-configure:
- @${ECHO_CMD} "#define JNIIMPORT" >> ${WRKSRC}/mozilla-config.h
-
-post-build: gecko-post-build
-
-gecko-post-build:
- @${REINPLACE_CMD} -e "s|\(Libs:.*\)\($$\)|\1 -Wl,-rpath,${PREFIX}/lib/${MOZ_RPATH}\2|" \
- ${WRKSRC}/build/unix/*.pc
-
-pre-install: gecko-moz-pis-pre-install gecko-pre-install port-pre-install gecko-create-plist
-
-.if !target(port-pre-install)
-port-pre-install:
- @${DO_NADA}
-.endif
-
-gecko-pre-install:
-.if !defined(NOGECKO_PLIST)
- @${RM} -rf ${FAKEDIR} ${PLIST}
- @${TOUCH} -f ${PLIST}
- @cd ${WRKSRC} && ${SETENV} ${MAKE_ENV} ${GMAKE} ${MAKE_FLAGS} \
- ${MAKEFILE} ${MAKE_ARGS} prefix=${FAKEDIR} ${INSTALL_TARGET}
-.if defined(MOZILLA_SUFX) && ${MOZILLA_SUFX}!="none"
- ${MV} ${FAKEDIR}/bin/${MOZILLA:S/${MOZILLA_SUFX}//} ${FAKEDIR}/bin/${MOZILLA}
- ${MV} ${FAKEDIR}/bin/${MOZILLA:S/${MOZILLA_SUFX}//}-config ${FAKEDIR}/bin/${MOZILLA}-config
-.for pc in ${MOZ_PKGCONFIG_FILES:S|${MOZILLA_SUFX}||}
- ${SED} -e 's|Requires: ${MOZILLA:S/${MOZILLA_SUFX}//}|Requires: ${MOZILLA}|' \
- ${FAKEDIR}/lib/pkgconfig/${pc}.pc > ${FAKEDIR}/lib/pkgconfig/${pc:S/${MOZILLA:S,${MOZILLA_SUFX},,}/${MOZILLA}/}.pc
-.endfor
- @${REINPLACE_CMD} -e 's|${MOZILLA}-bin|${MOZILLA:S/${MOZILLA_SUFX}//}|; \
- s|$${progbase}-bin|${MOZILLA:S/${MOZILLA_SUFX}//}-bin|' \
- ${FAKEDIR}/bin/${MOZILLA} \
- ${FAKEDIR}/bin/${MOZILLA}-config
-.endif
- @${REINPLACE_CMD} -e 's|${FAKEDIR}|${PREFIX}|g' \
- ${FAKEDIR}/bin/${MOZILLA} \
- ${FAKEDIR}/bin/${MOZILLA}-config
- ${RM} -f ${FAKEDIR}/bin/*.bak
-.endif
-
-gecko-create-plist:
-.if !defined(NOGECKO_PLIST)
-# Create the plist
-.for f in ${GECKO_PLIST_PRE_FILES}
- ${ECHO_CMD} ${f} >> ${PLIST}
-.endfor
-.for f in ${GECKO_PLIST_PRE_DIRS}
- ${ECHO_CMD} "@dirrm ${f}" >> ${PLIST}
-.endfor
- ${ECHO_CMD} "${BROWSER_PLUGINS_DIR}/.${MOZILLA}.keep" >> ${PLIST}
- ${ECHO_CMD} "@unexec ${RMDIR} %D/${BROWSER_PLUGINS_DIR} 2>/dev/null || ${TRUE}" >> ${PLIST}
- ${MKDIR} ${FAKEDIR}/libdata
- ${MV} -f ${FAKEDIR}/lib/pkgconfig ${FAKEDIR}/libdata/
- ${RM} -f ${FAKEDIR}/lib/pkgconfig
-.for dir in ${MOZILLA_PLIST_DIRS}
- @cd ${FAKEDIR}/${dir} && ${FIND} -s * -type f -o -type l | \
- ${SED} -e 's|^|${dir}/|' >> ${PLIST} && \
- ${FIND} -d * -type d | \
- ${SED} -e 's|^|@dirrm ${dir}/|' >> ${PLIST}
-.endfor
-.for pcfile in ${MOZ_PKGCONFIG_FILES}
- ${ECHO_CMD} "libdata/pkgconfig/${pcfile}.pc" >> ${PLIST}
- @${REINPLACE_CMD} -e 's|${FAKEDIR}|${PREFIX}|g' \
- -e 's|${MOZILLA}-nspr = ${PORTVERSION}|nspr|' \
- ${FAKEDIR}/libdata/pkgconfig/${pcfile}.pc
-.endfor
- ${ECHO_CMD} "@exec ${LOCALBASE}/bin/update-desktop-database > /dev/null || ${TRUE}" >> ${PLIST}
- ${ECHO_CMD} "@unexec ${LOCALBASE}/bin/update-desktop-database > /dev/null || ${TRUE}" >> ${PLIST}
- ${ECHO_CMD} "@unexec ${RMDIR} %D/share/idl 2>/dev/null || ${TRUE}" >> ${PLIST}
-.endif # !defined(NOGECKO_PLIST)
-
-do-install: gecko-do-install
-
-gecko-do-install:
-.if !defined(NOGECKO_INSTALL)
-.for dir in ${MOZILLA_PLIST_DIRS}
-.if !exists(${PREFIX}/${dir})
- ${MKDIR} ${PREFIX}/${dir}
- ${CHMOD} 755 ${PREFIX}/${dir}
-.endif
- cd ${FAKEDIR}/${dir} && ${FIND} . | \
- ${CPIO} -pdm -L -R ${LIBOWN}:${LIBGRP} ${PREFIX}/${dir}
-.endfor
-.for pcfile in ${MOZ_PKGCONFIG_FILES}
- ${INSTALL_DATA} ${FAKEDIR}/libdata/pkgconfig/${pcfile}.pc \
- ${PREFIX}/libdata/pkgconfig/${pcfile}.pc
-.endfor
- ${MKDIR} ${PREFIX}/${BROWSER_PLUGINS_DIR}
- ${TOUCH} -f ${PREFIX}/${BROWSER_PLUGINS_DIR}/.${MOZILLA}.keep
-.endif # !defined(NOGECKO_INSTALL)
-
-gecko-moz-pis-pre-install:
-.if defined(MOZ_PIS_SCRIPTS)
- ${MKDIR} ${FAKEDIR}/${MOZ_PIS_DIR}
-.for moz in ${MOZ_PIS_SCRIPTS}
- ${INSTALL_SCRIPT} ${WRKDIR}/${moz} ${FAKEDIR}/${MOZ_PIS_DIR}
-.endfor
-.endif
-
-post-install: gecko-post-install
-
-gecko-post-install:
-.if !defined(PACKAGE_BUILDING) && !defined(NO_MOZPKGINSTALL)
- @if [ -e ${PKGINSTALL} ] ; then \
- ${SETENV} PKG_PREFIX=${PREFIX} ${SH} ${PKGINSTALL} ${PKGNAME} POST-INSTALL; \
- fi
-.endif
- @-update-desktop-database
diff --git a/www/mozilla/bsd.gecko.mk b/www/mozilla/bsd.gecko.mk
deleted file mode 100644
index d7ba05e0e..000000000
--- a/www/mozilla/bsd.gecko.mk
+++ /dev/null
@@ -1,171 +0,0 @@
-#-*- mode: Fundamental; tab-width: 4; -*-
-# ex:ts=4
-#
-# $FreeBSD$
-# $MCom: ports/www/mozilla/bsd.gecko.mk,v 1.32 2007/07/05 17:01:49 ahze Exp $
-#
-# 4 column tabs prevent hair loss and tooth decay!
-
-# bsd.gecko.mk abstracts the selection of gecko-based backends. It allows users
-# and porters to support any available gecko backend without needing to build
-# many conditional tests. ${USE_GECKO} is the list of backends that your port
-# can handle, and ${GECKO} is set by bsd.gecko.mk to be the chosen backend.
-# Users set ${WITH_GECKO} to the list of gecko backends they want on their system.
-
-.if defined(USE_GECKO)
-#.if defined(_POSTMKINCLUDED) && !defined(Gecko_Pre_Include)
-
-# Please make sure all changes to this file are passed through the maintainer.
-# Do not commit them yourself (unless of course you're the Port's Wraith ;).
-Gecko_Include_MAINTAINER= gnome@FreeBSD.org
-Gecko_Pre_Include= bsd.gecko.mk
-
-
-# Users should use the following syntax:
-#
-# WITH_GECKO= mozilla firefox seamonkey
-# Use mozilla whenever a port supports it, falling back on firefox and
-# then seamonkey.
-# WITH_GECKO= firefox
-# Sets your preferred backend. With this example, firefox will always
-# be chosen, unless the port doesn't support a firefox backend. In that
-# case, you get whatever the porter chose as the default. Better to use
-# the first example.
-#
-#
-# Ports should use the following:
-#
-# USE_GECKO= mozilla firefox seamonkey
-# The list of gecko backends that the port supports. Unless the user
-# overrides it with WITH_GECKO, the first gecko listed in USE_GECKO
-# will be the default. In the above example, www/mozilla will be used
-# as a gecko backend unless WITH_GECKO=firefox or WITH_GECKO=seamonkey
-# is defined by the user.
-#
-# USE_GECKO= firefox-devel<->firefox
-# This will sed -e 's/firefox/firefox-devel/' on Makefile.in's and configure
-# if ${GECKO}=="firefox-devel"
-#
-# Example:
-# USE_GECKO= mozilla firefox seamonkey
-# .include <bsd.port.pre.mk>
-# .include "${.CURDIR}/../../www/mozilla/bsd.gecko.mk"
-# post-patch:
-# @${REINPALCE_CMD} -e 's|mozilla-|${GECKO}-|' \
-# ${WRKSRC}/configure
-#
-# If you want your port to check the ${GECKO} variable to see which backend
-# has been chosen.
-#
-# Example:
-# USE_GECKO= mozilla firefox seamonkey
-# .include <bsd.port.pre.mk>
-# .include "${.CURDIR}/../../www/mozilla/bsd.gecko.mk"
-# post-patch:
-# .if ${GECKO}=="seamonkey"
-# @${REINPLACE_CMD} -e 's|mozilla-|seamonkey-|' \
-# ${WRKSRC}/configure
-# .endif
-
-.if ${OSVERSION} >= 500000
-.if (${ARCH}!="sparc64" || ${OSVERSION} >= 601101) && ${ARCH}!="ia64"
-_GECKO_ALL= firefox nvu seamonkey thunderbird xulrunner flock firefox15
-.endif
-.endif
-_GECKO_ALL+= mozilla
-
-thunderbird_PORTSDIR= mail
-
-.for gecko in ${_GECKO_ALL}
-${gecko}_PORTSDIR?= www
-${gecko}_DEPENDS?= ${PORTSDIR}/${${gecko}_PORTSDIR}/${gecko}
-${gecko}_PLIST?= ${LOCALBASE}/lib/${gecko}/libgtkembedmoz.so
-.endfor
-
-# Figure out which mozilla to use
-# Weed out bad options in USE_GECKO
-.for badgecko in ${USE_GECKO}
-. if ${_GECKO_ALL:M${badgecko:C/^([^<->]+).*/\1/}}!=""
-GOOD_USE_GECKO+= ${badgecko:C/^([^<->]+).*/\1/}
-. endif
-. if ${_GECKO_ALL:M${badgecko:C/^[^<->]+<->([^<->]+).*/\1/}}!="${badgecko:C/^([^<->]+).*/\1/}"
-${badgecko:C/^([^<->]+).*/\1/}_HACK= s:${badgecko:C/^[^<->]+<->([^<->]+).*/\1/}:${badgecko:C/^([^<->]+).*/\1/}:g
-. endif
-.endfor
-
-.undef GECKO_FALLTHROUGH
-.undef _FOUND_WITH_GECKO
-# Figure out which gecko to use and weed out the bad ones
-.if defined(WITH_GECKO) && defined(GOOD_USE_GECKO)
-. for badgecko in ${WITH_GECKO}
-. if ${GOOD_USE_GECKO:M${badgecko}}!=""
-GOOD_WITH_GECKO+= ${badgecko}
-. endif
-. endfor
-. if defined(GOOD_WITH_GECKO)
-. for gecko in ${GOOD_WITH_GECKO}
-. if !defined(GECKO_FALLTHROUGH)
-GECKO= ${gecko}
-GECKO_FALLTHROUGH= ${TRUE}
-_FOUND_WITH_GECKO= ${TRUE}
-. endif
-. endfor
-. endif
-.endif
-
-.if !defined(GECKO) && defined(GOOD_USE_GECKO)
-. for gecko in ${GOOD_USE_GECKO}
-. if !defined(GECKO_FALLTRHOUGH)
-GECKO= ${gecko}
-GECKO_FALLTRHOUGH= ${TRUE}
-. endif
-. endfor
-.endif
-
-# Generic defines
-BROWSER_LINUX_PLUGINS_DIR?= ${LOCALBASE}/lib/browser_linux_plugins
-BROWSER_PLUGINS_DIR?= ${LOCALBASE}/lib/browser_plugins
-
-GECKO_CONFIG?= ${LOCALBASE}/bin/${GECKO}-config
-XPIDL?= ${LOCALBASE}/lib/${GECKO}/xpidl
-XPIDL_INCL?= `${GECKO_CONFIG} --idlflags`
-
-.if defined(GECKO) && ${_GECKO_ALL:M${GECKO}}!=""
-BUILD_DEPENDS+= ${${GECKO}_PLIST}:${${GECKO}_DEPENDS}
-RUN_DEPENDS+= ${${GECKO}_PLIST}:${${GECKO}_DEPENDS}
-.else
-IGNORE= Unable to find a supported gecko, please check USE_GECKO
-.endif
-
-pre-everything:: _gecko-pre-everything
-
-_gecko-pre-everything::
- @${ECHO_CMD} ""
-.if !defined(_FOUND_WITH_GECKO) && defined(WITH_GECKO)
- @${ECHO_CMD} " Warning: ${PORTNAME} does not support any gecko you"
- @${ECHO_CMD} " listed in WITH_GECKO=${WITH_GECKO}."
- @${ECHO_CMD} " \"${GECKO}\" will be used"
- @${ECHO_CMD} ""
- @${ECHO_CMD} " for gecko support, but you can change that by using one of"
- @${ECHO_CMD} " the following values:"
-.else
- @${ECHO_CMD} " ${PORTNAME} is using ${GECKO} for gecko support, but you can"
- @${ECHO_CMD} " change that by defining WITH_GECKO to the following values:"
-.endif
- @${ECHO_CMD} ""
-.for gecko in ${GOOD_USE_GECKO}
- @${ECHO_CMD} " ${gecko} "
-.endfor
- @${ECHO_CMD} ""
-
-post-patch: gecko-post-patch
-
-gecko-post-patch:
-.if defined(${GECKO}_HACK)
- ${FIND} ${WRKSRC} -name "Makefile.in" -type f -o -name "configure" -type f | \
- ${XARGS} ${REINPLACE_CMD} -e ${${GECKO}_HACK}
-.endif
-
-#.endif # end it all
-.endif
-# HERE THERE BE TACOS
diff --git a/www/mozilla/distinfo b/www/mozilla/distinfo
deleted file mode 100644
index 82439353f..000000000
--- a/www/mozilla/distinfo
+++ /dev/null
@@ -1,6 +0,0 @@
-MD5 (mozilla-1.7.13-source.tar.bz2) = eb0683207f7668319c65e403d04bfc41
-SHA256 (mozilla-1.7.13-source.tar.bz2) = 015018ffa88843563c8acbbcad16ffdc22a1e2d1a9e5a28972164ab86273b01e
-SIZE (mozilla-1.7.13-source.tar.bz2) = 30525187
-MD5 (libart_lgpl-1.tar.bz2) = c6dba83a091336ef8abdb7c85694f16e
-SHA256 (libart_lgpl-1.tar.bz2) = cd964fb67183c048f2c245ee26beeade29f3109e947c6d8a8993374c8f8392df
-SIZE (libart_lgpl-1.tar.bz2) = 102977
diff --git a/www/mozilla/files/extra-patch-nsSVGLibartGlyphMetricsFT.cpp b/www/mozilla/files/extra-patch-nsSVGLibartGlyphMetricsFT.cpp
deleted file mode 100644
index 758c0146c..000000000
--- a/www/mozilla/files/extra-patch-nsSVGLibartGlyphMetricsFT.cpp
+++ /dev/null
@@ -1,88 +0,0 @@
---- layout/svg/renderer/src/libart/nsSVGLibartGlyphMetricsFT.cpp.orig Wed Mar 2 12:36:59 2005
-+++ layout/svg/renderer/src/libart/nsSVGLibartGlyphMetricsFT.cpp Wed Mar 2 12:36:37 2005
-@@ -56,6 +56,13 @@
- #include "nsArray.h"
- #include "nsDataHashtable.h"
-
-+
-+#ifdef HAVE_CPP_2BYTE_WCHAR_T
-+ typedef nsDependentString nsLiteralString;
-+#else
-+ typedef NS_ConvertASCIItoUTF16 nsLiteralString;
-+#endif
-+
- /**
- * \addtogroup libart_renderer Libart Rendering Engine
- * @{
-@@ -112,7 +119,7 @@
- nsCOMPtr<nsISVGGlyphMetricsSource> mSource;
-
- public:
-- static nsDataHashtable<nsStringHashKey,nsDependentString*> sFontAliases;
-+ static nsDataHashtable<nsStringHashKey,nsLiteralString*> sFontAliases;
- };
-
- /** @} */
-@@ -120,7 +127,7 @@
- //----------------------------------------------------------------------
- // nsSVGLibartGlyphMetricsFT implementation:
-
--nsDataHashtable<nsStringHashKey,nsDependentString*>
-+nsDataHashtable<nsStringHashKey,nsLiteralString*>
- nsSVGLibartGlyphMetricsFT::sFontAliases;
-
-
-@@ -155,15 +162,15 @@
-
- static NS_NAMED_LITERAL_STRING(arial, "arial");
- nsSVGLibartGlyphMetricsFT::sFontAliases.Put(NS_LITERAL_STRING("helvetica"),
-- &arial);
-+ (nsLiteralString *)&arial);
-
- static NS_NAMED_LITERAL_STRING(courier, "courier new");
- nsSVGLibartGlyphMetricsFT::sFontAliases.Put(NS_LITERAL_STRING("courier"),
-- &courier);
-+ (nsLiteralString *)&courier);
-
- static NS_NAMED_LITERAL_STRING(times, "times new roman");
- nsSVGLibartGlyphMetricsFT::sFontAliases.Put(NS_LITERAL_STRING("times"),
-- &times);
-+ (nsLiteralString *)&times);
- }
-
- void NS_FreeSVGLibartGlyphMetricsFTGlobals()
-@@ -406,7 +413,7 @@
- }
- else {
- // try alias if there is one:
-- nsDependentString *alias = nsnull;
-+ nsLiteralString *alias = nsnull;
- nsSVGLibartGlyphMetricsFT::sFontAliases.Get(NS_ConvertUTF8toUCS2(family_name),
- &alias);
- if (alias) {
-@@ -440,19 +447,19 @@
- return;
- }
-
-- FTC_Image_Desc imageDesc;
-- imageDesc.font.face_id=(void*)font_data.font_entry.get(); // XXX do we need to addref?
-+ FTC_ImageType imageDesc;
-+ imageDesc->face_id = (FTC_FaceID)font_data.font_entry.get(); // XXX do we need to addref?
- float twipstopixel = GetTwipsToPixels();
- float scale = GetPixelScale();
-- imageDesc.font.pix_width = (int)((float)(font_data.font.size)*twipstopixel/scale);
-- imageDesc.font.pix_height = (int)((float)(font_data.font.size)*twipstopixel/scale);
-- imageDesc.image_type |= ftc_image_grays;
-+ imageDesc->width = (int)((float)(font_data.font.size)*twipstopixel/scale);
-+ imageDesc->height = (int)((float)(font_data.font.size)*twipstopixel/scale);
-+ imageDesc->flags = 0;
-
- // get the face
- nsresult rv;
- FTC_Manager mgr;
- nsSVGLibartFreetype::ft2->GetFTCacheManager(&mgr);
-- rv = nsSVGLibartFreetype::ft2->ManagerLookupSize(mgr, &imageDesc.font, &mFace, nsnull);
-+ rv = nsSVGLibartFreetype::ft2->ManagerLookupFace(mgr, imageDesc->face_id, &mFace);
- NS_ASSERTION(mFace, "failed to get face/size");
- }
-
diff --git a/www/mozilla/files/extra-patch2-nsSVGLibartGlyphMetricsFT.cpp b/www/mozilla/files/extra-patch2-nsSVGLibartGlyphMetricsFT.cpp
deleted file mode 100644
index 84392bd4a..000000000
--- a/www/mozilla/files/extra-patch2-nsSVGLibartGlyphMetricsFT.cpp
+++ /dev/null
@@ -1,50 +0,0 @@
-$NetBSD: patch-by,v 1.2 2004/07/05 14:22:42 taya Exp $
-
-diff -ru ../Orig/mozilla/layout/svg/renderer/src/libart/nsSVGLibartGlyphMetricsFT.cpp ./layout/svg/renderer/src/libart/nsSVGLibartGlyphMetricsFT.cpp
---- ../Orig/mozilla/layout/svg/renderer/src/libart/nsSVGLibartGlyphMetricsFT.cpp 2004-03-19 10:36:16.000000000 +0900
-+++ ./layout/svg/renderer/src/libart/nsSVGLibartGlyphMetricsFT.cpp 2004-07-04 22:59:19.000000000 +0900
-@@ -155,15 +155,15 @@
-
- static NS_NAMED_LITERAL_STRING(arial, "arial");
- nsSVGLibartGlyphMetricsFT::sFontAliases.Put(NS_LITERAL_STRING("helvetica"),
-- &arial);
-+ (nsDependentString *)&arial);
-
- static NS_NAMED_LITERAL_STRING(courier, "courier new");
- nsSVGLibartGlyphMetricsFT::sFontAliases.Put(NS_LITERAL_STRING("courier"),
-- &courier);
-+ (nsDependentString *)&courier);
-
- static NS_NAMED_LITERAL_STRING(times, "times new roman");
- nsSVGLibartGlyphMetricsFT::sFontAliases.Put(NS_LITERAL_STRING("times"),
-- &times);
-+ (nsDependentString *)&times);
- }
-
- void NS_FreeSVGLibartGlyphMetricsFTGlobals()
-@@ -440,19 +440,19 @@
- return;
- }
-
-- FTC_Image_Desc imageDesc;
-- imageDesc.font.face_id=(void*)font_data.font_entry.get(); // XXX do we need to addref?
-+ FTC_ImageType imageDesc;
-+ imageDesc->face_id = (FTC_FaceID)font_data.font_entry.get(); // XXX do we need to addref?
- float twipstopixel = GetTwipsToPixels();
- float scale = GetPixelScale();
-- imageDesc.font.pix_width = (int)((float)(font_data.font.size)*twipstopixel/scale);
-- imageDesc.font.pix_height = (int)((float)(font_data.font.size)*twipstopixel/scale);
-- imageDesc.image_type |= ftc_image_grays;
-+ imageDesc->width = (int)((float)(font_data.font.size)*twipstopixel/scale);
-+ imageDesc->height = (int)((float)(font_data.font.size)*twipstopixel/scale);
-+ imageDesc->flags = 0;
-
- // get the face
- nsresult rv;
- FTC_Manager mgr;
- nsSVGLibartFreetype::ft2->GetFTCacheManager(&mgr);
-- rv = nsSVGLibartFreetype::ft2->ManagerLookupSize(mgr, &imageDesc.font, &mFace, nsnull);
-+ rv = nsSVGLibartFreetype::ft2->ManagerLookupFace(mgr, imageDesc->face_id, &mFace);
- NS_ASSERTION(mFace, "failed to get face/size");
- }
-
diff --git a/www/mozilla/files/mozconfig-generic.in b/www/mozilla/files/mozconfig-generic.in
deleted file mode 100644
index 9af187e48..000000000
--- a/www/mozilla/files/mozconfig-generic.in
+++ /dev/null
@@ -1,8 +0,0 @@
-ac_add_options --prefix=@FAKEDIR@
-export CPPFLAGS="@CPPFLAGS@"
-export CFLAGS="@CFLAGS@"
-export LIBS="@LIBS@"
-export LDFLAGS="@LDFLAGS@"
-export CONFIG_SH=/bin/sh
-export XP_UNIX=1
-export PERL="@PERL@"
diff --git a/www/mozilla/files/mozilla.desktop.in b/www/mozilla/files/mozilla.desktop.in
deleted file mode 100644
index 191765663..000000000
--- a/www/mozilla/files/mozilla.desktop.in
+++ /dev/null
@@ -1,169 +0,0 @@
-[Desktop Entry]
-Encoding=UTF-8
-Name=Mozilla Web Browser
-Name[az]=Mozilla Veb Səyyahı
-Name[bg]=Интернет браузър (Mozilla)
-Name[bs]=Mozilla web preglednik
-Name[ca]=Navegador web Mozilla
-Name[cs]=ProhlížeÄ WWW Mozilla
-Name[cy]=Y Porwr Gwe Mozilla
-Name[da]=Mozilla - internetbrowser
-Name[de]=Mozilla Webbrowser
-Name[el]=ΠεÏιηγητής ΔιαδικτÏου Mozilla
-Name[en_CA]=Mozilla Web Browser
-Name[en_GB]=Mozilla Web Browser
-Name[es]=Navegador Web Mozilla
-Name[et]=Mozilla veebibrauser
-Name[eu]=Mozilla web arakatzailea
-Name[fa]=مرورگر وب Mozilla
-Name[fi]=Mozilla, WWW-selain
-Name[fr]=Navigateur Web Mozilla
-Name[ga]=Brabhsálaí Lín Mozilla
-Name[he]=דפדפן Mozilla
-Name[hr]=Mozilla Web preglednik
-Name[hu]=Mozilla webböngésző
-Name[id]=Web Browser Mozilla
-Name[it]=Browser web Mozilla
-Name[ja]=Mozilla ウェブ・ブラウザ
-Name[ko]=Mozilla 웹 브ë¼ìš°ì €
-Name[li]=Mozilla Web Browser
-Name[lt]=Mozilla web naršyklė
-Name[mk]=Mozilla Веб ПрелиÑтувач
-Name[mn]=Mozilla веб хөтөч
-Name[ms]=Pelungsur Web Mozilla
-Name[nb]=Mozilla nettleser
-Name[nl]=Mozilla webbrowser
-Name[nn]=Mozilla nettlesar
-Name[no]=Mozilla nettleser
-Name[pl]=PrzeglÄ…darka WWW Mozilla
-Name[pt]=Navegador Web Mozilla
-Name[pt_BR]=Navegador Web Mozilla
-Name[ro]=Navigatorul Mozilla
-Name[sl]=Spletni brskalnik Mozilla
-Name[sq]=Mozilla - Shfletuesi Web
-Name[sv]=Webbläsaren Mozilla
-Name[tk]=Mozilla Web Ahtarçisi
-Name[tr]=Mozilla Web Tarayıcı
-Name[uk]=ПереглÑдач web Mozilla
-Name[vi]=Trình Duyệt Web Mozilla
-Name[wa]=Betchteu waibe mozilla
-Name[zh_CN]=Mozilla Web æµè§ˆå™¨
-Name[zh_TW]=Mozilla 網é ç€è¦½å™¨
-GenericName=Mozilla Web Browser
-GenericName[az]=Mozilla Veb Səyyahı
-GenericName[bg]=Интернет браузър (Mozilla)
-GenericName[bs]=Mozilla web preglednik
-GenericName[ca]=Navegador web Mozilla
-GenericName[cs]=ProhlížeÄ WWW Mozilla
-GenericName[cy]=Y Porwr Gwe Mozilla
-GenericName[da]=Mozilla - internetbrowser
-GenericName[de]=Mozilla Webbrowser
-GenericName[el]=ΠεÏιηγητής ΔιαδικτÏου Mozilla
-GenericName[en_CA]=Mozilla Web Browser
-GenericName[en_GB]=Mozilla Web Browser
-GenericName[es]=Navegador Web Mozilla
-GenericName[et]=Mozilla veebibrauser
-GenericName[eu]=Mozilla web arakatzailea
-GenericName[fa]=مرورگر وب Mozilla
-GenericName[fi]=Mozilla, WWW-selain
-GenericName[fr]=Navigateur Web Mozilla
-GenericName[ga]=Brabhsálaí Lín Mozilla
-GenericName[he]=דפדפן Mozilla
-GenericName[hr]=Mozilla Web preglednik
-GenericName[hu]=Mozilla webböngésző
-GenericName[id]=Web Browser Mozilla
-GenericName[it]=Browser web Mozilla
-GenericName[ja]=Mozilla ウェブ・ブラウザ
-GenericName[ko]=Mozilla 웹 브ë¼ìš°ì €
-GenericName[li]=Mozilla Web Browser
-GenericName[lt]=Mozilla web naršyklė
-GenericName[mk]=Mozilla Веб ПрелиÑтувач
-GenericName[mn]=Mozilla веб хөтөч
-GenericName[ms]=Pelungsur Web Mozilla
-GenericName[nb]=Mozilla nettleser
-GenericName[nl]=Mozilla webbrowser
-GenericName[nn]=Mozilla nettlesar
-GenericName[no]=Mozilla nettleser
-GenericName[pl]=PrzeglÄ…darka WWW Mozilla
-GenericName[pt]=Navegador Web Mozilla
-GenericName[pt_BR]=Navegador Web Mozilla
-GenericName[ro]=Navigatorul Mozilla
-GenericName[sl]=Spletni brskalnik Mozilla
-GenericName[sq]=Mozilla - Shfletuesi Web
-GenericName[sv]=Webbläsaren Mozilla
-GenericName[tk]=Mozilla Web Ahtarçisi
-GenericName[tr]=Mozilla Web Tarayıcı
-GenericName[uk]=ПереглÑдач web Mozilla
-GenericName[vi]=Trình Duyệt Web Mozilla
-GenericName[wa]=Betchteu waibe mozilla
-GenericName[zh_CN]=Mozilla Web æµè§ˆå™¨
-GenericName[zh_TW]=Mozilla 網é ç€è¦½å™¨
-Comment=Browse the web
-Comment[ar]=تصÙØ­ الانترنت
-Comment[az]=Vebi gəzin
-Comment[be]=Вандраваць па павуціньню
-Comment[bg]=Сърфиране в интернет
-Comment[bn]=ওয়েব বà§à¦°à¦¾à¦‰à¦œ করà§à¦¨
-Comment[bs]=Pregledaj na internetu
-Comment[ca]=Navegueu per la web
-Comment[cs]=Prohlížet WWW
-Comment[cy]=Pori'r we
-Comment[da]=Benyt internettet
-Comment[de]=Im Web surfen
-Comment[el]=ΠεÏιήγηση στον παγκόσμιο ιστό
-Comment[en_CA]=Browse the web
-Comment[en_GB]=Browse the web
-Comment[es]=Navegar por la web
-Comment[et]=Sirvi veebi
-Comment[eu]=Arakatu web-a
-Comment[fa]=مرور وب
-Comment[fi]=Selaa WWW:tä
-Comment[fr]=Naviguer sur Internet
-Comment[ga]=Brabhsáil an Líon
-Comment[gu]=વેબમાં શોધો
-Comment[he]=גלוש ברשת
-Comment[hi]=वेब बà¥à¤°à¤¾à¤‰à¤œà¤¼ करें
-Comment[hr]=Pregledaj Web
-Comment[hu]=A világháló böngészése
-Comment[id]=Jelajah web
-Comment[it]=Esplora il web
-Comment[ja]=ウェブを閲覧ã—ã¾ã™
-Comment[ko]=ì›¹ì„ ëŒì•„ 다닙니다
-Comment[li]=Blajere op internet
-Comment[lt]=Naršyti internete
-Comment[mk]=ПрелиÑтувајте го вебот
-Comment[ml]=വലകàµà´•àµ†à´Ÿàµà´Ÿàµ തിരയàµà´•
-Comment[mn]=Веб броузе хийх
-Comment[ms]=Layari web
-Comment[nb]=Surf på nettet
-Comment[nl]=Websurfen
-Comment[nn]=Surf på nettet
-Comment[no]=Surf på nettet
-Comment[pa]=ਵੈਬ ਬਰਾਊਜ਼
-Comment[pl]=PrzeglÄ…danie stron WWW
-Comment[pt]=Navegar na web
-Comment[pt_BR]=Navegar na web
-Comment[ro]=Navigare Internet
-Comment[ru]=Программа Ð´Ð»Ñ Ð¿Ñ€Ð¾Ñмотра веб-Ñтраниц
-Comment[sk]=Prehliadať internet
-Comment[sl]=Brskaj po spletu
-Comment[sq]=Eksploro web-in
-Comment[sr]=Прегледај веб
-Comment[sr@Latn]=Pregledaj veb
-Comment[sv]=Surfa på nätet
-Comment[ta]=வலையில௠உலாவà¯
-Comment[th]=ใช้งานเว็บบราวเซอร์ Mozilla
-Comment[tk]=Webi Ahtar
-Comment[tr]=Web'e Gözat
-Comment[uk]=Програма переглÑду web-Ñторінок
-Comment[vi]=Duyệt web
-Comment[wa]=Naivyî avå les waibes
-Comment[zh_CN]=æµè§ˆ Web
-Comment[zh_TW]=ç€è¦½ç¶²é 
-Exec=mozilla %U
-StartupNotify=false
-Terminal=false
-Type=Application
-Icon=%%PREFIX%%/lib/mozilla/chrome/icons/default/default.xpm
-Categories=Application;Network;
-MimeType=text/html;text/xml;application/xhtml+xml;
diff --git a/www/mozilla/files/patch-Double.cpp b/www/mozilla/files/patch-Double.cpp
deleted file mode 100644
index 5cd13e4ff..000000000
--- a/www/mozilla/files/patch-Double.cpp
+++ /dev/null
@@ -1,59 +0,0 @@
---- extensions/transformiix/source/base/Double.cpp.orig Thu Jan 30 09:26:46 2003
-+++ extensions/transformiix/source/base/Double.cpp Sun Nov 16 01:46:42 2003
-@@ -51,10 +51,10 @@
- //A trick to handle IEEE floating point exceptions on FreeBSD - E.D.
- #ifdef __FreeBSD__
- #include <ieeefp.h>
--#ifdef __alpha__
--fp_except_t allmask = FP_X_INV|FP_X_OFL|FP_X_UFL|FP_X_DZ|FP_X_IMP;
--#else
-+#if defined(__i386__)
- fp_except_t allmask = FP_X_INV|FP_X_OFL|FP_X_UFL|FP_X_DZ|FP_X_IMP|FP_X_DNML;
-+#else
-+fp_except_t allmask = FP_X_INV|FP_X_OFL|FP_X_UFL|FP_X_DZ|FP_X_IMP;
- #endif
- fp_except_t oldmask = fpsetmask(~allmask);
- #endif
-@@ -75,22 +75,31 @@
- #define TX_DOUBLE_HI32_EXPMASK 0x7ff00000
- #define TX_DOUBLE_HI32_MANTMASK 0x000fffff
-
-+union ui32dun {
-+ PRUint32 i[2];
-+ double d;
-+};
-+
- //-- Initialize Double related constants
- #ifdef IS_BIG_ENDIAN
--const PRUint32 nanMask[2] = {TX_DOUBLE_HI32_EXPMASK | TX_DOUBLE_HI32_MANTMASK,
-- 0xffffffff};
--const PRUint32 infMask[2] = {TX_DOUBLE_HI32_EXPMASK, 0};
--const PRUint32 negInfMask[2] = {TX_DOUBLE_HI32_EXPMASK | TX_DOUBLE_HI32_SIGNBIT, 0};
-+const union ui32dun nanMask =
-+ {{TX_DOUBLE_HI32_EXPMASK | TX_DOUBLE_HI32_MANTMASK, 0xffffffff}};
-+const union ui32dun infMask =
-+ {{TX_DOUBLE_HI32_EXPMASK, 0}};
-+const union ui32dun negInfMask =
-+ {{TX_DOUBLE_HI32_EXPMASK | TX_DOUBLE_HI32_SIGNBIT, 0}};
- #else
--const PRUint32 nanMask[2] = {0xffffffff,
-- TX_DOUBLE_HI32_EXPMASK | TX_DOUBLE_HI32_MANTMASK};
--const PRUint32 infMask[2] = {0, TX_DOUBLE_HI32_EXPMASK};
--const PRUint32 negInfMask[2] = {0, TX_DOUBLE_HI32_EXPMASK | TX_DOUBLE_HI32_SIGNBIT};
-+const union ui32dun nanMask =
-+ {{0xffffffff, TX_DOUBLE_HI32_EXPMASK | TX_DOUBLE_HI32_MANTMASK}};
-+const union ui32dun infMask =
-+ {{0, TX_DOUBLE_HI32_EXPMASK}};
-+const union ui32dun negInfMask =
-+ {{0, TX_DOUBLE_HI32_EXPMASK | TX_DOUBLE_HI32_SIGNBIT}};
- #endif
-
--const double Double::NaN = *((double*)nanMask);
--const double Double::POSITIVE_INFINITY = *((double*)infMask);
--const double Double::NEGATIVE_INFINITY = *((double*)negInfMask);
-+const double Double::NaN = nanMask.d;
-+const double Double::POSITIVE_INFINITY = infMask.d;
-+const double Double::NEGATIVE_INFINITY = negInfMask.d;
-
- /*
- * Determines whether the given double represents positive or negative
diff --git a/www/mozilla/files/patch-Makefile.in b/www/mozilla/files/patch-Makefile.in
deleted file mode 100644
index 5480cb799..000000000
--- a/www/mozilla/files/patch-Makefile.in
+++ /dev/null
@@ -1,22 +0,0 @@
---- Makefile.in.orig Fri Aug 29 20:20:58 2003
-+++ Makefile.in Sat Oct 18 15:34:15 2003
-@@ -67,8 +67,7 @@
- $(tier_2_dirs) \
- $(tier_9_dirs) \
- $(tier_40_dirs) \
-- $(tier_50_dirs) \
-- $(NULL)
-+ $(tier_50_dirs)
-
- ifdef GC_LEAK_DETECTOR
- DIRS += gc/boehm
-@@ -87,7 +86,8 @@
- DIRS += $(tier_98_dirs)
- endif
-
--DIRS += $(tier_99_dirs)
-+DIRS += $(tier_99_dirs) \
-+ $(NULL)
-
- #
- # tier 0 - base build config dirs
diff --git a/www/mozilla/files/patch-bugzilla149334 b/www/mozilla/files/patch-bugzilla149334
deleted file mode 100644
index fe1be5bc8..000000000
--- a/www/mozilla/files/patch-bugzilla149334
+++ /dev/null
@@ -1,342 +0,0 @@
-Index: gfx/idl/nsIFreeType2.idl
-===================================================================
-RCS file: /cvsroot/mozilla/gfx/idl/nsIFreeType2.idl,v
-retrieving revision 1.10
-diff -u -3 -p -r1.10 nsIFreeType2.idl
---- gfx/idl/nsIFreeType2.idl 15 Apr 2004 23:30:02 -0000 1.10
-+++ gfx/idl/nsIFreeType2.idl 26 May 2004 10:00:54 -0000
-@@ -76,10 +76,11 @@ native FT_Pointer(FT_Pointer);
- native FT_Sfnt_Tag(FT_Sfnt_Tag);
- native FT_Size(FT_Size);
-
--[ptr] native FTC_Image_Desc_p(FTC_Image_Desc);
-+[ptr] native FTC_ImageType_p(FTC_ImageType);
- native FTC_Face_Requester(FTC_Face_Requester);
- native FTC_Font(FTC_Font);
--native FTC_Image_Cache(FTC_Image_Cache);
-+native FTC_FaceID(FTC_FaceID);
-+native FTC_ImageCache(FTC_ImageCache);
- native FTC_Manager(FTC_Manager);
-
- // #ifdef MOZ_SVG
-@@ -99,7 +100,7 @@ interface nsIFreeType2 : nsISupports
-
- readonly attribute FT_Library library;
- readonly attribute FTC_Manager FTCacheManager;
-- readonly attribute FTC_Image_Cache ImageCache;
-+ readonly attribute FTC_ImageCache ImageCache;
-
- void doneFace(in FT_Face face);
- void doneFreeType(in FT_Library lib);
-@@ -115,16 +116,16 @@ interface nsIFreeType2 : nsISupports
- void outlineDecompose(in FT_Outline_p outline,
- in const_FT_Outline_Funcs_p funcs, in voidPtr p);
- void setCharmap(in FT_Face face, in FT_CharMap charmap);
-- void imageCacheLookup(in FTC_Image_Cache cache, in FTC_Image_Desc_p desc,
-+ void imageCacheLookup(in FTC_ImageCache cache, in FTC_ImageType_p desc,
- in FT_UInt gindex, out FT_Glyph glyph);
-- void managerLookupSize(in FTC_Manager manager, in FTC_Font font,
-- out FT_Face face, out FT_Size size);
-+ void managerLookupFace(in FTC_Manager manager, in FTC_FaceID face_id,
-+ out FT_Face face);
- void managerDone(in FTC_Manager manager);
- void managerNew(in FT_Library lib, in FT_UInt max_faces,
- in FT_UInt max_sizes, in FT_ULong max_bytes,
- in FTC_Face_Requester requester, in FT_Pointer req_data,
- out FTC_Manager manager);
-- void imageCacheNew(in FTC_Manager manager, out FTC_Image_Cache cache);
-+ void imageCacheNew(in FTC_Manager manager, out FTC_ImageCache cache);
- /* #ifdef MOZ_SVG */
- void glyphTransform(in FT_Glyph glyph, in FT_Matrix_p matrix,
- in FT_Vector_p delta);
-Index: gfx/src/freetype/nsFreeType.cpp
-===================================================================
-RCS file: /cvsroot/mozilla/gfx/src/freetype/nsFreeType.cpp,v
-retrieving revision 1.25
-diff -u -3 -p -r1.25 nsFreeType.cpp
---- gfx/src/freetype/nsFreeType.cpp 17 Apr 2004 21:52:29 -0000 1.25
-+++ gfx/src/freetype/nsFreeType.cpp 26 May 2004 10:00:54 -0000
-@@ -110,11 +110,11 @@ FtFuncList nsFreeType2::FtFuncs [] = {
- {"FT_New_Face", NS_FT2_OFFSET(nsFT_New_Face), PR_TRUE},
- {"FT_Outline_Decompose", NS_FT2_OFFSET(nsFT_Outline_Decompose), PR_TRUE},
- {"FT_Set_Charmap", NS_FT2_OFFSET(nsFT_Set_Charmap), PR_TRUE},
-- {"FTC_Image_Cache_Lookup", NS_FT2_OFFSET(nsFTC_Image_Cache_Lookup), PR_TRUE},
-- {"FTC_Manager_Lookup_Size", NS_FT2_OFFSET(nsFTC_Manager_Lookup_Size), PR_TRUE},
-+ {"FTC_ImageCache_Lookup", NS_FT2_OFFSET(nsFTC_Image_Cache_Lookup), PR_TRUE},
-+ {"FTC_Manager_LookupFace", NS_FT2_OFFSET(nsFTC_Manager_LookupFace), PR_TRUE},
- {"FTC_Manager_Done", NS_FT2_OFFSET(nsFTC_Manager_Done), PR_TRUE},
- {"FTC_Manager_New", NS_FT2_OFFSET(nsFTC_Manager_New), PR_TRUE},
-- {"FTC_Image_Cache_New", NS_FT2_OFFSET(nsFTC_Image_Cache_New), PR_TRUE},
-+ {"FTC_ImageCache_New", NS_FT2_OFFSET(nsFTC_Image_Cache_New), PR_TRUE},
- // #ifdef MOZ_SVG
- {"FT_Glyph_Transform", NS_FT2_OFFSET(nsFT_Glyph_Transform), PR_TRUE},
- {"FT_Get_Kerning", NS_FT2_OFFSET(nsFT_Get_Kerning), PR_TRUE},
-@@ -282,7 +282,7 @@ nsFreeType2::SetCharmap(FT_Face face, FT
- }
-
- NS_IMETHODIMP
--nsFreeType2::ImageCacheLookup(FTC_Image_Cache cache, FTC_Image_Desc *desc,
-+nsFreeType2::ImageCacheLookup(FTC_ImageCache cache, FTC_ImageType *desc,
- FT_UInt glyphID, FT_Glyph *glyph)
- {
- // call the FreeType2 function via the function pointer
-@@ -291,11 +291,11 @@ nsFreeType2::ImageCacheLookup(FTC_Image_
- }
-
- NS_IMETHODIMP
--nsFreeType2::ManagerLookupSize(FTC_Manager manager, FTC_Font font,
-- FT_Face *face, FT_Size *size)
-+nsFreeType2::ManagerLookupFace(FTC_Manager manager, FTC_FaceID face_id,
-+ FT_Face *face)
- {
- // call the FreeType2 function via the function pointer
-- FT_Error error = nsFTC_Manager_Lookup_Size(manager, font, face, size);
-+ FT_Error error = nsFTC_Manager_LookupFace(manager, face_id, face);
- return error ? NS_ERROR_FAILURE : NS_OK;
- }
-
-@@ -320,7 +320,7 @@ nsFreeType2::ManagerNew(FT_Library libra
- }
-
- NS_IMETHODIMP
--nsFreeType2::ImageCacheNew(FTC_Manager manager, FTC_Image_Cache *cache)
-+nsFreeType2::ImageCacheNew(FTC_Manager manager, FTC_ImageCache *cache)
- {
- // call the FreeType2 function via the function pointer
- FT_Error error = nsFTC_Image_Cache_New(manager, cache);
-@@ -389,7 +389,7 @@ nsFreeType2::SupportsExtFunc(PRBool *res
- }
-
- NS_IMETHODIMP
--nsFreeType2::GetImageCache(FTC_Image_Cache *aCache)
-+nsFreeType2::GetImageCache(FTC_ImageCache *aCache)
- {
- *aCache = mImageCache;
- return NS_OK;
-Index: gfx/src/freetype/nsFreeType.h
-===================================================================
-RCS file: /cvsroot/mozilla/gfx/src/freetype/nsFreeType.h,v
-retrieving revision 1.17
-diff -u -3 -p -r1.17 nsFreeType.h
---- gfx/src/freetype/nsFreeType.h 17 Apr 2004 21:52:29 -0000 1.17
-+++ gfx/src/freetype/nsFreeType.h 26 May 2004 10:00:54 -0000
-@@ -120,13 +120,13 @@ typedef FT_Error (*FT_Outline_Decompose_
- typedef FT_Error (*FT_New_Face_t)(FT_Library, const char*, FT_Long, FT_Face*);
- typedef FT_Error (*FT_Set_Charmap_t)(FT_Face face, FT_CharMap charmap);
- typedef FT_Error (*FTC_Image_Cache_Lookup_t)
-- (FTC_Image_Cache, FTC_Image_Desc*, FT_UInt, FT_Glyph*);
--typedef FT_Error (*FTC_Manager_Lookup_Size_t)
-- (FTC_Manager, FTC_Font, FT_Face*, FT_Size*);
-+ (FTC_ImageCache, FTC_ImageType*, FT_UInt, FT_Glyph*);
-+typedef FT_Error (*FTC_Manager_LookupFace_t)
-+ (FTC_Manager, FTC_FaceID, FT_Face*);
- typedef FT_Error (*FTC_Manager_Done_t)(FTC_Manager);
- typedef FT_Error (*FTC_Manager_New_t)(FT_Library, FT_UInt, FT_UInt, FT_ULong,
- FTC_Face_Requester, FT_Pointer, FTC_Manager*);
--typedef FT_Error (*FTC_Image_Cache_New_t)(FTC_Manager, FTC_Image_Cache*);
-+typedef FT_Error (*FTC_Image_Cache_New_t)(FTC_Manager, FTC_ImageCache*);
- // #ifdef MOZ_SVG
- typedef FT_Error (*FT_Glyph_Transform_t)(FT_Glyph, FT_Matrix*, FT_Vector*);
- typedef FT_Error (*FT_Get_Kerning_t)
-@@ -181,7 +181,7 @@ protected:
- FT_Outline_Decompose_t nsFT_Outline_Decompose;
- FT_Set_Charmap_t nsFT_Set_Charmap;
- FTC_Image_Cache_Lookup_t nsFTC_Image_Cache_Lookup;
-- FTC_Manager_Lookup_Size_t nsFTC_Manager_Lookup_Size;
-+ FTC_Manager_LookupFace_t nsFTC_Manager_LookupFace;
- FTC_Manager_Done_t nsFTC_Manager_Done;
- FTC_Manager_New_t nsFTC_Manager_New;
- FTC_Image_Cache_New_t nsFTC_Image_Cache_New;
-@@ -229,7 +229,7 @@ protected:
- PRLibrary *mSharedLib;
- FT_Library mFreeTypeLibrary;
- FTC_Manager mFTCacheManager;
-- FTC_Image_Cache mImageCache;
-+ FTC_ImageCache mImageCache;
-
- static nsHashtable *sFontFamilies;
- static nsHashtable *sRange1CharSetNames;
-Index: gfx/src/ps/nsFontMetricsPS.cpp
-===================================================================
-RCS file: /cvsroot/mozilla/gfx/src/ps/nsFontMetricsPS.cpp,v
-retrieving revision 1.43
-diff -u -3 -p -r1.43 nsFontMetricsPS.cpp
---- gfx/src/ps/nsFontMetricsPS.cpp 17 Apr 2004 21:52:31 -0000 1.43
-+++ gfx/src/ps/nsFontMetricsPS.cpp 26 May 2004 10:01:03 -0000
-@@ -1140,10 +1140,10 @@ nsFontPSFreeType::Init(nsITrueTypeFontCa
-
- mPixelSize = NSToIntRound(app2dev * mFont->size);
-
-- mImageDesc.font.face_id = (void*)mEntry;
-- mImageDesc.font.pix_width = mPixelSize;
-- mImageDesc.font.pix_height = mPixelSize;
-- mImageDesc.image_type = 0;
-+ mImageDesc->face_id = (FTC_FaceID)&mEntry;
-+ mImageDesc->width = mPixelSize;
-+ mImageDesc->height = mPixelSize;
-+ mImageDesc->flags = 0;
-
- nsresult rv;
- mFt2 = do_GetService(NS_FREETYPE2_CONTRACTID, &rv);
-@@ -1189,7 +1189,7 @@ nsFontPSFreeType::GetWidth(const PRUnich
- if (!face)
- return 0;
-
-- FTC_Image_Cache iCache;
-+ FTC_ImageCache iCache;
- nsresult rv = mFt2->GetImageCache(&iCache);
- if (NS_FAILED(rv)) {
- NS_ERROR("Failed to get Image Cache");
-@@ -1227,8 +1227,8 @@ nsFontPSFreeType::getFTFace()
-
- FTC_Manager cManager;
- mFt2->GetFTCacheManager(&cManager);
-- nsresult rv = mFt2->ManagerLookupSize(cManager, &mImageDesc.font,
-- &face, nsnull);
-+ nsresult rv = mFt2->ManagerLookupFace(cManager, mImageDesc->face_id,
-+ &face);
- NS_ASSERTION(rv==0, "failed to get face/size");
- if (rv)
- return nsnull;
-@@ -1621,16 +1621,16 @@ void nsFT2Type8Generator::GeneratePSFont
- mEntry->GetFamilyName(fontName);
- mEntry->GetStyleName(styleName);
-
-- mImageDesc.font.face_id = (void*)mEntry;
-+ mImageDesc->face_id = (FTC_FaceID)&mEntry;
- // TT glyph has no relation to size
-- mImageDesc.font.pix_width = 16;
-- mImageDesc.font.pix_height = 16;
-- mImageDesc.image_type = 0;
-+ mImageDesc->width = 16;
-+ mImageDesc->height = 16;
-+ mImageDesc->flags = 0;
- FT_Face face = nsnull;
- FTC_Manager cManager;
- mFt2->GetFTCacheManager(&cManager);
-- nsresult rv = mFt2->ManagerLookupSize(cManager, &mImageDesc.font,
-- &face, nsnull);
-+ nsresult rv = mFt2->ManagerLookupFace(cManager, mImageDesc->face_id,
-+ &face);
- if (NS_FAILED(rv))
- return;
-
-Index: gfx/src/ps/nsFontMetricsPS.h
-===================================================================
-RCS file: /cvsroot/mozilla/gfx/src/ps/nsFontMetricsPS.h,v
-retrieving revision 1.25
-diff -u -3 -p -r1.25 nsFontMetricsPS.h
---- gfx/src/ps/nsFontMetricsPS.h 17 Apr 2004 21:52:31 -0000 1.25
-+++ gfx/src/ps/nsFontMetricsPS.h 26 May 2004 10:01:03 -0000
-@@ -319,7 +319,7 @@ protected:
- nsCOMPtr<nsITrueTypeFontCatalogEntry> mFaceID;
- nsCOMPtr<nsIFreeType2> mFt2;
- PRUint16 mPixelSize;
-- FTC_Image_Desc mImageDesc;
-+ FTC_ImageType mImageDesc;
-
-
- static PRBool AddUserPref(nsIAtom *aLang, const nsFont& aFont,
-@@ -362,7 +362,7 @@ public:
- protected:
- nsCOMPtr<nsITrueTypeFontCatalogEntry> mEntry;
- nsCOMPtr<nsIFreeType2> mFt2;
-- FTC_Image_Desc mImageDesc;
-+ FTC_ImageType mImageDesc;
- };
- #endif
-
-Index: gfx/src/x11shared/nsFontFreeType.cpp
-===================================================================
-RCS file: /cvsroot/mozilla/gfx/src/x11shared/nsFontFreeType.cpp,v
-retrieving revision 1.14
-diff -u -3 -p -r1.14 nsFontFreeType.cpp
---- gfx/src/x11shared/nsFontFreeType.cpp 17 Apr 2004 21:52:34 -0000 1.14
-+++ gfx/src/x11shared/nsFontFreeType.cpp 26 May 2004 10:01:03 -0000
-@@ -177,7 +177,7 @@ nsFreeTypeFont::getFTFace()
- FTC_Manager mgr;
- nsresult rv;
- mFt2->GetFTCacheManager(&mgr);
-- rv = mFt2->ManagerLookupSize(mgr, &mImageDesc.font, &face, nsnull);
-+ rv = mFt2->ManagerLookupFace(mgr, mImageDesc->face_id, &face);
- NS_ASSERTION(NS_SUCCEEDED(rv), "failed to get face/size");
- if (NS_FAILED(rv))
- return nsnull;
-@@ -191,22 +191,15 @@ nsFreeTypeFont::nsFreeTypeFont(nsITrueTy
- PRBool embedded_bimap = PR_FALSE;
- mFaceID = aFaceID;
- mPixelSize = aPixelSize;
-- mImageDesc.font.face_id = (void*)mFaceID;
-- mImageDesc.font.pix_width = aPixelSize;
-- mImageDesc.font.pix_height = aPixelSize;
-- mImageDesc.image_type = 0;
-+ mImageDesc->face_id = (FTC_FaceID)&mFaceID;
-+ mImageDesc->width = aPixelSize;
-+ mImageDesc->height = aPixelSize;
-+ mImageDesc->flags = 0;
-
- if (aPixelSize < nsFreeType2::gAntiAliasMinimum) {
-- mImageDesc.image_type |= ftc_image_mono;
- anti_alias = PR_FALSE;
- }
-
-- if (nsFreeType2::gFreeType2Autohinted)
-- mImageDesc.image_type |= ftc_image_flag_autohinted;
--
-- if (nsFreeType2::gFreeType2Unhinted)
-- mImageDesc.image_type |= ftc_image_flag_unhinted;
--
- PRUint32 num_embedded_bitmaps, i;
- PRInt32* embedded_bitmapheights;
- mFaceID->GetEmbeddedBitmapHeights(&num_embedded_bitmaps,
-@@ -218,7 +211,6 @@ nsFreeTypeFont::nsFreeTypeFont(nsITrueTy
- if (embedded_bitmapheights[i] == aPixelSize) {
- embedded_bimap = PR_TRUE;
- // unhinted must be set for embedded bitmaps to be used
-- mImageDesc.image_type |= ftc_image_flag_unhinted;
- break;
- }
- }
-@@ -312,7 +304,7 @@ nsFreeTypeFont::doGetBoundingMetrics(con
- if (!face)
- return NS_ERROR_FAILURE;
-
-- FTC_Image_Cache icache;
-+ FTC_ImageCache icache;
- mFt2->GetImageCache(&icache);
- if (!icache)
- return NS_ERROR_FAILURE;
-@@ -401,7 +393,7 @@ nsFreeTypeFont::GetWidth(const PRUnichar
- if (!face)
- return 0;
-
-- FTC_Image_Cache icache;
-+ FTC_ImageCache icache;
- mFt2->GetImageCache(&icache);
- if (!icache)
- return 0;
-@@ -723,7 +715,7 @@ nsFreeTypeXImage::DrawString(nsRendering
- if (y%4==0) (*blendPixelFunc)(sub_image, y, ascent-1, black, 255/2);
- #endif
-
-- FTC_Image_Cache icache;
-+ FTC_ImageCache icache;
- mFt2->GetImageCache(&icache);
- if (!icache)
- return 0;
-Index: gfx/src/x11shared/nsFontFreeType.h
-===================================================================
-RCS file: /cvsroot/mozilla/gfx/src/x11shared/nsFontFreeType.h,v
-retrieving revision 1.10
-diff -u -3 -p -r1.10 nsFontFreeType.h
---- gfx/src/x11shared/nsFontFreeType.h 17 Apr 2004 21:52:34 -0000 1.10
-+++ gfx/src/x11shared/nsFontFreeType.h 26 May 2004 10:01:03 -0000
-@@ -110,7 +110,7 @@ protected:
- XImage *GetXImage(PRUint32 width, PRUint32 height);
- nsITrueTypeFontCatalogEntry *mFaceID;
- PRUint16 mPixelSize;
-- FTC_Image_Desc mImageDesc;
-+ FTC_ImageType mImageDesc;
- nsCOMPtr<nsIFreeType2> mFt2;
- };
-
diff --git a/www/mozilla/files/patch-build_unix_run-mozilla.sh b/www/mozilla/files/patch-build_unix_run-mozilla.sh
deleted file mode 100644
index 87114cc7b..000000000
--- a/www/mozilla/files/patch-build_unix_run-mozilla.sh
+++ /dev/null
@@ -1,21 +0,0 @@
---- build/unix/run-mozilla.sh.orig Mon Dec 15 12:27:28 2003
-+++ build/unix/run-mozilla.sh Wed Feb 11 14:24:17 2004
-@@ -355,7 +355,7 @@
- fi
- ##
- ## Set LD_LIBRARY_PATH
--LD_LIBRARY_PATH=${MOZ_DIST_BIN}:${MOZ_DIST_BIN}/plugins:${MRE_HOME}${LD_LIBRARY_PATH+":$LD_LIBRARY_PATH"}
-+LD_LIBRARY_PATH=${MOZ_DIST_BIN}:${MOZ_DIST_BIN}/plugins:%%PREFIX%%/lib/browser_plugins:%%PREFIX%%/lib/browser_linux_plugins:${MRE_HOME}${LD_LIBRARY_PATH+":$LD_LIBRARY_PATH"}
- if [ -n "$LD_LIBRARYN32_PATH" ]
- then
- LD_LIBRARYN32_PATH=${MOZ_DIST_BIN}:${MOZ_DIST_BIN}/plugins:${MRE_HOME}${LD_LIBRARYN32_PATH+":$LD_LIBRARYN32_PATH"}
-@@ -442,6 +442,9 @@
- #
- export MOZILLA_FIVE_HOME LD_LIBRARY_PATH
- export SHLIB_PATH LIBPATH LIBRARY_PATH ADDON_PATH DYLD_LIBRARY_PATH
-+
-+MOZ_PLUGIN_PATH=%%PREFIX%%/lib/browser_plugins:%%PREFIX%%/lib/browser_linux_plugins
-+export MOZ_PLUGIN_PATH
-
- if [ $moz_debug -eq 1 ]
- then
diff --git a/www/mozilla/files/patch-config-mkdepend-imakemdep.h b/www/mozilla/files/patch-config-mkdepend-imakemdep.h
deleted file mode 100644
index b688e6644..000000000
--- a/www/mozilla/files/patch-config-mkdepend-imakemdep.h
+++ /dev/null
@@ -1,10 +0,0 @@
---- config/mkdepend/imakemdep.h Fri Sep 4 21:22:25 1998
-+++ config/mkdepend/imakemdep.h Thu Oct 16 22:43:25 2003
-@@ -278,4 +278,7 @@
- "-D__i386__",
- # endif
-+# if defined(__amd64__) || defined(__x86_64__)
-+ "-D__amd64__ -D__x86_64__",
-+# endif
- # ifdef __GNUC__
- "-traditional",
diff --git a/www/mozilla/files/patch-config::mkdepend::Makefile.in b/www/mozilla/files/patch-config::mkdepend::Makefile.in
deleted file mode 100644
index bace012a2..000000000
--- a/www/mozilla/files/patch-config::mkdepend::Makefile.in
+++ /dev/null
@@ -1,10 +0,0 @@
---- config/mkdepend/Makefile.in.orig Sun Dec 12 07:36:57 2004
-+++ config/mkdepend/Makefile.in Sun Dec 12 07:37:55 2004
-@@ -57,6 +57,7 @@
- include $(topsrcdir)/config/rules.mk
-
- HOST_CFLAGS += -DINCLUDEDIR=\"/usr/include\" -DOBJSUFFIX=\".$(OBJ_SUFFIX)\"
-+HOST_CFLAGS += $(XCFLAGS)
-
- ifdef GNU_CC
- _GCCDIR = $(shell $(CC) -print-file-name=include)
diff --git a/www/mozilla/files/patch-config::rules.mk b/www/mozilla/files/patch-config::rules.mk
deleted file mode 100644
index 16cb6ae11..000000000
--- a/www/mozilla/files/patch-config::rules.mk
+++ /dev/null
@@ -1,14 +0,0 @@
---- config/rules.mk.orig Sun May 18 16:10:18 2003
-+++ config/rules.mk Sun Jul 20 18:07:26 2003
-@@ -448,7 +448,11 @@
-
- ifeq ($(OS_ARCH),FreeBSD)
- ifdef IS_COMPONENT
-+ifneq (,$(filter alpha ia64,$(OS_TEST)))
-+EXTRA_DSO_LDOPTS += -Wl,-Bsymbolic -lc
-+else
- EXTRA_DSO_LDOPTS += -Wl,-Bsymbolic
-+endif
- endif
- endif
-
diff --git a/www/mozilla/files/patch-config_autoconf.mk.in b/www/mozilla/files/patch-config_autoconf.mk.in
deleted file mode 100644
index c4fa0b516..000000000
--- a/www/mozilla/files/patch-config_autoconf.mk.in
+++ /dev/null
@@ -1,18 +0,0 @@
---- config/autoconf.mk.in.orig Mon Mar 15 22:56:25 2004
-+++ config/autoconf.mk.in Fri Mar 19 15:17:50 2004
-@@ -31,13 +31,13 @@
- 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)
-
--mozappdir = $(libdir)/$(MOZ_APP_NAME)-$(MOZ_APP_VERSION)
-+mozappdir = $(libdir)/%%MOZILLA%%
- mredir = $(libdir)/mre/mre-$(MOZ_APP_VERSION)
- mrelibdir = $(mredir)/lib
-
diff --git a/www/mozilla/files/patch-extensions_p3p_Makefile.in b/www/mozilla/files/patch-extensions_p3p_Makefile.in
deleted file mode 100644
index efade70e9..000000000
--- a/www/mozilla/files/patch-extensions_p3p_Makefile.in
+++ /dev/null
@@ -1,30 +0,0 @@
---- extensions/p3p/Makefile.in.orig Sun Jul 9 14:10:16 2006
-+++ extensions/p3p/Makefile.in Sun Jul 9 14:20:10 2006
-@@ -62,23 +62,23 @@
- p3p200010.xsl: resources/content/p3p.xsl.in Makefile.in
- @$(RM) -f $@
- $(PP) -DNAMESPACE=http://www.w3.org/2000/10/18/P3Pv1 \
-- -DHAS_TMPL_RETENTION\
-+ -DHAS_TMPL_RETENTION \
- $< > $@
-
- p3p200012.xsl: resources/content/p3p.xsl.in Makefile.in
- @$(RM) -f $@
- $(PP) -DNAMESPACE=http://www.w3.org/2000/12/P3Pv1 \
-- -DHAS_CALL_OURS\
-+ -DHAS_CALL_OURS \
- $< > $@
-
- p3p200109.xsl: resources/content/p3p.xsl.in Makefile.in
- @$(RM) -f $@
- $(PP) -DNAMESPACE=http://www.w3.org/2001/09/P3Pv1 \
-- -DHAS_CALL_OURS\
-+ -DHAS_CALL_OURS \
- $< > $@
-
- p3p200201.xsl: resources/content/p3p.xsl.in Makefile.in
- @$(RM) -f $@
- $(PP) -DNAMESPACE=http://www.w3.org/2002/01/P3Pv1 \
-- -DHAS_CALL_OURS -DHAS_PURPOSE_SRC\
-+ -DHAS_CALL_OURS -DHAS_PURPOSE_SRC \
- $< > $@
diff --git a/www/mozilla/files/patch-gcc4 b/www/mozilla/files/patch-gcc4
deleted file mode 100644
index 855a756a6..000000000
--- a/www/mozilla/files/patch-gcc4
+++ /dev/null
@@ -1,79 +0,0 @@
-Index: gfx/src/freetype/nsFreeType.cpp
-===================================================================
-RCS file: /cvsroot/mozilla/gfx/src/freetype/nsFreeType.cpp,v
-retrieving revision 1.24
-diff -u -r1.24 nsFreeType.cpp
---- gfx/src/freetype/nsFreeType.cpp 7 Feb 2004 15:22:30 -0000 1.24
-+++ gfx/src/freetype/nsFreeType.cpp 4 Mar 2005 19:59:53 -0000
-@@ -96,7 +96,7 @@
- // Define the FreeType2 functions we resolve at run time.
- // see the comment near nsFreeType2::DoneFace() for more info
- //
--#define NS_FT2_OFFSET(f) (int)&((nsFreeType2*)0)->f
-+#define NS_FT2_OFFSET(f) (NS_PTR_TO_INT32(&((nsFreeType2*)0)->f))
- FtFuncList nsFreeType2::FtFuncs [] = {
- {"FT_Done_Face", NS_FT2_OFFSET(nsFT_Done_Face), PR_TRUE},
- {"FT_Done_FreeType", NS_FT2_OFFSET(nsFT_Done_FreeType), PR_TRUE},
-Index: widget/src/gtk2/nsDragService.cpp
-===================================================================
-RCS file: /cvsroot/mozilla/widget/src/gtk2/nsDragService.cpp,v
-retrieving revision 1.5
-diff -u -r1.5 nsDragService.cpp
---- widget/src/gtk2/nsDragService.cpp 30 Oct 2003 01:48:41 -0000 1.5
-+++ widget/src/gtk2/nsDragService.cpp 4 Mar 2005 20:00:01 -0000
-@@ -838,7 +838,7 @@
- (GtkTargetEntry *)g_malloc(sizeof(GtkTargetEntry));
- listTarget->target = g_strdup(gMimeListType);
- listTarget->flags = 0;
-- listTarget->info = (guint)listAtom;
-+ listTarget->info = (guint)(NS_PTR_TO_INT32(listAtom));
- PR_LOG(sDragLm, PR_LOG_DEBUG,
- ("automatically adding target %s with id %ld\n",
- listTarget->target, listAtom));
-@@ -877,7 +877,7 @@
- (GtkTargetEntry *)g_malloc(sizeof(GtkTargetEntry));
- listTarget->target = g_strdup(gTextUriListType);
- listTarget->flags = 0;
-- listTarget->info = (guint)listAtom;
-+ listTarget->info = (guint)NS_PTR_TO_INT32(listAtom);
- PR_LOG(sDragLm, PR_LOG_DEBUG,
- ("automatically adding target %s with \
- id %ld\n", listTarget->target, listAtom));
-@@ -914,7 +914,7 @@
- (GtkTargetEntry *)g_malloc(sizeof(GtkTargetEntry));
- target->target = g_strdup(flavorStr);
- target->flags = 0;
-- target->info = (guint)atom;
-+ target->info = (guint)NS_PTR_TO_INT32(atom);
- PR_LOG(sDragLm, PR_LOG_DEBUG,
- ("adding target %s with id %ld\n",
- target->target, atom));
-@@ -931,7 +931,7 @@
- (GtkTargetEntry *)g_malloc(sizeof(GtkTargetEntry));
- plainTarget->target = g_strdup(kTextMime);
- plainTarget->flags = 0;
-- plainTarget->info = (guint)plainAtom;
-+ plainTarget->info = (guint)NS_PTR_TO_INT32(plainAtom);
- PR_LOG(sDragLm, PR_LOG_DEBUG,
- ("automatically adding target %s with \
- id %ld\n", plainTarget->target, plainAtom));
-@@ -948,7 +948,7 @@
- (GtkTargetEntry *)g_malloc(sizeof(GtkTargetEntry));
- urlTarget->target = g_strdup(gMozUrlType);
- urlTarget->flags = 0;
-- urlTarget->info = (guint)urlAtom;
-+ urlTarget->info = (guint)NS_PTR_TO_INT32(urlAtom);
- PR_LOG(sDragLm, PR_LOG_DEBUG,
- ("automatically adding target %s with \
- id %ld\n", urlTarget->target, urlAtom));
---- mailnews/mime/src/mimeeobj.h.orig Sat Dec 16 14:01:13 2006
-+++ mailnews/mime/src/mimeeobj.h Sat Dec 16 14:01:28 2006
-@@ -54,7 +54,7 @@ struct MimeExternalObjectClass {
- MimeLeafClass leaf;
- };
-
--extern MimeExternalObjectClass mimeExternalObjectClass;
-+extern "C" MimeExternalObjectClass mimeExternalObjectClass;
-
- struct MimeExternalObject {
- MimeLeaf leaf;
diff --git a/www/mozilla/files/patch-gfx-src-gtk-Makefile.in b/www/mozilla/files/patch-gfx-src-gtk-Makefile.in
deleted file mode 100644
index ff8b69984..000000000
--- a/www/mozilla/files/patch-gfx-src-gtk-Makefile.in
+++ /dev/null
@@ -1,15 +0,0 @@
-When using ``--with-system-nspr'' option, MOZ_COMPONENT_LIBS does not
-contain the ``-L../../../dist/lib'' -- only ``-L../../../dist/bin''.
-
-This causes an error, because libgfxshared_s is only under dist/lib.
-
- -mi
-
---- gfx/src/gtk/Makefile.in Mon Nov 10 07:24:51 2003
-+++ gfx/src/gtk/Makefile.in Thu Jul 21 23:58:26 2005
-@@ -165,4 +165,5 @@
- ifdef MOZ_ENABLE_GTK2
- EXTRA_DSO_LDOPTS += $(MOZ_COMPONENT_LIBS) \
-+ $(LIBS_DIR) \
- -lgkgfx \
- -lgfxshared_s \
diff --git a/www/mozilla/files/patch-gfx_src_ps_nsType1.cpp b/www/mozilla/files/patch-gfx_src_ps_nsType1.cpp
deleted file mode 100644
index 29752f34a..000000000
--- a/www/mozilla/files/patch-gfx_src_ps_nsType1.cpp
+++ /dev/null
@@ -1,58 +0,0 @@
---- gfx/src/ps/nsType1.cpp.orig Wed Dec 11 01:24:47 2002
-+++ gfx/src/ps/nsType1.cpp Sun Sep 10 09:52:45 2006
-@@ -81,8 +81,8 @@
- int wmode;
- } FT2PT1_info;
-
--static int cubicto(FT_Vector *aControlPt1, FT_Vector *aControlPt2,
-- FT_Vector *aEndPt, void *aClosure);
-+static int cubicto(const FT_Vector *aControlPt1, const FT_Vector *aControlPt2,
-+ const FT_Vector *aEndPt, void *aClosure);
- static int Type1CharStringCommand(unsigned char **aBufPtrPtr, int aCmd);
- static int Type1EncodeCharStringInt(unsigned char **aBufPtrPtr, int aValue);
-
-@@ -173,7 +173,7 @@
- }
-
- static PRBool
--sideWidthAndBearing(FT_Vector *aEndPt, FT2PT1_info *aFti)
-+sideWidthAndBearing(const FT_Vector *aEndPt, FT2PT1_info *aFti)
- {
- int aw = 0;
- int ah = 0;
-@@ -216,7 +216,7 @@
- }
-
- static int
--moveto(FT_Vector *aEndPt, void *aClosure)
-+moveto(const FT_Vector *aEndPt, void *aClosure)
- {
- FT2PT1_info *fti = (FT2PT1_info *)aClosure;
- FT_UShort upm = fti->face->units_per_EM;
-@@ -253,7 +253,7 @@
- }
-
- static int
--lineto(FT_Vector *aEndPt, void *aClosure)
-+lineto(const FT_Vector *aEndPt, void *aClosure)
- {
- FT2PT1_info *fti = (FT2PT1_info *)aClosure;
- FT_UShort upm = fti->face->units_per_EM;
-@@ -279,7 +279,7 @@
- }
-
- static int
--conicto(FT_Vector *aControlPt, FT_Vector *aEndPt, void *aClosure)
-+conicto(const FT_Vector *aControlPt, const FT_Vector *aEndPt, void *aClosure)
- {
- FT2PT1_info *ftinfo = (FT2PT1_info *)aClosure;
- FT_UShort upm = ftinfo->face->units_per_EM;
-@@ -311,7 +311,7 @@
- }
-
- static int
--cubicto(FT_Vector *aControlPt1, FT_Vector *aControlPt2, FT_Vector *aEndPt,
-+cubicto(const FT_Vector *aControlPt1, const FT_Vector *aControlPt2, const FT_Vector *aEndPt,
- void *aClosure)
- {
- FT2PT1_info *ftinfo = (FT2PT1_info *)aClosure;
diff --git a/www/mozilla/files/patch-libm b/www/mozilla/files/patch-libm
deleted file mode 100644
index 7de64b2a5..000000000
--- a/www/mozilla/files/patch-libm
+++ /dev/null
@@ -1,25 +0,0 @@
---- js/src/Makefile.in Thu Aug 4 22:26:52 2005
-+++ js/src/Makefile.in Thu Aug 4 23:02:32 2005
-@@ -148,5 +148,4 @@
- endif
-
--FDLIBM_LIBRARY = fdlibm/$(LIB_PREFIX)fdm.$(LIB_SUFFIX)
- JSMATH_PRELINK = jsmathtemp.o
- JS_SAFE_ARENA = 1
-@@ -320,7 +319,4 @@
- endif
- @$(RM) -f $(JSMATH_PRELINK)
--else
--# Create dependency so we build fdlibm
--jsmath.o: $(FDLIBM_LIBRARY) Makefile.in
- endif
-
---- js/Makefile.in Sun Mar 23 14:36:00 2003
-+++ js/Makefile.in Thu Aug 4 23:08:06 2005
-@@ -46,5 +46,5 @@
- #
-
--DIRS = src/fdlibm src
-+DIRS = src
-
- include $(topsrcdir)/config/rules.mk
diff --git a/www/mozilla/files/patch-qt b/www/mozilla/files/patch-qt
deleted file mode 100644
index d1cb9f9f7..000000000
--- a/www/mozilla/files/patch-qt
+++ /dev/null
@@ -1,65 +0,0 @@
---- configure.orig Tue Oct 12 00:13:29 2004
-+++ configure Wed Nov 23 01:48:55 2005
-@@ -9368,7 +9368,7 @@
- echo $ac_n "(cached) $ac_c" 1>&6
- else
- ac_save_LIBS="$LIBS"
--LIBS="-liconv $LIBS"
-+LIBS="-L$LOCALBASE/lib -liconv $LIBS"
- cat > conftest.$ac_ext <<EOF
- #line 9374 "configure"
- #include "confdefs.h"
-@@ -9399,7 +9399,7 @@
- fi
- if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
- echo "$ac_t""yes" 1>&6
-- _ICONV_LIBS="$_ICONV_LIBS -liconv"
-+ _ICONV_LIBS="$_ICONV_LIBS -L$LOCALBASE/lib -liconv"
- else
- echo "$ac_t""no" 1>&6
- echo $ac_n "checking for libiconv in -liconv""... $ac_c" 1>&6
-@@ -9409,7 +9409,7 @@
- echo $ac_n "(cached) $ac_c" 1>&6
- else
- ac_save_LIBS="$LIBS"
--LIBS="-liconv $LIBS"
-+LIBS="-L$LOCALBASE/lib -liconv $LIBS"
- cat > conftest.$ac_ext <<EOF
- #line 9415 "configure"
- #include "confdefs.h"
-@@ -9440,7 +9440,7 @@
- fi
- if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
- echo "$ac_t""yes" 1>&6
-- _ICONV_LIBS="$_ICONV_LIBS -liconv"
-+ _ICONV_LIBS="$_ICONV_LIBS -L$LOCALBASE/lib -liconv"
- else
- echo "$ac_t""no" 1>&6
- fi
-@@ -11401,12 +11401,12 @@
-
- echo $ac_n "checking MOZ_GTK2_CFLAGS""... $ac_c" 1>&6
- echo "configure:11404: checking MOZ_GTK2_CFLAGS" >&5
-- MOZ_GTK2_CFLAGS=`$PKG_CONFIG --cflags "gtk+-2.0 >= 1.3.7"`
-+ MOZ_GTK2_CFLAGS=`$PKG_CONFIG --cflags "gtk+-2.0 >= 1.3.7" "pangox >= 1.1.0"`
- echo "$ac_t""$MOZ_GTK2_CFLAGS" 1>&6
-
- echo $ac_n "checking MOZ_GTK2_LIBS""... $ac_c" 1>&6
- echo "configure:11409: checking MOZ_GTK2_LIBS" >&5
-- MOZ_GTK2_LIBS=`$PKG_CONFIG --libs "gtk+-2.0 >= 1.3.7"`
-+ MOZ_GTK2_LIBS=`$PKG_CONFIG --libs "gtk+-2.0 >= 1.3.7" "pangox >= 1.1.0"`
- echo "$ac_t""$MOZ_GTK2_LIBS" 1>&6
- else
- MOZ_GTK2_CFLAGS=""
-@@ -12344,9 +12344,9 @@
-
-
-
--MOZ_EXTENSIONS_DEFAULT=" cookie wallet content-packs xml-rpc xmlextras help p3p pref transformiix venkman inspector irc universalchardet typeaheadfind webservices spellcheck gnomevfs negotiateauth"
-+MOZ_EXTENSIONS_DEFAULT=" cookie wallet content-packs xml-rpc xmlextras help p3p pref transformiix venkman inspector universalchardet typeaheadfind webservices spellcheck gnomevfs negotiateauth"
-
--MOZ_EXTENSIONS_ALL="$MOZ_EXTENSIONS_DEFAULT xmlterm datetime finger cview layout-debug tasks"
-+MOZ_EXTENSIONS_ALL="$MOZ_EXTENSIONS_DEFAULT irc xmlterm datetime finger cview layout-debug tasks"
-
- # Check whether --enable-extensions or --disable-extensions was given.
- if test "${enable_extensions+set}" = set; then
diff --git a/www/mozilla/files/patch-security::coreconf::FreeBSD.mk b/www/mozilla/files/patch-security::coreconf::FreeBSD.mk
deleted file mode 100644
index 5c76b5af5..000000000
--- a/www/mozilla/files/patch-security::coreconf::FreeBSD.mk
+++ /dev/null
@@ -1,37 +0,0 @@
---- security/coreconf/FreeBSD.mk.orig Wed Mar 26 20:17:25 2003
-+++ security/coreconf/FreeBSD.mk Thu Jul 8 12:56:24 2004
-@@ -35,16 +35,18 @@
-
- include $(CORE_DEPTH)/coreconf/UNIX.mk
-
--DEFAULT_COMPILER = gcc
--CC = gcc
--CCC = g++
-+CCC = ${CXX}
- 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
-
-@@ -71,7 +73,11 @@
- DLL_SUFFIX = so.1.0
- endif
-
--MKSHLIB = $(CC) $(DSO_LDOPTS)
-+ifneq (,$(filter alpha ia64,$(OS_TEST)))
-+MKSHLIB = $(CC) -Wl,-Bsymbolic -lc $(DSO_LDOPTS) -o $@
-+else
-+MKSHLIB = $(CC) -Wl,-Bsymbolic $(DSO_LDOPTS) -o $@
-+endif
- ifdef MAPFILE
- # Add LD options to restrict exported symbols to those in the map file
- endif
diff --git a/www/mozilla/files/patch-sysnspr b/www/mozilla/files/patch-sysnspr
deleted file mode 100644
index 19e2703b4..000000000
--- a/www/mozilla/files/patch-sysnspr
+++ /dev/null
@@ -1,21 +0,0 @@
---- directory/c-sdk/ldap/include/Makefile.in.orig Sat Aug 20 02:15:05 2005
-+++ directory/c-sdk/ldap/include/Makefile.in Sat Aug 20 02:15:55 2005
-@@ -76,7 +76,6 @@
- $(INSTALL) $(INSTALLFLAGS) -m 644 $(HEADERS) $(INCLUDEDIR)
- $(INSTALL) $(INSTALLFLAGS) -m 644 $(PRIVATEHEADERS) $(PRIVATEINCDIR)
- rm -rf $(NSPRINCDIR)/*
-- cp -r $(DIST)/$(OBJDIR_NAME)/include/nspr/* $(NSPRINCDIR)
-
- $(INCLUDEDIR): FORCE
- $(NSINSTALL) -D $(INCLUDEDIR)
---- directory/c-sdk/ldap/libraries/libprldap/Makefile.in.orig Sat Aug 20 02:14:33 2005
-+++ directory/c-sdk/ldap/libraries/libprldap/Makefile.in Sat Aug 20 02:14:39 2005
-@@ -58,7 +58,7 @@
-
- LOCAL_INCLUDES = -I$(PUBLIC)/nspr
- INCLUDES += -I$(DISTHDIR) -I$(HDIR) -I$(INSTALLDIR)/include \
-- -I$(DIST)/include/nspr
-+ $(shell nspr-config --cflags)
- DEFINES += $(DEFS)
-
- PLATFORMCFLAGS = -DUSE_WAITPID -DNEEDPROTOS
diff --git a/www/mozilla/files/patch-sysnss b/www/mozilla/files/patch-sysnss
deleted file mode 100644
index d854cabc0..000000000
--- a/www/mozilla/files/patch-sysnss
+++ /dev/null
@@ -1,178 +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/Makefile.in Mon Mar 28 19:56:36 2005
-+++ security/manager/Makefile.in Tue Aug 2 09:02:50 2005
-@@ -37,16 +37,7 @@
- SOFTOKEN3_LIB \
- SOFTOKEN3_CHK \
-- LOADABLE_ROOT_MODULE \
- HAVE_FREEBL_MODULES \
- $(NULL)
-
--LOADABLE_ROOT_MODULE = $(DLL_PREFIX)nssckbi$(DLL_SUFFIX)
--
--NSS3_LIB = $(DLL_PREFIX)nss3$(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
--
- ifneq (,$(filter SunOS HP-UX,$(OS_ARCH)))
- ifeq (,$(filter i86pc ia64,$(OS_TEST)))
-@@ -132,9 +123,4 @@
- .nss.cleaned: .nss.checkout
- $(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 $@
-
-@@ -153,43 +139,4 @@
- ifeq ($(OS_ARCH),WINNT)
- cd $(DIST)/lib; cp -f $(LIB_PREFIX)dbm$(MOZ_BITS).$(LIB_SUFFIX) $(LIB_PREFIX)dbm.$(LIB_SUFFIX)
--else
-- cd $(DIST)/lib; cp -f $(LIB_PREFIX)mozdbm_s.$(LIB_SUFFIX) $(LIB_PREFIX)dbm.$(LIB_SUFFIX); $(RANLIB) $(LIB_PREFIX)dbm.$(LIB_SUFFIX)
--endif
-- $(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
--ifndef DISABLE_DIST_GRE
-- $(INSTALL) -m 755 $(DIST)/lib/$(LOADABLE_ROOT_MODULE) $(GRE_DIST)
--ifndef SKIP_CHK
-- $(INSTALL) -m 644 $(DIST)/lib/$(SOFTOKEN3_CHK) $(GRE_DIST)
--endif
-- $(INSTALL) -m 755 $(DIST)/lib/$(SOFTOKEN3_LIB) $(GRE_DIST)
-- $(INSTALL) -m 755 $(DIST)/lib/$(NSS3_LIB) $(GRE_DIST)
-- $(INSTALL) -m 755 $(DIST)/lib/$(SSL3_LIB) $(GRE_DIST)
-- $(INSTALL) -m 755 $(DIST)/lib/$(SMIME3_LIB) $(GRE_DIST)
--ifdef HAVE_FREEBL_MODULES
-- $(INSTALL) -m 644 $(DIST)/lib/$(FREEBL_PURE32_CHK) $(GRE_DIST)
-- $(INSTALL) -m 755 $(DIST)/lib/$(FREEBL_PURE32_MODULE) $(GRE_DIST)
-- $(INSTALL) -m 644 $(DIST)/lib/$(FREEBL_HYBRID_CHK) $(GRE_DIST)
-- $(INSTALL) -m 755 $(DIST)/lib/$(FREEBL_HYBRID_MODULE) $(GRE_DIST)
--endif
--endif
--ifndef _SKIP_OLD_GRE_INSTALL
-- $(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/$(SSL3_LIB) $(DIST)/bin
-- $(INSTALL) -m 755 $(DIST)/lib/$(SMIME3_LIB) $(DIST)/bin
--ifdef HAVE_FREEBL_MODULES
-- $(INSTALL) -m 644 $(DIST)/lib/$(FREEBL_PURE32_CHK) $(DIST)/bin
-- $(INSTALL) -m 755 $(DIST)/lib/$(FREEBL_PURE32_MODULE) $(DIST)/bin
-- $(INSTALL) -m 644 $(DIST)/lib/$(FREEBL_HYBRID_CHK) $(DIST)/bin
-- $(INSTALL) -m 755 $(DIST)/lib/$(FREEBL_HYBRID_MODULE) $(DIST)/bin
--endif
- endif
- $(MAKE) -C boot $@
-@@ -200,18 +147,4 @@
-
- install::
-- $(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/$(SSL3_LIB) $(DESTDIR)$(mozappdir)
-- $(SYSINSTALL) -m 755 $(DIST)/lib/$(SMIME3_LIB) $(DESTDIR)$(mozappdir)
--ifdef HAVE_FREEBL_MODULES
-- $(SYSINSTALL) -m 644 $(DIST)/lib/$(FREEBL_PURE32_CHK) $(DESTDIR)$(mozappdir)
-- $(SYSINSTALL) -m 755 $(DIST)/lib/$(FREEBL_PURE32_MODULE) $(DESTDIR)$(mozappdir)
-- $(SYSINSTALL) -m 644 $(DIST)/lib/$(FREEBL_HYBRID_CHK) $(DESTDIR)$(mozappdir)
-- $(SYSINSTALL) -m 755 $(DIST)/lib/$(FREEBL_HYBRID_MODULE) $(DESTDIR)$(mozappdir)
--endif
- $(MAKE) -C boot $@
- $(MAKE) -C ssl $@
-@@ -227,9 +160,4 @@
- endif
- $(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
-
- echo-requires-recursive::
---- security/manager/ssl/src/Makefile.in Wed Jan 7 08:36:51 2004
-+++ security/manager/ssl/src/Makefile.in Tue Aug 2 09:13:07 2005
-@@ -117,5 +117,5 @@
- # Use local includes because they are inserted before INCLUDES
- # so that Mozilla's nss.h is used, not glibc's
--LOCAL_INCLUDES += -I$(DIST)/public/nss \
-+LOCAL_INCLUDES += -I$(LOCALBASE)/include/nss/nss \
- $(NULL)
-
---- config/config.mk Tue Oct 12 00:11:11 2004
-+++ config/config.mk Tue Aug 2 09:19:18 2005
-@@ -170,5 +170,4 @@
- NSS_LIBS = \
- $(LIBS_DIR) \
-- $(DIST)/lib/$(LIB_PREFIX)crmf.$(LIB_SUFFIX) \
- -lsmime3 \
- -lssl3 \
-@@ -189,11 +188,5 @@
- endif
-
--NSS_DEP_LIBS = \
-- $(DIST)/lib/$(LIB_PREFIX)crmf.$(LIB_SUFFIX) \
-- $(DIST)/lib/$(DLL_PREFIX)smime3$(DLL_SUFFIX) \
-- $(DIST)/lib/$(DLL_PREFIX)ssl3$(DLL_SUFFIX) \
-- $(DIST)/lib/$(DLL_PREFIX)nss3$(DLL_SUFFIX) \
-- $(DIST)/lib/$(DLL_PREFIX)softokn3$(DLL_SUFFIX) \
-- $(NULL)
-+NSS_DEP_LIBS =
-
- MOZ_UNICHARUTIL_LIBS = $(DIST)/lib/$(LIB_PREFIX)unicharutil_s.$(LIB_SUFFIX)
---- security/manager/ssl/src/nsNSSComponent.cpp Thu Apr 22 15:48:30 2004
-+++ security/manager/ssl/src/nsNSSComponent.cpp Thu Aug 4 16:44:27 2005
-@@ -88,4 +88,8 @@
- }
-
-+#include <sys/types.h>
-+#include <sys/stat.h>
-+#include <errno.h>
-+
- #ifdef PR_LOGGING
- PRLogModuleInfo* gPIPNSSLog = nsnull;
-@@ -406,4 +410,5 @@
- const char *possible_ckbi_locations[] = {
- NS_GRE_DIR,
-+ NS_UNIX_LIB_DIR,
- NS_XPCOM_CURRENT_PROCESS_DIR
- };
-@@ -419,5 +424,5 @@
- }
-
-- char *fullModuleName = nsnull;
-+ char *fullModuleName;
- #ifdef XP_MAC
- nsCAutoString nativePath;
-@@ -431,4 +436,12 @@
- fullModuleName = PR_GetLibraryName(processDir.get(), "nssckbi");
- #endif
-+ if (fullModuleName == nsnull)
-+ continue;
-+ struct stat sb;
-+ if (stat(fullModuleName, &sb)) {
-+ if (errno != ENOENT)
-+ perror(fullModuleName);
-+ continue;
-+ }
- /* If a module exists with the same name, delete it. */
- NS_ConvertUCS2toUTF8 modNameUTF8(modName);
diff --git a/www/mozilla/files/patch-uriloader_exthandler_unix_nsGNOMERegistry.cpp b/www/mozilla/files/patch-uriloader_exthandler_unix_nsGNOMERegistry.cpp
deleted file mode 100644
index 7f8e55f53..000000000
--- a/www/mozilla/files/patch-uriloader_exthandler_unix_nsGNOMERegistry.cpp
+++ /dev/null
@@ -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);
diff --git a/www/mozilla/files/patch-widget_src_gtk2_nsDragService.cpp b/www/mozilla/files/patch-widget_src_gtk2_nsDragService.cpp
deleted file mode 100644
index df9abaef6..000000000
--- a/www/mozilla/files/patch-widget_src_gtk2_nsDragService.cpp
+++ /dev/null
@@ -1,18 +0,0 @@
---- widget/src/gtk2/nsDragService.cpp.nograb 2007-01-16 21:26:49.000000000 -0500
-+++ widget/src/gtk2/nsDragService.cpp 2007-01-16 21:27:04.000000000 -0500
-@@ -799,7 +799,6 @@
- void
- nsDragService::GetTargetDragData(GdkAtom aFlavor)
- {
-- gtk_grab_add(mHiddenWidget);
- PR_LOG(sDragLm, PR_LOG_DEBUG, ("getting data flavor %d\n", aFlavor));
- PR_LOG(sDragLm, PR_LOG_DEBUG, ("mLastWidget is %p and mLastContext is %p\n",
- mTargetWidget, mTargetDragContext));
-@@ -817,7 +816,6 @@
- gtk_main_iteration();
- }
- PR_LOG(sDragLm, PR_LOG_DEBUG, ("finished inner iteration\n"));
-- gtk_grab_remove(mHiddenWidget);
- }
-
- void
diff --git a/www/mozilla/files/patch-xpcom::reflect::xptcall::public::xptcstubsdecl.inc b/www/mozilla/files/patch-xpcom::reflect::xptcall::public::xptcstubsdecl.inc
deleted file mode 100644
index ebe5474ca..000000000
--- a/www/mozilla/files/patch-xpcom::reflect::xptcall::public::xptcstubsdecl.inc
+++ /dev/null
@@ -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();
diff --git a/www/mozilla/files/patch-xpcom_reflect_xptcall_src_md_unix_Makefile.in b/www/mozilla/files/patch-xpcom_reflect_xptcall_src_md_unix_Makefile.in
deleted file mode 100644
index dbdc47b6f..000000000
--- a/www/mozilla/files/patch-xpcom_reflect_xptcall_src_md_unix_Makefile.in
+++ /dev/null
@@ -1,56 +0,0 @@
---- xpcom/reflect/xptcall/src/md/unix/Makefile.in.orig Thu Aug 14 21:00:23 2003
-+++ xpcom/reflect/xptcall/src/md/unix/Makefile.in Sun Feb 1 14:31:25 2004
-@@ -49,6 +49,9 @@
- 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
-@@ -59,8 +62,8 @@
- CPPSRCS := xptcinvoke_gcc_x86_unix.cpp xptcstubs_gcc_x86_unix.cpp
- endif
- endif
--# IA64 Linux
--ifneq (,$(filter Linux,$(OS_ARCH)))
-+# IA64 Linux & FreeBSD
-+ifneq (,$(filter 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
-@@ -106,9 +109,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
- #
-@@ -294,6 +303,15 @@
- ifeq ($(OS_ARCH)$(OS_TEST),NetBSDsparc)
- 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
- #
- # Solaris/SPARC
diff --git a/www/mozilla/files/patch-xpfe_bootstrap_mozilla.in b/www/mozilla/files/patch-xpfe_bootstrap_mozilla.in
deleted file mode 100644
index 768eaf648..000000000
--- a/www/mozilla/files/patch-xpfe_bootstrap_mozilla.in
+++ /dev/null
@@ -1,436 +0,0 @@
---- xpfe/bootstrap/mozilla.in.orig Fri Feb 20 19:13:46 2004
-+++ xpfe/bootstrap/mozilla.in Tue Mar 22 22:40:43 2005
-@@ -29,141 +29,324 @@
- ## the mozilla-bin binary to work.
- ##
-
-+#
-+# MOZ_PIS, "Mozilla Plugable Init Scripts"
-+# MOZ_PIS_ is the name space used
-+# These variables and there meaning are specified in
-+# mozilla/xpfe/bootstrap/init.d/README
- moz_pis_startstop_scripts()
- {
-- MOZ_USER_DIR="%MOZ_USER_DIR%"
-- # MOZ_PIS_ is the name space for "Mozilla Plugable Init Scripts"
-- # These variables and there meaning are specified in
-- # mozilla/xpfe/bootstrap/init.d/README
-- MOZ_PIS_API=2
-- MOZ_PIS_MOZBINDIR="${dist_bin}"
-- MOZ_PIS_SESSION_PID="$$"
-- MOZ_PIS_USER_DIR="${MOZ_USER_DIR}"
-- export MOZ_PIS_API MOZ_PIS_MOZBINDIR MOZ_PIS_SESSION_PID MOZ_PIS_USER_DIR
--
-- case "${1}" in
-- "start")
-- for curr_pis in "${dist_bin}/init.d"/S* "${HOME}/${MOZ_USER_DIR}/init.d"/S* ; do
-- if [ -x "${curr_pis}" ] ; then
-- case "${curr_pis}" in
-- *.sh) . "${curr_pis}" ;;
-- *) "${curr_pis}" "start" ;;
-- esac
-- fi
-- done
-- ;;
-- "stop")
-- for curr_pis in "${HOME}/${MOZ_USER_DIR}/init.d"/K* "${dist_bin}/init.d"/K* ; do
-- if [ -x "${curr_pis}" ] ; then
-- case "${curr_pis}" in
-- *.sh) . "${curr_pis}" ;;
-- *) "${curr_pis}" "stop" ;;
-- esac
-- fi
-- done
-- ;;
-- *)
-- echo 1>&2 "$0: Internal error in moz_pis_startstop_scripts."
-- exit 1
-- ;;
-- esac
-+ MOZ_PIS_API=2
-+ MOZ_PIS_MOZBINDIR="${dist_bin}"
-+ MOZ_PIS_SESSION_PID="$$"
-+ MOZ_PIS_USER_DIR="${MOZ_USER_DIR}"
-+ export MOZ_PIS_API MOZ_PIS_MOZBINDIR MOZ_PIS_SESSION_PID MOZ_PIS_USER_DIR
-+
-+ case "${1}" in
-+ "start")
-+ for curr_pis in "${MOZ_PIS_MOZBINDIR}/init.d"/S* \
-+ "${HOME}/${MOZ_PIS_USER_DIR}/init.d"/S*; do
-+ if [ -x "${curr_pis}" ]; then
-+ case "${curr_pis}" in
-+ *.sh)
-+ . "${curr_pis}"
-+ ;;
-+ *)
-+ ${curr_pis} "start"
-+ ;;
-+ esac
-+ fi
-+ done
-+ ;;
-+ "stop")
-+ for curr_pis in "${MOZ_PIS_MOZBINDIR}/init.d"/K* \
-+ "${HOME}/${MOZ_PIS_USER_DIR}/init.d"/K*; do
-+ if [ -x "${curr_pis}" ]; then
-+ case "${curr_pis}" in
-+ *.sh)
-+ . "${curr_pis}"
-+ ;;
-+ *)
-+ ${curr_pis} "stop"
-+ ;;
-+ esac
-+ fi
-+ done
-+ ;;
-+ *)
-+ echo "$0: Internal error in moz_pis_startstop_scripts." 1>&2
-+ exit 1
-+ ;;
-+ esac
- }
-
- #uncomment for debugging
- #set -x
-
--moz_libdir=%MOZAPPDIR%
--MRE_HOME=%MREDIR%
-+#
-+# variables
-+#
-+location="new-tab"
-+#MOZILLA_UILOCALE="en-US"
-+#MOZILLA_UIREGION="US"
-
--# honor MOZILLA_FIVE_HOME if it's there
--if [ -n "$MOZILLA_FIVE_HOME" ] ; then
-- dist_bin="$MOZILLA_FIVE_HOME"
--else
-- # Use run-mozilla.sh in the current dir if it exists
-- # If not, then start resolving symlinks until we find run-mozilla.sh
-- found=0
-- progname=$0
-- curdir=`dirname "$progname"`
-- run_moz="$curdir/run-mozilla.sh"
-- if test -x "$run_moz"; then
-- dist_bin=$curdir
-+#
-+# working definitions
-+#
-+MOZ_USER_DIR="%MOZ_USER_DIR%"
-+moz_libdir="%MOZAPPDIR%"
-+MRE_HOME="%MREDIR%"
-+
-+debugging= # set the debugging level
-+use_openFile="yes" # use openFile() for file/dir
-+here=`pwd`
-+
-+if [ ! -d "${MRE_HOME}" ]; then
-+ # use moz_libdir as MRE_HOME
-+ MRE_HOME="${moz_libdir}"
-+fi
-+export MRE_HOME
-+
-+# Use run-mozilla.sh in the current dir if it exists
-+# If not, then start resolving symlinks until we find run-mozilla.sh
-+found=0
-+progname="$0"
-+curdir=`dirname "$progname"`
-+progbase=`basename "$progname"`
-+run_moz="$curdir/run-mozilla.sh"
-+# mozilla must obey MOZILLA_FIVE_HOME
-+if [ -n "$MOZILLA_FIVE_HOME" -a -d "$MOZILLA_FIVE_HOME" -a \
-+ -x "$MOZILLA_FIVE_HOME/run-mozilla.sh" ]; then
-+ curdir="$MOZILLA_FIVE_HOME"
-+ run_moz="$curdir/run-mozilla.sh"
-+ dist_bin="$curdir"
- found=1
-- else
-- here=`/bin/pwd`
-- while [ -h "$progname" ]; do
-- bn=`basename "$progname"`
-- cd `dirname "$progname"`
-- progname=`/bin/ls -l "$bn" |sed -e 's/^.* -> //' `
-- if [ ! -x "$progname" ]; then
-- break
-- fi
-- curdir=`dirname "$progname"`
-- run_moz="$curdir/run-mozilla.sh"
-- if [ -x "$run_moz" ]; then
-- cd "$curdir"
-- dist_bin=`pwd`
-- found=1
-- break
-- fi
-+elif [ -x "$run_moz" ]; then
-+ dist_bin="$curdir"
-+ found=1
-+else
-+ while [ -h "${progname}" ]; do
-+ bn=`basename "${progname}"`
-+ cd `dirname "${progname}"`
-+ progname=`ls -l "${bn}" | sed -e 's/^.* -> //'`
-+ if [ ! -x "$progname" ]; then
-+ break
-+ fi
-+ curdir=`dirname "${progname}"`
-+ run_moz="${curdir}/run-mozilla.sh"
-+ if [ -x "${run_moz}" ]; then
-+ cd "$curdir"
-+ dist_bin=`pwd`
-+ run_moz="${dist_bin}/run-mozilla.sh"
-+ found=1
-+ break
-+ fi
- done
-- cd "$here"
-- fi
-- if [ $found = 0 ]; then
-+ cd "${here}"
-+fi
-+if [ $found = 0 ]; then
- # Check default compile-time libdir
-- if [ -x "$moz_libdir/run-mozilla.sh" ]; then
-- dist_bin=$moz_libdir
-- else
-- echo "Cannot find mozilla runtime directory. Exiting."
-- exit 1
-- fi
-- fi
-+ if [ -x "${moz_libdir}/run-mozilla.sh" ]; then
-+ dist_bin="$moz_libdir"
-+ run_moz="${dist_bin}/run-mozilla.sh"
-+ else
-+ echo "$0: Cannot find mozilla runtime directory. Exiting." 1>&2
-+ exit 1
-+ fi
- fi
-
--script_args=""
--debugging=0
--MOZILLA_BIN="%MOZILLA-BIN%"
--
-+MOZILLA_BIN="${progbase}-bin"
- if [ "$OSTYPE" = "beos" ]; then
-- mimeset -F $MOZILLA_BIN
-+ mimeset -F "$MOZILLA_BIN"
- fi
-
-+# test for binary apps in ${dist_bin}
-+if [ -x "${dist_bin}/${MOZILLA_BIN}" ]; then
-+ MOZILLA_BIN="${dist_bin}/${progbase}-bin"
-+else
-+ echo "$0: Cannot find mozilla binary executable. Exiting." 1>&2
-+ exit 1
-+fi
-+if [ -x "${dist_bin}/mozilla-xremote-client" ]; then
-+ MOZ_CLIENT_PROGRAM="${dist_bin}/mozilla-xremote-client -a ${progbase}"
-+else
-+ MOZ_CLIENT_PROGRAM="${MOZILLA_BIN} -remote -a ${progbase}"
-+fi
-+
-+# guest a default remote command
-+_remote_cmd="xfeDoCommand(openBrowser)"
-+
-+# parse options
-+script_args= # null
-+moreargs= # null
-+target= # null
-+ALREADY_RUNNING="test"
- pass_arg_count=0
- while [ $# -gt $pass_arg_count ]
- do
-- case "$1" in
-- -p | -pure)
-- MOZILLA_BIN="%MOZILLA-BIN%.pure"
-- shift
-- ;;
-- -g | --debug)
-- script_args="$script_args -g"
-- debugging=1
-- shift
-- ;;
-- -d | --debugger)
-- script_args="$script_args -d $2"
-- shift 2
-- ;;
-- *)
-- # Move the unrecognized argument to the end of the list.
-- arg="$1"
-- shift
-- set -- "$@" "$arg"
-- pass_arg_count=`expr $pass_arg_count + 1`
-- ;;
-- esac
-+ if [ -n "${target}" ]; then
-+ # well, this can't be the target if not last
-+ moreargs="${moreargs} \"${target}\""
-+ target= # null
-+ fi
-+ case "$1" in
-+ # preserve [pP] for profile
-+ --pure | -pure)
-+ MOZILLA_BIN="${MOZILLA_BIN}.pure"
-+ shift
-+ ;;
-+ -g | --debug)
-+ script_args="${script_args} -g"
-+ debugging=1
-+ shift
-+ ;;
-+ -d | --debugger)
-+ if [ -n "$2" ]; then
-+ script_args="${script_args} -d $2"
-+ shift 2
-+ else
-+ "$0: ERROR, $1 needs an argument. Exiting" 1>&2
-+ exit 1
-+ fi
-+ ;;
-+ -[Uu][Ii][Ll]ocale)
-+ if [ -n "$2" ]; then
-+ uilocale="$2"
-+ shift 2
-+ else
-+ echo "$0: ERROR, $1 needs an argument. Exiting" 1>&2
-+ exit 1
-+ fi
-+ ;;
-+ -[Uu][Ii][Rr]egion)
-+ if [ -n "$2" ]; then
-+ uiregion="$2"
-+ shift 2
-+ else
-+ echo "$0: ERROR, $1 needs an argument. Exiting" 1>&2
-+ exit 1
-+ fi
-+ ;;
-+ -browser)
-+ # browser is default for mozilla
-+ shift
-+ ;;
-+ -mail)
-+ _remote_cmd="xfeDoCommand(openInbox)"
-+ moreargs="${moreargs} $1"
-+ shift
-+ ;;
-+ -compose)
-+ _remote_cmd="xfeDoCommand(composeMessage)"
-+ moreargs="${moreargs} $1"
-+ shift
-+ ;;
-+ -turbo | -nosplash | -quiet)
-+ # use remote even with this
-+ moreargs="${moreargs} $1"
-+ shift
-+ ;;
-+ -*)
-+ # don't use remote with options
-+ ALREADY_RUNNING= # null
-+ moreargs="${moreargs} $1"
-+ shift
-+ ;;
-+ *)
-+ target="$1"
-+ shift
-+ ;;
-+ esac
- done
-
--export MRE_HOME
-+# test for a running copy of firefox
-+# seems this is not needed
-+#if [-n "${ALREADY_RUNNING}" ]; then
-+# if [ -n "${DISPLAY}" ]; then
-+# if [ -n "${debugging}" ]; then
-+# echo "${run_moz} ${MOZ_CLIENT_PROGRAM} ping()"
-+# ${run_moz} ${MOZ_CLIENT_PROGRAM} 'ping()' && ALREADY_RUNNING="yes"
-+# else
-+# ${run_moz} ${MOZ_CLIENT_PROGRAM} 'ping()' >/dev/null 2>&1 &&
-+# ALREADY_RUNNING="yes"
-+# fi
-+# elif [ -n "${debugging}" ]; then
-+# echo "$0: WARN, no DISPLAY environment" 1>&2
-+# fi
-+#fi
-+
-+# process target
-+if [ -n "${target}" ]; then
-+ moreargs="${moreargs} \"${target}\""
-+ if [ -n "${ALREADY_RUNNING}" ]; then
-+ if [ `expr "${target}" : '.*:.*'` -eq 0 ]; then
-+ if [ `expr "${target}" : '/.*'` -eq 0 ]; then
-+ target="${here}/${target}"
-+ fi
-+ if [ -r "${target}" -o -d "${target}" ]; then
-+ [ -n "${use_openFile}" ] || target="file://${target}"
-+ else
-+ echo "$0: WARN, target: ${target} not an URI/file/dir" 1>&2
-+ ALREADY_RUNNING= # null
-+ fi
-+ else
-+ # an former URI, don't use openFile
-+ use_openFile= # null
-+ fi
-+ fi
-+fi
-+
-+# try remote protocol if running
-+if [ -n "${ALREADY_RUNNING}" ]; then
-+ if [ -n "${target}" ]; then
-+ if [ -n "${use_openFile}" ]; then
-+ _remote_cmd="openFile(${target})"
-+ elif [ -n "${location}" ]; then
-+ _remote_cmd="openURL(${target},${location})"
-+ else
-+ _remote_cmd="openURL(${target})"
-+ fi
-+ fi
-+ # FIXME problems with freedesktop StartupNotify
-+ if [ -n "${debugging}" ]; then
-+ echo "${run_moz} ${script_args} ${MOZ_CLIENT_PROGRAM} ${_remote_cmd}"
-+ ${run_moz} ${script_args} ${MOZ_CLIENT_PROGRAM} ${_remote_cmd} &&
-+ exit 0
-+ else
-+ ${run_moz} ${script_args} ${MOZ_CLIENT_PROGRAM} ${_remote_cmd} \
-+ >/dev/null 2>&1 && exit 0
-+ fi
-+fi
-+
-+# fallback to direct invocation
-+
-+# UILocale, UIRegion
-+if [ -z "${uilocale}" -a -n "${MOZILLA_UILOCALE}" ]; then
-+ uilocale="${MOZILLA_UILOCALE}"
-+fi
-+if [ -z "${uiregion}" -a -n "${MOZILLA_UIREGION}" ]; then
-+ uiregion="${MOZILLA_UIREGION}"
-+fi
-+if [ -n "${uiregion}" -a -z "${uilocale}" ]; then
-+ uilocale="en-US"
-+fi
-+if [ -n "${uilocale}" ]; then
-+ if [ -n "${uiregion}" ]; then
-+ moreargs="-UIRegion ${uiregion} ${moreargs}"
-+ fi
-+ moreargs="-UILocale ${uilocale} ${moreargs}"
-+fi
-+
-+# real invocation
-+eval "set -- ${moreargs}"
-
- ## Start addon scripts
- moz_pis_startstop_scripts "start"
-
--if [ $debugging = 1 ]
--then
-- echo $dist_bin/run-mozilla.sh $script_args $dist_bin/$MOZILLA_BIN "$@"
-+if [ -n "${debugging}" ]; then
-+ echo "${run_moz} ${script_args} ${MOZILLA_BIN} $@"
- fi
--"$dist_bin/run-mozilla.sh" $script_args "$dist_bin/$MOZILLA_BIN" "$@"
-+${run_moz} ${script_args} ${MOZILLA_BIN} "$@"
- exitcode=$?
-
- ## Stop addon scripts
diff --git a/www/mozilla/files/patch-xptcall-alpha b/www/mozilla/files/patch-xptcall-alpha
deleted file mode 100644
index 29631a98e..000000000
--- a/www/mozilla/files/patch-xptcall-alpha
+++ /dev/null
@@ -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@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@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"
-+
diff --git a/www/mozilla/files/patch-xptcall-amd64 b/www/mozilla/files/patch-xptcall-amd64
deleted file mode 100644
index 3227cad02..000000000
--- a/www/mozilla/files/patch-xptcall-amd64
+++ /dev/null
@@ -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,@function\n" \
-+ "_ZN14nsXPTCStubBase5Stub" #n "Ev:\n\t" \
-+ ".elseif " #n " < 100\n\t" \
-+ ".globl _ZN14nsXPTCStubBase6Stub" #n "Ev\n\t" \
-+ ".type _ZN14nsXPTCStubBase6Stub" #n "Ev,@function\n" \
-+ "_ZN14nsXPTCStubBase6Stub" #n "Ev:\n\t" \
-+ ".elseif " #n " < 1000\n\t" \
-+ ".globl _ZN14nsXPTCStubBase7Stub" #n "Ev\n\t" \
-+ ".type _ZN14nsXPTCStubBase7Stub" #n "Ev,@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,@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__ */
diff --git a/www/mozilla/files/patch-xptcall-ia64 b/www/mozilla/files/patch-xptcall-ia64
deleted file mode 100644
index 9cd07f7dd..000000000
--- a/www/mozilla/files/patch-xptcall-ia64
+++ /dev/null
@@ -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 Sun Jul 20 00:02:02 2003
-+++ xpcom/reflect/xptcall/src/md/unix/xptcstubs_asm_ipf64.s Sun Jul 20 00:02:40 2003
-@@ -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,@function
-
--SharedStub::
-+SharedStub:
- // 9 arguments, first 8 are the input arguments of previous
- // function call. The last one is methodIndex, and is passed in memory
- .prologue
diff --git a/www/mozilla/files/patch-xptcall-sparc64 b/www/mozilla/files/patch-xptcall-sparc64
deleted file mode 100755
index 9599a8a71..000000000
--- a/www/mozilla/files/patch-xptcall-sparc64
+++ /dev/null
@@ -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@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@netscape.com>
-+ * Chris Seawood <cls@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@netscape.com>
-+ * Chris Seawood <cls@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;
-+}
diff --git a/www/mozilla/pkg-deinstall.in b/www/mozilla/pkg-deinstall.in
deleted file mode 100644
index 4a0a2fba8..000000000
--- a/www/mozilla/pkg-deinstall.in
+++ /dev/null
@@ -1,28 +0,0 @@
-#!/bin/sh
-#
-# $MCom: ports/www/mozilla/pkg-deinstall.in,v 1.19 2006/12/09 15:32:06 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/mozilla/pkg-descr b/www/mozilla/pkg-descr
deleted file mode 100644
index 37a7a6403..000000000
--- a/www/mozilla/pkg-descr
+++ /dev/null
@@ -1,10 +0,0 @@
-This is the current release of the Mozilla open source web browser. It should
-be fully compliant with all W3C standards, including HTML, CSS, XML, XSL,
-JavaScript, MathML, SVG and RDF. This version also supports SSL encryption,
-and Java with the use of the FreeBSD native Java plug-in.
-
-This is the latest release of the Mozilla browser. It contains all the
-bugfixes and security enhancements from the mozilla port as well as
-new new features.
-
-WWW: http://www.mozilla.org/
diff --git a/www/mozilla/pkg-install.in b/www/mozilla/pkg-install.in
deleted file mode 100644
index 8fcc2b0ea..000000000
--- a/www/mozilla/pkg-install.in
+++ /dev/null
@@ -1,42 +0,0 @@
-#!/bin/sh
-#
-# $MCom: ports/www/mozilla/pkg-install.in,v 1.19 2006/12/09 15:32:06 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" != "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
-if [ ! -d %%PREFIX%%/lib/browser_plugins ]; then
- mkdir -p %%PREFIX%%/lib/browser_plugins
-fi
-cp -R %%LOCALBASE%%/lib/npapi/symlinks/%%MOZILLA%%/ %%MOZDIR%%/plugins/ > /dev/null 2>&1
-cp -R %%LOCALBASE%%/lib/xpi/symlinks/%%MOZILLA%%/ %%MOZDIR%%/extensions/ > /dev/null 2>&1
-
-exit 0