summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeremy Lea <reg@FreeBSD.org>2002-02-15 18:44:15 +0000
committerJeremy Lea <reg@FreeBSD.org>2002-02-15 18:44:15 +0000
commit6976db798b4b6515232efb9400018053cc2d2101 (patch)
tree71663c5e28622b0013a098c6ff269d888e3ce9d7
parentUpdate to 1.0.7.2 (diff)
Clean up this port, including GCing old configure options and making patches
more acceptable to mozilla.org. Hopefully these will make it into 0.9.9. Add a hack to minimise the number of files extracted. Merge in the patches from the mozilla+ipv6 port. Submitted by: sumikawa (mozilla+ipv6)
Notes
Notes: svn path=/head/; revision=54761
-rw-r--r--www/mozilla-devel/Makefile51
-rw-r--r--www/mozilla-devel/files/patch-ak19
-rw-r--r--www/mozilla-devel/files/patch-mi42
-rw-r--r--www/mozilla-devel/files/patch-netwerk::base::src::nsSocketTransport.cpp329
-rw-r--r--www/mozilla-devel/files/patch-netwerk::base::src::nsSocketTransport.h57
-rw-r--r--www/mozilla-devel/files/patch-nsprpub::configure50
-rw-r--r--www/mozilla-devel/files/patch-nsprpub::pr::include::md::_freebsd.cfg13
-rw-r--r--www/mozilla-devel/files/patch-qt8
-rw-r--r--www/mozilla-devel/files/patch-security::coreconf::FreeBSD.mk50
-rw-r--r--www/mozilla-devel/files/tar-exclude6
-rw-r--r--www/mozilla-devel/pkg-plist113
-rw-r--r--www/mozilla-vendor/Makefile51
-rw-r--r--www/mozilla-vendor/files/patch-ak19
-rw-r--r--www/mozilla-vendor/files/patch-mi42
-rw-r--r--www/mozilla-vendor/files/patch-netwerk::base::src::nsSocketTransport.cpp329
-rw-r--r--www/mozilla-vendor/files/patch-netwerk::base::src::nsSocketTransport.h57
-rw-r--r--www/mozilla-vendor/files/patch-nsprpub::configure50
-rw-r--r--www/mozilla-vendor/files/patch-nsprpub::pr::include::md::_freebsd.cfg13
-rw-r--r--www/mozilla-vendor/files/patch-qt8
-rw-r--r--www/mozilla-vendor/files/patch-security::coreconf::FreeBSD.mk50
-rw-r--r--www/mozilla-vendor/files/tar-exclude6
-rw-r--r--www/mozilla-vendor/pkg-plist113
-rw-r--r--www/mozilla/Makefile51
-rw-r--r--www/mozilla/files/patch-ak19
-rw-r--r--www/mozilla/files/patch-mi42
-rw-r--r--www/mozilla/files/patch-netwerk::base::src::nsSocketTransport.cpp329
-rw-r--r--www/mozilla/files/patch-netwerk::base::src::nsSocketTransport.h57
-rw-r--r--www/mozilla/files/patch-nsprpub::configure50
-rw-r--r--www/mozilla/files/patch-nsprpub::pr::include::md::_freebsd.cfg13
-rw-r--r--www/mozilla/files/patch-qt8
-rw-r--r--www/mozilla/files/patch-security::coreconf::FreeBSD.mk50
-rw-r--r--www/mozilla/files/tar-exclude6
-rw-r--r--www/mozilla/pkg-plist113
-rw-r--r--www/seamonkey/Makefile51
-rw-r--r--www/seamonkey/files/patch-ak19
-rw-r--r--www/seamonkey/files/patch-mi42
-rw-r--r--www/seamonkey/files/patch-netwerk::base::src::nsSocketTransport.cpp329
-rw-r--r--www/seamonkey/files/patch-netwerk::base::src::nsSocketTransport.h57
-rw-r--r--www/seamonkey/files/patch-nsprpub::configure50
-rw-r--r--www/seamonkey/files/patch-nsprpub::pr::include::md::_freebsd.cfg13
-rw-r--r--www/seamonkey/files/patch-qt8
-rw-r--r--www/seamonkey/files/patch-security::coreconf::FreeBSD.mk50
-rw-r--r--www/seamonkey/files/tar-exclude6
-rw-r--r--www/seamonkey/pkg-plist113
-rw-r--r--www/seamonkey2/Makefile51
-rw-r--r--www/seamonkey2/files/patch-ak19
-rw-r--r--www/seamonkey2/files/patch-mi42
-rw-r--r--www/seamonkey2/files/patch-netwerk::base::src::nsSocketTransport.cpp329
-rw-r--r--www/seamonkey2/files/patch-netwerk::base::src::nsSocketTransport.h57
-rw-r--r--www/seamonkey2/files/patch-nsprpub::configure50
-rw-r--r--www/seamonkey2/files/patch-nsprpub::pr::include::md::_freebsd.cfg13
-rw-r--r--www/seamonkey2/files/patch-qt8
-rw-r--r--www/seamonkey2/files/patch-security::coreconf::FreeBSD.mk50
-rw-r--r--www/seamonkey2/files/tar-exclude6
-rw-r--r--www/seamonkey2/pkg-plist113
55 files changed, 2665 insertions, 1025 deletions
diff --git a/www/mozilla-devel/Makefile b/www/mozilla-devel/Makefile
index 0d1197ee8e74..3f5ee1cf1797 100644
--- a/www/mozilla-devel/Makefile
+++ b/www/mozilla-devel/Makefile
@@ -7,6 +7,7 @@
PORTNAME= mozilla
PORTVERSION= 0.9.8
+PORTREVISION= 1
PORTEPOCH= 1
CATEGORIES= www
MASTER_SITES= ${MASTER_SITE_MOZILLA} \
@@ -28,58 +29,58 @@ LIB_DEPENDS= ORBit.2:${PORTSDIR}/devel/ORBit \
WRKSRC= ${WRKDIR}/${PORTNAME}
USE_BZIP2= yes
+EXTRACT_AFTER_ARGS= | tar -xf - -X ${FILESDIR}/tar-exclude
USE_X_PREFIX= yes
USE_PERL5= yes
USE_GMAKE= yes
-USE_NEWGCC= yes
USE_GTK= yes
GNU_CONFIGURE= yes
CONFIGURE_ARGS= \
+ --disable-auto-deps \
+ --enable-chrome-format=jar \
--disable-cpp-exceptions \
--disable-cpp-rtti \
- --disable-debug \
- --disable-idltool \
- --disable-md \
- --disable-pedantic \
- --disable-xterm-updates \
--enable-crypto \
+ --disable-debug \
+ --enable-default-toolkit=gtk \
--enable-double-buffer \
- --enable-editor \
+ --enable-dtd-debug \
+ --enable-jsd \
+ --enable-ldap \
--enable-mailnews \
--enable-mathml \
- --enable-optimize="${CFLAGS}" \
- --enable-pics \
+ --disable-md \
+ --disable-optimize \
+ --disable-pedantic \
+ --disable-plaintext-editor-only \
+ --enable-reorder \
+ --enable-strip \
--enable-svg \
- --enable-tests \
- --enable-toolkit=gtk \
- --enable-x11-shm \
- --enable-chrome-format=jar \
- --with-jpeg=${LOCALBASE} \
- --with-png=${LOCALBASE} \
- --with-mng=${LOCALBASE} \
+ --disable-tests \
+ --disable-xterm-updates \
+ --enable-xinerama \
+ --with-system-jpeg=${LOCALBASE} \
+ --with-system-mng=${LOCALBASE} \
+ --with-system-png=${LOCALBASE} \
--with-pthreads
.if !defined(WITHOUT_CHATZILLA)
CONFIGURE_ARGS+= --with-extensions=default,irc
.endif
-CONFIGURE_ENV= BSD_PTHREAD_LIBS="${PTHREAD_LIBS}" \
- CFLAGS="" CXXFLAGS="" \
- MOZ_INTERNAL_LIBART_LGPL=1
+CONFIGURE_ENV= MOZ_INTERNAL_LIBART_LGPL=1
MAKE_ENV= LD_LIBRARY_PATH=${WRKSRC}/dist/bin \
- CFLAGS="" CXXFLAGS="" \
- MALLOC_OPTIONS=j \
MOZ_INTERNAL_LIBART_LGPL=1
ALL_TARGET= default
post-build:
- @${SED} -e "s;@PREFIX@;${PREFIX};g" \
+ ${SED} -e "s;@PREFIX@;${PREFIX};g" \
${FILESDIR}/mozilla.sh >${WRKSRC}/mozilla
- @(cd ${WRKSRC}/dist/bin; \
+ (cd ${WRKSRC}/dist/bin; \
${SETENV} LD_LIBRARY_PATH=. MOZILLA_FIVE_HOME=. ./regxpcom; \
${ECHO_CMD} skin,install,select,classic/1.0 >> chrome/installed-chrome.txt; \
${ECHO_CMD} locale,install,select,en-US >> chrome/installed-chrome.txt; \
${SETENV} LD_LIBRARY_PATH=. MOZILLA_FIVE_HOME=. ./regchrome)
- @/usr/bin/find ${WRKSRC}/dist/bin -type d | /usr/bin/sort -r | \
- /usr/bin/xargs ${RMDIR} 2> /dev/null || ${TRUE}
+ ${FIND} ${WRKSRC}/dist/bin -type d | /usr/bin/sort -r | \
+ ${XARGS} ${RMDIR} 2> /dev/null || ${TRUE}
do-install:
${MKDIR} ${PREFIX}/lib/mozilla
diff --git a/www/mozilla-devel/files/patch-ak b/www/mozilla-devel/files/patch-ak
index e175dd292bd1..5323d970afec 100644
--- a/www/mozilla-devel/files/patch-ak
+++ b/www/mozilla-devel/files/patch-ak
@@ -3,11 +3,16 @@ $FreeBSD$
--- nsprpub/pr/include/md/_freebsd.h.orig Sat Jan 5 03:43:00 2002
+++ nsprpub/pr/include/md/_freebsd.h Tue Feb 5 11:14:27 2002
-@@ -40,6 +40,7 @@
- #if __FreeBSD__ >= 2
- #include <osreldate.h> /* for __FreeBSD_version */
- #endif
-+#include <sys/param.h>
- #include <sys/syscall.h>
+@@ -87,6 +88,12 @@
+
+ #define _PR_HAVE_SYSV_SEMAPHORES
+ #define PR_HAVE_SYSV_NAMED_SHARED_MEMORY
++
++#if __FreeBSD_version >= 400014
++#define _PR_INET6
++#define _PR_HAVE_GETHOSTBYNAME2
++#define _PR_INET6_PROBE
++#endif
+
+ #define USE_SETJMP
- #define PR_LINKER_ARCH "freebsd"
diff --git a/www/mozilla-devel/files/patch-mi b/www/mozilla-devel/files/patch-mi
deleted file mode 100644
index c0ae3987e0d7..000000000000
--- a/www/mozilla-devel/files/patch-mi
+++ /dev/null
@@ -1,42 +0,0 @@
-
-$FreeBSD$
-
---- nsprpub/config/FreeBSD.mk.orig Sat Jul 29 03:50:35 2000
-+++ nsprpub/config/FreeBSD.mk Mon Sep 17 10:47:08 2001
-@@ -37,19 +37,21 @@
-
- include $(MOD_DEPTH)/config/UNIX.mk
-
--CC = gcc
--CCC = g++
-+CCC = $(CXX)
- RANLIB = ranlib
-
-+# During FreeBSD port build, CFLAGS contains all of the optimizations
-+# flags desired...
-+OPTIMIZER = $(MOZ_OPTIMIZE_FLAGS)
-+
- ifeq ($(OS_TEST),alpha)
- CPU_ARCH = alpha
- else
--OS_REL_CFLAGS = -Di386
- CPU_ARCH = x86
- endif
- CPU_ARCH_TAG = _$(CPU_ARCH)
-
--OS_CFLAGS = $(DSO_CFLAGS) $(OS_REL_CFLAGS) -ansi -Wall -pipe $(THREAD_FLAG) -DFREEBSD -DHAVE_STRERROR -DHAVE_BSD_FLOCK
-+OS_CFLAGS = $(DSO_CFLAGS) $(OS_REL_CFLAGS) -ansi -Wall -pipe -DFREEBSD -DHAVE_STRERROR -DHAVE_BSD_FLOCK
-
- #
- # The default implementation strategy for FreeBSD is pthreads.
-@@ -60,8 +62,8 @@
- else
- USE_PTHREADS = 1
- IMPL_STRATEGY = _PTH
--DEFINES += -D_THREAD_SAFE
--THREAD_FLAG += -pthread
-+DEFINES += -D_THREAD_SAFE -D_REENTRANT
-+DSO_LDOPTS += -pthread
- endif
-
- ARCH = freebsd
diff --git a/www/mozilla-devel/files/patch-netwerk::base::src::nsSocketTransport.cpp b/www/mozilla-devel/files/patch-netwerk::base::src::nsSocketTransport.cpp
new file mode 100644
index 000000000000..c9adc8584c7d
--- /dev/null
+++ b/www/mozilla-devel/files/patch-netwerk::base::src::nsSocketTransport.cpp
@@ -0,0 +1,329 @@
+--- netwerk/base/src/nsSocketTransport.cpp.orig Fri Feb 8 11:20:08 2002
++++ netwerk/base/src/nsSocketTransport.cpp Fri Feb 8 11:20:16 2002
+@@ -143,6 +143,7 @@
+ mHostName(nsnull),
+ mPort(-1),
+ mMonitor(nsnull),
++ mNetAddress(nsnull),
+ mOperation(eSocketOperation_None),
+ mProxyPort(-1),
+ mProxyHost(nsnull),
+@@ -183,12 +184,6 @@
+ SetWriteType(eSocketWrite_None);
+
+ //
+- // Set up Internet defaults...
+- //
+- memset(&mNetAddress, 0, sizeof(mNetAddress));
+- PR_SetNetAddr(PR_IpAddrAny, PR_AF_INET6, 0, &mNetAddress);
+-
+- //
+ // Initialize the global connect timeout value if necessary...
+ //
+ if (PR_INTERVAL_NO_WAIT == gConnectTimeout)
+@@ -415,6 +410,14 @@
+
+ while (!done) {
+ //
++ // Check for failure on any socket requests
++ //
++ if (mReadRequest && mReadRequest->HasFailed())
++ mReadRequest->GetStatus(&mStatus);
++ else if (mWriteRequest && mWriteRequest->HasFailed())
++ mWriteRequest->GetStatus(&mStatus);
++
++ //
+ // If an error has occurred then move into the error state...
+ //
+ if (NS_FAILED(mStatus) && (NS_BASE_STREAM_WOULD_BLOCK != mStatus))
+@@ -495,17 +498,40 @@
+ // Send status message
+ // only send a status if doResolveHost is going to do some
+ // resolution
+- if (mStatus != NS_OK)
++ if (mStatus == NS_BASE_STREAM_WOULD_BLOCK)
+ OnStatus_Locked(NS_NET_STATUS_RESOLVING_HOST);
+ break;
+
+ case eSocketState_WaitConnect:
+ LOG(("nsSocketTransport: Transport [host=%s:%d this=%x] is in WaitConnect state.\n",
+ mHostName, mPort, this));
+- mStatus = doConnection(aSelectFlags);
+
+ // Send status message
+ OnStatus_Locked(NS_NET_STATUS_CONNECTING_TO);
++
++ mStatus = doConnection(aSelectFlags);
++
++ // on connection failure, reuse next address if one exists
++ if (mStatus == NS_ERROR_CONNECTION_REFUSED) {
++ mNetAddress = mNetAddrList.GetNext(mNetAddress);
++ if (mNetAddress) {
++#if defined(PR_LOGGING)
++ char buf[50];
++ PR_NetAddrToString(mNetAddress, buf, sizeof(buf));
++ LOG(("connection failed... trying %s\n", buf));
++#endif
++ PR_Close(mSocketFD);
++ mSocketFD = nsnull;
++
++ // mask error status so we'll return to this state
++ mStatus = NS_OK;
++
++ // need to re-enter Process() asynchronously
++ mService->AddToWorkQ(this);
++ done = PR_TRUE;
++ continue;
++ }
++ }
+ break;
+
+ case eSocketState_WaitReadWrite:
+@@ -633,21 +659,19 @@
+
+ NS_ASSERTION(eSocketState_WaitDNS == mCurrentState, "Wrong state.");
+
+- LOG(("nsSocketTransport: Entering doResolveHost() [host=%s:%d this=%x].\n",
++ LOG(("nsSocketTransport: Entering doResolveHost() [host=%s:%d %x].\n",
+ mHostName, mPort, this));
+
++ //
++ // The hostname is being resolved...
++ //
++ if (mDNSRequest)
++ return NS_BASE_STREAM_WOULD_BLOCK;
++
+ //
+ // The hostname has not been resolved yet...
+ //
+- if (PR_IsNetAddrType(&mNetAddress, PR_IpAddrAny)) {
+- //
+- // Initialize the port used for the connection...
+- //
+- // XXX: The list of ports must be restricted - see net_bad_ports_table[] in
+- // mozilla/network/main/mkconect.c
+- //
+- mNetAddress.ipv6.port = PR_htons(((mProxyPort != -1 && !mProxyTransparent) ? mProxyPort : mPort));
+-
++ if (mNetAddress == nsnull) {
+ PR_ExitMonitor(mMonitor);
+
+ nsIDNSService* pDNSService = mService->GetCachedDNSService();
+@@ -659,9 +683,7 @@
+ // Give up the SocketTransport lock. This allows the DNS thread to call the
+ // nsIDNSListener notifications without blocking...
+ //
+- rv = pDNSService->Lookup((mProxyHost && !mProxyTransparent) ? mProxyHost : mHostName,
+- this,
+- nsnull,
++ rv = pDNSService->Lookup(GetSocketHost(), this, nsnull,
+ getter_AddRefs(mDNSRequest));
+ //
+ // Aquire the SocketTransport lock again...
+@@ -672,7 +694,7 @@
+ //
+ // The DNS lookup has finished... It has either failed or succeeded.
+ //
+- if (NS_FAILED(mStatus) || !PR_IsNetAddrType(&mNetAddress, PR_IpAddrAny)) {
++ if (NS_FAILED(mStatus) || mNetAddress) {
+ mDNSRequest = 0;
+ rv = mStatus;
+ }
+@@ -687,10 +709,8 @@
+ }
+ }
+
+- LOG(("nsSocketTransport: Leaving doResolveHost() [%s:%d %x].\t"
+- "rv = %x.\n\n",
++ LOG(("nsSocketTransport: Leaving doResolveHost() [%s:%d %x] rv = %x\n",
+ mHostName, mPort, this, rv));
+-
+ return rv;
+ }
+
+@@ -832,7 +852,7 @@
+ // This is only done the first time doConnection(...) is called.
+ //
+ if (NS_SUCCEEDED(rv)) {
+- status = PR_Connect(mSocketFD, &mNetAddress, gConnectTimeout);
++ status = PR_Connect(mSocketFD, mNetAddress, gConnectTimeout);
+ if (PR_SUCCESS != status) {
+ PRErrorCode code = PR_GetError();
+ //
+@@ -932,14 +952,17 @@
+ //
+ // The hostname has not been resolved yet...
+ //
+- if (PR_IsNetAddrType(&mNetAddress, PR_IpAddrAny)) {
++ if (mNetAddress == nsnull) {
+ nsIDNSService* pDNSService = mService->GetCachedDNSService();
+ if (!pDNSService) {
+ return NS_ERROR_UNEXPECTED;
+ }
+
+ nsXPIDLCString result;
+- const char *host = (mProxyHost && !mProxyTransparent) ? mProxyHost : mHostName;
++ const char *host = GetSocketHost();
++
++ // XXX DNS service does not provide a synchronous resolver that returns
++ // the entire nsHostEnt struct.
+ rv = pDNSService->Resolve(host, getter_Copies(result));
+ if (NS_FAILED(rv)) return rv;
+
+@@ -953,16 +976,18 @@
+ return NS_ERROR_FAILURE;
+ }
+
++ mNetAddrList.Init(1);
++ mNetAddress = mNetAddrList.GetNext(nsnull);
++
++ PR_SetNetAddr(PR_IpAddrAny, PR_AF_INET6, GetSocketPort(), mNetAddress);
++
+ if (addr.raw.family == PR_AF_INET)
+- PR_ConvertIPv4AddrToIPv6(addr.inet.ip, &mNetAddress.ipv6.ip);
++ PR_ConvertIPv4AddrToIPv6(addr.inet.ip, &mNetAddress->ipv6.ip);
+ else
+- memcpy(&mNetAddress.ipv6.ip, &addr.ipv6.ip, sizeof(mNetAddress.ipv6.ip));
+-
+- mNetAddress.ipv6.port
+- = PR_htons(((mProxyPort != -1 && !mProxyTransparent) ? mProxyPort : mPort));
++ memcpy(&mNetAddress->ipv6.ip, &addr.ipv6.ip, sizeof(mNetAddress->ipv6.ip));
+
+ LOG(("address { family=%hu, port=%hu }\n",
+- mNetAddress.ipv6.family, PR_ntohs(mNetAddress.ipv6.port)));
++ mNetAddress->ipv6.family, PR_ntohs(mNetAddress->ipv6.port)));
+ }
+
+ //
+@@ -1036,7 +1061,6 @@
+ if (mReadRequest) {
+ if (mReadRequest->IsCanceled() || (mBytesExpected == 0)) {
+ LOG(("nsSocketTransport: [this=%x] completing read request due to cancelation\n", this));
+- mSelectFlags &= ~PR_POLL_READ;
+ mReadRequest->GetStatus(&readStatus);
+ CompleteAsyncRead();
+ if (NS_FAILED(readStatus))
+@@ -1078,7 +1102,6 @@
+ if (mWriteRequest) {
+ if (mWriteRequest->IsCanceled()) {
+ LOG(("nsSocketTransport: [this=%x] completing write request due to cancelation\n", this));
+- mSelectFlags &= ~PR_POLL_WRITE;
+ mWriteRequest->GetStatus(&writeStatus);
+ CompleteAsyncWrite();
+ if (NS_FAILED(writeStatus))
+@@ -1485,23 +1508,44 @@
+ nsAutoMonitor mon(mMonitor);
+ nsresult rv = NS_OK;
+
+- if (aHostEnt->hostEnt.h_addr_list && aHostEnt->hostEnt.h_addr_list[0]) {
+- if (aHostEnt->hostEnt.h_addrtype == PR_AF_INET6)
+- memcpy(&mNetAddress.ipv6.ip, aHostEnt->hostEnt.h_addr_list[0], sizeof(mNetAddress.ipv6.ip));
+- else
+- PR_ConvertIPv4AddrToIPv6(*(PRUint32*)aHostEnt->hostEnt.h_addr_list[0], &mNetAddress.ipv6.ip);
++ char **addrList = aHostEnt->hostEnt.h_addr_list;
++
++ if (addrList && addrList[0]) {
++ PRUint32 len = 0;
++
++ LOG(("nsSocketTransport::OnFound [%s:%d %x] lookup succeeded [FQDN=%s]\n",
++ mHostName, mPort, this, aHostEnt->hostEnt.h_name));
++
++ // determine the number of address in the list
++ for (; *addrList; ++addrList)
++ ++len;
++ addrList -= len;
++
++ // allocate space for the addresses
++ mNetAddrList.Init(len);
++
++ // populate the address list
++ PRNetAddr *addr = nsnull;
++ while ((addr = mNetAddrList.GetNext(addr)) != nsnull) {
++ PR_SetNetAddr(PR_IpAddrAny, PR_AF_INET6, GetSocketPort(), addr);
++ if (aHostEnt->hostEnt.h_addrtype == PR_AF_INET6)
++ memcpy(&addr->ipv6.ip, *addrList, sizeof(addr->ipv6.ip));
++ else
++ PR_ConvertIPv4AddrToIPv6(*(PRUint32 *)(*addrList), &addr->ipv6.ip);
++ ++addrList;
+ #if defined(PR_LOGGING)
+- char addrbuf[50];
+- PR_NetAddrToString(&mNetAddress, addrbuf, sizeof(addrbuf));
+- LOG(("nsSocketTransport: OnFound(...) [%s:%d %x]."
+- " DNS lookup succeeded => %s (%s)\n",
+- mHostName, mPort, this,
+- aHostEnt->hostEnt.h_name,
+- addrbuf));
++ char buf[50];
++ PR_NetAddrToString(addr, buf, sizeof(buf));
++ LOG((" => %s\n", buf));
+ #endif
+- } else {
+- // XXX: What should happen here? The GetHostByName(...) succeeded but
+- // there are *no* A records...
++ }
++
++ // start with first address in list
++ mNetAddress = mNetAddrList.GetNext(nsnull);
++ }
++ else {
++ // XXX: What should happen here? The DNS lookup succeeded, but there
++ // are no address records...
+ rv = NS_ERROR_FAILURE;
+
+ LOG(("nsSocketTransport: OnFound(...) [%s:%d %x]."
+@@ -1531,7 +1575,7 @@
+ // If the lookup failed, set the status...
+ if (NS_FAILED(aStatus))
+ mStatus = aStatus;
+- else if (PR_IsNetAddrType(&mNetAddress, PR_IpAddrAny))
++ else if (mNetAddress == nsnull)
+ mStatus = NS_ERROR_ABORT;
+
+ // Start processing the transport again - if necessary...
+@@ -1852,7 +1896,7 @@
+ *_retval = (char*)nsMemory::Alloc(aLen);
+ if (!*_retval) return NS_ERROR_FAILURE;
+
+- PRStatus status = PR_NetAddrToString(&mNetAddress, *_retval, aLen);
++ PRStatus status = PR_NetAddrToString(mNetAddress, *_retval, aLen);
+
+ if (PR_FAILURE == status) {
+ nsMemory::Free(*_retval);
+@@ -1968,6 +2012,37 @@
+
+ if (--mSocketRef == 0)
+ CloseConnection();
++}
++
++//
++//----------------------------------------------------------------------------
++// nsSocketTransport::nsNetAddrList
++//----------------------------------------------------------------------------
++//
++
++nsresult nsSocketTransport::
++nsNetAddrList::Init(PRUint32 len)
++{
++ NS_ASSERTION(!mList, "already initialized");
++ mList = new PRNetAddr[len];
++ if (!mList)
++ return NS_ERROR_OUT_OF_MEMORY;
++ mLen = len;
++ return NS_OK;
++}
++
++PRNetAddr *nsSocketTransport::
++nsNetAddrList::GetNext(PRNetAddr *addr)
++{
++ if (!addr)
++ return mList;
++
++ PRUint32 offset = addr - mList;
++ NS_ASSERTION(offset < mLen, "invalid address");
++ if (offset + 1 < mLen)
++ return addr + 1;
++
++ return nsnull;
+ }
+
+ //
diff --git a/www/mozilla-devel/files/patch-netwerk::base::src::nsSocketTransport.h b/www/mozilla-devel/files/patch-netwerk::base::src::nsSocketTransport.h
new file mode 100644
index 000000000000..ed73e127f901
--- /dev/null
+++ b/www/mozilla-devel/files/patch-netwerk::base::src::nsSocketTransport.h
@@ -0,0 +1,57 @@
+--- netwerk/base/src/nsSocketTransport.h.orig Fri Feb 8 11:20:24 2002
++++ netwerk/base/src/nsSocketTransport.h Fri Feb 8 11:20:29 2002
+@@ -176,7 +176,7 @@
+ PRFileDesc* GetSocket(void) { return mSocketFD; }
+ PRInt16 GetSelectFlags(void) { return mSelectFlags; }
+ PRCList* GetListNode(void) { return &mListLink; }
+-
++
+ static nsSocketTransport* GetInstance(PRCList* qp) { return (nsSocketTransport*)((char*)qp - offsetof(nsSocketTransport, mListLink)); }
+
+ PRBool CanBeReused() { return
+@@ -237,8 +237,27 @@
+ inline void ClearFlag(nsSocketReadWriteInfo aFlag) {
+ mReadWriteState &= ~aFlag;
+ }
++
++ PRInt32 GetSocketPort(void) { return (mProxyPort != -1 && !mProxyTransparent) ? mProxyPort : mPort; }
++ const char *GetSocketHost(void) { return (mProxyHost && !mProxyTransparent) ? mProxyHost : mHostName; }
+
+ protected:
++ class nsNetAddrList {
++ public:
++ nsNetAddrList() : mList(nsnull), mLen(0) {}
++ ~nsNetAddrList() { delete[] mList; }
++
++ // allocate space for the address list
++ nsresult Init(PRUint32 len);
++
++ // given a net addr in the list, return the next addr.
++ // if given NULL, then return the first addr in the list.
++ // returns NULL if given addr is the last addr.
++ PRNetAddr *GetNext(PRNetAddr *currentAddr);
++ private:
++ PRNetAddr *mList;
++ PRUint32 mLen;
++ };
+
+ nsSocketState mCurrentState;
+ nsCOMPtr<nsIRequest> mDNSRequest;
+@@ -249,7 +268,8 @@
+ PRIntervalTime mLastActiveTime;
+ PRCList mListLink;
+ PRMonitor* mMonitor;
+- PRNetAddr mNetAddress;
++ nsNetAddrList mNetAddrList;
++ PRNetAddr *mNetAddress;
+ nsSocketOperation mOperation;
+ nsCOMPtr<nsISupports> mSecurityInfo;
+
+@@ -415,6 +435,7 @@
+ PRBool IsInitialized() { return mStartFired; }
+ PRBool IsSuspended() { return mSuspendCount > 0; }
+ PRBool IsCanceled() { return mCanceled; }
++ PRBool HasFailed() { return NS_FAILED(mStatus); }
+
+ void SetTransport(nsSocketTransport *);
+ void SetObserver(nsIRequestObserver *obs) { mObserver = obs; }
diff --git a/www/mozilla-devel/files/patch-nsprpub::configure b/www/mozilla-devel/files/patch-nsprpub::configure
new file mode 100644
index 000000000000..b008097bf949
--- /dev/null
+++ b/www/mozilla-devel/files/patch-nsprpub::configure
@@ -0,0 +1,50 @@
+--- nsprpub/configure.orig Tue Jan 22 23:57:37 2002
++++ nsprpub/configure Thu Feb 14 01:13:13 2002
+@@ -3288,8 +3288,9 @@
+ else
+ DLL_SUFFIX=so.1.0
+ fi
++ MKSHLIB='$(CC) $(DSO_LDOPTS) -o $@'
+ DSO_CFLAGS=-fPIC
+- DSO_LDOPTS=-Bshareable
++ DSO_LDOPTS='-shared -Wl,-soname -Wl,$(notdir $@)'
+ MDCPUCFG_H=_freebsd.cfg
+ PR_MD_CSRCS=freebsd.c
+ ;;
+@@ -5091,8 +5092,15 @@
+ if test $? -eq 0; then
+ if test -z "`egrep -i '(unrecognize|unknown)' conftest.out | grep pthread`" && test -z "`egrep -i '(error|incorrect)' conftest.out`" ; then
+ ac_cv_have_dash_pthread=yes
+- CFLAGS="$CFLAGS -pthread"
+- CXXFLAGS="$CXXFLAGS -pthread"
++ case "$target_os" in
++ freebsd*)
++# Freebsd doesn't use -pthread for compiles, it uses them for linking
++ ;;
++ *)
++ CFLAGS="$CFLAGS -pthread"
++ CXXFLAGS="$CXXFLAGS -pthread"
++ ;;
++ esac
+ fi
+ fi
+ rm -f conftest*
+@@ -5123,11 +5131,17 @@
+ ;;
+ *-freebsd*|*-openbsd*|*-bsdi*|*-netbsd*)
+ cat >> confdefs.h <<\EOF
++#define _REENTRANT 1
++EOF
++
++ cat >> confdefs.h <<\EOF
+ #define _THREAD_SAFE 1
+ EOF
+
+ if test "$ac_cv_have_dash_pthread" = "yes"; then
+- _PTHREAD_LDFLAGS=
++ _PTHREAD_LDFLAGS="-pthread"
++ else
++ _PTHREAD_LDFLAGS="-lc_r"
+ fi
+ ;;
+ *-linux*)
diff --git a/www/mozilla-devel/files/patch-nsprpub::pr::include::md::_freebsd.cfg b/www/mozilla-devel/files/patch-nsprpub::pr::include::md::_freebsd.cfg
deleted file mode 100644
index 417d7d91ddb6..000000000000
--- a/www/mozilla-devel/files/patch-nsprpub::pr::include::md::_freebsd.cfg
+++ /dev/null
@@ -1,13 +0,0 @@
---- nsprpub/pr/include/md/_freebsd.cfg.orig Mon Nov 26 17:07:20 2001
-+++ nsprpub/pr/include/md/_freebsd.cfg Mon Nov 26 17:15:01 2001
-@@ -93,8 +93,8 @@
-
- #elif defined(__alpha)
-
--#define IS_LITTLE_ENDIAN 1
--#undef IS_BIG_ENDIAN
-+#define IS_64
-+
- #define HAVE_LONG_LONG
- #define HAVE_ALIGNED_DOUBLES
- #define HAVE_ALIGNED_LONGLONGS
diff --git a/www/mozilla-devel/files/patch-qt b/www/mozilla-devel/files/patch-qt
index a7c925a72023..05596784fcfe 100644
--- a/www/mozilla-devel/files/patch-qt
+++ b/www/mozilla-devel/files/patch-qt
@@ -40,11 +40,3 @@ $FreeBSD$
QT_LIBS="-L/usr/X11R6/lib -L${QTDIR}/lib -lqt -lXext -lX11"
# Check whether --with-static-qt or --without-static-qt was given.
-@@ -13711,6 +13712,7 @@
- echo "configure: warning: Recreating autoconf.mk with updated nspr-config output" 1>&2
- if test ! "$VACPP" && test -z "$_WIN32_MSVC"; then
- NSPR_LIBS=`./nsprpub/config/nspr-config --prefix=$MOZ_BUILD_ROOT/dist --exec-prefix=$MOZ_BUILD_ROOT/dist --libs`
-+ NSPR_LIBS="$NSPR_LIBS $BSD_PTHREAD_LIBS"
- $PERL -pi.bak -e "s {^NSPR_LIBS\s*=.*} {NSPR_LIBS = $NSPR_LIBS }" config/autoconf.mk
- fi
- if test -z "$_WIN32_MSVC"; then
diff --git a/www/mozilla-devel/files/patch-security::coreconf::FreeBSD.mk b/www/mozilla-devel/files/patch-security::coreconf::FreeBSD.mk
new file mode 100644
index 000000000000..1f33ac826a02
--- /dev/null
+++ b/www/mozilla-devel/files/patch-security::coreconf::FreeBSD.mk
@@ -0,0 +1,50 @@
+--- security/coreconf/FreeBSD.mk.orig Tue Sep 19 05:53:08 2000
++++ security/coreconf/FreeBSD.mk Thu Feb 14 14:19:02 2002
+@@ -35,27 +35,27 @@
+
+ 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
+-OS_REL_CFLAGS = -Di386
+ CPU_ARCH = x86
+ endif
+
+-OS_CFLAGS = $(DSO_CFLAGS) $(OS_REL_CFLAGS) -ansi -Wall -pipe $(THREAD_FLAG) -DFREEBSD -DHAVE_STRERROR -DHAVE_BSD_FLOCK
++OS_CFLAGS = $(DSO_CFLAGS) $(OS_REL_CFLAGS) -ansi -Wall -DFREEBSD -DHAVE_STRERROR -DHAVE_BSD_FLOCK
++
++DSO_CFLAGS = -fPIC
++DSO_LDOPTS = -shared -Wl,-soname -Wl,$(notdir $@)
+
+ #
+ # The default implementation strategy for FreeBSD is pthreads.
+ #
+ ifndef CLASSIC_NSPR
+ USE_PTHREADS = 1
+-DEFINES += -D_THREAD_SAFE
+-THREAD_FLAG = -pthread
++DEFINES += -D_THREAD_SAFE -D_REENTRANT
++DSO_LDOPTS += -pthread
+ endif
+
+ ARCH = freebsd
+@@ -68,11 +68,7 @@
+ DLL_SUFFIX = so.1.0
+ endif
+
+-DSO_CFLAGS = -fPIC
+-DSO_LDOPTS = -Bshareable
+-DSO_LDFLAGS =
+-
+-MKSHLIB = $(LD) $(DSO_LDOPTS)
++MKSHLIB = $(CC) $(DSO_LDOPTS) -o $@
+
+ G++INCLUDES = -I/usr/include/g++
+
diff --git a/www/mozilla-devel/files/tar-exclude b/www/mozilla-devel/files/tar-exclude
new file mode 100644
index 000000000000..b4d218b0a9fa
--- /dev/null
+++ b/www/mozilla-devel/files/tar-exclude
@@ -0,0 +1,6 @@
+*/CVS/*
+*/macbuild/*
+*/package/*
+.cvsignore
+makefile.win
+MANIFEST
diff --git a/www/mozilla-devel/pkg-plist b/www/mozilla-devel/pkg-plist
index 17b82c589575..34ec0b079c54 100644
--- a/www/mozilla-devel/pkg-plist
+++ b/www/mozilla-devel/pkg-plist
@@ -1,85 +1,12 @@
bin/mozilla
-lib/mozilla/DumpColors
-lib/mozilla/FilesTest
-lib/mozilla/OutTestData/doctype.xif
-lib/mozilla/OutTestData/entityxif.out
-lib/mozilla/OutTestData/entityxif.xif
-lib/mozilla/OutTestData/htmltable.html
-lib/mozilla/OutTestData/htmltable.out
-lib/mozilla/OutTestData/mailquote.html
-lib/mozilla/OutTestData/mailquote.out
-lib/mozilla/OutTestData/plain.html
-lib/mozilla/OutTestData/plainnowrap.out
-lib/mozilla/OutTestData/plainwrap.out
-lib/mozilla/OutTestData/simple.html
-lib/mozilla/OutTestData/simplecopy.out
-lib/mozilla/OutTestData/simplefmt.out
-lib/mozilla/OutTestData/simplemail.html
-lib/mozilla/OutTestData/simplemail.out
-lib/mozilla/OutTestData/xifdthtml.out
-lib/mozilla/OutTestData/xifdtplain.out
-lib/mozilla/OutTestData/xifstuff.out
-lib/mozilla/OutTestData/xifstuff.xif
-lib/mozilla/PrimitiveTest
-lib/mozilla/PropertiesTest
-lib/mozilla/SimpleTypeLib
-lib/mozilla/StringBundleTest
-lib/mozilla/TestArray
-lib/mozilla/TestAtoms
-lib/mozilla/TestAutoLock
-lib/mozilla/TestCOMPtr
-lib/mozilla/TestCOMPtrEq
-lib/mozilla/TestCRT
-lib/mozilla/TestCSSPropertyLookup
-lib/mozilla/TestCallTemplates
-lib/mozilla/TestCallbacks
-lib/mozilla/TestColorNames
-lib/mozilla/TestCookie
-lib/mozilla/TestDBMAccess
-lib/mozilla/TestFactory
-lib/mozilla/TestFileInput
-lib/mozilla/TestFileInput2
-lib/mozilla/TestFileTransport
lib/mozilla/TestGtkEmbed
lib/mozilla/TestGtkEmbedChild
lib/mozilla/TestGtkEmbedNotebook
lib/mozilla/TestGtkEmbedSocket
-lib/mozilla/TestHttp
-lib/mozilla/TestID
-lib/mozilla/TestIDN
-lib/mozilla/TestInterfaceInfo
-lib/mozilla/TestLineBreak
-lib/mozilla/TestMCTransport
-lib/mozilla/TestObserverService
-lib/mozilla/TestOutSinks.pl
-lib/mozilla/TestOutput
-lib/mozilla/TestPageLoad
-lib/mozilla/TestPerf
-lib/mozilla/TestPermanentAtoms
-lib/mozilla/TestPipes
-lib/mozilla/TestProtocols
-lib/mozilla/TestRect
-lib/mozilla/TestServMgr
-lib/mozilla/TestSocketIO
-lib/mozilla/TestSocketInput
-lib/mozilla/TestSocketTransport
-lib/mozilla/TestSpaceManager
-lib/mozilla/TestStandardURL
-lib/mozilla/TestStreamConv
-lib/mozilla/TestTXMgr
-lib/mozilla/TestThreads
-lib/mozilla/TestURLParser
-lib/mozilla/TestVoidBTree
-lib/mozilla/TestXMLExtras
-lib/mozilla/TestXPC
-lib/mozilla/TestXPIDLString
-lib/mozilla/TestXPTCInvoke
-lib/mozilla/UnicharSelfTest
lib/mozilla/bloaturls.txt
lib/mozilla/chrome/US.jar
lib/mozilla/chrome/chatzilla.jar
lib/mozilla/chrome/chrome.rdf
-@unexec rm -f %D/lib/mozilla/chrome/chrome.rdf || true
lib/mozilla/chrome/chromelist.txt
lib/mozilla/chrome/classic.jar
lib/mozilla/chrome/comm.jar
@@ -105,7 +32,6 @@ lib/mozilla/chrome/pippki.jar
lib/mozilla/chrome/toolkit.jar
lib/mozilla/chrome/venkman.jar
lib/mozilla/component.reg
-@unexec rm -f %D/lib/mozilla/component.reg || true
lib/mozilla/components/absync.xpt
lib/mozilla/components/accessibility.xpt
lib/mozilla/components/addrbook.xpt
@@ -158,7 +84,6 @@ lib/mozilla/components/jsurl.xpt
lib/mozilla/components/layout_base.xpt
lib/mozilla/components/layout_xul.xpt
lib/mozilla/components/layout_xul_outliner.xpt
-lib/mozilla/components/libMyService.so
lib/mozilla/components/libabsyncsvc.so
lib/mozilla/components/libaccessibility.so
lib/mozilla/components/libaddrbook.so
@@ -226,10 +151,8 @@ lib/mozilla/components/libpref.so
lib/mozilla/components/libprofile.so
lib/mozilla/components/librdf.so
lib/mozilla/components/libregviewer.so
-lib/mozilla/components/libsample.so
lib/mozilla/components/libshistory.so
lib/mozilla/components/libstrres.so
-lib/mozilla/components/libtestdynamic.so
lib/mozilla/components/libtransformiix.so
lib/mozilla/components/libtxmgr.so
lib/mozilla/components/libtxtsvc.so
@@ -251,7 +174,6 @@ lib/mozilla/components/libwebbrwsr.so
lib/mozilla/components/libwidget_gtk.so
lib/mozilla/components/libxmlextras.so
lib/mozilla/components/libxpconnect.so
-lib/mozilla/components/libxpctest.so
lib/mozilla/components/libxpinstall.so
lib/mozilla/components/libxremote_client.so
lib/mozilla/components/libxremoteservice.so
@@ -288,7 +210,6 @@ lib/mozilla/components/nsFilePicker.js
lib/mozilla/components/nsHelperAppDlg.js
lib/mozilla/components/nsLDAPPrefsService.js
lib/mozilla/components/nsProxyAutoConfig.js
-lib/mozilla/components/nsSample.js
lib/mozilla/components/nsSidebar.js
lib/mozilla/components/nsXmlRpcClient.js
lib/mozilla/components/oji.xpt
@@ -300,11 +221,9 @@ lib/mozilla/components/pref.xpt
lib/mozilla/components/prefmigr.xpt
lib/mozilla/components/profile.xpt
lib/mozilla/components/proxyObjInst.xpt
-lib/mozilla/components/proxytest.xpt
lib/mozilla/components/rdf.xpt
lib/mozilla/components/regviewer.xpt
lib/mozilla/components/related.xpt
-lib/mozilla/components/sample.xpt
lib/mozilla/components/search.xpt
lib/mozilla/components/shistory.xpt
lib/mozilla/components/sidebar.xpt
@@ -336,10 +255,8 @@ lib/mozilla/components/xpcom_io.xpt
lib/mozilla/components/xpcom_threads.xpt
lib/mozilla/components/xpcom_xpti.xpt
lib/mozilla/components/xpconnect.xpt
-lib/mozilla/components/xpconnect_tests.xpt
lib/mozilla/components/xpinstall.xpt
lib/mozilla/components/xpti.dat
-@unexec rm -f %D/lib/mozilla/components/xpti.dat || true
lib/mozilla/components/xremoteservice.xpt
lib/mozilla/components/xuldoc.xpt
lib/mozilla/components/xultmpl.xpt
@@ -378,10 +295,8 @@ lib/mozilla/defaults/wallet/VcardSchema.tbl
lib/mozilla/dirver
lib/mozilla/dtd/mathml.dtd
lib/mozilla/dtd/svg.dtd
-lib/mozilla/htmlrobot
lib/mozilla/icons/mozicon16.xpm
lib/mozilla/icons/mozicon50.xpm
-lib/mozilla/libDebugRobot.so
lib/mozilla/libgkgfx.so
lib/mozilla/libgtkembedmoz.so
lib/mozilla/libgtksuperwin.so
@@ -400,20 +315,12 @@ lib/mozilla/libplds4.so
lib/mozilla/libxlibrgb.so
lib/mozilla/libxpcom.so
lib/mozilla/libxpistub.so
-lib/mozilla/lots
lib/mozilla/mozilla
lib/mozilla/mozilla-bin
lib/mozilla/mozilla-config
-lib/mozilla/mozilla-viewer.sh
lib/mozilla/mozilla-xremote-client
-lib/mozilla/nsIFileEnumerator
-lib/mozilla/nsIFileTest
-lib/mozilla/nsTestSample
lib/mozilla/nsinstall
lib/mozilla/plugins/libnullplugin.so
-lib/mozilla/proxytests
-lib/mozilla/rdfcat
-lib/mozilla/rdfpoll
lib/mozilla/regExport
lib/mozilla/regchrome
lib/mozilla/regxpcom
@@ -454,7 +361,6 @@ lib/mozilla/res/html/gopher-text.gif
lib/mozilla/res/html/gopher-unknown.gif
lib/mozilla/res/inspector/search-registry.rdf
lib/mozilla/res/inspector/viewer-registry.rdf
-lib/mozilla/res/jarlist.dat
lib/mozilla/res/langGroups.properties
lib/mozilla/res/language.properties
lib/mozilla/res/loading-image.gif
@@ -489,7 +395,6 @@ lib/mozilla/res/samples/demoform.css
lib/mozilla/res/samples/dexopenchrome.xul
lib/mozilla/res/samples/dexparamdialog.html
lib/mozilla/res/samples/dexparamdialog.xul
-lib/mozilla/res/samples/embed-test.html
lib/mozilla/res/samples/find.html
lib/mozilla/res/samples/gear1.gif
lib/mozilla/res/samples/hidetoolicon.css
@@ -544,15 +449,8 @@ lib/mozilla/res/samples/toolbarTest1.xul
lib/mozilla/res/samples/treeTest1.css
lib/mozilla/res/samples/treeTest1.xul
lib/mozilla/res/samples/widgets.xul
-lib/mozilla/res/samples/xpconnect-sample.html
lib/mozilla/res/samples/xpmenu.xul
lib/mozilla/res/samples/xulTest.css
-lib/mozilla/res/strres-test.dtd
-lib/mozilla/res/strres-test.html
-lib/mozilla/res/strres-test.js
-lib/mozilla/res/strres-test.xul
-lib/mozilla/res/strres.properties
-lib/mozilla/res/test.properties
lib/mozilla/res/throbber/anim.gif
lib/mozilla/res/throbber/anims00.gif
lib/mozilla/res/throbber/anims01.gif
@@ -586,8 +484,6 @@ lib/mozilla/res/throbber/anims28.gif
lib/mozilla/res/throbber/anims29.gif
lib/mozilla/res/ua.css
lib/mozilla/res/unixcharset.properties
-lib/mozilla/res/urlparse.dat
-lib/mozilla/res/urlparse_unx.dat
lib/mozilla/res/viewer.properties
lib/mozilla/res/viewsource.css
lib/mozilla/run-mozilla.sh
@@ -603,16 +499,14 @@ lib/mozilla/searchplugins/lxrmozilla.gif
lib/mozilla/searchplugins/lxrmozilla.src
lib/mozilla/searchplugins/mozilla.gif
lib/mozilla/searchplugins/mozilla.src
-lib/mozilla/testart
-lib/mozilla/testuta
-lib/mozilla/urltest
-lib/mozilla/viewer
-lib/mozilla/viewer_gtk
lib/mozilla/xpcshell
lib/mozilla/xpicleanup
lib/mozilla/xpidl
lib/mozilla/xpt_dump
lib/mozilla/xpt_link
+@unexec rm -f %D/lib/mozilla/chrome/chrome.rdf || true
+@unexec rm -f %D/lib/mozilla/component.reg || true
+@unexec rm -f %D/lib/mozilla/components/xpti.dat || true
@dirrm lib/mozilla/searchplugins
@dirrm lib/mozilla/res/throbber
@dirrm lib/mozilla/res/samples/sampleimages
@@ -649,5 +543,4 @@ lib/mozilla/xpt_link
@dirrm lib/mozilla/chrome/overlayinfo/communicator
@dirrm lib/mozilla/chrome/overlayinfo
@dirrm lib/mozilla/chrome
-@dirrm lib/mozilla/OutTestData
@dirrm lib/mozilla
diff --git a/www/mozilla-vendor/Makefile b/www/mozilla-vendor/Makefile
index 0d1197ee8e74..3f5ee1cf1797 100644
--- a/www/mozilla-vendor/Makefile
+++ b/www/mozilla-vendor/Makefile
@@ -7,6 +7,7 @@
PORTNAME= mozilla
PORTVERSION= 0.9.8
+PORTREVISION= 1
PORTEPOCH= 1
CATEGORIES= www
MASTER_SITES= ${MASTER_SITE_MOZILLA} \
@@ -28,58 +29,58 @@ LIB_DEPENDS= ORBit.2:${PORTSDIR}/devel/ORBit \
WRKSRC= ${WRKDIR}/${PORTNAME}
USE_BZIP2= yes
+EXTRACT_AFTER_ARGS= | tar -xf - -X ${FILESDIR}/tar-exclude
USE_X_PREFIX= yes
USE_PERL5= yes
USE_GMAKE= yes
-USE_NEWGCC= yes
USE_GTK= yes
GNU_CONFIGURE= yes
CONFIGURE_ARGS= \
+ --disable-auto-deps \
+ --enable-chrome-format=jar \
--disable-cpp-exceptions \
--disable-cpp-rtti \
- --disable-debug \
- --disable-idltool \
- --disable-md \
- --disable-pedantic \
- --disable-xterm-updates \
--enable-crypto \
+ --disable-debug \
+ --enable-default-toolkit=gtk \
--enable-double-buffer \
- --enable-editor \
+ --enable-dtd-debug \
+ --enable-jsd \
+ --enable-ldap \
--enable-mailnews \
--enable-mathml \
- --enable-optimize="${CFLAGS}" \
- --enable-pics \
+ --disable-md \
+ --disable-optimize \
+ --disable-pedantic \
+ --disable-plaintext-editor-only \
+ --enable-reorder \
+ --enable-strip \
--enable-svg \
- --enable-tests \
- --enable-toolkit=gtk \
- --enable-x11-shm \
- --enable-chrome-format=jar \
- --with-jpeg=${LOCALBASE} \
- --with-png=${LOCALBASE} \
- --with-mng=${LOCALBASE} \
+ --disable-tests \
+ --disable-xterm-updates \
+ --enable-xinerama \
+ --with-system-jpeg=${LOCALBASE} \
+ --with-system-mng=${LOCALBASE} \
+ --with-system-png=${LOCALBASE} \
--with-pthreads
.if !defined(WITHOUT_CHATZILLA)
CONFIGURE_ARGS+= --with-extensions=default,irc
.endif
-CONFIGURE_ENV= BSD_PTHREAD_LIBS="${PTHREAD_LIBS}" \
- CFLAGS="" CXXFLAGS="" \
- MOZ_INTERNAL_LIBART_LGPL=1
+CONFIGURE_ENV= MOZ_INTERNAL_LIBART_LGPL=1
MAKE_ENV= LD_LIBRARY_PATH=${WRKSRC}/dist/bin \
- CFLAGS="" CXXFLAGS="" \
- MALLOC_OPTIONS=j \
MOZ_INTERNAL_LIBART_LGPL=1
ALL_TARGET= default
post-build:
- @${SED} -e "s;@PREFIX@;${PREFIX};g" \
+ ${SED} -e "s;@PREFIX@;${PREFIX};g" \
${FILESDIR}/mozilla.sh >${WRKSRC}/mozilla
- @(cd ${WRKSRC}/dist/bin; \
+ (cd ${WRKSRC}/dist/bin; \
${SETENV} LD_LIBRARY_PATH=. MOZILLA_FIVE_HOME=. ./regxpcom; \
${ECHO_CMD} skin,install,select,classic/1.0 >> chrome/installed-chrome.txt; \
${ECHO_CMD} locale,install,select,en-US >> chrome/installed-chrome.txt; \
${SETENV} LD_LIBRARY_PATH=. MOZILLA_FIVE_HOME=. ./regchrome)
- @/usr/bin/find ${WRKSRC}/dist/bin -type d | /usr/bin/sort -r | \
- /usr/bin/xargs ${RMDIR} 2> /dev/null || ${TRUE}
+ ${FIND} ${WRKSRC}/dist/bin -type d | /usr/bin/sort -r | \
+ ${XARGS} ${RMDIR} 2> /dev/null || ${TRUE}
do-install:
${MKDIR} ${PREFIX}/lib/mozilla
diff --git a/www/mozilla-vendor/files/patch-ak b/www/mozilla-vendor/files/patch-ak
index e175dd292bd1..5323d970afec 100644
--- a/www/mozilla-vendor/files/patch-ak
+++ b/www/mozilla-vendor/files/patch-ak
@@ -3,11 +3,16 @@ $FreeBSD$
--- nsprpub/pr/include/md/_freebsd.h.orig Sat Jan 5 03:43:00 2002
+++ nsprpub/pr/include/md/_freebsd.h Tue Feb 5 11:14:27 2002
-@@ -40,6 +40,7 @@
- #if __FreeBSD__ >= 2
- #include <osreldate.h> /* for __FreeBSD_version */
- #endif
-+#include <sys/param.h>
- #include <sys/syscall.h>
+@@ -87,6 +88,12 @@
+
+ #define _PR_HAVE_SYSV_SEMAPHORES
+ #define PR_HAVE_SYSV_NAMED_SHARED_MEMORY
++
++#if __FreeBSD_version >= 400014
++#define _PR_INET6
++#define _PR_HAVE_GETHOSTBYNAME2
++#define _PR_INET6_PROBE
++#endif
+
+ #define USE_SETJMP
- #define PR_LINKER_ARCH "freebsd"
diff --git a/www/mozilla-vendor/files/patch-mi b/www/mozilla-vendor/files/patch-mi
deleted file mode 100644
index c0ae3987e0d7..000000000000
--- a/www/mozilla-vendor/files/patch-mi
+++ /dev/null
@@ -1,42 +0,0 @@
-
-$FreeBSD$
-
---- nsprpub/config/FreeBSD.mk.orig Sat Jul 29 03:50:35 2000
-+++ nsprpub/config/FreeBSD.mk Mon Sep 17 10:47:08 2001
-@@ -37,19 +37,21 @@
-
- include $(MOD_DEPTH)/config/UNIX.mk
-
--CC = gcc
--CCC = g++
-+CCC = $(CXX)
- RANLIB = ranlib
-
-+# During FreeBSD port build, CFLAGS contains all of the optimizations
-+# flags desired...
-+OPTIMIZER = $(MOZ_OPTIMIZE_FLAGS)
-+
- ifeq ($(OS_TEST),alpha)
- CPU_ARCH = alpha
- else
--OS_REL_CFLAGS = -Di386
- CPU_ARCH = x86
- endif
- CPU_ARCH_TAG = _$(CPU_ARCH)
-
--OS_CFLAGS = $(DSO_CFLAGS) $(OS_REL_CFLAGS) -ansi -Wall -pipe $(THREAD_FLAG) -DFREEBSD -DHAVE_STRERROR -DHAVE_BSD_FLOCK
-+OS_CFLAGS = $(DSO_CFLAGS) $(OS_REL_CFLAGS) -ansi -Wall -pipe -DFREEBSD -DHAVE_STRERROR -DHAVE_BSD_FLOCK
-
- #
- # The default implementation strategy for FreeBSD is pthreads.
-@@ -60,8 +62,8 @@
- else
- USE_PTHREADS = 1
- IMPL_STRATEGY = _PTH
--DEFINES += -D_THREAD_SAFE
--THREAD_FLAG += -pthread
-+DEFINES += -D_THREAD_SAFE -D_REENTRANT
-+DSO_LDOPTS += -pthread
- endif
-
- ARCH = freebsd
diff --git a/www/mozilla-vendor/files/patch-netwerk::base::src::nsSocketTransport.cpp b/www/mozilla-vendor/files/patch-netwerk::base::src::nsSocketTransport.cpp
new file mode 100644
index 000000000000..c9adc8584c7d
--- /dev/null
+++ b/www/mozilla-vendor/files/patch-netwerk::base::src::nsSocketTransport.cpp
@@ -0,0 +1,329 @@
+--- netwerk/base/src/nsSocketTransport.cpp.orig Fri Feb 8 11:20:08 2002
++++ netwerk/base/src/nsSocketTransport.cpp Fri Feb 8 11:20:16 2002
+@@ -143,6 +143,7 @@
+ mHostName(nsnull),
+ mPort(-1),
+ mMonitor(nsnull),
++ mNetAddress(nsnull),
+ mOperation(eSocketOperation_None),
+ mProxyPort(-1),
+ mProxyHost(nsnull),
+@@ -183,12 +184,6 @@
+ SetWriteType(eSocketWrite_None);
+
+ //
+- // Set up Internet defaults...
+- //
+- memset(&mNetAddress, 0, sizeof(mNetAddress));
+- PR_SetNetAddr(PR_IpAddrAny, PR_AF_INET6, 0, &mNetAddress);
+-
+- //
+ // Initialize the global connect timeout value if necessary...
+ //
+ if (PR_INTERVAL_NO_WAIT == gConnectTimeout)
+@@ -415,6 +410,14 @@
+
+ while (!done) {
+ //
++ // Check for failure on any socket requests
++ //
++ if (mReadRequest && mReadRequest->HasFailed())
++ mReadRequest->GetStatus(&mStatus);
++ else if (mWriteRequest && mWriteRequest->HasFailed())
++ mWriteRequest->GetStatus(&mStatus);
++
++ //
+ // If an error has occurred then move into the error state...
+ //
+ if (NS_FAILED(mStatus) && (NS_BASE_STREAM_WOULD_BLOCK != mStatus))
+@@ -495,17 +498,40 @@
+ // Send status message
+ // only send a status if doResolveHost is going to do some
+ // resolution
+- if (mStatus != NS_OK)
++ if (mStatus == NS_BASE_STREAM_WOULD_BLOCK)
+ OnStatus_Locked(NS_NET_STATUS_RESOLVING_HOST);
+ break;
+
+ case eSocketState_WaitConnect:
+ LOG(("nsSocketTransport: Transport [host=%s:%d this=%x] is in WaitConnect state.\n",
+ mHostName, mPort, this));
+- mStatus = doConnection(aSelectFlags);
+
+ // Send status message
+ OnStatus_Locked(NS_NET_STATUS_CONNECTING_TO);
++
++ mStatus = doConnection(aSelectFlags);
++
++ // on connection failure, reuse next address if one exists
++ if (mStatus == NS_ERROR_CONNECTION_REFUSED) {
++ mNetAddress = mNetAddrList.GetNext(mNetAddress);
++ if (mNetAddress) {
++#if defined(PR_LOGGING)
++ char buf[50];
++ PR_NetAddrToString(mNetAddress, buf, sizeof(buf));
++ LOG(("connection failed... trying %s\n", buf));
++#endif
++ PR_Close(mSocketFD);
++ mSocketFD = nsnull;
++
++ // mask error status so we'll return to this state
++ mStatus = NS_OK;
++
++ // need to re-enter Process() asynchronously
++ mService->AddToWorkQ(this);
++ done = PR_TRUE;
++ continue;
++ }
++ }
+ break;
+
+ case eSocketState_WaitReadWrite:
+@@ -633,21 +659,19 @@
+
+ NS_ASSERTION(eSocketState_WaitDNS == mCurrentState, "Wrong state.");
+
+- LOG(("nsSocketTransport: Entering doResolveHost() [host=%s:%d this=%x].\n",
++ LOG(("nsSocketTransport: Entering doResolveHost() [host=%s:%d %x].\n",
+ mHostName, mPort, this));
+
++ //
++ // The hostname is being resolved...
++ //
++ if (mDNSRequest)
++ return NS_BASE_STREAM_WOULD_BLOCK;
++
+ //
+ // The hostname has not been resolved yet...
+ //
+- if (PR_IsNetAddrType(&mNetAddress, PR_IpAddrAny)) {
+- //
+- // Initialize the port used for the connection...
+- //
+- // XXX: The list of ports must be restricted - see net_bad_ports_table[] in
+- // mozilla/network/main/mkconect.c
+- //
+- mNetAddress.ipv6.port = PR_htons(((mProxyPort != -1 && !mProxyTransparent) ? mProxyPort : mPort));
+-
++ if (mNetAddress == nsnull) {
+ PR_ExitMonitor(mMonitor);
+
+ nsIDNSService* pDNSService = mService->GetCachedDNSService();
+@@ -659,9 +683,7 @@
+ // Give up the SocketTransport lock. This allows the DNS thread to call the
+ // nsIDNSListener notifications without blocking...
+ //
+- rv = pDNSService->Lookup((mProxyHost && !mProxyTransparent) ? mProxyHost : mHostName,
+- this,
+- nsnull,
++ rv = pDNSService->Lookup(GetSocketHost(), this, nsnull,
+ getter_AddRefs(mDNSRequest));
+ //
+ // Aquire the SocketTransport lock again...
+@@ -672,7 +694,7 @@
+ //
+ // The DNS lookup has finished... It has either failed or succeeded.
+ //
+- if (NS_FAILED(mStatus) || !PR_IsNetAddrType(&mNetAddress, PR_IpAddrAny)) {
++ if (NS_FAILED(mStatus) || mNetAddress) {
+ mDNSRequest = 0;
+ rv = mStatus;
+ }
+@@ -687,10 +709,8 @@
+ }
+ }
+
+- LOG(("nsSocketTransport: Leaving doResolveHost() [%s:%d %x].\t"
+- "rv = %x.\n\n",
++ LOG(("nsSocketTransport: Leaving doResolveHost() [%s:%d %x] rv = %x\n",
+ mHostName, mPort, this, rv));
+-
+ return rv;
+ }
+
+@@ -832,7 +852,7 @@
+ // This is only done the first time doConnection(...) is called.
+ //
+ if (NS_SUCCEEDED(rv)) {
+- status = PR_Connect(mSocketFD, &mNetAddress, gConnectTimeout);
++ status = PR_Connect(mSocketFD, mNetAddress, gConnectTimeout);
+ if (PR_SUCCESS != status) {
+ PRErrorCode code = PR_GetError();
+ //
+@@ -932,14 +952,17 @@
+ //
+ // The hostname has not been resolved yet...
+ //
+- if (PR_IsNetAddrType(&mNetAddress, PR_IpAddrAny)) {
++ if (mNetAddress == nsnull) {
+ nsIDNSService* pDNSService = mService->GetCachedDNSService();
+ if (!pDNSService) {
+ return NS_ERROR_UNEXPECTED;
+ }
+
+ nsXPIDLCString result;
+- const char *host = (mProxyHost && !mProxyTransparent) ? mProxyHost : mHostName;
++ const char *host = GetSocketHost();
++
++ // XXX DNS service does not provide a synchronous resolver that returns
++ // the entire nsHostEnt struct.
+ rv = pDNSService->Resolve(host, getter_Copies(result));
+ if (NS_FAILED(rv)) return rv;
+
+@@ -953,16 +976,18 @@
+ return NS_ERROR_FAILURE;
+ }
+
++ mNetAddrList.Init(1);
++ mNetAddress = mNetAddrList.GetNext(nsnull);
++
++ PR_SetNetAddr(PR_IpAddrAny, PR_AF_INET6, GetSocketPort(), mNetAddress);
++
+ if (addr.raw.family == PR_AF_INET)
+- PR_ConvertIPv4AddrToIPv6(addr.inet.ip, &mNetAddress.ipv6.ip);
++ PR_ConvertIPv4AddrToIPv6(addr.inet.ip, &mNetAddress->ipv6.ip);
+ else
+- memcpy(&mNetAddress.ipv6.ip, &addr.ipv6.ip, sizeof(mNetAddress.ipv6.ip));
+-
+- mNetAddress.ipv6.port
+- = PR_htons(((mProxyPort != -1 && !mProxyTransparent) ? mProxyPort : mPort));
++ memcpy(&mNetAddress->ipv6.ip, &addr.ipv6.ip, sizeof(mNetAddress->ipv6.ip));
+
+ LOG(("address { family=%hu, port=%hu }\n",
+- mNetAddress.ipv6.family, PR_ntohs(mNetAddress.ipv6.port)));
++ mNetAddress->ipv6.family, PR_ntohs(mNetAddress->ipv6.port)));
+ }
+
+ //
+@@ -1036,7 +1061,6 @@
+ if (mReadRequest) {
+ if (mReadRequest->IsCanceled() || (mBytesExpected == 0)) {
+ LOG(("nsSocketTransport: [this=%x] completing read request due to cancelation\n", this));
+- mSelectFlags &= ~PR_POLL_READ;
+ mReadRequest->GetStatus(&readStatus);
+ CompleteAsyncRead();
+ if (NS_FAILED(readStatus))
+@@ -1078,7 +1102,6 @@
+ if (mWriteRequest) {
+ if (mWriteRequest->IsCanceled()) {
+ LOG(("nsSocketTransport: [this=%x] completing write request due to cancelation\n", this));
+- mSelectFlags &= ~PR_POLL_WRITE;
+ mWriteRequest->GetStatus(&writeStatus);
+ CompleteAsyncWrite();
+ if (NS_FAILED(writeStatus))
+@@ -1485,23 +1508,44 @@
+ nsAutoMonitor mon(mMonitor);
+ nsresult rv = NS_OK;
+
+- if (aHostEnt->hostEnt.h_addr_list && aHostEnt->hostEnt.h_addr_list[0]) {
+- if (aHostEnt->hostEnt.h_addrtype == PR_AF_INET6)
+- memcpy(&mNetAddress.ipv6.ip, aHostEnt->hostEnt.h_addr_list[0], sizeof(mNetAddress.ipv6.ip));
+- else
+- PR_ConvertIPv4AddrToIPv6(*(PRUint32*)aHostEnt->hostEnt.h_addr_list[0], &mNetAddress.ipv6.ip);
++ char **addrList = aHostEnt->hostEnt.h_addr_list;
++
++ if (addrList && addrList[0]) {
++ PRUint32 len = 0;
++
++ LOG(("nsSocketTransport::OnFound [%s:%d %x] lookup succeeded [FQDN=%s]\n",
++ mHostName, mPort, this, aHostEnt->hostEnt.h_name));
++
++ // determine the number of address in the list
++ for (; *addrList; ++addrList)
++ ++len;
++ addrList -= len;
++
++ // allocate space for the addresses
++ mNetAddrList.Init(len);
++
++ // populate the address list
++ PRNetAddr *addr = nsnull;
++ while ((addr = mNetAddrList.GetNext(addr)) != nsnull) {
++ PR_SetNetAddr(PR_IpAddrAny, PR_AF_INET6, GetSocketPort(), addr);
++ if (aHostEnt->hostEnt.h_addrtype == PR_AF_INET6)
++ memcpy(&addr->ipv6.ip, *addrList, sizeof(addr->ipv6.ip));
++ else
++ PR_ConvertIPv4AddrToIPv6(*(PRUint32 *)(*addrList), &addr->ipv6.ip);
++ ++addrList;
+ #if defined(PR_LOGGING)
+- char addrbuf[50];
+- PR_NetAddrToString(&mNetAddress, addrbuf, sizeof(addrbuf));
+- LOG(("nsSocketTransport: OnFound(...) [%s:%d %x]."
+- " DNS lookup succeeded => %s (%s)\n",
+- mHostName, mPort, this,
+- aHostEnt->hostEnt.h_name,
+- addrbuf));
++ char buf[50];
++ PR_NetAddrToString(addr, buf, sizeof(buf));
++ LOG((" => %s\n", buf));
+ #endif
+- } else {
+- // XXX: What should happen here? The GetHostByName(...) succeeded but
+- // there are *no* A records...
++ }
++
++ // start with first address in list
++ mNetAddress = mNetAddrList.GetNext(nsnull);
++ }
++ else {
++ // XXX: What should happen here? The DNS lookup succeeded, but there
++ // are no address records...
+ rv = NS_ERROR_FAILURE;
+
+ LOG(("nsSocketTransport: OnFound(...) [%s:%d %x]."
+@@ -1531,7 +1575,7 @@
+ // If the lookup failed, set the status...
+ if (NS_FAILED(aStatus))
+ mStatus = aStatus;
+- else if (PR_IsNetAddrType(&mNetAddress, PR_IpAddrAny))
++ else if (mNetAddress == nsnull)
+ mStatus = NS_ERROR_ABORT;
+
+ // Start processing the transport again - if necessary...
+@@ -1852,7 +1896,7 @@
+ *_retval = (char*)nsMemory::Alloc(aLen);
+ if (!*_retval) return NS_ERROR_FAILURE;
+
+- PRStatus status = PR_NetAddrToString(&mNetAddress, *_retval, aLen);
++ PRStatus status = PR_NetAddrToString(mNetAddress, *_retval, aLen);
+
+ if (PR_FAILURE == status) {
+ nsMemory::Free(*_retval);
+@@ -1968,6 +2012,37 @@
+
+ if (--mSocketRef == 0)
+ CloseConnection();
++}
++
++//
++//----------------------------------------------------------------------------
++// nsSocketTransport::nsNetAddrList
++//----------------------------------------------------------------------------
++//
++
++nsresult nsSocketTransport::
++nsNetAddrList::Init(PRUint32 len)
++{
++ NS_ASSERTION(!mList, "already initialized");
++ mList = new PRNetAddr[len];
++ if (!mList)
++ return NS_ERROR_OUT_OF_MEMORY;
++ mLen = len;
++ return NS_OK;
++}
++
++PRNetAddr *nsSocketTransport::
++nsNetAddrList::GetNext(PRNetAddr *addr)
++{
++ if (!addr)
++ return mList;
++
++ PRUint32 offset = addr - mList;
++ NS_ASSERTION(offset < mLen, "invalid address");
++ if (offset + 1 < mLen)
++ return addr + 1;
++
++ return nsnull;
+ }
+
+ //
diff --git a/www/mozilla-vendor/files/patch-netwerk::base::src::nsSocketTransport.h b/www/mozilla-vendor/files/patch-netwerk::base::src::nsSocketTransport.h
new file mode 100644
index 000000000000..ed73e127f901
--- /dev/null
+++ b/www/mozilla-vendor/files/patch-netwerk::base::src::nsSocketTransport.h
@@ -0,0 +1,57 @@
+--- netwerk/base/src/nsSocketTransport.h.orig Fri Feb 8 11:20:24 2002
++++ netwerk/base/src/nsSocketTransport.h Fri Feb 8 11:20:29 2002
+@@ -176,7 +176,7 @@
+ PRFileDesc* GetSocket(void) { return mSocketFD; }
+ PRInt16 GetSelectFlags(void) { return mSelectFlags; }
+ PRCList* GetListNode(void) { return &mListLink; }
+-
++
+ static nsSocketTransport* GetInstance(PRCList* qp) { return (nsSocketTransport*)((char*)qp - offsetof(nsSocketTransport, mListLink)); }
+
+ PRBool CanBeReused() { return
+@@ -237,8 +237,27 @@
+ inline void ClearFlag(nsSocketReadWriteInfo aFlag) {
+ mReadWriteState &= ~aFlag;
+ }
++
++ PRInt32 GetSocketPort(void) { return (mProxyPort != -1 && !mProxyTransparent) ? mProxyPort : mPort; }
++ const char *GetSocketHost(void) { return (mProxyHost && !mProxyTransparent) ? mProxyHost : mHostName; }
+
+ protected:
++ class nsNetAddrList {
++ public:
++ nsNetAddrList() : mList(nsnull), mLen(0) {}
++ ~nsNetAddrList() { delete[] mList; }
++
++ // allocate space for the address list
++ nsresult Init(PRUint32 len);
++
++ // given a net addr in the list, return the next addr.
++ // if given NULL, then return the first addr in the list.
++ // returns NULL if given addr is the last addr.
++ PRNetAddr *GetNext(PRNetAddr *currentAddr);
++ private:
++ PRNetAddr *mList;
++ PRUint32 mLen;
++ };
+
+ nsSocketState mCurrentState;
+ nsCOMPtr<nsIRequest> mDNSRequest;
+@@ -249,7 +268,8 @@
+ PRIntervalTime mLastActiveTime;
+ PRCList mListLink;
+ PRMonitor* mMonitor;
+- PRNetAddr mNetAddress;
++ nsNetAddrList mNetAddrList;
++ PRNetAddr *mNetAddress;
+ nsSocketOperation mOperation;
+ nsCOMPtr<nsISupports> mSecurityInfo;
+
+@@ -415,6 +435,7 @@
+ PRBool IsInitialized() { return mStartFired; }
+ PRBool IsSuspended() { return mSuspendCount > 0; }
+ PRBool IsCanceled() { return mCanceled; }
++ PRBool HasFailed() { return NS_FAILED(mStatus); }
+
+ void SetTransport(nsSocketTransport *);
+ void SetObserver(nsIRequestObserver *obs) { mObserver = obs; }
diff --git a/www/mozilla-vendor/files/patch-nsprpub::configure b/www/mozilla-vendor/files/patch-nsprpub::configure
new file mode 100644
index 000000000000..b008097bf949
--- /dev/null
+++ b/www/mozilla-vendor/files/patch-nsprpub::configure
@@ -0,0 +1,50 @@
+--- nsprpub/configure.orig Tue Jan 22 23:57:37 2002
++++ nsprpub/configure Thu Feb 14 01:13:13 2002
+@@ -3288,8 +3288,9 @@
+ else
+ DLL_SUFFIX=so.1.0
+ fi
++ MKSHLIB='$(CC) $(DSO_LDOPTS) -o $@'
+ DSO_CFLAGS=-fPIC
+- DSO_LDOPTS=-Bshareable
++ DSO_LDOPTS='-shared -Wl,-soname -Wl,$(notdir $@)'
+ MDCPUCFG_H=_freebsd.cfg
+ PR_MD_CSRCS=freebsd.c
+ ;;
+@@ -5091,8 +5092,15 @@
+ if test $? -eq 0; then
+ if test -z "`egrep -i '(unrecognize|unknown)' conftest.out | grep pthread`" && test -z "`egrep -i '(error|incorrect)' conftest.out`" ; then
+ ac_cv_have_dash_pthread=yes
+- CFLAGS="$CFLAGS -pthread"
+- CXXFLAGS="$CXXFLAGS -pthread"
++ case "$target_os" in
++ freebsd*)
++# Freebsd doesn't use -pthread for compiles, it uses them for linking
++ ;;
++ *)
++ CFLAGS="$CFLAGS -pthread"
++ CXXFLAGS="$CXXFLAGS -pthread"
++ ;;
++ esac
+ fi
+ fi
+ rm -f conftest*
+@@ -5123,11 +5131,17 @@
+ ;;
+ *-freebsd*|*-openbsd*|*-bsdi*|*-netbsd*)
+ cat >> confdefs.h <<\EOF
++#define _REENTRANT 1
++EOF
++
++ cat >> confdefs.h <<\EOF
+ #define _THREAD_SAFE 1
+ EOF
+
+ if test "$ac_cv_have_dash_pthread" = "yes"; then
+- _PTHREAD_LDFLAGS=
++ _PTHREAD_LDFLAGS="-pthread"
++ else
++ _PTHREAD_LDFLAGS="-lc_r"
+ fi
+ ;;
+ *-linux*)
diff --git a/www/mozilla-vendor/files/patch-nsprpub::pr::include::md::_freebsd.cfg b/www/mozilla-vendor/files/patch-nsprpub::pr::include::md::_freebsd.cfg
deleted file mode 100644
index 417d7d91ddb6..000000000000
--- a/www/mozilla-vendor/files/patch-nsprpub::pr::include::md::_freebsd.cfg
+++ /dev/null
@@ -1,13 +0,0 @@
---- nsprpub/pr/include/md/_freebsd.cfg.orig Mon Nov 26 17:07:20 2001
-+++ nsprpub/pr/include/md/_freebsd.cfg Mon Nov 26 17:15:01 2001
-@@ -93,8 +93,8 @@
-
- #elif defined(__alpha)
-
--#define IS_LITTLE_ENDIAN 1
--#undef IS_BIG_ENDIAN
-+#define IS_64
-+
- #define HAVE_LONG_LONG
- #define HAVE_ALIGNED_DOUBLES
- #define HAVE_ALIGNED_LONGLONGS
diff --git a/www/mozilla-vendor/files/patch-qt b/www/mozilla-vendor/files/patch-qt
index a7c925a72023..05596784fcfe 100644
--- a/www/mozilla-vendor/files/patch-qt
+++ b/www/mozilla-vendor/files/patch-qt
@@ -40,11 +40,3 @@ $FreeBSD$
QT_LIBS="-L/usr/X11R6/lib -L${QTDIR}/lib -lqt -lXext -lX11"
# Check whether --with-static-qt or --without-static-qt was given.
-@@ -13711,6 +13712,7 @@
- echo "configure: warning: Recreating autoconf.mk with updated nspr-config output" 1>&2
- if test ! "$VACPP" && test -z "$_WIN32_MSVC"; then
- NSPR_LIBS=`./nsprpub/config/nspr-config --prefix=$MOZ_BUILD_ROOT/dist --exec-prefix=$MOZ_BUILD_ROOT/dist --libs`
-+ NSPR_LIBS="$NSPR_LIBS $BSD_PTHREAD_LIBS"
- $PERL -pi.bak -e "s {^NSPR_LIBS\s*=.*} {NSPR_LIBS = $NSPR_LIBS }" config/autoconf.mk
- fi
- if test -z "$_WIN32_MSVC"; then
diff --git a/www/mozilla-vendor/files/patch-security::coreconf::FreeBSD.mk b/www/mozilla-vendor/files/patch-security::coreconf::FreeBSD.mk
new file mode 100644
index 000000000000..1f33ac826a02
--- /dev/null
+++ b/www/mozilla-vendor/files/patch-security::coreconf::FreeBSD.mk
@@ -0,0 +1,50 @@
+--- security/coreconf/FreeBSD.mk.orig Tue Sep 19 05:53:08 2000
++++ security/coreconf/FreeBSD.mk Thu Feb 14 14:19:02 2002
+@@ -35,27 +35,27 @@
+
+ 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
+-OS_REL_CFLAGS = -Di386
+ CPU_ARCH = x86
+ endif
+
+-OS_CFLAGS = $(DSO_CFLAGS) $(OS_REL_CFLAGS) -ansi -Wall -pipe $(THREAD_FLAG) -DFREEBSD -DHAVE_STRERROR -DHAVE_BSD_FLOCK
++OS_CFLAGS = $(DSO_CFLAGS) $(OS_REL_CFLAGS) -ansi -Wall -DFREEBSD -DHAVE_STRERROR -DHAVE_BSD_FLOCK
++
++DSO_CFLAGS = -fPIC
++DSO_LDOPTS = -shared -Wl,-soname -Wl,$(notdir $@)
+
+ #
+ # The default implementation strategy for FreeBSD is pthreads.
+ #
+ ifndef CLASSIC_NSPR
+ USE_PTHREADS = 1
+-DEFINES += -D_THREAD_SAFE
+-THREAD_FLAG = -pthread
++DEFINES += -D_THREAD_SAFE -D_REENTRANT
++DSO_LDOPTS += -pthread
+ endif
+
+ ARCH = freebsd
+@@ -68,11 +68,7 @@
+ DLL_SUFFIX = so.1.0
+ endif
+
+-DSO_CFLAGS = -fPIC
+-DSO_LDOPTS = -Bshareable
+-DSO_LDFLAGS =
+-
+-MKSHLIB = $(LD) $(DSO_LDOPTS)
++MKSHLIB = $(CC) $(DSO_LDOPTS) -o $@
+
+ G++INCLUDES = -I/usr/include/g++
+
diff --git a/www/mozilla-vendor/files/tar-exclude b/www/mozilla-vendor/files/tar-exclude
new file mode 100644
index 000000000000..b4d218b0a9fa
--- /dev/null
+++ b/www/mozilla-vendor/files/tar-exclude
@@ -0,0 +1,6 @@
+*/CVS/*
+*/macbuild/*
+*/package/*
+.cvsignore
+makefile.win
+MANIFEST
diff --git a/www/mozilla-vendor/pkg-plist b/www/mozilla-vendor/pkg-plist
index 17b82c589575..34ec0b079c54 100644
--- a/www/mozilla-vendor/pkg-plist
+++ b/www/mozilla-vendor/pkg-plist
@@ -1,85 +1,12 @@
bin/mozilla
-lib/mozilla/DumpColors
-lib/mozilla/FilesTest
-lib/mozilla/OutTestData/doctype.xif
-lib/mozilla/OutTestData/entityxif.out
-lib/mozilla/OutTestData/entityxif.xif
-lib/mozilla/OutTestData/htmltable.html
-lib/mozilla/OutTestData/htmltable.out
-lib/mozilla/OutTestData/mailquote.html
-lib/mozilla/OutTestData/mailquote.out
-lib/mozilla/OutTestData/plain.html
-lib/mozilla/OutTestData/plainnowrap.out
-lib/mozilla/OutTestData/plainwrap.out
-lib/mozilla/OutTestData/simple.html
-lib/mozilla/OutTestData/simplecopy.out
-lib/mozilla/OutTestData/simplefmt.out
-lib/mozilla/OutTestData/simplemail.html
-lib/mozilla/OutTestData/simplemail.out
-lib/mozilla/OutTestData/xifdthtml.out
-lib/mozilla/OutTestData/xifdtplain.out
-lib/mozilla/OutTestData/xifstuff.out
-lib/mozilla/OutTestData/xifstuff.xif
-lib/mozilla/PrimitiveTest
-lib/mozilla/PropertiesTest
-lib/mozilla/SimpleTypeLib
-lib/mozilla/StringBundleTest
-lib/mozilla/TestArray
-lib/mozilla/TestAtoms
-lib/mozilla/TestAutoLock
-lib/mozilla/TestCOMPtr
-lib/mozilla/TestCOMPtrEq
-lib/mozilla/TestCRT
-lib/mozilla/TestCSSPropertyLookup
-lib/mozilla/TestCallTemplates
-lib/mozilla/TestCallbacks
-lib/mozilla/TestColorNames
-lib/mozilla/TestCookie
-lib/mozilla/TestDBMAccess
-lib/mozilla/TestFactory
-lib/mozilla/TestFileInput
-lib/mozilla/TestFileInput2
-lib/mozilla/TestFileTransport
lib/mozilla/TestGtkEmbed
lib/mozilla/TestGtkEmbedChild
lib/mozilla/TestGtkEmbedNotebook
lib/mozilla/TestGtkEmbedSocket
-lib/mozilla/TestHttp
-lib/mozilla/TestID
-lib/mozilla/TestIDN
-lib/mozilla/TestInterfaceInfo
-lib/mozilla/TestLineBreak
-lib/mozilla/TestMCTransport
-lib/mozilla/TestObserverService
-lib/mozilla/TestOutSinks.pl
-lib/mozilla/TestOutput
-lib/mozilla/TestPageLoad
-lib/mozilla/TestPerf
-lib/mozilla/TestPermanentAtoms
-lib/mozilla/TestPipes
-lib/mozilla/TestProtocols
-lib/mozilla/TestRect
-lib/mozilla/TestServMgr
-lib/mozilla/TestSocketIO
-lib/mozilla/TestSocketInput
-lib/mozilla/TestSocketTransport
-lib/mozilla/TestSpaceManager
-lib/mozilla/TestStandardURL
-lib/mozilla/TestStreamConv
-lib/mozilla/TestTXMgr
-lib/mozilla/TestThreads
-lib/mozilla/TestURLParser
-lib/mozilla/TestVoidBTree
-lib/mozilla/TestXMLExtras
-lib/mozilla/TestXPC
-lib/mozilla/TestXPIDLString
-lib/mozilla/TestXPTCInvoke
-lib/mozilla/UnicharSelfTest
lib/mozilla/bloaturls.txt
lib/mozilla/chrome/US.jar
lib/mozilla/chrome/chatzilla.jar
lib/mozilla/chrome/chrome.rdf
-@unexec rm -f %D/lib/mozilla/chrome/chrome.rdf || true
lib/mozilla/chrome/chromelist.txt
lib/mozilla/chrome/classic.jar
lib/mozilla/chrome/comm.jar
@@ -105,7 +32,6 @@ lib/mozilla/chrome/pippki.jar
lib/mozilla/chrome/toolkit.jar
lib/mozilla/chrome/venkman.jar
lib/mozilla/component.reg
-@unexec rm -f %D/lib/mozilla/component.reg || true
lib/mozilla/components/absync.xpt
lib/mozilla/components/accessibility.xpt
lib/mozilla/components/addrbook.xpt
@@ -158,7 +84,6 @@ lib/mozilla/components/jsurl.xpt
lib/mozilla/components/layout_base.xpt
lib/mozilla/components/layout_xul.xpt
lib/mozilla/components/layout_xul_outliner.xpt
-lib/mozilla/components/libMyService.so
lib/mozilla/components/libabsyncsvc.so
lib/mozilla/components/libaccessibility.so
lib/mozilla/components/libaddrbook.so
@@ -226,10 +151,8 @@ lib/mozilla/components/libpref.so
lib/mozilla/components/libprofile.so
lib/mozilla/components/librdf.so
lib/mozilla/components/libregviewer.so
-lib/mozilla/components/libsample.so
lib/mozilla/components/libshistory.so
lib/mozilla/components/libstrres.so
-lib/mozilla/components/libtestdynamic.so
lib/mozilla/components/libtransformiix.so
lib/mozilla/components/libtxmgr.so
lib/mozilla/components/libtxtsvc.so
@@ -251,7 +174,6 @@ lib/mozilla/components/libwebbrwsr.so
lib/mozilla/components/libwidget_gtk.so
lib/mozilla/components/libxmlextras.so
lib/mozilla/components/libxpconnect.so
-lib/mozilla/components/libxpctest.so
lib/mozilla/components/libxpinstall.so
lib/mozilla/components/libxremote_client.so
lib/mozilla/components/libxremoteservice.so
@@ -288,7 +210,6 @@ lib/mozilla/components/nsFilePicker.js
lib/mozilla/components/nsHelperAppDlg.js
lib/mozilla/components/nsLDAPPrefsService.js
lib/mozilla/components/nsProxyAutoConfig.js
-lib/mozilla/components/nsSample.js
lib/mozilla/components/nsSidebar.js
lib/mozilla/components/nsXmlRpcClient.js
lib/mozilla/components/oji.xpt
@@ -300,11 +221,9 @@ lib/mozilla/components/pref.xpt
lib/mozilla/components/prefmigr.xpt
lib/mozilla/components/profile.xpt
lib/mozilla/components/proxyObjInst.xpt
-lib/mozilla/components/proxytest.xpt
lib/mozilla/components/rdf.xpt
lib/mozilla/components/regviewer.xpt
lib/mozilla/components/related.xpt
-lib/mozilla/components/sample.xpt
lib/mozilla/components/search.xpt
lib/mozilla/components/shistory.xpt
lib/mozilla/components/sidebar.xpt
@@ -336,10 +255,8 @@ lib/mozilla/components/xpcom_io.xpt
lib/mozilla/components/xpcom_threads.xpt
lib/mozilla/components/xpcom_xpti.xpt
lib/mozilla/components/xpconnect.xpt
-lib/mozilla/components/xpconnect_tests.xpt
lib/mozilla/components/xpinstall.xpt
lib/mozilla/components/xpti.dat
-@unexec rm -f %D/lib/mozilla/components/xpti.dat || true
lib/mozilla/components/xremoteservice.xpt
lib/mozilla/components/xuldoc.xpt
lib/mozilla/components/xultmpl.xpt
@@ -378,10 +295,8 @@ lib/mozilla/defaults/wallet/VcardSchema.tbl
lib/mozilla/dirver
lib/mozilla/dtd/mathml.dtd
lib/mozilla/dtd/svg.dtd
-lib/mozilla/htmlrobot
lib/mozilla/icons/mozicon16.xpm
lib/mozilla/icons/mozicon50.xpm
-lib/mozilla/libDebugRobot.so
lib/mozilla/libgkgfx.so
lib/mozilla/libgtkembedmoz.so
lib/mozilla/libgtksuperwin.so
@@ -400,20 +315,12 @@ lib/mozilla/libplds4.so
lib/mozilla/libxlibrgb.so
lib/mozilla/libxpcom.so
lib/mozilla/libxpistub.so
-lib/mozilla/lots
lib/mozilla/mozilla
lib/mozilla/mozilla-bin
lib/mozilla/mozilla-config
-lib/mozilla/mozilla-viewer.sh
lib/mozilla/mozilla-xremote-client
-lib/mozilla/nsIFileEnumerator
-lib/mozilla/nsIFileTest
-lib/mozilla/nsTestSample
lib/mozilla/nsinstall
lib/mozilla/plugins/libnullplugin.so
-lib/mozilla/proxytests
-lib/mozilla/rdfcat
-lib/mozilla/rdfpoll
lib/mozilla/regExport
lib/mozilla/regchrome
lib/mozilla/regxpcom
@@ -454,7 +361,6 @@ lib/mozilla/res/html/gopher-text.gif
lib/mozilla/res/html/gopher-unknown.gif
lib/mozilla/res/inspector/search-registry.rdf
lib/mozilla/res/inspector/viewer-registry.rdf
-lib/mozilla/res/jarlist.dat
lib/mozilla/res/langGroups.properties
lib/mozilla/res/language.properties
lib/mozilla/res/loading-image.gif
@@ -489,7 +395,6 @@ lib/mozilla/res/samples/demoform.css
lib/mozilla/res/samples/dexopenchrome.xul
lib/mozilla/res/samples/dexparamdialog.html
lib/mozilla/res/samples/dexparamdialog.xul
-lib/mozilla/res/samples/embed-test.html
lib/mozilla/res/samples/find.html
lib/mozilla/res/samples/gear1.gif
lib/mozilla/res/samples/hidetoolicon.css
@@ -544,15 +449,8 @@ lib/mozilla/res/samples/toolbarTest1.xul
lib/mozilla/res/samples/treeTest1.css
lib/mozilla/res/samples/treeTest1.xul
lib/mozilla/res/samples/widgets.xul
-lib/mozilla/res/samples/xpconnect-sample.html
lib/mozilla/res/samples/xpmenu.xul
lib/mozilla/res/samples/xulTest.css
-lib/mozilla/res/strres-test.dtd
-lib/mozilla/res/strres-test.html
-lib/mozilla/res/strres-test.js
-lib/mozilla/res/strres-test.xul
-lib/mozilla/res/strres.properties
-lib/mozilla/res/test.properties
lib/mozilla/res/throbber/anim.gif
lib/mozilla/res/throbber/anims00.gif
lib/mozilla/res/throbber/anims01.gif
@@ -586,8 +484,6 @@ lib/mozilla/res/throbber/anims28.gif
lib/mozilla/res/throbber/anims29.gif
lib/mozilla/res/ua.css
lib/mozilla/res/unixcharset.properties
-lib/mozilla/res/urlparse.dat
-lib/mozilla/res/urlparse_unx.dat
lib/mozilla/res/viewer.properties
lib/mozilla/res/viewsource.css
lib/mozilla/run-mozilla.sh
@@ -603,16 +499,14 @@ lib/mozilla/searchplugins/lxrmozilla.gif
lib/mozilla/searchplugins/lxrmozilla.src
lib/mozilla/searchplugins/mozilla.gif
lib/mozilla/searchplugins/mozilla.src
-lib/mozilla/testart
-lib/mozilla/testuta
-lib/mozilla/urltest
-lib/mozilla/viewer
-lib/mozilla/viewer_gtk
lib/mozilla/xpcshell
lib/mozilla/xpicleanup
lib/mozilla/xpidl
lib/mozilla/xpt_dump
lib/mozilla/xpt_link
+@unexec rm -f %D/lib/mozilla/chrome/chrome.rdf || true
+@unexec rm -f %D/lib/mozilla/component.reg || true
+@unexec rm -f %D/lib/mozilla/components/xpti.dat || true
@dirrm lib/mozilla/searchplugins
@dirrm lib/mozilla/res/throbber
@dirrm lib/mozilla/res/samples/sampleimages
@@ -649,5 +543,4 @@ lib/mozilla/xpt_link
@dirrm lib/mozilla/chrome/overlayinfo/communicator
@dirrm lib/mozilla/chrome/overlayinfo
@dirrm lib/mozilla/chrome
-@dirrm lib/mozilla/OutTestData
@dirrm lib/mozilla
diff --git a/www/mozilla/Makefile b/www/mozilla/Makefile
index 0d1197ee8e74..3f5ee1cf1797 100644
--- a/www/mozilla/Makefile
+++ b/www/mozilla/Makefile
@@ -7,6 +7,7 @@
PORTNAME= mozilla
PORTVERSION= 0.9.8
+PORTREVISION= 1
PORTEPOCH= 1
CATEGORIES= www
MASTER_SITES= ${MASTER_SITE_MOZILLA} \
@@ -28,58 +29,58 @@ LIB_DEPENDS= ORBit.2:${PORTSDIR}/devel/ORBit \
WRKSRC= ${WRKDIR}/${PORTNAME}
USE_BZIP2= yes
+EXTRACT_AFTER_ARGS= | tar -xf - -X ${FILESDIR}/tar-exclude
USE_X_PREFIX= yes
USE_PERL5= yes
USE_GMAKE= yes
-USE_NEWGCC= yes
USE_GTK= yes
GNU_CONFIGURE= yes
CONFIGURE_ARGS= \
+ --disable-auto-deps \
+ --enable-chrome-format=jar \
--disable-cpp-exceptions \
--disable-cpp-rtti \
- --disable-debug \
- --disable-idltool \
- --disable-md \
- --disable-pedantic \
- --disable-xterm-updates \
--enable-crypto \
+ --disable-debug \
+ --enable-default-toolkit=gtk \
--enable-double-buffer \
- --enable-editor \
+ --enable-dtd-debug \
+ --enable-jsd \
+ --enable-ldap \
--enable-mailnews \
--enable-mathml \
- --enable-optimize="${CFLAGS}" \
- --enable-pics \
+ --disable-md \
+ --disable-optimize \
+ --disable-pedantic \
+ --disable-plaintext-editor-only \
+ --enable-reorder \
+ --enable-strip \
--enable-svg \
- --enable-tests \
- --enable-toolkit=gtk \
- --enable-x11-shm \
- --enable-chrome-format=jar \
- --with-jpeg=${LOCALBASE} \
- --with-png=${LOCALBASE} \
- --with-mng=${LOCALBASE} \
+ --disable-tests \
+ --disable-xterm-updates \
+ --enable-xinerama \
+ --with-system-jpeg=${LOCALBASE} \
+ --with-system-mng=${LOCALBASE} \
+ --with-system-png=${LOCALBASE} \
--with-pthreads
.if !defined(WITHOUT_CHATZILLA)
CONFIGURE_ARGS+= --with-extensions=default,irc
.endif
-CONFIGURE_ENV= BSD_PTHREAD_LIBS="${PTHREAD_LIBS}" \
- CFLAGS="" CXXFLAGS="" \
- MOZ_INTERNAL_LIBART_LGPL=1
+CONFIGURE_ENV= MOZ_INTERNAL_LIBART_LGPL=1
MAKE_ENV= LD_LIBRARY_PATH=${WRKSRC}/dist/bin \
- CFLAGS="" CXXFLAGS="" \
- MALLOC_OPTIONS=j \
MOZ_INTERNAL_LIBART_LGPL=1
ALL_TARGET= default
post-build:
- @${SED} -e "s;@PREFIX@;${PREFIX};g" \
+ ${SED} -e "s;@PREFIX@;${PREFIX};g" \
${FILESDIR}/mozilla.sh >${WRKSRC}/mozilla
- @(cd ${WRKSRC}/dist/bin; \
+ (cd ${WRKSRC}/dist/bin; \
${SETENV} LD_LIBRARY_PATH=. MOZILLA_FIVE_HOME=. ./regxpcom; \
${ECHO_CMD} skin,install,select,classic/1.0 >> chrome/installed-chrome.txt; \
${ECHO_CMD} locale,install,select,en-US >> chrome/installed-chrome.txt; \
${SETENV} LD_LIBRARY_PATH=. MOZILLA_FIVE_HOME=. ./regchrome)
- @/usr/bin/find ${WRKSRC}/dist/bin -type d | /usr/bin/sort -r | \
- /usr/bin/xargs ${RMDIR} 2> /dev/null || ${TRUE}
+ ${FIND} ${WRKSRC}/dist/bin -type d | /usr/bin/sort -r | \
+ ${XARGS} ${RMDIR} 2> /dev/null || ${TRUE}
do-install:
${MKDIR} ${PREFIX}/lib/mozilla
diff --git a/www/mozilla/files/patch-ak b/www/mozilla/files/patch-ak
index e175dd292bd1..5323d970afec 100644
--- a/www/mozilla/files/patch-ak
+++ b/www/mozilla/files/patch-ak
@@ -3,11 +3,16 @@ $FreeBSD$
--- nsprpub/pr/include/md/_freebsd.h.orig Sat Jan 5 03:43:00 2002
+++ nsprpub/pr/include/md/_freebsd.h Tue Feb 5 11:14:27 2002
-@@ -40,6 +40,7 @@
- #if __FreeBSD__ >= 2
- #include <osreldate.h> /* for __FreeBSD_version */
- #endif
-+#include <sys/param.h>
- #include <sys/syscall.h>
+@@ -87,6 +88,12 @@
+
+ #define _PR_HAVE_SYSV_SEMAPHORES
+ #define PR_HAVE_SYSV_NAMED_SHARED_MEMORY
++
++#if __FreeBSD_version >= 400014
++#define _PR_INET6
++#define _PR_HAVE_GETHOSTBYNAME2
++#define _PR_INET6_PROBE
++#endif
+
+ #define USE_SETJMP
- #define PR_LINKER_ARCH "freebsd"
diff --git a/www/mozilla/files/patch-mi b/www/mozilla/files/patch-mi
deleted file mode 100644
index c0ae3987e0d7..000000000000
--- a/www/mozilla/files/patch-mi
+++ /dev/null
@@ -1,42 +0,0 @@
-
-$FreeBSD$
-
---- nsprpub/config/FreeBSD.mk.orig Sat Jul 29 03:50:35 2000
-+++ nsprpub/config/FreeBSD.mk Mon Sep 17 10:47:08 2001
-@@ -37,19 +37,21 @@
-
- include $(MOD_DEPTH)/config/UNIX.mk
-
--CC = gcc
--CCC = g++
-+CCC = $(CXX)
- RANLIB = ranlib
-
-+# During FreeBSD port build, CFLAGS contains all of the optimizations
-+# flags desired...
-+OPTIMIZER = $(MOZ_OPTIMIZE_FLAGS)
-+
- ifeq ($(OS_TEST),alpha)
- CPU_ARCH = alpha
- else
--OS_REL_CFLAGS = -Di386
- CPU_ARCH = x86
- endif
- CPU_ARCH_TAG = _$(CPU_ARCH)
-
--OS_CFLAGS = $(DSO_CFLAGS) $(OS_REL_CFLAGS) -ansi -Wall -pipe $(THREAD_FLAG) -DFREEBSD -DHAVE_STRERROR -DHAVE_BSD_FLOCK
-+OS_CFLAGS = $(DSO_CFLAGS) $(OS_REL_CFLAGS) -ansi -Wall -pipe -DFREEBSD -DHAVE_STRERROR -DHAVE_BSD_FLOCK
-
- #
- # The default implementation strategy for FreeBSD is pthreads.
-@@ -60,8 +62,8 @@
- else
- USE_PTHREADS = 1
- IMPL_STRATEGY = _PTH
--DEFINES += -D_THREAD_SAFE
--THREAD_FLAG += -pthread
-+DEFINES += -D_THREAD_SAFE -D_REENTRANT
-+DSO_LDOPTS += -pthread
- endif
-
- ARCH = freebsd
diff --git a/www/mozilla/files/patch-netwerk::base::src::nsSocketTransport.cpp b/www/mozilla/files/patch-netwerk::base::src::nsSocketTransport.cpp
new file mode 100644
index 000000000000..c9adc8584c7d
--- /dev/null
+++ b/www/mozilla/files/patch-netwerk::base::src::nsSocketTransport.cpp
@@ -0,0 +1,329 @@
+--- netwerk/base/src/nsSocketTransport.cpp.orig Fri Feb 8 11:20:08 2002
++++ netwerk/base/src/nsSocketTransport.cpp Fri Feb 8 11:20:16 2002
+@@ -143,6 +143,7 @@
+ mHostName(nsnull),
+ mPort(-1),
+ mMonitor(nsnull),
++ mNetAddress(nsnull),
+ mOperation(eSocketOperation_None),
+ mProxyPort(-1),
+ mProxyHost(nsnull),
+@@ -183,12 +184,6 @@
+ SetWriteType(eSocketWrite_None);
+
+ //
+- // Set up Internet defaults...
+- //
+- memset(&mNetAddress, 0, sizeof(mNetAddress));
+- PR_SetNetAddr(PR_IpAddrAny, PR_AF_INET6, 0, &mNetAddress);
+-
+- //
+ // Initialize the global connect timeout value if necessary...
+ //
+ if (PR_INTERVAL_NO_WAIT == gConnectTimeout)
+@@ -415,6 +410,14 @@
+
+ while (!done) {
+ //
++ // Check for failure on any socket requests
++ //
++ if (mReadRequest && mReadRequest->HasFailed())
++ mReadRequest->GetStatus(&mStatus);
++ else if (mWriteRequest && mWriteRequest->HasFailed())
++ mWriteRequest->GetStatus(&mStatus);
++
++ //
+ // If an error has occurred then move into the error state...
+ //
+ if (NS_FAILED(mStatus) && (NS_BASE_STREAM_WOULD_BLOCK != mStatus))
+@@ -495,17 +498,40 @@
+ // Send status message
+ // only send a status if doResolveHost is going to do some
+ // resolution
+- if (mStatus != NS_OK)
++ if (mStatus == NS_BASE_STREAM_WOULD_BLOCK)
+ OnStatus_Locked(NS_NET_STATUS_RESOLVING_HOST);
+ break;
+
+ case eSocketState_WaitConnect:
+ LOG(("nsSocketTransport: Transport [host=%s:%d this=%x] is in WaitConnect state.\n",
+ mHostName, mPort, this));
+- mStatus = doConnection(aSelectFlags);
+
+ // Send status message
+ OnStatus_Locked(NS_NET_STATUS_CONNECTING_TO);
++
++ mStatus = doConnection(aSelectFlags);
++
++ // on connection failure, reuse next address if one exists
++ if (mStatus == NS_ERROR_CONNECTION_REFUSED) {
++ mNetAddress = mNetAddrList.GetNext(mNetAddress);
++ if (mNetAddress) {
++#if defined(PR_LOGGING)
++ char buf[50];
++ PR_NetAddrToString(mNetAddress, buf, sizeof(buf));
++ LOG(("connection failed... trying %s\n", buf));
++#endif
++ PR_Close(mSocketFD);
++ mSocketFD = nsnull;
++
++ // mask error status so we'll return to this state
++ mStatus = NS_OK;
++
++ // need to re-enter Process() asynchronously
++ mService->AddToWorkQ(this);
++ done = PR_TRUE;
++ continue;
++ }
++ }
+ break;
+
+ case eSocketState_WaitReadWrite:
+@@ -633,21 +659,19 @@
+
+ NS_ASSERTION(eSocketState_WaitDNS == mCurrentState, "Wrong state.");
+
+- LOG(("nsSocketTransport: Entering doResolveHost() [host=%s:%d this=%x].\n",
++ LOG(("nsSocketTransport: Entering doResolveHost() [host=%s:%d %x].\n",
+ mHostName, mPort, this));
+
++ //
++ // The hostname is being resolved...
++ //
++ if (mDNSRequest)
++ return NS_BASE_STREAM_WOULD_BLOCK;
++
+ //
+ // The hostname has not been resolved yet...
+ //
+- if (PR_IsNetAddrType(&mNetAddress, PR_IpAddrAny)) {
+- //
+- // Initialize the port used for the connection...
+- //
+- // XXX: The list of ports must be restricted - see net_bad_ports_table[] in
+- // mozilla/network/main/mkconect.c
+- //
+- mNetAddress.ipv6.port = PR_htons(((mProxyPort != -1 && !mProxyTransparent) ? mProxyPort : mPort));
+-
++ if (mNetAddress == nsnull) {
+ PR_ExitMonitor(mMonitor);
+
+ nsIDNSService* pDNSService = mService->GetCachedDNSService();
+@@ -659,9 +683,7 @@
+ // Give up the SocketTransport lock. This allows the DNS thread to call the
+ // nsIDNSListener notifications without blocking...
+ //
+- rv = pDNSService->Lookup((mProxyHost && !mProxyTransparent) ? mProxyHost : mHostName,
+- this,
+- nsnull,
++ rv = pDNSService->Lookup(GetSocketHost(), this, nsnull,
+ getter_AddRefs(mDNSRequest));
+ //
+ // Aquire the SocketTransport lock again...
+@@ -672,7 +694,7 @@
+ //
+ // The DNS lookup has finished... It has either failed or succeeded.
+ //
+- if (NS_FAILED(mStatus) || !PR_IsNetAddrType(&mNetAddress, PR_IpAddrAny)) {
++ if (NS_FAILED(mStatus) || mNetAddress) {
+ mDNSRequest = 0;
+ rv = mStatus;
+ }
+@@ -687,10 +709,8 @@
+ }
+ }
+
+- LOG(("nsSocketTransport: Leaving doResolveHost() [%s:%d %x].\t"
+- "rv = %x.\n\n",
++ LOG(("nsSocketTransport: Leaving doResolveHost() [%s:%d %x] rv = %x\n",
+ mHostName, mPort, this, rv));
+-
+ return rv;
+ }
+
+@@ -832,7 +852,7 @@
+ // This is only done the first time doConnection(...) is called.
+ //
+ if (NS_SUCCEEDED(rv)) {
+- status = PR_Connect(mSocketFD, &mNetAddress, gConnectTimeout);
++ status = PR_Connect(mSocketFD, mNetAddress, gConnectTimeout);
+ if (PR_SUCCESS != status) {
+ PRErrorCode code = PR_GetError();
+ //
+@@ -932,14 +952,17 @@
+ //
+ // The hostname has not been resolved yet...
+ //
+- if (PR_IsNetAddrType(&mNetAddress, PR_IpAddrAny)) {
++ if (mNetAddress == nsnull) {
+ nsIDNSService* pDNSService = mService->GetCachedDNSService();
+ if (!pDNSService) {
+ return NS_ERROR_UNEXPECTED;
+ }
+
+ nsXPIDLCString result;
+- const char *host = (mProxyHost && !mProxyTransparent) ? mProxyHost : mHostName;
++ const char *host = GetSocketHost();
++
++ // XXX DNS service does not provide a synchronous resolver that returns
++ // the entire nsHostEnt struct.
+ rv = pDNSService->Resolve(host, getter_Copies(result));
+ if (NS_FAILED(rv)) return rv;
+
+@@ -953,16 +976,18 @@
+ return NS_ERROR_FAILURE;
+ }
+
++ mNetAddrList.Init(1);
++ mNetAddress = mNetAddrList.GetNext(nsnull);
++
++ PR_SetNetAddr(PR_IpAddrAny, PR_AF_INET6, GetSocketPort(), mNetAddress);
++
+ if (addr.raw.family == PR_AF_INET)
+- PR_ConvertIPv4AddrToIPv6(addr.inet.ip, &mNetAddress.ipv6.ip);
++ PR_ConvertIPv4AddrToIPv6(addr.inet.ip, &mNetAddress->ipv6.ip);
+ else
+- memcpy(&mNetAddress.ipv6.ip, &addr.ipv6.ip, sizeof(mNetAddress.ipv6.ip));
+-
+- mNetAddress.ipv6.port
+- = PR_htons(((mProxyPort != -1 && !mProxyTransparent) ? mProxyPort : mPort));
++ memcpy(&mNetAddress->ipv6.ip, &addr.ipv6.ip, sizeof(mNetAddress->ipv6.ip));
+
+ LOG(("address { family=%hu, port=%hu }\n",
+- mNetAddress.ipv6.family, PR_ntohs(mNetAddress.ipv6.port)));
++ mNetAddress->ipv6.family, PR_ntohs(mNetAddress->ipv6.port)));
+ }
+
+ //
+@@ -1036,7 +1061,6 @@
+ if (mReadRequest) {
+ if (mReadRequest->IsCanceled() || (mBytesExpected == 0)) {
+ LOG(("nsSocketTransport: [this=%x] completing read request due to cancelation\n", this));
+- mSelectFlags &= ~PR_POLL_READ;
+ mReadRequest->GetStatus(&readStatus);
+ CompleteAsyncRead();
+ if (NS_FAILED(readStatus))
+@@ -1078,7 +1102,6 @@
+ if (mWriteRequest) {
+ if (mWriteRequest->IsCanceled()) {
+ LOG(("nsSocketTransport: [this=%x] completing write request due to cancelation\n", this));
+- mSelectFlags &= ~PR_POLL_WRITE;
+ mWriteRequest->GetStatus(&writeStatus);
+ CompleteAsyncWrite();
+ if (NS_FAILED(writeStatus))
+@@ -1485,23 +1508,44 @@
+ nsAutoMonitor mon(mMonitor);
+ nsresult rv = NS_OK;
+
+- if (aHostEnt->hostEnt.h_addr_list && aHostEnt->hostEnt.h_addr_list[0]) {
+- if (aHostEnt->hostEnt.h_addrtype == PR_AF_INET6)
+- memcpy(&mNetAddress.ipv6.ip, aHostEnt->hostEnt.h_addr_list[0], sizeof(mNetAddress.ipv6.ip));
+- else
+- PR_ConvertIPv4AddrToIPv6(*(PRUint32*)aHostEnt->hostEnt.h_addr_list[0], &mNetAddress.ipv6.ip);
++ char **addrList = aHostEnt->hostEnt.h_addr_list;
++
++ if (addrList && addrList[0]) {
++ PRUint32 len = 0;
++
++ LOG(("nsSocketTransport::OnFound [%s:%d %x] lookup succeeded [FQDN=%s]\n",
++ mHostName, mPort, this, aHostEnt->hostEnt.h_name));
++
++ // determine the number of address in the list
++ for (; *addrList; ++addrList)
++ ++len;
++ addrList -= len;
++
++ // allocate space for the addresses
++ mNetAddrList.Init(len);
++
++ // populate the address list
++ PRNetAddr *addr = nsnull;
++ while ((addr = mNetAddrList.GetNext(addr)) != nsnull) {
++ PR_SetNetAddr(PR_IpAddrAny, PR_AF_INET6, GetSocketPort(), addr);
++ if (aHostEnt->hostEnt.h_addrtype == PR_AF_INET6)
++ memcpy(&addr->ipv6.ip, *addrList, sizeof(addr->ipv6.ip));
++ else
++ PR_ConvertIPv4AddrToIPv6(*(PRUint32 *)(*addrList), &addr->ipv6.ip);
++ ++addrList;
+ #if defined(PR_LOGGING)
+- char addrbuf[50];
+- PR_NetAddrToString(&mNetAddress, addrbuf, sizeof(addrbuf));
+- LOG(("nsSocketTransport: OnFound(...) [%s:%d %x]."
+- " DNS lookup succeeded => %s (%s)\n",
+- mHostName, mPort, this,
+- aHostEnt->hostEnt.h_name,
+- addrbuf));
++ char buf[50];
++ PR_NetAddrToString(addr, buf, sizeof(buf));
++ LOG((" => %s\n", buf));
+ #endif
+- } else {
+- // XXX: What should happen here? The GetHostByName(...) succeeded but
+- // there are *no* A records...
++ }
++
++ // start with first address in list
++ mNetAddress = mNetAddrList.GetNext(nsnull);
++ }
++ else {
++ // XXX: What should happen here? The DNS lookup succeeded, but there
++ // are no address records...
+ rv = NS_ERROR_FAILURE;
+
+ LOG(("nsSocketTransport: OnFound(...) [%s:%d %x]."
+@@ -1531,7 +1575,7 @@
+ // If the lookup failed, set the status...
+ if (NS_FAILED(aStatus))
+ mStatus = aStatus;
+- else if (PR_IsNetAddrType(&mNetAddress, PR_IpAddrAny))
++ else if (mNetAddress == nsnull)
+ mStatus = NS_ERROR_ABORT;
+
+ // Start processing the transport again - if necessary...
+@@ -1852,7 +1896,7 @@
+ *_retval = (char*)nsMemory::Alloc(aLen);
+ if (!*_retval) return NS_ERROR_FAILURE;
+
+- PRStatus status = PR_NetAddrToString(&mNetAddress, *_retval, aLen);
++ PRStatus status = PR_NetAddrToString(mNetAddress, *_retval, aLen);
+
+ if (PR_FAILURE == status) {
+ nsMemory::Free(*_retval);
+@@ -1968,6 +2012,37 @@
+
+ if (--mSocketRef == 0)
+ CloseConnection();
++}
++
++//
++//----------------------------------------------------------------------------
++// nsSocketTransport::nsNetAddrList
++//----------------------------------------------------------------------------
++//
++
++nsresult nsSocketTransport::
++nsNetAddrList::Init(PRUint32 len)
++{
++ NS_ASSERTION(!mList, "already initialized");
++ mList = new PRNetAddr[len];
++ if (!mList)
++ return NS_ERROR_OUT_OF_MEMORY;
++ mLen = len;
++ return NS_OK;
++}
++
++PRNetAddr *nsSocketTransport::
++nsNetAddrList::GetNext(PRNetAddr *addr)
++{
++ if (!addr)
++ return mList;
++
++ PRUint32 offset = addr - mList;
++ NS_ASSERTION(offset < mLen, "invalid address");
++ if (offset + 1 < mLen)
++ return addr + 1;
++
++ return nsnull;
+ }
+
+ //
diff --git a/www/mozilla/files/patch-netwerk::base::src::nsSocketTransport.h b/www/mozilla/files/patch-netwerk::base::src::nsSocketTransport.h
new file mode 100644
index 000000000000..ed73e127f901
--- /dev/null
+++ b/www/mozilla/files/patch-netwerk::base::src::nsSocketTransport.h
@@ -0,0 +1,57 @@
+--- netwerk/base/src/nsSocketTransport.h.orig Fri Feb 8 11:20:24 2002
++++ netwerk/base/src/nsSocketTransport.h Fri Feb 8 11:20:29 2002
+@@ -176,7 +176,7 @@
+ PRFileDesc* GetSocket(void) { return mSocketFD; }
+ PRInt16 GetSelectFlags(void) { return mSelectFlags; }
+ PRCList* GetListNode(void) { return &mListLink; }
+-
++
+ static nsSocketTransport* GetInstance(PRCList* qp) { return (nsSocketTransport*)((char*)qp - offsetof(nsSocketTransport, mListLink)); }
+
+ PRBool CanBeReused() { return
+@@ -237,8 +237,27 @@
+ inline void ClearFlag(nsSocketReadWriteInfo aFlag) {
+ mReadWriteState &= ~aFlag;
+ }
++
++ PRInt32 GetSocketPort(void) { return (mProxyPort != -1 && !mProxyTransparent) ? mProxyPort : mPort; }
++ const char *GetSocketHost(void) { return (mProxyHost && !mProxyTransparent) ? mProxyHost : mHostName; }
+
+ protected:
++ class nsNetAddrList {
++ public:
++ nsNetAddrList() : mList(nsnull), mLen(0) {}
++ ~nsNetAddrList() { delete[] mList; }
++
++ // allocate space for the address list
++ nsresult Init(PRUint32 len);
++
++ // given a net addr in the list, return the next addr.
++ // if given NULL, then return the first addr in the list.
++ // returns NULL if given addr is the last addr.
++ PRNetAddr *GetNext(PRNetAddr *currentAddr);
++ private:
++ PRNetAddr *mList;
++ PRUint32 mLen;
++ };
+
+ nsSocketState mCurrentState;
+ nsCOMPtr<nsIRequest> mDNSRequest;
+@@ -249,7 +268,8 @@
+ PRIntervalTime mLastActiveTime;
+ PRCList mListLink;
+ PRMonitor* mMonitor;
+- PRNetAddr mNetAddress;
++ nsNetAddrList mNetAddrList;
++ PRNetAddr *mNetAddress;
+ nsSocketOperation mOperation;
+ nsCOMPtr<nsISupports> mSecurityInfo;
+
+@@ -415,6 +435,7 @@
+ PRBool IsInitialized() { return mStartFired; }
+ PRBool IsSuspended() { return mSuspendCount > 0; }
+ PRBool IsCanceled() { return mCanceled; }
++ PRBool HasFailed() { return NS_FAILED(mStatus); }
+
+ void SetTransport(nsSocketTransport *);
+ void SetObserver(nsIRequestObserver *obs) { mObserver = obs; }
diff --git a/www/mozilla/files/patch-nsprpub::configure b/www/mozilla/files/patch-nsprpub::configure
new file mode 100644
index 000000000000..b008097bf949
--- /dev/null
+++ b/www/mozilla/files/patch-nsprpub::configure
@@ -0,0 +1,50 @@
+--- nsprpub/configure.orig Tue Jan 22 23:57:37 2002
++++ nsprpub/configure Thu Feb 14 01:13:13 2002
+@@ -3288,8 +3288,9 @@
+ else
+ DLL_SUFFIX=so.1.0
+ fi
++ MKSHLIB='$(CC) $(DSO_LDOPTS) -o $@'
+ DSO_CFLAGS=-fPIC
+- DSO_LDOPTS=-Bshareable
++ DSO_LDOPTS='-shared -Wl,-soname -Wl,$(notdir $@)'
+ MDCPUCFG_H=_freebsd.cfg
+ PR_MD_CSRCS=freebsd.c
+ ;;
+@@ -5091,8 +5092,15 @@
+ if test $? -eq 0; then
+ if test -z "`egrep -i '(unrecognize|unknown)' conftest.out | grep pthread`" && test -z "`egrep -i '(error|incorrect)' conftest.out`" ; then
+ ac_cv_have_dash_pthread=yes
+- CFLAGS="$CFLAGS -pthread"
+- CXXFLAGS="$CXXFLAGS -pthread"
++ case "$target_os" in
++ freebsd*)
++# Freebsd doesn't use -pthread for compiles, it uses them for linking
++ ;;
++ *)
++ CFLAGS="$CFLAGS -pthread"
++ CXXFLAGS="$CXXFLAGS -pthread"
++ ;;
++ esac
+ fi
+ fi
+ rm -f conftest*
+@@ -5123,11 +5131,17 @@
+ ;;
+ *-freebsd*|*-openbsd*|*-bsdi*|*-netbsd*)
+ cat >> confdefs.h <<\EOF
++#define _REENTRANT 1
++EOF
++
++ cat >> confdefs.h <<\EOF
+ #define _THREAD_SAFE 1
+ EOF
+
+ if test "$ac_cv_have_dash_pthread" = "yes"; then
+- _PTHREAD_LDFLAGS=
++ _PTHREAD_LDFLAGS="-pthread"
++ else
++ _PTHREAD_LDFLAGS="-lc_r"
+ fi
+ ;;
+ *-linux*)
diff --git a/www/mozilla/files/patch-nsprpub::pr::include::md::_freebsd.cfg b/www/mozilla/files/patch-nsprpub::pr::include::md::_freebsd.cfg
deleted file mode 100644
index 417d7d91ddb6..000000000000
--- a/www/mozilla/files/patch-nsprpub::pr::include::md::_freebsd.cfg
+++ /dev/null
@@ -1,13 +0,0 @@
---- nsprpub/pr/include/md/_freebsd.cfg.orig Mon Nov 26 17:07:20 2001
-+++ nsprpub/pr/include/md/_freebsd.cfg Mon Nov 26 17:15:01 2001
-@@ -93,8 +93,8 @@
-
- #elif defined(__alpha)
-
--#define IS_LITTLE_ENDIAN 1
--#undef IS_BIG_ENDIAN
-+#define IS_64
-+
- #define HAVE_LONG_LONG
- #define HAVE_ALIGNED_DOUBLES
- #define HAVE_ALIGNED_LONGLONGS
diff --git a/www/mozilla/files/patch-qt b/www/mozilla/files/patch-qt
index a7c925a72023..05596784fcfe 100644
--- a/www/mozilla/files/patch-qt
+++ b/www/mozilla/files/patch-qt
@@ -40,11 +40,3 @@ $FreeBSD$
QT_LIBS="-L/usr/X11R6/lib -L${QTDIR}/lib -lqt -lXext -lX11"
# Check whether --with-static-qt or --without-static-qt was given.
-@@ -13711,6 +13712,7 @@
- echo "configure: warning: Recreating autoconf.mk with updated nspr-config output" 1>&2
- if test ! "$VACPP" && test -z "$_WIN32_MSVC"; then
- NSPR_LIBS=`./nsprpub/config/nspr-config --prefix=$MOZ_BUILD_ROOT/dist --exec-prefix=$MOZ_BUILD_ROOT/dist --libs`
-+ NSPR_LIBS="$NSPR_LIBS $BSD_PTHREAD_LIBS"
- $PERL -pi.bak -e "s {^NSPR_LIBS\s*=.*} {NSPR_LIBS = $NSPR_LIBS }" config/autoconf.mk
- fi
- if test -z "$_WIN32_MSVC"; then
diff --git a/www/mozilla/files/patch-security::coreconf::FreeBSD.mk b/www/mozilla/files/patch-security::coreconf::FreeBSD.mk
new file mode 100644
index 000000000000..1f33ac826a02
--- /dev/null
+++ b/www/mozilla/files/patch-security::coreconf::FreeBSD.mk
@@ -0,0 +1,50 @@
+--- security/coreconf/FreeBSD.mk.orig Tue Sep 19 05:53:08 2000
++++ security/coreconf/FreeBSD.mk Thu Feb 14 14:19:02 2002
+@@ -35,27 +35,27 @@
+
+ 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
+-OS_REL_CFLAGS = -Di386
+ CPU_ARCH = x86
+ endif
+
+-OS_CFLAGS = $(DSO_CFLAGS) $(OS_REL_CFLAGS) -ansi -Wall -pipe $(THREAD_FLAG) -DFREEBSD -DHAVE_STRERROR -DHAVE_BSD_FLOCK
++OS_CFLAGS = $(DSO_CFLAGS) $(OS_REL_CFLAGS) -ansi -Wall -DFREEBSD -DHAVE_STRERROR -DHAVE_BSD_FLOCK
++
++DSO_CFLAGS = -fPIC
++DSO_LDOPTS = -shared -Wl,-soname -Wl,$(notdir $@)
+
+ #
+ # The default implementation strategy for FreeBSD is pthreads.
+ #
+ ifndef CLASSIC_NSPR
+ USE_PTHREADS = 1
+-DEFINES += -D_THREAD_SAFE
+-THREAD_FLAG = -pthread
++DEFINES += -D_THREAD_SAFE -D_REENTRANT
++DSO_LDOPTS += -pthread
+ endif
+
+ ARCH = freebsd
+@@ -68,11 +68,7 @@
+ DLL_SUFFIX = so.1.0
+ endif
+
+-DSO_CFLAGS = -fPIC
+-DSO_LDOPTS = -Bshareable
+-DSO_LDFLAGS =
+-
+-MKSHLIB = $(LD) $(DSO_LDOPTS)
++MKSHLIB = $(CC) $(DSO_LDOPTS) -o $@
+
+ G++INCLUDES = -I/usr/include/g++
+
diff --git a/www/mozilla/files/tar-exclude b/www/mozilla/files/tar-exclude
new file mode 100644
index 000000000000..b4d218b0a9fa
--- /dev/null
+++ b/www/mozilla/files/tar-exclude
@@ -0,0 +1,6 @@
+*/CVS/*
+*/macbuild/*
+*/package/*
+.cvsignore
+makefile.win
+MANIFEST
diff --git a/www/mozilla/pkg-plist b/www/mozilla/pkg-plist
index 17b82c589575..34ec0b079c54 100644
--- a/www/mozilla/pkg-plist
+++ b/www/mozilla/pkg-plist
@@ -1,85 +1,12 @@
bin/mozilla
-lib/mozilla/DumpColors
-lib/mozilla/FilesTest
-lib/mozilla/OutTestData/doctype.xif
-lib/mozilla/OutTestData/entityxif.out
-lib/mozilla/OutTestData/entityxif.xif
-lib/mozilla/OutTestData/htmltable.html
-lib/mozilla/OutTestData/htmltable.out
-lib/mozilla/OutTestData/mailquote.html
-lib/mozilla/OutTestData/mailquote.out
-lib/mozilla/OutTestData/plain.html
-lib/mozilla/OutTestData/plainnowrap.out
-lib/mozilla/OutTestData/plainwrap.out
-lib/mozilla/OutTestData/simple.html
-lib/mozilla/OutTestData/simplecopy.out
-lib/mozilla/OutTestData/simplefmt.out
-lib/mozilla/OutTestData/simplemail.html
-lib/mozilla/OutTestData/simplemail.out
-lib/mozilla/OutTestData/xifdthtml.out
-lib/mozilla/OutTestData/xifdtplain.out
-lib/mozilla/OutTestData/xifstuff.out
-lib/mozilla/OutTestData/xifstuff.xif
-lib/mozilla/PrimitiveTest
-lib/mozilla/PropertiesTest
-lib/mozilla/SimpleTypeLib
-lib/mozilla/StringBundleTest
-lib/mozilla/TestArray
-lib/mozilla/TestAtoms
-lib/mozilla/TestAutoLock
-lib/mozilla/TestCOMPtr
-lib/mozilla/TestCOMPtrEq
-lib/mozilla/TestCRT
-lib/mozilla/TestCSSPropertyLookup
-lib/mozilla/TestCallTemplates
-lib/mozilla/TestCallbacks
-lib/mozilla/TestColorNames
-lib/mozilla/TestCookie
-lib/mozilla/TestDBMAccess
-lib/mozilla/TestFactory
-lib/mozilla/TestFileInput
-lib/mozilla/TestFileInput2
-lib/mozilla/TestFileTransport
lib/mozilla/TestGtkEmbed
lib/mozilla/TestGtkEmbedChild
lib/mozilla/TestGtkEmbedNotebook
lib/mozilla/TestGtkEmbedSocket
-lib/mozilla/TestHttp
-lib/mozilla/TestID
-lib/mozilla/TestIDN
-lib/mozilla/TestInterfaceInfo
-lib/mozilla/TestLineBreak
-lib/mozilla/TestMCTransport
-lib/mozilla/TestObserverService
-lib/mozilla/TestOutSinks.pl
-lib/mozilla/TestOutput
-lib/mozilla/TestPageLoad
-lib/mozilla/TestPerf
-lib/mozilla/TestPermanentAtoms
-lib/mozilla/TestPipes
-lib/mozilla/TestProtocols
-lib/mozilla/TestRect
-lib/mozilla/TestServMgr
-lib/mozilla/TestSocketIO
-lib/mozilla/TestSocketInput
-lib/mozilla/TestSocketTransport
-lib/mozilla/TestSpaceManager
-lib/mozilla/TestStandardURL
-lib/mozilla/TestStreamConv
-lib/mozilla/TestTXMgr
-lib/mozilla/TestThreads
-lib/mozilla/TestURLParser
-lib/mozilla/TestVoidBTree
-lib/mozilla/TestXMLExtras
-lib/mozilla/TestXPC
-lib/mozilla/TestXPIDLString
-lib/mozilla/TestXPTCInvoke
-lib/mozilla/UnicharSelfTest
lib/mozilla/bloaturls.txt
lib/mozilla/chrome/US.jar
lib/mozilla/chrome/chatzilla.jar
lib/mozilla/chrome/chrome.rdf
-@unexec rm -f %D/lib/mozilla/chrome/chrome.rdf || true
lib/mozilla/chrome/chromelist.txt
lib/mozilla/chrome/classic.jar
lib/mozilla/chrome/comm.jar
@@ -105,7 +32,6 @@ lib/mozilla/chrome/pippki.jar
lib/mozilla/chrome/toolkit.jar
lib/mozilla/chrome/venkman.jar
lib/mozilla/component.reg
-@unexec rm -f %D/lib/mozilla/component.reg || true
lib/mozilla/components/absync.xpt
lib/mozilla/components/accessibility.xpt
lib/mozilla/components/addrbook.xpt
@@ -158,7 +84,6 @@ lib/mozilla/components/jsurl.xpt
lib/mozilla/components/layout_base.xpt
lib/mozilla/components/layout_xul.xpt
lib/mozilla/components/layout_xul_outliner.xpt
-lib/mozilla/components/libMyService.so
lib/mozilla/components/libabsyncsvc.so
lib/mozilla/components/libaccessibility.so
lib/mozilla/components/libaddrbook.so
@@ -226,10 +151,8 @@ lib/mozilla/components/libpref.so
lib/mozilla/components/libprofile.so
lib/mozilla/components/librdf.so
lib/mozilla/components/libregviewer.so
-lib/mozilla/components/libsample.so
lib/mozilla/components/libshistory.so
lib/mozilla/components/libstrres.so
-lib/mozilla/components/libtestdynamic.so
lib/mozilla/components/libtransformiix.so
lib/mozilla/components/libtxmgr.so
lib/mozilla/components/libtxtsvc.so
@@ -251,7 +174,6 @@ lib/mozilla/components/libwebbrwsr.so
lib/mozilla/components/libwidget_gtk.so
lib/mozilla/components/libxmlextras.so
lib/mozilla/components/libxpconnect.so
-lib/mozilla/components/libxpctest.so
lib/mozilla/components/libxpinstall.so
lib/mozilla/components/libxremote_client.so
lib/mozilla/components/libxremoteservice.so
@@ -288,7 +210,6 @@ lib/mozilla/components/nsFilePicker.js
lib/mozilla/components/nsHelperAppDlg.js
lib/mozilla/components/nsLDAPPrefsService.js
lib/mozilla/components/nsProxyAutoConfig.js
-lib/mozilla/components/nsSample.js
lib/mozilla/components/nsSidebar.js
lib/mozilla/components/nsXmlRpcClient.js
lib/mozilla/components/oji.xpt
@@ -300,11 +221,9 @@ lib/mozilla/components/pref.xpt
lib/mozilla/components/prefmigr.xpt
lib/mozilla/components/profile.xpt
lib/mozilla/components/proxyObjInst.xpt
-lib/mozilla/components/proxytest.xpt
lib/mozilla/components/rdf.xpt
lib/mozilla/components/regviewer.xpt
lib/mozilla/components/related.xpt
-lib/mozilla/components/sample.xpt
lib/mozilla/components/search.xpt
lib/mozilla/components/shistory.xpt
lib/mozilla/components/sidebar.xpt
@@ -336,10 +255,8 @@ lib/mozilla/components/xpcom_io.xpt
lib/mozilla/components/xpcom_threads.xpt
lib/mozilla/components/xpcom_xpti.xpt
lib/mozilla/components/xpconnect.xpt
-lib/mozilla/components/xpconnect_tests.xpt
lib/mozilla/components/xpinstall.xpt
lib/mozilla/components/xpti.dat
-@unexec rm -f %D/lib/mozilla/components/xpti.dat || true
lib/mozilla/components/xremoteservice.xpt
lib/mozilla/components/xuldoc.xpt
lib/mozilla/components/xultmpl.xpt
@@ -378,10 +295,8 @@ lib/mozilla/defaults/wallet/VcardSchema.tbl
lib/mozilla/dirver
lib/mozilla/dtd/mathml.dtd
lib/mozilla/dtd/svg.dtd
-lib/mozilla/htmlrobot
lib/mozilla/icons/mozicon16.xpm
lib/mozilla/icons/mozicon50.xpm
-lib/mozilla/libDebugRobot.so
lib/mozilla/libgkgfx.so
lib/mozilla/libgtkembedmoz.so
lib/mozilla/libgtksuperwin.so
@@ -400,20 +315,12 @@ lib/mozilla/libplds4.so
lib/mozilla/libxlibrgb.so
lib/mozilla/libxpcom.so
lib/mozilla/libxpistub.so
-lib/mozilla/lots
lib/mozilla/mozilla
lib/mozilla/mozilla-bin
lib/mozilla/mozilla-config
-lib/mozilla/mozilla-viewer.sh
lib/mozilla/mozilla-xremote-client
-lib/mozilla/nsIFileEnumerator
-lib/mozilla/nsIFileTest
-lib/mozilla/nsTestSample
lib/mozilla/nsinstall
lib/mozilla/plugins/libnullplugin.so
-lib/mozilla/proxytests
-lib/mozilla/rdfcat
-lib/mozilla/rdfpoll
lib/mozilla/regExport
lib/mozilla/regchrome
lib/mozilla/regxpcom
@@ -454,7 +361,6 @@ lib/mozilla/res/html/gopher-text.gif
lib/mozilla/res/html/gopher-unknown.gif
lib/mozilla/res/inspector/search-registry.rdf
lib/mozilla/res/inspector/viewer-registry.rdf
-lib/mozilla/res/jarlist.dat
lib/mozilla/res/langGroups.properties
lib/mozilla/res/language.properties
lib/mozilla/res/loading-image.gif
@@ -489,7 +395,6 @@ lib/mozilla/res/samples/demoform.css
lib/mozilla/res/samples/dexopenchrome.xul
lib/mozilla/res/samples/dexparamdialog.html
lib/mozilla/res/samples/dexparamdialog.xul
-lib/mozilla/res/samples/embed-test.html
lib/mozilla/res/samples/find.html
lib/mozilla/res/samples/gear1.gif
lib/mozilla/res/samples/hidetoolicon.css
@@ -544,15 +449,8 @@ lib/mozilla/res/samples/toolbarTest1.xul
lib/mozilla/res/samples/treeTest1.css
lib/mozilla/res/samples/treeTest1.xul
lib/mozilla/res/samples/widgets.xul
-lib/mozilla/res/samples/xpconnect-sample.html
lib/mozilla/res/samples/xpmenu.xul
lib/mozilla/res/samples/xulTest.css
-lib/mozilla/res/strres-test.dtd
-lib/mozilla/res/strres-test.html
-lib/mozilla/res/strres-test.js
-lib/mozilla/res/strres-test.xul
-lib/mozilla/res/strres.properties
-lib/mozilla/res/test.properties
lib/mozilla/res/throbber/anim.gif
lib/mozilla/res/throbber/anims00.gif
lib/mozilla/res/throbber/anims01.gif
@@ -586,8 +484,6 @@ lib/mozilla/res/throbber/anims28.gif
lib/mozilla/res/throbber/anims29.gif
lib/mozilla/res/ua.css
lib/mozilla/res/unixcharset.properties
-lib/mozilla/res/urlparse.dat
-lib/mozilla/res/urlparse_unx.dat
lib/mozilla/res/viewer.properties
lib/mozilla/res/viewsource.css
lib/mozilla/run-mozilla.sh
@@ -603,16 +499,14 @@ lib/mozilla/searchplugins/lxrmozilla.gif
lib/mozilla/searchplugins/lxrmozilla.src
lib/mozilla/searchplugins/mozilla.gif
lib/mozilla/searchplugins/mozilla.src
-lib/mozilla/testart
-lib/mozilla/testuta
-lib/mozilla/urltest
-lib/mozilla/viewer
-lib/mozilla/viewer_gtk
lib/mozilla/xpcshell
lib/mozilla/xpicleanup
lib/mozilla/xpidl
lib/mozilla/xpt_dump
lib/mozilla/xpt_link
+@unexec rm -f %D/lib/mozilla/chrome/chrome.rdf || true
+@unexec rm -f %D/lib/mozilla/component.reg || true
+@unexec rm -f %D/lib/mozilla/components/xpti.dat || true
@dirrm lib/mozilla/searchplugins
@dirrm lib/mozilla/res/throbber
@dirrm lib/mozilla/res/samples/sampleimages
@@ -649,5 +543,4 @@ lib/mozilla/xpt_link
@dirrm lib/mozilla/chrome/overlayinfo/communicator
@dirrm lib/mozilla/chrome/overlayinfo
@dirrm lib/mozilla/chrome
-@dirrm lib/mozilla/OutTestData
@dirrm lib/mozilla
diff --git a/www/seamonkey/Makefile b/www/seamonkey/Makefile
index 0d1197ee8e74..3f5ee1cf1797 100644
--- a/www/seamonkey/Makefile
+++ b/www/seamonkey/Makefile
@@ -7,6 +7,7 @@
PORTNAME= mozilla
PORTVERSION= 0.9.8
+PORTREVISION= 1
PORTEPOCH= 1
CATEGORIES= www
MASTER_SITES= ${MASTER_SITE_MOZILLA} \
@@ -28,58 +29,58 @@ LIB_DEPENDS= ORBit.2:${PORTSDIR}/devel/ORBit \
WRKSRC= ${WRKDIR}/${PORTNAME}
USE_BZIP2= yes
+EXTRACT_AFTER_ARGS= | tar -xf - -X ${FILESDIR}/tar-exclude
USE_X_PREFIX= yes
USE_PERL5= yes
USE_GMAKE= yes
-USE_NEWGCC= yes
USE_GTK= yes
GNU_CONFIGURE= yes
CONFIGURE_ARGS= \
+ --disable-auto-deps \
+ --enable-chrome-format=jar \
--disable-cpp-exceptions \
--disable-cpp-rtti \
- --disable-debug \
- --disable-idltool \
- --disable-md \
- --disable-pedantic \
- --disable-xterm-updates \
--enable-crypto \
+ --disable-debug \
+ --enable-default-toolkit=gtk \
--enable-double-buffer \
- --enable-editor \
+ --enable-dtd-debug \
+ --enable-jsd \
+ --enable-ldap \
--enable-mailnews \
--enable-mathml \
- --enable-optimize="${CFLAGS}" \
- --enable-pics \
+ --disable-md \
+ --disable-optimize \
+ --disable-pedantic \
+ --disable-plaintext-editor-only \
+ --enable-reorder \
+ --enable-strip \
--enable-svg \
- --enable-tests \
- --enable-toolkit=gtk \
- --enable-x11-shm \
- --enable-chrome-format=jar \
- --with-jpeg=${LOCALBASE} \
- --with-png=${LOCALBASE} \
- --with-mng=${LOCALBASE} \
+ --disable-tests \
+ --disable-xterm-updates \
+ --enable-xinerama \
+ --with-system-jpeg=${LOCALBASE} \
+ --with-system-mng=${LOCALBASE} \
+ --with-system-png=${LOCALBASE} \
--with-pthreads
.if !defined(WITHOUT_CHATZILLA)
CONFIGURE_ARGS+= --with-extensions=default,irc
.endif
-CONFIGURE_ENV= BSD_PTHREAD_LIBS="${PTHREAD_LIBS}" \
- CFLAGS="" CXXFLAGS="" \
- MOZ_INTERNAL_LIBART_LGPL=1
+CONFIGURE_ENV= MOZ_INTERNAL_LIBART_LGPL=1
MAKE_ENV= LD_LIBRARY_PATH=${WRKSRC}/dist/bin \
- CFLAGS="" CXXFLAGS="" \
- MALLOC_OPTIONS=j \
MOZ_INTERNAL_LIBART_LGPL=1
ALL_TARGET= default
post-build:
- @${SED} -e "s;@PREFIX@;${PREFIX};g" \
+ ${SED} -e "s;@PREFIX@;${PREFIX};g" \
${FILESDIR}/mozilla.sh >${WRKSRC}/mozilla
- @(cd ${WRKSRC}/dist/bin; \
+ (cd ${WRKSRC}/dist/bin; \
${SETENV} LD_LIBRARY_PATH=. MOZILLA_FIVE_HOME=. ./regxpcom; \
${ECHO_CMD} skin,install,select,classic/1.0 >> chrome/installed-chrome.txt; \
${ECHO_CMD} locale,install,select,en-US >> chrome/installed-chrome.txt; \
${SETENV} LD_LIBRARY_PATH=. MOZILLA_FIVE_HOME=. ./regchrome)
- @/usr/bin/find ${WRKSRC}/dist/bin -type d | /usr/bin/sort -r | \
- /usr/bin/xargs ${RMDIR} 2> /dev/null || ${TRUE}
+ ${FIND} ${WRKSRC}/dist/bin -type d | /usr/bin/sort -r | \
+ ${XARGS} ${RMDIR} 2> /dev/null || ${TRUE}
do-install:
${MKDIR} ${PREFIX}/lib/mozilla
diff --git a/www/seamonkey/files/patch-ak b/www/seamonkey/files/patch-ak
index e175dd292bd1..5323d970afec 100644
--- a/www/seamonkey/files/patch-ak
+++ b/www/seamonkey/files/patch-ak
@@ -3,11 +3,16 @@ $FreeBSD$
--- nsprpub/pr/include/md/_freebsd.h.orig Sat Jan 5 03:43:00 2002
+++ nsprpub/pr/include/md/_freebsd.h Tue Feb 5 11:14:27 2002
-@@ -40,6 +40,7 @@
- #if __FreeBSD__ >= 2
- #include <osreldate.h> /* for __FreeBSD_version */
- #endif
-+#include <sys/param.h>
- #include <sys/syscall.h>
+@@ -87,6 +88,12 @@
+
+ #define _PR_HAVE_SYSV_SEMAPHORES
+ #define PR_HAVE_SYSV_NAMED_SHARED_MEMORY
++
++#if __FreeBSD_version >= 400014
++#define _PR_INET6
++#define _PR_HAVE_GETHOSTBYNAME2
++#define _PR_INET6_PROBE
++#endif
+
+ #define USE_SETJMP
- #define PR_LINKER_ARCH "freebsd"
diff --git a/www/seamonkey/files/patch-mi b/www/seamonkey/files/patch-mi
deleted file mode 100644
index c0ae3987e0d7..000000000000
--- a/www/seamonkey/files/patch-mi
+++ /dev/null
@@ -1,42 +0,0 @@
-
-$FreeBSD$
-
---- nsprpub/config/FreeBSD.mk.orig Sat Jul 29 03:50:35 2000
-+++ nsprpub/config/FreeBSD.mk Mon Sep 17 10:47:08 2001
-@@ -37,19 +37,21 @@
-
- include $(MOD_DEPTH)/config/UNIX.mk
-
--CC = gcc
--CCC = g++
-+CCC = $(CXX)
- RANLIB = ranlib
-
-+# During FreeBSD port build, CFLAGS contains all of the optimizations
-+# flags desired...
-+OPTIMIZER = $(MOZ_OPTIMIZE_FLAGS)
-+
- ifeq ($(OS_TEST),alpha)
- CPU_ARCH = alpha
- else
--OS_REL_CFLAGS = -Di386
- CPU_ARCH = x86
- endif
- CPU_ARCH_TAG = _$(CPU_ARCH)
-
--OS_CFLAGS = $(DSO_CFLAGS) $(OS_REL_CFLAGS) -ansi -Wall -pipe $(THREAD_FLAG) -DFREEBSD -DHAVE_STRERROR -DHAVE_BSD_FLOCK
-+OS_CFLAGS = $(DSO_CFLAGS) $(OS_REL_CFLAGS) -ansi -Wall -pipe -DFREEBSD -DHAVE_STRERROR -DHAVE_BSD_FLOCK
-
- #
- # The default implementation strategy for FreeBSD is pthreads.
-@@ -60,8 +62,8 @@
- else
- USE_PTHREADS = 1
- IMPL_STRATEGY = _PTH
--DEFINES += -D_THREAD_SAFE
--THREAD_FLAG += -pthread
-+DEFINES += -D_THREAD_SAFE -D_REENTRANT
-+DSO_LDOPTS += -pthread
- endif
-
- ARCH = freebsd
diff --git a/www/seamonkey/files/patch-netwerk::base::src::nsSocketTransport.cpp b/www/seamonkey/files/patch-netwerk::base::src::nsSocketTransport.cpp
new file mode 100644
index 000000000000..c9adc8584c7d
--- /dev/null
+++ b/www/seamonkey/files/patch-netwerk::base::src::nsSocketTransport.cpp
@@ -0,0 +1,329 @@
+--- netwerk/base/src/nsSocketTransport.cpp.orig Fri Feb 8 11:20:08 2002
++++ netwerk/base/src/nsSocketTransport.cpp Fri Feb 8 11:20:16 2002
+@@ -143,6 +143,7 @@
+ mHostName(nsnull),
+ mPort(-1),
+ mMonitor(nsnull),
++ mNetAddress(nsnull),
+ mOperation(eSocketOperation_None),
+ mProxyPort(-1),
+ mProxyHost(nsnull),
+@@ -183,12 +184,6 @@
+ SetWriteType(eSocketWrite_None);
+
+ //
+- // Set up Internet defaults...
+- //
+- memset(&mNetAddress, 0, sizeof(mNetAddress));
+- PR_SetNetAddr(PR_IpAddrAny, PR_AF_INET6, 0, &mNetAddress);
+-
+- //
+ // Initialize the global connect timeout value if necessary...
+ //
+ if (PR_INTERVAL_NO_WAIT == gConnectTimeout)
+@@ -415,6 +410,14 @@
+
+ while (!done) {
+ //
++ // Check for failure on any socket requests
++ //
++ if (mReadRequest && mReadRequest->HasFailed())
++ mReadRequest->GetStatus(&mStatus);
++ else if (mWriteRequest && mWriteRequest->HasFailed())
++ mWriteRequest->GetStatus(&mStatus);
++
++ //
+ // If an error has occurred then move into the error state...
+ //
+ if (NS_FAILED(mStatus) && (NS_BASE_STREAM_WOULD_BLOCK != mStatus))
+@@ -495,17 +498,40 @@
+ // Send status message
+ // only send a status if doResolveHost is going to do some
+ // resolution
+- if (mStatus != NS_OK)
++ if (mStatus == NS_BASE_STREAM_WOULD_BLOCK)
+ OnStatus_Locked(NS_NET_STATUS_RESOLVING_HOST);
+ break;
+
+ case eSocketState_WaitConnect:
+ LOG(("nsSocketTransport: Transport [host=%s:%d this=%x] is in WaitConnect state.\n",
+ mHostName, mPort, this));
+- mStatus = doConnection(aSelectFlags);
+
+ // Send status message
+ OnStatus_Locked(NS_NET_STATUS_CONNECTING_TO);
++
++ mStatus = doConnection(aSelectFlags);
++
++ // on connection failure, reuse next address if one exists
++ if (mStatus == NS_ERROR_CONNECTION_REFUSED) {
++ mNetAddress = mNetAddrList.GetNext(mNetAddress);
++ if (mNetAddress) {
++#if defined(PR_LOGGING)
++ char buf[50];
++ PR_NetAddrToString(mNetAddress, buf, sizeof(buf));
++ LOG(("connection failed... trying %s\n", buf));
++#endif
++ PR_Close(mSocketFD);
++ mSocketFD = nsnull;
++
++ // mask error status so we'll return to this state
++ mStatus = NS_OK;
++
++ // need to re-enter Process() asynchronously
++ mService->AddToWorkQ(this);
++ done = PR_TRUE;
++ continue;
++ }
++ }
+ break;
+
+ case eSocketState_WaitReadWrite:
+@@ -633,21 +659,19 @@
+
+ NS_ASSERTION(eSocketState_WaitDNS == mCurrentState, "Wrong state.");
+
+- LOG(("nsSocketTransport: Entering doResolveHost() [host=%s:%d this=%x].\n",
++ LOG(("nsSocketTransport: Entering doResolveHost() [host=%s:%d %x].\n",
+ mHostName, mPort, this));
+
++ //
++ // The hostname is being resolved...
++ //
++ if (mDNSRequest)
++ return NS_BASE_STREAM_WOULD_BLOCK;
++
+ //
+ // The hostname has not been resolved yet...
+ //
+- if (PR_IsNetAddrType(&mNetAddress, PR_IpAddrAny)) {
+- //
+- // Initialize the port used for the connection...
+- //
+- // XXX: The list of ports must be restricted - see net_bad_ports_table[] in
+- // mozilla/network/main/mkconect.c
+- //
+- mNetAddress.ipv6.port = PR_htons(((mProxyPort != -1 && !mProxyTransparent) ? mProxyPort : mPort));
+-
++ if (mNetAddress == nsnull) {
+ PR_ExitMonitor(mMonitor);
+
+ nsIDNSService* pDNSService = mService->GetCachedDNSService();
+@@ -659,9 +683,7 @@
+ // Give up the SocketTransport lock. This allows the DNS thread to call the
+ // nsIDNSListener notifications without blocking...
+ //
+- rv = pDNSService->Lookup((mProxyHost && !mProxyTransparent) ? mProxyHost : mHostName,
+- this,
+- nsnull,
++ rv = pDNSService->Lookup(GetSocketHost(), this, nsnull,
+ getter_AddRefs(mDNSRequest));
+ //
+ // Aquire the SocketTransport lock again...
+@@ -672,7 +694,7 @@
+ //
+ // The DNS lookup has finished... It has either failed or succeeded.
+ //
+- if (NS_FAILED(mStatus) || !PR_IsNetAddrType(&mNetAddress, PR_IpAddrAny)) {
++ if (NS_FAILED(mStatus) || mNetAddress) {
+ mDNSRequest = 0;
+ rv = mStatus;
+ }
+@@ -687,10 +709,8 @@
+ }
+ }
+
+- LOG(("nsSocketTransport: Leaving doResolveHost() [%s:%d %x].\t"
+- "rv = %x.\n\n",
++ LOG(("nsSocketTransport: Leaving doResolveHost() [%s:%d %x] rv = %x\n",
+ mHostName, mPort, this, rv));
+-
+ return rv;
+ }
+
+@@ -832,7 +852,7 @@
+ // This is only done the first time doConnection(...) is called.
+ //
+ if (NS_SUCCEEDED(rv)) {
+- status = PR_Connect(mSocketFD, &mNetAddress, gConnectTimeout);
++ status = PR_Connect(mSocketFD, mNetAddress, gConnectTimeout);
+ if (PR_SUCCESS != status) {
+ PRErrorCode code = PR_GetError();
+ //
+@@ -932,14 +952,17 @@
+ //
+ // The hostname has not been resolved yet...
+ //
+- if (PR_IsNetAddrType(&mNetAddress, PR_IpAddrAny)) {
++ if (mNetAddress == nsnull) {
+ nsIDNSService* pDNSService = mService->GetCachedDNSService();
+ if (!pDNSService) {
+ return NS_ERROR_UNEXPECTED;
+ }
+
+ nsXPIDLCString result;
+- const char *host = (mProxyHost && !mProxyTransparent) ? mProxyHost : mHostName;
++ const char *host = GetSocketHost();
++
++ // XXX DNS service does not provide a synchronous resolver that returns
++ // the entire nsHostEnt struct.
+ rv = pDNSService->Resolve(host, getter_Copies(result));
+ if (NS_FAILED(rv)) return rv;
+
+@@ -953,16 +976,18 @@
+ return NS_ERROR_FAILURE;
+ }
+
++ mNetAddrList.Init(1);
++ mNetAddress = mNetAddrList.GetNext(nsnull);
++
++ PR_SetNetAddr(PR_IpAddrAny, PR_AF_INET6, GetSocketPort(), mNetAddress);
++
+ if (addr.raw.family == PR_AF_INET)
+- PR_ConvertIPv4AddrToIPv6(addr.inet.ip, &mNetAddress.ipv6.ip);
++ PR_ConvertIPv4AddrToIPv6(addr.inet.ip, &mNetAddress->ipv6.ip);
+ else
+- memcpy(&mNetAddress.ipv6.ip, &addr.ipv6.ip, sizeof(mNetAddress.ipv6.ip));
+-
+- mNetAddress.ipv6.port
+- = PR_htons(((mProxyPort != -1 && !mProxyTransparent) ? mProxyPort : mPort));
++ memcpy(&mNetAddress->ipv6.ip, &addr.ipv6.ip, sizeof(mNetAddress->ipv6.ip));
+
+ LOG(("address { family=%hu, port=%hu }\n",
+- mNetAddress.ipv6.family, PR_ntohs(mNetAddress.ipv6.port)));
++ mNetAddress->ipv6.family, PR_ntohs(mNetAddress->ipv6.port)));
+ }
+
+ //
+@@ -1036,7 +1061,6 @@
+ if (mReadRequest) {
+ if (mReadRequest->IsCanceled() || (mBytesExpected == 0)) {
+ LOG(("nsSocketTransport: [this=%x] completing read request due to cancelation\n", this));
+- mSelectFlags &= ~PR_POLL_READ;
+ mReadRequest->GetStatus(&readStatus);
+ CompleteAsyncRead();
+ if (NS_FAILED(readStatus))
+@@ -1078,7 +1102,6 @@
+ if (mWriteRequest) {
+ if (mWriteRequest->IsCanceled()) {
+ LOG(("nsSocketTransport: [this=%x] completing write request due to cancelation\n", this));
+- mSelectFlags &= ~PR_POLL_WRITE;
+ mWriteRequest->GetStatus(&writeStatus);
+ CompleteAsyncWrite();
+ if (NS_FAILED(writeStatus))
+@@ -1485,23 +1508,44 @@
+ nsAutoMonitor mon(mMonitor);
+ nsresult rv = NS_OK;
+
+- if (aHostEnt->hostEnt.h_addr_list && aHostEnt->hostEnt.h_addr_list[0]) {
+- if (aHostEnt->hostEnt.h_addrtype == PR_AF_INET6)
+- memcpy(&mNetAddress.ipv6.ip, aHostEnt->hostEnt.h_addr_list[0], sizeof(mNetAddress.ipv6.ip));
+- else
+- PR_ConvertIPv4AddrToIPv6(*(PRUint32*)aHostEnt->hostEnt.h_addr_list[0], &mNetAddress.ipv6.ip);
++ char **addrList = aHostEnt->hostEnt.h_addr_list;
++
++ if (addrList && addrList[0]) {
++ PRUint32 len = 0;
++
++ LOG(("nsSocketTransport::OnFound [%s:%d %x] lookup succeeded [FQDN=%s]\n",
++ mHostName, mPort, this, aHostEnt->hostEnt.h_name));
++
++ // determine the number of address in the list
++ for (; *addrList; ++addrList)
++ ++len;
++ addrList -= len;
++
++ // allocate space for the addresses
++ mNetAddrList.Init(len);
++
++ // populate the address list
++ PRNetAddr *addr = nsnull;
++ while ((addr = mNetAddrList.GetNext(addr)) != nsnull) {
++ PR_SetNetAddr(PR_IpAddrAny, PR_AF_INET6, GetSocketPort(), addr);
++ if (aHostEnt->hostEnt.h_addrtype == PR_AF_INET6)
++ memcpy(&addr->ipv6.ip, *addrList, sizeof(addr->ipv6.ip));
++ else
++ PR_ConvertIPv4AddrToIPv6(*(PRUint32 *)(*addrList), &addr->ipv6.ip);
++ ++addrList;
+ #if defined(PR_LOGGING)
+- char addrbuf[50];
+- PR_NetAddrToString(&mNetAddress, addrbuf, sizeof(addrbuf));
+- LOG(("nsSocketTransport: OnFound(...) [%s:%d %x]."
+- " DNS lookup succeeded => %s (%s)\n",
+- mHostName, mPort, this,
+- aHostEnt->hostEnt.h_name,
+- addrbuf));
++ char buf[50];
++ PR_NetAddrToString(addr, buf, sizeof(buf));
++ LOG((" => %s\n", buf));
+ #endif
+- } else {
+- // XXX: What should happen here? The GetHostByName(...) succeeded but
+- // there are *no* A records...
++ }
++
++ // start with first address in list
++ mNetAddress = mNetAddrList.GetNext(nsnull);
++ }
++ else {
++ // XXX: What should happen here? The DNS lookup succeeded, but there
++ // are no address records...
+ rv = NS_ERROR_FAILURE;
+
+ LOG(("nsSocketTransport: OnFound(...) [%s:%d %x]."
+@@ -1531,7 +1575,7 @@
+ // If the lookup failed, set the status...
+ if (NS_FAILED(aStatus))
+ mStatus = aStatus;
+- else if (PR_IsNetAddrType(&mNetAddress, PR_IpAddrAny))
++ else if (mNetAddress == nsnull)
+ mStatus = NS_ERROR_ABORT;
+
+ // Start processing the transport again - if necessary...
+@@ -1852,7 +1896,7 @@
+ *_retval = (char*)nsMemory::Alloc(aLen);
+ if (!*_retval) return NS_ERROR_FAILURE;
+
+- PRStatus status = PR_NetAddrToString(&mNetAddress, *_retval, aLen);
++ PRStatus status = PR_NetAddrToString(mNetAddress, *_retval, aLen);
+
+ if (PR_FAILURE == status) {
+ nsMemory::Free(*_retval);
+@@ -1968,6 +2012,37 @@
+
+ if (--mSocketRef == 0)
+ CloseConnection();
++}
++
++//
++//----------------------------------------------------------------------------
++// nsSocketTransport::nsNetAddrList
++//----------------------------------------------------------------------------
++//
++
++nsresult nsSocketTransport::
++nsNetAddrList::Init(PRUint32 len)
++{
++ NS_ASSERTION(!mList, "already initialized");
++ mList = new PRNetAddr[len];
++ if (!mList)
++ return NS_ERROR_OUT_OF_MEMORY;
++ mLen = len;
++ return NS_OK;
++}
++
++PRNetAddr *nsSocketTransport::
++nsNetAddrList::GetNext(PRNetAddr *addr)
++{
++ if (!addr)
++ return mList;
++
++ PRUint32 offset = addr - mList;
++ NS_ASSERTION(offset < mLen, "invalid address");
++ if (offset + 1 < mLen)
++ return addr + 1;
++
++ return nsnull;
+ }
+
+ //
diff --git a/www/seamonkey/files/patch-netwerk::base::src::nsSocketTransport.h b/www/seamonkey/files/patch-netwerk::base::src::nsSocketTransport.h
new file mode 100644
index 000000000000..ed73e127f901
--- /dev/null
+++ b/www/seamonkey/files/patch-netwerk::base::src::nsSocketTransport.h
@@ -0,0 +1,57 @@
+--- netwerk/base/src/nsSocketTransport.h.orig Fri Feb 8 11:20:24 2002
++++ netwerk/base/src/nsSocketTransport.h Fri Feb 8 11:20:29 2002
+@@ -176,7 +176,7 @@
+ PRFileDesc* GetSocket(void) { return mSocketFD; }
+ PRInt16 GetSelectFlags(void) { return mSelectFlags; }
+ PRCList* GetListNode(void) { return &mListLink; }
+-
++
+ static nsSocketTransport* GetInstance(PRCList* qp) { return (nsSocketTransport*)((char*)qp - offsetof(nsSocketTransport, mListLink)); }
+
+ PRBool CanBeReused() { return
+@@ -237,8 +237,27 @@
+ inline void ClearFlag(nsSocketReadWriteInfo aFlag) {
+ mReadWriteState &= ~aFlag;
+ }
++
++ PRInt32 GetSocketPort(void) { return (mProxyPort != -1 && !mProxyTransparent) ? mProxyPort : mPort; }
++ const char *GetSocketHost(void) { return (mProxyHost && !mProxyTransparent) ? mProxyHost : mHostName; }
+
+ protected:
++ class nsNetAddrList {
++ public:
++ nsNetAddrList() : mList(nsnull), mLen(0) {}
++ ~nsNetAddrList() { delete[] mList; }
++
++ // allocate space for the address list
++ nsresult Init(PRUint32 len);
++
++ // given a net addr in the list, return the next addr.
++ // if given NULL, then return the first addr in the list.
++ // returns NULL if given addr is the last addr.
++ PRNetAddr *GetNext(PRNetAddr *currentAddr);
++ private:
++ PRNetAddr *mList;
++ PRUint32 mLen;
++ };
+
+ nsSocketState mCurrentState;
+ nsCOMPtr<nsIRequest> mDNSRequest;
+@@ -249,7 +268,8 @@
+ PRIntervalTime mLastActiveTime;
+ PRCList mListLink;
+ PRMonitor* mMonitor;
+- PRNetAddr mNetAddress;
++ nsNetAddrList mNetAddrList;
++ PRNetAddr *mNetAddress;
+ nsSocketOperation mOperation;
+ nsCOMPtr<nsISupports> mSecurityInfo;
+
+@@ -415,6 +435,7 @@
+ PRBool IsInitialized() { return mStartFired; }
+ PRBool IsSuspended() { return mSuspendCount > 0; }
+ PRBool IsCanceled() { return mCanceled; }
++ PRBool HasFailed() { return NS_FAILED(mStatus); }
+
+ void SetTransport(nsSocketTransport *);
+ void SetObserver(nsIRequestObserver *obs) { mObserver = obs; }
diff --git a/www/seamonkey/files/patch-nsprpub::configure b/www/seamonkey/files/patch-nsprpub::configure
new file mode 100644
index 000000000000..b008097bf949
--- /dev/null
+++ b/www/seamonkey/files/patch-nsprpub::configure
@@ -0,0 +1,50 @@
+--- nsprpub/configure.orig Tue Jan 22 23:57:37 2002
++++ nsprpub/configure Thu Feb 14 01:13:13 2002
+@@ -3288,8 +3288,9 @@
+ else
+ DLL_SUFFIX=so.1.0
+ fi
++ MKSHLIB='$(CC) $(DSO_LDOPTS) -o $@'
+ DSO_CFLAGS=-fPIC
+- DSO_LDOPTS=-Bshareable
++ DSO_LDOPTS='-shared -Wl,-soname -Wl,$(notdir $@)'
+ MDCPUCFG_H=_freebsd.cfg
+ PR_MD_CSRCS=freebsd.c
+ ;;
+@@ -5091,8 +5092,15 @@
+ if test $? -eq 0; then
+ if test -z "`egrep -i '(unrecognize|unknown)' conftest.out | grep pthread`" && test -z "`egrep -i '(error|incorrect)' conftest.out`" ; then
+ ac_cv_have_dash_pthread=yes
+- CFLAGS="$CFLAGS -pthread"
+- CXXFLAGS="$CXXFLAGS -pthread"
++ case "$target_os" in
++ freebsd*)
++# Freebsd doesn't use -pthread for compiles, it uses them for linking
++ ;;
++ *)
++ CFLAGS="$CFLAGS -pthread"
++ CXXFLAGS="$CXXFLAGS -pthread"
++ ;;
++ esac
+ fi
+ fi
+ rm -f conftest*
+@@ -5123,11 +5131,17 @@
+ ;;
+ *-freebsd*|*-openbsd*|*-bsdi*|*-netbsd*)
+ cat >> confdefs.h <<\EOF
++#define _REENTRANT 1
++EOF
++
++ cat >> confdefs.h <<\EOF
+ #define _THREAD_SAFE 1
+ EOF
+
+ if test "$ac_cv_have_dash_pthread" = "yes"; then
+- _PTHREAD_LDFLAGS=
++ _PTHREAD_LDFLAGS="-pthread"
++ else
++ _PTHREAD_LDFLAGS="-lc_r"
+ fi
+ ;;
+ *-linux*)
diff --git a/www/seamonkey/files/patch-nsprpub::pr::include::md::_freebsd.cfg b/www/seamonkey/files/patch-nsprpub::pr::include::md::_freebsd.cfg
deleted file mode 100644
index 417d7d91ddb6..000000000000
--- a/www/seamonkey/files/patch-nsprpub::pr::include::md::_freebsd.cfg
+++ /dev/null
@@ -1,13 +0,0 @@
---- nsprpub/pr/include/md/_freebsd.cfg.orig Mon Nov 26 17:07:20 2001
-+++ nsprpub/pr/include/md/_freebsd.cfg Mon Nov 26 17:15:01 2001
-@@ -93,8 +93,8 @@
-
- #elif defined(__alpha)
-
--#define IS_LITTLE_ENDIAN 1
--#undef IS_BIG_ENDIAN
-+#define IS_64
-+
- #define HAVE_LONG_LONG
- #define HAVE_ALIGNED_DOUBLES
- #define HAVE_ALIGNED_LONGLONGS
diff --git a/www/seamonkey/files/patch-qt b/www/seamonkey/files/patch-qt
index a7c925a72023..05596784fcfe 100644
--- a/www/seamonkey/files/patch-qt
+++ b/www/seamonkey/files/patch-qt
@@ -40,11 +40,3 @@ $FreeBSD$
QT_LIBS="-L/usr/X11R6/lib -L${QTDIR}/lib -lqt -lXext -lX11"
# Check whether --with-static-qt or --without-static-qt was given.
-@@ -13711,6 +13712,7 @@
- echo "configure: warning: Recreating autoconf.mk with updated nspr-config output" 1>&2
- if test ! "$VACPP" && test -z "$_WIN32_MSVC"; then
- NSPR_LIBS=`./nsprpub/config/nspr-config --prefix=$MOZ_BUILD_ROOT/dist --exec-prefix=$MOZ_BUILD_ROOT/dist --libs`
-+ NSPR_LIBS="$NSPR_LIBS $BSD_PTHREAD_LIBS"
- $PERL -pi.bak -e "s {^NSPR_LIBS\s*=.*} {NSPR_LIBS = $NSPR_LIBS }" config/autoconf.mk
- fi
- if test -z "$_WIN32_MSVC"; then
diff --git a/www/seamonkey/files/patch-security::coreconf::FreeBSD.mk b/www/seamonkey/files/patch-security::coreconf::FreeBSD.mk
new file mode 100644
index 000000000000..1f33ac826a02
--- /dev/null
+++ b/www/seamonkey/files/patch-security::coreconf::FreeBSD.mk
@@ -0,0 +1,50 @@
+--- security/coreconf/FreeBSD.mk.orig Tue Sep 19 05:53:08 2000
++++ security/coreconf/FreeBSD.mk Thu Feb 14 14:19:02 2002
+@@ -35,27 +35,27 @@
+
+ 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
+-OS_REL_CFLAGS = -Di386
+ CPU_ARCH = x86
+ endif
+
+-OS_CFLAGS = $(DSO_CFLAGS) $(OS_REL_CFLAGS) -ansi -Wall -pipe $(THREAD_FLAG) -DFREEBSD -DHAVE_STRERROR -DHAVE_BSD_FLOCK
++OS_CFLAGS = $(DSO_CFLAGS) $(OS_REL_CFLAGS) -ansi -Wall -DFREEBSD -DHAVE_STRERROR -DHAVE_BSD_FLOCK
++
++DSO_CFLAGS = -fPIC
++DSO_LDOPTS = -shared -Wl,-soname -Wl,$(notdir $@)
+
+ #
+ # The default implementation strategy for FreeBSD is pthreads.
+ #
+ ifndef CLASSIC_NSPR
+ USE_PTHREADS = 1
+-DEFINES += -D_THREAD_SAFE
+-THREAD_FLAG = -pthread
++DEFINES += -D_THREAD_SAFE -D_REENTRANT
++DSO_LDOPTS += -pthread
+ endif
+
+ ARCH = freebsd
+@@ -68,11 +68,7 @@
+ DLL_SUFFIX = so.1.0
+ endif
+
+-DSO_CFLAGS = -fPIC
+-DSO_LDOPTS = -Bshareable
+-DSO_LDFLAGS =
+-
+-MKSHLIB = $(LD) $(DSO_LDOPTS)
++MKSHLIB = $(CC) $(DSO_LDOPTS) -o $@
+
+ G++INCLUDES = -I/usr/include/g++
+
diff --git a/www/seamonkey/files/tar-exclude b/www/seamonkey/files/tar-exclude
new file mode 100644
index 000000000000..b4d218b0a9fa
--- /dev/null
+++ b/www/seamonkey/files/tar-exclude
@@ -0,0 +1,6 @@
+*/CVS/*
+*/macbuild/*
+*/package/*
+.cvsignore
+makefile.win
+MANIFEST
diff --git a/www/seamonkey/pkg-plist b/www/seamonkey/pkg-plist
index 17b82c589575..34ec0b079c54 100644
--- a/www/seamonkey/pkg-plist
+++ b/www/seamonkey/pkg-plist
@@ -1,85 +1,12 @@
bin/mozilla
-lib/mozilla/DumpColors
-lib/mozilla/FilesTest
-lib/mozilla/OutTestData/doctype.xif
-lib/mozilla/OutTestData/entityxif.out
-lib/mozilla/OutTestData/entityxif.xif
-lib/mozilla/OutTestData/htmltable.html
-lib/mozilla/OutTestData/htmltable.out
-lib/mozilla/OutTestData/mailquote.html
-lib/mozilla/OutTestData/mailquote.out
-lib/mozilla/OutTestData/plain.html
-lib/mozilla/OutTestData/plainnowrap.out
-lib/mozilla/OutTestData/plainwrap.out
-lib/mozilla/OutTestData/simple.html
-lib/mozilla/OutTestData/simplecopy.out
-lib/mozilla/OutTestData/simplefmt.out
-lib/mozilla/OutTestData/simplemail.html
-lib/mozilla/OutTestData/simplemail.out
-lib/mozilla/OutTestData/xifdthtml.out
-lib/mozilla/OutTestData/xifdtplain.out
-lib/mozilla/OutTestData/xifstuff.out
-lib/mozilla/OutTestData/xifstuff.xif
-lib/mozilla/PrimitiveTest
-lib/mozilla/PropertiesTest
-lib/mozilla/SimpleTypeLib
-lib/mozilla/StringBundleTest
-lib/mozilla/TestArray
-lib/mozilla/TestAtoms
-lib/mozilla/TestAutoLock
-lib/mozilla/TestCOMPtr
-lib/mozilla/TestCOMPtrEq
-lib/mozilla/TestCRT
-lib/mozilla/TestCSSPropertyLookup
-lib/mozilla/TestCallTemplates
-lib/mozilla/TestCallbacks
-lib/mozilla/TestColorNames
-lib/mozilla/TestCookie
-lib/mozilla/TestDBMAccess
-lib/mozilla/TestFactory
-lib/mozilla/TestFileInput
-lib/mozilla/TestFileInput2
-lib/mozilla/TestFileTransport
lib/mozilla/TestGtkEmbed
lib/mozilla/TestGtkEmbedChild
lib/mozilla/TestGtkEmbedNotebook
lib/mozilla/TestGtkEmbedSocket
-lib/mozilla/TestHttp
-lib/mozilla/TestID
-lib/mozilla/TestIDN
-lib/mozilla/TestInterfaceInfo
-lib/mozilla/TestLineBreak
-lib/mozilla/TestMCTransport
-lib/mozilla/TestObserverService
-lib/mozilla/TestOutSinks.pl
-lib/mozilla/TestOutput
-lib/mozilla/TestPageLoad
-lib/mozilla/TestPerf
-lib/mozilla/TestPermanentAtoms
-lib/mozilla/TestPipes
-lib/mozilla/TestProtocols
-lib/mozilla/TestRect
-lib/mozilla/TestServMgr
-lib/mozilla/TestSocketIO
-lib/mozilla/TestSocketInput
-lib/mozilla/TestSocketTransport
-lib/mozilla/TestSpaceManager
-lib/mozilla/TestStandardURL
-lib/mozilla/TestStreamConv
-lib/mozilla/TestTXMgr
-lib/mozilla/TestThreads
-lib/mozilla/TestURLParser
-lib/mozilla/TestVoidBTree
-lib/mozilla/TestXMLExtras
-lib/mozilla/TestXPC
-lib/mozilla/TestXPIDLString
-lib/mozilla/TestXPTCInvoke
-lib/mozilla/UnicharSelfTest
lib/mozilla/bloaturls.txt
lib/mozilla/chrome/US.jar
lib/mozilla/chrome/chatzilla.jar
lib/mozilla/chrome/chrome.rdf
-@unexec rm -f %D/lib/mozilla/chrome/chrome.rdf || true
lib/mozilla/chrome/chromelist.txt
lib/mozilla/chrome/classic.jar
lib/mozilla/chrome/comm.jar
@@ -105,7 +32,6 @@ lib/mozilla/chrome/pippki.jar
lib/mozilla/chrome/toolkit.jar
lib/mozilla/chrome/venkman.jar
lib/mozilla/component.reg
-@unexec rm -f %D/lib/mozilla/component.reg || true
lib/mozilla/components/absync.xpt
lib/mozilla/components/accessibility.xpt
lib/mozilla/components/addrbook.xpt
@@ -158,7 +84,6 @@ lib/mozilla/components/jsurl.xpt
lib/mozilla/components/layout_base.xpt
lib/mozilla/components/layout_xul.xpt
lib/mozilla/components/layout_xul_outliner.xpt
-lib/mozilla/components/libMyService.so
lib/mozilla/components/libabsyncsvc.so
lib/mozilla/components/libaccessibility.so
lib/mozilla/components/libaddrbook.so
@@ -226,10 +151,8 @@ lib/mozilla/components/libpref.so
lib/mozilla/components/libprofile.so
lib/mozilla/components/librdf.so
lib/mozilla/components/libregviewer.so
-lib/mozilla/components/libsample.so
lib/mozilla/components/libshistory.so
lib/mozilla/components/libstrres.so
-lib/mozilla/components/libtestdynamic.so
lib/mozilla/components/libtransformiix.so
lib/mozilla/components/libtxmgr.so
lib/mozilla/components/libtxtsvc.so
@@ -251,7 +174,6 @@ lib/mozilla/components/libwebbrwsr.so
lib/mozilla/components/libwidget_gtk.so
lib/mozilla/components/libxmlextras.so
lib/mozilla/components/libxpconnect.so
-lib/mozilla/components/libxpctest.so
lib/mozilla/components/libxpinstall.so
lib/mozilla/components/libxremote_client.so
lib/mozilla/components/libxremoteservice.so
@@ -288,7 +210,6 @@ lib/mozilla/components/nsFilePicker.js
lib/mozilla/components/nsHelperAppDlg.js
lib/mozilla/components/nsLDAPPrefsService.js
lib/mozilla/components/nsProxyAutoConfig.js
-lib/mozilla/components/nsSample.js
lib/mozilla/components/nsSidebar.js
lib/mozilla/components/nsXmlRpcClient.js
lib/mozilla/components/oji.xpt
@@ -300,11 +221,9 @@ lib/mozilla/components/pref.xpt
lib/mozilla/components/prefmigr.xpt
lib/mozilla/components/profile.xpt
lib/mozilla/components/proxyObjInst.xpt
-lib/mozilla/components/proxytest.xpt
lib/mozilla/components/rdf.xpt
lib/mozilla/components/regviewer.xpt
lib/mozilla/components/related.xpt
-lib/mozilla/components/sample.xpt
lib/mozilla/components/search.xpt
lib/mozilla/components/shistory.xpt
lib/mozilla/components/sidebar.xpt
@@ -336,10 +255,8 @@ lib/mozilla/components/xpcom_io.xpt
lib/mozilla/components/xpcom_threads.xpt
lib/mozilla/components/xpcom_xpti.xpt
lib/mozilla/components/xpconnect.xpt
-lib/mozilla/components/xpconnect_tests.xpt
lib/mozilla/components/xpinstall.xpt
lib/mozilla/components/xpti.dat
-@unexec rm -f %D/lib/mozilla/components/xpti.dat || true
lib/mozilla/components/xremoteservice.xpt
lib/mozilla/components/xuldoc.xpt
lib/mozilla/components/xultmpl.xpt
@@ -378,10 +295,8 @@ lib/mozilla/defaults/wallet/VcardSchema.tbl
lib/mozilla/dirver
lib/mozilla/dtd/mathml.dtd
lib/mozilla/dtd/svg.dtd
-lib/mozilla/htmlrobot
lib/mozilla/icons/mozicon16.xpm
lib/mozilla/icons/mozicon50.xpm
-lib/mozilla/libDebugRobot.so
lib/mozilla/libgkgfx.so
lib/mozilla/libgtkembedmoz.so
lib/mozilla/libgtksuperwin.so
@@ -400,20 +315,12 @@ lib/mozilla/libplds4.so
lib/mozilla/libxlibrgb.so
lib/mozilla/libxpcom.so
lib/mozilla/libxpistub.so
-lib/mozilla/lots
lib/mozilla/mozilla
lib/mozilla/mozilla-bin
lib/mozilla/mozilla-config
-lib/mozilla/mozilla-viewer.sh
lib/mozilla/mozilla-xremote-client
-lib/mozilla/nsIFileEnumerator
-lib/mozilla/nsIFileTest
-lib/mozilla/nsTestSample
lib/mozilla/nsinstall
lib/mozilla/plugins/libnullplugin.so
-lib/mozilla/proxytests
-lib/mozilla/rdfcat
-lib/mozilla/rdfpoll
lib/mozilla/regExport
lib/mozilla/regchrome
lib/mozilla/regxpcom
@@ -454,7 +361,6 @@ lib/mozilla/res/html/gopher-text.gif
lib/mozilla/res/html/gopher-unknown.gif
lib/mozilla/res/inspector/search-registry.rdf
lib/mozilla/res/inspector/viewer-registry.rdf
-lib/mozilla/res/jarlist.dat
lib/mozilla/res/langGroups.properties
lib/mozilla/res/language.properties
lib/mozilla/res/loading-image.gif
@@ -489,7 +395,6 @@ lib/mozilla/res/samples/demoform.css
lib/mozilla/res/samples/dexopenchrome.xul
lib/mozilla/res/samples/dexparamdialog.html
lib/mozilla/res/samples/dexparamdialog.xul
-lib/mozilla/res/samples/embed-test.html
lib/mozilla/res/samples/find.html
lib/mozilla/res/samples/gear1.gif
lib/mozilla/res/samples/hidetoolicon.css
@@ -544,15 +449,8 @@ lib/mozilla/res/samples/toolbarTest1.xul
lib/mozilla/res/samples/treeTest1.css
lib/mozilla/res/samples/treeTest1.xul
lib/mozilla/res/samples/widgets.xul
-lib/mozilla/res/samples/xpconnect-sample.html
lib/mozilla/res/samples/xpmenu.xul
lib/mozilla/res/samples/xulTest.css
-lib/mozilla/res/strres-test.dtd
-lib/mozilla/res/strres-test.html
-lib/mozilla/res/strres-test.js
-lib/mozilla/res/strres-test.xul
-lib/mozilla/res/strres.properties
-lib/mozilla/res/test.properties
lib/mozilla/res/throbber/anim.gif
lib/mozilla/res/throbber/anims00.gif
lib/mozilla/res/throbber/anims01.gif
@@ -586,8 +484,6 @@ lib/mozilla/res/throbber/anims28.gif
lib/mozilla/res/throbber/anims29.gif
lib/mozilla/res/ua.css
lib/mozilla/res/unixcharset.properties
-lib/mozilla/res/urlparse.dat
-lib/mozilla/res/urlparse_unx.dat
lib/mozilla/res/viewer.properties
lib/mozilla/res/viewsource.css
lib/mozilla/run-mozilla.sh
@@ -603,16 +499,14 @@ lib/mozilla/searchplugins/lxrmozilla.gif
lib/mozilla/searchplugins/lxrmozilla.src
lib/mozilla/searchplugins/mozilla.gif
lib/mozilla/searchplugins/mozilla.src
-lib/mozilla/testart
-lib/mozilla/testuta
-lib/mozilla/urltest
-lib/mozilla/viewer
-lib/mozilla/viewer_gtk
lib/mozilla/xpcshell
lib/mozilla/xpicleanup
lib/mozilla/xpidl
lib/mozilla/xpt_dump
lib/mozilla/xpt_link
+@unexec rm -f %D/lib/mozilla/chrome/chrome.rdf || true
+@unexec rm -f %D/lib/mozilla/component.reg || true
+@unexec rm -f %D/lib/mozilla/components/xpti.dat || true
@dirrm lib/mozilla/searchplugins
@dirrm lib/mozilla/res/throbber
@dirrm lib/mozilla/res/samples/sampleimages
@@ -649,5 +543,4 @@ lib/mozilla/xpt_link
@dirrm lib/mozilla/chrome/overlayinfo/communicator
@dirrm lib/mozilla/chrome/overlayinfo
@dirrm lib/mozilla/chrome
-@dirrm lib/mozilla/OutTestData
@dirrm lib/mozilla
diff --git a/www/seamonkey2/Makefile b/www/seamonkey2/Makefile
index 0d1197ee8e74..3f5ee1cf1797 100644
--- a/www/seamonkey2/Makefile
+++ b/www/seamonkey2/Makefile
@@ -7,6 +7,7 @@
PORTNAME= mozilla
PORTVERSION= 0.9.8
+PORTREVISION= 1
PORTEPOCH= 1
CATEGORIES= www
MASTER_SITES= ${MASTER_SITE_MOZILLA} \
@@ -28,58 +29,58 @@ LIB_DEPENDS= ORBit.2:${PORTSDIR}/devel/ORBit \
WRKSRC= ${WRKDIR}/${PORTNAME}
USE_BZIP2= yes
+EXTRACT_AFTER_ARGS= | tar -xf - -X ${FILESDIR}/tar-exclude
USE_X_PREFIX= yes
USE_PERL5= yes
USE_GMAKE= yes
-USE_NEWGCC= yes
USE_GTK= yes
GNU_CONFIGURE= yes
CONFIGURE_ARGS= \
+ --disable-auto-deps \
+ --enable-chrome-format=jar \
--disable-cpp-exceptions \
--disable-cpp-rtti \
- --disable-debug \
- --disable-idltool \
- --disable-md \
- --disable-pedantic \
- --disable-xterm-updates \
--enable-crypto \
+ --disable-debug \
+ --enable-default-toolkit=gtk \
--enable-double-buffer \
- --enable-editor \
+ --enable-dtd-debug \
+ --enable-jsd \
+ --enable-ldap \
--enable-mailnews \
--enable-mathml \
- --enable-optimize="${CFLAGS}" \
- --enable-pics \
+ --disable-md \
+ --disable-optimize \
+ --disable-pedantic \
+ --disable-plaintext-editor-only \
+ --enable-reorder \
+ --enable-strip \
--enable-svg \
- --enable-tests \
- --enable-toolkit=gtk \
- --enable-x11-shm \
- --enable-chrome-format=jar \
- --with-jpeg=${LOCALBASE} \
- --with-png=${LOCALBASE} \
- --with-mng=${LOCALBASE} \
+ --disable-tests \
+ --disable-xterm-updates \
+ --enable-xinerama \
+ --with-system-jpeg=${LOCALBASE} \
+ --with-system-mng=${LOCALBASE} \
+ --with-system-png=${LOCALBASE} \
--with-pthreads
.if !defined(WITHOUT_CHATZILLA)
CONFIGURE_ARGS+= --with-extensions=default,irc
.endif
-CONFIGURE_ENV= BSD_PTHREAD_LIBS="${PTHREAD_LIBS}" \
- CFLAGS="" CXXFLAGS="" \
- MOZ_INTERNAL_LIBART_LGPL=1
+CONFIGURE_ENV= MOZ_INTERNAL_LIBART_LGPL=1
MAKE_ENV= LD_LIBRARY_PATH=${WRKSRC}/dist/bin \
- CFLAGS="" CXXFLAGS="" \
- MALLOC_OPTIONS=j \
MOZ_INTERNAL_LIBART_LGPL=1
ALL_TARGET= default
post-build:
- @${SED} -e "s;@PREFIX@;${PREFIX};g" \
+ ${SED} -e "s;@PREFIX@;${PREFIX};g" \
${FILESDIR}/mozilla.sh >${WRKSRC}/mozilla
- @(cd ${WRKSRC}/dist/bin; \
+ (cd ${WRKSRC}/dist/bin; \
${SETENV} LD_LIBRARY_PATH=. MOZILLA_FIVE_HOME=. ./regxpcom; \
${ECHO_CMD} skin,install,select,classic/1.0 >> chrome/installed-chrome.txt; \
${ECHO_CMD} locale,install,select,en-US >> chrome/installed-chrome.txt; \
${SETENV} LD_LIBRARY_PATH=. MOZILLA_FIVE_HOME=. ./regchrome)
- @/usr/bin/find ${WRKSRC}/dist/bin -type d | /usr/bin/sort -r | \
- /usr/bin/xargs ${RMDIR} 2> /dev/null || ${TRUE}
+ ${FIND} ${WRKSRC}/dist/bin -type d | /usr/bin/sort -r | \
+ ${XARGS} ${RMDIR} 2> /dev/null || ${TRUE}
do-install:
${MKDIR} ${PREFIX}/lib/mozilla
diff --git a/www/seamonkey2/files/patch-ak b/www/seamonkey2/files/patch-ak
index e175dd292bd1..5323d970afec 100644
--- a/www/seamonkey2/files/patch-ak
+++ b/www/seamonkey2/files/patch-ak
@@ -3,11 +3,16 @@ $FreeBSD$
--- nsprpub/pr/include/md/_freebsd.h.orig Sat Jan 5 03:43:00 2002
+++ nsprpub/pr/include/md/_freebsd.h Tue Feb 5 11:14:27 2002
-@@ -40,6 +40,7 @@
- #if __FreeBSD__ >= 2
- #include <osreldate.h> /* for __FreeBSD_version */
- #endif
-+#include <sys/param.h>
- #include <sys/syscall.h>
+@@ -87,6 +88,12 @@
+
+ #define _PR_HAVE_SYSV_SEMAPHORES
+ #define PR_HAVE_SYSV_NAMED_SHARED_MEMORY
++
++#if __FreeBSD_version >= 400014
++#define _PR_INET6
++#define _PR_HAVE_GETHOSTBYNAME2
++#define _PR_INET6_PROBE
++#endif
+
+ #define USE_SETJMP
- #define PR_LINKER_ARCH "freebsd"
diff --git a/www/seamonkey2/files/patch-mi b/www/seamonkey2/files/patch-mi
deleted file mode 100644
index c0ae3987e0d7..000000000000
--- a/www/seamonkey2/files/patch-mi
+++ /dev/null
@@ -1,42 +0,0 @@
-
-$FreeBSD$
-
---- nsprpub/config/FreeBSD.mk.orig Sat Jul 29 03:50:35 2000
-+++ nsprpub/config/FreeBSD.mk Mon Sep 17 10:47:08 2001
-@@ -37,19 +37,21 @@
-
- include $(MOD_DEPTH)/config/UNIX.mk
-
--CC = gcc
--CCC = g++
-+CCC = $(CXX)
- RANLIB = ranlib
-
-+# During FreeBSD port build, CFLAGS contains all of the optimizations
-+# flags desired...
-+OPTIMIZER = $(MOZ_OPTIMIZE_FLAGS)
-+
- ifeq ($(OS_TEST),alpha)
- CPU_ARCH = alpha
- else
--OS_REL_CFLAGS = -Di386
- CPU_ARCH = x86
- endif
- CPU_ARCH_TAG = _$(CPU_ARCH)
-
--OS_CFLAGS = $(DSO_CFLAGS) $(OS_REL_CFLAGS) -ansi -Wall -pipe $(THREAD_FLAG) -DFREEBSD -DHAVE_STRERROR -DHAVE_BSD_FLOCK
-+OS_CFLAGS = $(DSO_CFLAGS) $(OS_REL_CFLAGS) -ansi -Wall -pipe -DFREEBSD -DHAVE_STRERROR -DHAVE_BSD_FLOCK
-
- #
- # The default implementation strategy for FreeBSD is pthreads.
-@@ -60,8 +62,8 @@
- else
- USE_PTHREADS = 1
- IMPL_STRATEGY = _PTH
--DEFINES += -D_THREAD_SAFE
--THREAD_FLAG += -pthread
-+DEFINES += -D_THREAD_SAFE -D_REENTRANT
-+DSO_LDOPTS += -pthread
- endif
-
- ARCH = freebsd
diff --git a/www/seamonkey2/files/patch-netwerk::base::src::nsSocketTransport.cpp b/www/seamonkey2/files/patch-netwerk::base::src::nsSocketTransport.cpp
new file mode 100644
index 000000000000..c9adc8584c7d
--- /dev/null
+++ b/www/seamonkey2/files/patch-netwerk::base::src::nsSocketTransport.cpp
@@ -0,0 +1,329 @@
+--- netwerk/base/src/nsSocketTransport.cpp.orig Fri Feb 8 11:20:08 2002
++++ netwerk/base/src/nsSocketTransport.cpp Fri Feb 8 11:20:16 2002
+@@ -143,6 +143,7 @@
+ mHostName(nsnull),
+ mPort(-1),
+ mMonitor(nsnull),
++ mNetAddress(nsnull),
+ mOperation(eSocketOperation_None),
+ mProxyPort(-1),
+ mProxyHost(nsnull),
+@@ -183,12 +184,6 @@
+ SetWriteType(eSocketWrite_None);
+
+ //
+- // Set up Internet defaults...
+- //
+- memset(&mNetAddress, 0, sizeof(mNetAddress));
+- PR_SetNetAddr(PR_IpAddrAny, PR_AF_INET6, 0, &mNetAddress);
+-
+- //
+ // Initialize the global connect timeout value if necessary...
+ //
+ if (PR_INTERVAL_NO_WAIT == gConnectTimeout)
+@@ -415,6 +410,14 @@
+
+ while (!done) {
+ //
++ // Check for failure on any socket requests
++ //
++ if (mReadRequest && mReadRequest->HasFailed())
++ mReadRequest->GetStatus(&mStatus);
++ else if (mWriteRequest && mWriteRequest->HasFailed())
++ mWriteRequest->GetStatus(&mStatus);
++
++ //
+ // If an error has occurred then move into the error state...
+ //
+ if (NS_FAILED(mStatus) && (NS_BASE_STREAM_WOULD_BLOCK != mStatus))
+@@ -495,17 +498,40 @@
+ // Send status message
+ // only send a status if doResolveHost is going to do some
+ // resolution
+- if (mStatus != NS_OK)
++ if (mStatus == NS_BASE_STREAM_WOULD_BLOCK)
+ OnStatus_Locked(NS_NET_STATUS_RESOLVING_HOST);
+ break;
+
+ case eSocketState_WaitConnect:
+ LOG(("nsSocketTransport: Transport [host=%s:%d this=%x] is in WaitConnect state.\n",
+ mHostName, mPort, this));
+- mStatus = doConnection(aSelectFlags);
+
+ // Send status message
+ OnStatus_Locked(NS_NET_STATUS_CONNECTING_TO);
++
++ mStatus = doConnection(aSelectFlags);
++
++ // on connection failure, reuse next address if one exists
++ if (mStatus == NS_ERROR_CONNECTION_REFUSED) {
++ mNetAddress = mNetAddrList.GetNext(mNetAddress);
++ if (mNetAddress) {
++#if defined(PR_LOGGING)
++ char buf[50];
++ PR_NetAddrToString(mNetAddress, buf, sizeof(buf));
++ LOG(("connection failed... trying %s\n", buf));
++#endif
++ PR_Close(mSocketFD);
++ mSocketFD = nsnull;
++
++ // mask error status so we'll return to this state
++ mStatus = NS_OK;
++
++ // need to re-enter Process() asynchronously
++ mService->AddToWorkQ(this);
++ done = PR_TRUE;
++ continue;
++ }
++ }
+ break;
+
+ case eSocketState_WaitReadWrite:
+@@ -633,21 +659,19 @@
+
+ NS_ASSERTION(eSocketState_WaitDNS == mCurrentState, "Wrong state.");
+
+- LOG(("nsSocketTransport: Entering doResolveHost() [host=%s:%d this=%x].\n",
++ LOG(("nsSocketTransport: Entering doResolveHost() [host=%s:%d %x].\n",
+ mHostName, mPort, this));
+
++ //
++ // The hostname is being resolved...
++ //
++ if (mDNSRequest)
++ return NS_BASE_STREAM_WOULD_BLOCK;
++
+ //
+ // The hostname has not been resolved yet...
+ //
+- if (PR_IsNetAddrType(&mNetAddress, PR_IpAddrAny)) {
+- //
+- // Initialize the port used for the connection...
+- //
+- // XXX: The list of ports must be restricted - see net_bad_ports_table[] in
+- // mozilla/network/main/mkconect.c
+- //
+- mNetAddress.ipv6.port = PR_htons(((mProxyPort != -1 && !mProxyTransparent) ? mProxyPort : mPort));
+-
++ if (mNetAddress == nsnull) {
+ PR_ExitMonitor(mMonitor);
+
+ nsIDNSService* pDNSService = mService->GetCachedDNSService();
+@@ -659,9 +683,7 @@
+ // Give up the SocketTransport lock. This allows the DNS thread to call the
+ // nsIDNSListener notifications without blocking...
+ //
+- rv = pDNSService->Lookup((mProxyHost && !mProxyTransparent) ? mProxyHost : mHostName,
+- this,
+- nsnull,
++ rv = pDNSService->Lookup(GetSocketHost(), this, nsnull,
+ getter_AddRefs(mDNSRequest));
+ //
+ // Aquire the SocketTransport lock again...
+@@ -672,7 +694,7 @@
+ //
+ // The DNS lookup has finished... It has either failed or succeeded.
+ //
+- if (NS_FAILED(mStatus) || !PR_IsNetAddrType(&mNetAddress, PR_IpAddrAny)) {
++ if (NS_FAILED(mStatus) || mNetAddress) {
+ mDNSRequest = 0;
+ rv = mStatus;
+ }
+@@ -687,10 +709,8 @@
+ }
+ }
+
+- LOG(("nsSocketTransport: Leaving doResolveHost() [%s:%d %x].\t"
+- "rv = %x.\n\n",
++ LOG(("nsSocketTransport: Leaving doResolveHost() [%s:%d %x] rv = %x\n",
+ mHostName, mPort, this, rv));
+-
+ return rv;
+ }
+
+@@ -832,7 +852,7 @@
+ // This is only done the first time doConnection(...) is called.
+ //
+ if (NS_SUCCEEDED(rv)) {
+- status = PR_Connect(mSocketFD, &mNetAddress, gConnectTimeout);
++ status = PR_Connect(mSocketFD, mNetAddress, gConnectTimeout);
+ if (PR_SUCCESS != status) {
+ PRErrorCode code = PR_GetError();
+ //
+@@ -932,14 +952,17 @@
+ //
+ // The hostname has not been resolved yet...
+ //
+- if (PR_IsNetAddrType(&mNetAddress, PR_IpAddrAny)) {
++ if (mNetAddress == nsnull) {
+ nsIDNSService* pDNSService = mService->GetCachedDNSService();
+ if (!pDNSService) {
+ return NS_ERROR_UNEXPECTED;
+ }
+
+ nsXPIDLCString result;
+- const char *host = (mProxyHost && !mProxyTransparent) ? mProxyHost : mHostName;
++ const char *host = GetSocketHost();
++
++ // XXX DNS service does not provide a synchronous resolver that returns
++ // the entire nsHostEnt struct.
+ rv = pDNSService->Resolve(host, getter_Copies(result));
+ if (NS_FAILED(rv)) return rv;
+
+@@ -953,16 +976,18 @@
+ return NS_ERROR_FAILURE;
+ }
+
++ mNetAddrList.Init(1);
++ mNetAddress = mNetAddrList.GetNext(nsnull);
++
++ PR_SetNetAddr(PR_IpAddrAny, PR_AF_INET6, GetSocketPort(), mNetAddress);
++
+ if (addr.raw.family == PR_AF_INET)
+- PR_ConvertIPv4AddrToIPv6(addr.inet.ip, &mNetAddress.ipv6.ip);
++ PR_ConvertIPv4AddrToIPv6(addr.inet.ip, &mNetAddress->ipv6.ip);
+ else
+- memcpy(&mNetAddress.ipv6.ip, &addr.ipv6.ip, sizeof(mNetAddress.ipv6.ip));
+-
+- mNetAddress.ipv6.port
+- = PR_htons(((mProxyPort != -1 && !mProxyTransparent) ? mProxyPort : mPort));
++ memcpy(&mNetAddress->ipv6.ip, &addr.ipv6.ip, sizeof(mNetAddress->ipv6.ip));
+
+ LOG(("address { family=%hu, port=%hu }\n",
+- mNetAddress.ipv6.family, PR_ntohs(mNetAddress.ipv6.port)));
++ mNetAddress->ipv6.family, PR_ntohs(mNetAddress->ipv6.port)));
+ }
+
+ //
+@@ -1036,7 +1061,6 @@
+ if (mReadRequest) {
+ if (mReadRequest->IsCanceled() || (mBytesExpected == 0)) {
+ LOG(("nsSocketTransport: [this=%x] completing read request due to cancelation\n", this));
+- mSelectFlags &= ~PR_POLL_READ;
+ mReadRequest->GetStatus(&readStatus);
+ CompleteAsyncRead();
+ if (NS_FAILED(readStatus))
+@@ -1078,7 +1102,6 @@
+ if (mWriteRequest) {
+ if (mWriteRequest->IsCanceled()) {
+ LOG(("nsSocketTransport: [this=%x] completing write request due to cancelation\n", this));
+- mSelectFlags &= ~PR_POLL_WRITE;
+ mWriteRequest->GetStatus(&writeStatus);
+ CompleteAsyncWrite();
+ if (NS_FAILED(writeStatus))
+@@ -1485,23 +1508,44 @@
+ nsAutoMonitor mon(mMonitor);
+ nsresult rv = NS_OK;
+
+- if (aHostEnt->hostEnt.h_addr_list && aHostEnt->hostEnt.h_addr_list[0]) {
+- if (aHostEnt->hostEnt.h_addrtype == PR_AF_INET6)
+- memcpy(&mNetAddress.ipv6.ip, aHostEnt->hostEnt.h_addr_list[0], sizeof(mNetAddress.ipv6.ip));
+- else
+- PR_ConvertIPv4AddrToIPv6(*(PRUint32*)aHostEnt->hostEnt.h_addr_list[0], &mNetAddress.ipv6.ip);
++ char **addrList = aHostEnt->hostEnt.h_addr_list;
++
++ if (addrList && addrList[0]) {
++ PRUint32 len = 0;
++
++ LOG(("nsSocketTransport::OnFound [%s:%d %x] lookup succeeded [FQDN=%s]\n",
++ mHostName, mPort, this, aHostEnt->hostEnt.h_name));
++
++ // determine the number of address in the list
++ for (; *addrList; ++addrList)
++ ++len;
++ addrList -= len;
++
++ // allocate space for the addresses
++ mNetAddrList.Init(len);
++
++ // populate the address list
++ PRNetAddr *addr = nsnull;
++ while ((addr = mNetAddrList.GetNext(addr)) != nsnull) {
++ PR_SetNetAddr(PR_IpAddrAny, PR_AF_INET6, GetSocketPort(), addr);
++ if (aHostEnt->hostEnt.h_addrtype == PR_AF_INET6)
++ memcpy(&addr->ipv6.ip, *addrList, sizeof(addr->ipv6.ip));
++ else
++ PR_ConvertIPv4AddrToIPv6(*(PRUint32 *)(*addrList), &addr->ipv6.ip);
++ ++addrList;
+ #if defined(PR_LOGGING)
+- char addrbuf[50];
+- PR_NetAddrToString(&mNetAddress, addrbuf, sizeof(addrbuf));
+- LOG(("nsSocketTransport: OnFound(...) [%s:%d %x]."
+- " DNS lookup succeeded => %s (%s)\n",
+- mHostName, mPort, this,
+- aHostEnt->hostEnt.h_name,
+- addrbuf));
++ char buf[50];
++ PR_NetAddrToString(addr, buf, sizeof(buf));
++ LOG((" => %s\n", buf));
+ #endif
+- } else {
+- // XXX: What should happen here? The GetHostByName(...) succeeded but
+- // there are *no* A records...
++ }
++
++ // start with first address in list
++ mNetAddress = mNetAddrList.GetNext(nsnull);
++ }
++ else {
++ // XXX: What should happen here? The DNS lookup succeeded, but there
++ // are no address records...
+ rv = NS_ERROR_FAILURE;
+
+ LOG(("nsSocketTransport: OnFound(...) [%s:%d %x]."
+@@ -1531,7 +1575,7 @@
+ // If the lookup failed, set the status...
+ if (NS_FAILED(aStatus))
+ mStatus = aStatus;
+- else if (PR_IsNetAddrType(&mNetAddress, PR_IpAddrAny))
++ else if (mNetAddress == nsnull)
+ mStatus = NS_ERROR_ABORT;
+
+ // Start processing the transport again - if necessary...
+@@ -1852,7 +1896,7 @@
+ *_retval = (char*)nsMemory::Alloc(aLen);
+ if (!*_retval) return NS_ERROR_FAILURE;
+
+- PRStatus status = PR_NetAddrToString(&mNetAddress, *_retval, aLen);
++ PRStatus status = PR_NetAddrToString(mNetAddress, *_retval, aLen);
+
+ if (PR_FAILURE == status) {
+ nsMemory::Free(*_retval);
+@@ -1968,6 +2012,37 @@
+
+ if (--mSocketRef == 0)
+ CloseConnection();
++}
++
++//
++//----------------------------------------------------------------------------
++// nsSocketTransport::nsNetAddrList
++//----------------------------------------------------------------------------
++//
++
++nsresult nsSocketTransport::
++nsNetAddrList::Init(PRUint32 len)
++{
++ NS_ASSERTION(!mList, "already initialized");
++ mList = new PRNetAddr[len];
++ if (!mList)
++ return NS_ERROR_OUT_OF_MEMORY;
++ mLen = len;
++ return NS_OK;
++}
++
++PRNetAddr *nsSocketTransport::
++nsNetAddrList::GetNext(PRNetAddr *addr)
++{
++ if (!addr)
++ return mList;
++
++ PRUint32 offset = addr - mList;
++ NS_ASSERTION(offset < mLen, "invalid address");
++ if (offset + 1 < mLen)
++ return addr + 1;
++
++ return nsnull;
+ }
+
+ //
diff --git a/www/seamonkey2/files/patch-netwerk::base::src::nsSocketTransport.h b/www/seamonkey2/files/patch-netwerk::base::src::nsSocketTransport.h
new file mode 100644
index 000000000000..ed73e127f901
--- /dev/null
+++ b/www/seamonkey2/files/patch-netwerk::base::src::nsSocketTransport.h
@@ -0,0 +1,57 @@
+--- netwerk/base/src/nsSocketTransport.h.orig Fri Feb 8 11:20:24 2002
++++ netwerk/base/src/nsSocketTransport.h Fri Feb 8 11:20:29 2002
+@@ -176,7 +176,7 @@
+ PRFileDesc* GetSocket(void) { return mSocketFD; }
+ PRInt16 GetSelectFlags(void) { return mSelectFlags; }
+ PRCList* GetListNode(void) { return &mListLink; }
+-
++
+ static nsSocketTransport* GetInstance(PRCList* qp) { return (nsSocketTransport*)((char*)qp - offsetof(nsSocketTransport, mListLink)); }
+
+ PRBool CanBeReused() { return
+@@ -237,8 +237,27 @@
+ inline void ClearFlag(nsSocketReadWriteInfo aFlag) {
+ mReadWriteState &= ~aFlag;
+ }
++
++ PRInt32 GetSocketPort(void) { return (mProxyPort != -1 && !mProxyTransparent) ? mProxyPort : mPort; }
++ const char *GetSocketHost(void) { return (mProxyHost && !mProxyTransparent) ? mProxyHost : mHostName; }
+
+ protected:
++ class nsNetAddrList {
++ public:
++ nsNetAddrList() : mList(nsnull), mLen(0) {}
++ ~nsNetAddrList() { delete[] mList; }
++
++ // allocate space for the address list
++ nsresult Init(PRUint32 len);
++
++ // given a net addr in the list, return the next addr.
++ // if given NULL, then return the first addr in the list.
++ // returns NULL if given addr is the last addr.
++ PRNetAddr *GetNext(PRNetAddr *currentAddr);
++ private:
++ PRNetAddr *mList;
++ PRUint32 mLen;
++ };
+
+ nsSocketState mCurrentState;
+ nsCOMPtr<nsIRequest> mDNSRequest;
+@@ -249,7 +268,8 @@
+ PRIntervalTime mLastActiveTime;
+ PRCList mListLink;
+ PRMonitor* mMonitor;
+- PRNetAddr mNetAddress;
++ nsNetAddrList mNetAddrList;
++ PRNetAddr *mNetAddress;
+ nsSocketOperation mOperation;
+ nsCOMPtr<nsISupports> mSecurityInfo;
+
+@@ -415,6 +435,7 @@
+ PRBool IsInitialized() { return mStartFired; }
+ PRBool IsSuspended() { return mSuspendCount > 0; }
+ PRBool IsCanceled() { return mCanceled; }
++ PRBool HasFailed() { return NS_FAILED(mStatus); }
+
+ void SetTransport(nsSocketTransport *);
+ void SetObserver(nsIRequestObserver *obs) { mObserver = obs; }
diff --git a/www/seamonkey2/files/patch-nsprpub::configure b/www/seamonkey2/files/patch-nsprpub::configure
new file mode 100644
index 000000000000..b008097bf949
--- /dev/null
+++ b/www/seamonkey2/files/patch-nsprpub::configure
@@ -0,0 +1,50 @@
+--- nsprpub/configure.orig Tue Jan 22 23:57:37 2002
++++ nsprpub/configure Thu Feb 14 01:13:13 2002
+@@ -3288,8 +3288,9 @@
+ else
+ DLL_SUFFIX=so.1.0
+ fi
++ MKSHLIB='$(CC) $(DSO_LDOPTS) -o $@'
+ DSO_CFLAGS=-fPIC
+- DSO_LDOPTS=-Bshareable
++ DSO_LDOPTS='-shared -Wl,-soname -Wl,$(notdir $@)'
+ MDCPUCFG_H=_freebsd.cfg
+ PR_MD_CSRCS=freebsd.c
+ ;;
+@@ -5091,8 +5092,15 @@
+ if test $? -eq 0; then
+ if test -z "`egrep -i '(unrecognize|unknown)' conftest.out | grep pthread`" && test -z "`egrep -i '(error|incorrect)' conftest.out`" ; then
+ ac_cv_have_dash_pthread=yes
+- CFLAGS="$CFLAGS -pthread"
+- CXXFLAGS="$CXXFLAGS -pthread"
++ case "$target_os" in
++ freebsd*)
++# Freebsd doesn't use -pthread for compiles, it uses them for linking
++ ;;
++ *)
++ CFLAGS="$CFLAGS -pthread"
++ CXXFLAGS="$CXXFLAGS -pthread"
++ ;;
++ esac
+ fi
+ fi
+ rm -f conftest*
+@@ -5123,11 +5131,17 @@
+ ;;
+ *-freebsd*|*-openbsd*|*-bsdi*|*-netbsd*)
+ cat >> confdefs.h <<\EOF
++#define _REENTRANT 1
++EOF
++
++ cat >> confdefs.h <<\EOF
+ #define _THREAD_SAFE 1
+ EOF
+
+ if test "$ac_cv_have_dash_pthread" = "yes"; then
+- _PTHREAD_LDFLAGS=
++ _PTHREAD_LDFLAGS="-pthread"
++ else
++ _PTHREAD_LDFLAGS="-lc_r"
+ fi
+ ;;
+ *-linux*)
diff --git a/www/seamonkey2/files/patch-nsprpub::pr::include::md::_freebsd.cfg b/www/seamonkey2/files/patch-nsprpub::pr::include::md::_freebsd.cfg
deleted file mode 100644
index 417d7d91ddb6..000000000000
--- a/www/seamonkey2/files/patch-nsprpub::pr::include::md::_freebsd.cfg
+++ /dev/null
@@ -1,13 +0,0 @@
---- nsprpub/pr/include/md/_freebsd.cfg.orig Mon Nov 26 17:07:20 2001
-+++ nsprpub/pr/include/md/_freebsd.cfg Mon Nov 26 17:15:01 2001
-@@ -93,8 +93,8 @@
-
- #elif defined(__alpha)
-
--#define IS_LITTLE_ENDIAN 1
--#undef IS_BIG_ENDIAN
-+#define IS_64
-+
- #define HAVE_LONG_LONG
- #define HAVE_ALIGNED_DOUBLES
- #define HAVE_ALIGNED_LONGLONGS
diff --git a/www/seamonkey2/files/patch-qt b/www/seamonkey2/files/patch-qt
index a7c925a72023..05596784fcfe 100644
--- a/www/seamonkey2/files/patch-qt
+++ b/www/seamonkey2/files/patch-qt
@@ -40,11 +40,3 @@ $FreeBSD$
QT_LIBS="-L/usr/X11R6/lib -L${QTDIR}/lib -lqt -lXext -lX11"
# Check whether --with-static-qt or --without-static-qt was given.
-@@ -13711,6 +13712,7 @@
- echo "configure: warning: Recreating autoconf.mk with updated nspr-config output" 1>&2
- if test ! "$VACPP" && test -z "$_WIN32_MSVC"; then
- NSPR_LIBS=`./nsprpub/config/nspr-config --prefix=$MOZ_BUILD_ROOT/dist --exec-prefix=$MOZ_BUILD_ROOT/dist --libs`
-+ NSPR_LIBS="$NSPR_LIBS $BSD_PTHREAD_LIBS"
- $PERL -pi.bak -e "s {^NSPR_LIBS\s*=.*} {NSPR_LIBS = $NSPR_LIBS }" config/autoconf.mk
- fi
- if test -z "$_WIN32_MSVC"; then
diff --git a/www/seamonkey2/files/patch-security::coreconf::FreeBSD.mk b/www/seamonkey2/files/patch-security::coreconf::FreeBSD.mk
new file mode 100644
index 000000000000..1f33ac826a02
--- /dev/null
+++ b/www/seamonkey2/files/patch-security::coreconf::FreeBSD.mk
@@ -0,0 +1,50 @@
+--- security/coreconf/FreeBSD.mk.orig Tue Sep 19 05:53:08 2000
++++ security/coreconf/FreeBSD.mk Thu Feb 14 14:19:02 2002
+@@ -35,27 +35,27 @@
+
+ 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
+-OS_REL_CFLAGS = -Di386
+ CPU_ARCH = x86
+ endif
+
+-OS_CFLAGS = $(DSO_CFLAGS) $(OS_REL_CFLAGS) -ansi -Wall -pipe $(THREAD_FLAG) -DFREEBSD -DHAVE_STRERROR -DHAVE_BSD_FLOCK
++OS_CFLAGS = $(DSO_CFLAGS) $(OS_REL_CFLAGS) -ansi -Wall -DFREEBSD -DHAVE_STRERROR -DHAVE_BSD_FLOCK
++
++DSO_CFLAGS = -fPIC
++DSO_LDOPTS = -shared -Wl,-soname -Wl,$(notdir $@)
+
+ #
+ # The default implementation strategy for FreeBSD is pthreads.
+ #
+ ifndef CLASSIC_NSPR
+ USE_PTHREADS = 1
+-DEFINES += -D_THREAD_SAFE
+-THREAD_FLAG = -pthread
++DEFINES += -D_THREAD_SAFE -D_REENTRANT
++DSO_LDOPTS += -pthread
+ endif
+
+ ARCH = freebsd
+@@ -68,11 +68,7 @@
+ DLL_SUFFIX = so.1.0
+ endif
+
+-DSO_CFLAGS = -fPIC
+-DSO_LDOPTS = -Bshareable
+-DSO_LDFLAGS =
+-
+-MKSHLIB = $(LD) $(DSO_LDOPTS)
++MKSHLIB = $(CC) $(DSO_LDOPTS) -o $@
+
+ G++INCLUDES = -I/usr/include/g++
+
diff --git a/www/seamonkey2/files/tar-exclude b/www/seamonkey2/files/tar-exclude
new file mode 100644
index 000000000000..b4d218b0a9fa
--- /dev/null
+++ b/www/seamonkey2/files/tar-exclude
@@ -0,0 +1,6 @@
+*/CVS/*
+*/macbuild/*
+*/package/*
+.cvsignore
+makefile.win
+MANIFEST
diff --git a/www/seamonkey2/pkg-plist b/www/seamonkey2/pkg-plist
index 17b82c589575..34ec0b079c54 100644
--- a/www/seamonkey2/pkg-plist
+++ b/www/seamonkey2/pkg-plist
@@ -1,85 +1,12 @@
bin/mozilla
-lib/mozilla/DumpColors
-lib/mozilla/FilesTest
-lib/mozilla/OutTestData/doctype.xif
-lib/mozilla/OutTestData/entityxif.out
-lib/mozilla/OutTestData/entityxif.xif
-lib/mozilla/OutTestData/htmltable.html
-lib/mozilla/OutTestData/htmltable.out
-lib/mozilla/OutTestData/mailquote.html
-lib/mozilla/OutTestData/mailquote.out
-lib/mozilla/OutTestData/plain.html
-lib/mozilla/OutTestData/plainnowrap.out
-lib/mozilla/OutTestData/plainwrap.out
-lib/mozilla/OutTestData/simple.html
-lib/mozilla/OutTestData/simplecopy.out
-lib/mozilla/OutTestData/simplefmt.out
-lib/mozilla/OutTestData/simplemail.html
-lib/mozilla/OutTestData/simplemail.out
-lib/mozilla/OutTestData/xifdthtml.out
-lib/mozilla/OutTestData/xifdtplain.out
-lib/mozilla/OutTestData/xifstuff.out
-lib/mozilla/OutTestData/xifstuff.xif
-lib/mozilla/PrimitiveTest
-lib/mozilla/PropertiesTest
-lib/mozilla/SimpleTypeLib
-lib/mozilla/StringBundleTest
-lib/mozilla/TestArray
-lib/mozilla/TestAtoms
-lib/mozilla/TestAutoLock
-lib/mozilla/TestCOMPtr
-lib/mozilla/TestCOMPtrEq
-lib/mozilla/TestCRT
-lib/mozilla/TestCSSPropertyLookup
-lib/mozilla/TestCallTemplates
-lib/mozilla/TestCallbacks
-lib/mozilla/TestColorNames
-lib/mozilla/TestCookie
-lib/mozilla/TestDBMAccess
-lib/mozilla/TestFactory
-lib/mozilla/TestFileInput
-lib/mozilla/TestFileInput2
-lib/mozilla/TestFileTransport
lib/mozilla/TestGtkEmbed
lib/mozilla/TestGtkEmbedChild
lib/mozilla/TestGtkEmbedNotebook
lib/mozilla/TestGtkEmbedSocket
-lib/mozilla/TestHttp
-lib/mozilla/TestID
-lib/mozilla/TestIDN
-lib/mozilla/TestInterfaceInfo
-lib/mozilla/TestLineBreak
-lib/mozilla/TestMCTransport
-lib/mozilla/TestObserverService
-lib/mozilla/TestOutSinks.pl
-lib/mozilla/TestOutput
-lib/mozilla/TestPageLoad
-lib/mozilla/TestPerf
-lib/mozilla/TestPermanentAtoms
-lib/mozilla/TestPipes
-lib/mozilla/TestProtocols
-lib/mozilla/TestRect
-lib/mozilla/TestServMgr
-lib/mozilla/TestSocketIO
-lib/mozilla/TestSocketInput
-lib/mozilla/TestSocketTransport
-lib/mozilla/TestSpaceManager
-lib/mozilla/TestStandardURL
-lib/mozilla/TestStreamConv
-lib/mozilla/TestTXMgr
-lib/mozilla/TestThreads
-lib/mozilla/TestURLParser
-lib/mozilla/TestVoidBTree
-lib/mozilla/TestXMLExtras
-lib/mozilla/TestXPC
-lib/mozilla/TestXPIDLString
-lib/mozilla/TestXPTCInvoke
-lib/mozilla/UnicharSelfTest
lib/mozilla/bloaturls.txt
lib/mozilla/chrome/US.jar
lib/mozilla/chrome/chatzilla.jar
lib/mozilla/chrome/chrome.rdf
-@unexec rm -f %D/lib/mozilla/chrome/chrome.rdf || true
lib/mozilla/chrome/chromelist.txt
lib/mozilla/chrome/classic.jar
lib/mozilla/chrome/comm.jar
@@ -105,7 +32,6 @@ lib/mozilla/chrome/pippki.jar
lib/mozilla/chrome/toolkit.jar
lib/mozilla/chrome/venkman.jar
lib/mozilla/component.reg
-@unexec rm -f %D/lib/mozilla/component.reg || true
lib/mozilla/components/absync.xpt
lib/mozilla/components/accessibility.xpt
lib/mozilla/components/addrbook.xpt
@@ -158,7 +84,6 @@ lib/mozilla/components/jsurl.xpt
lib/mozilla/components/layout_base.xpt
lib/mozilla/components/layout_xul.xpt
lib/mozilla/components/layout_xul_outliner.xpt
-lib/mozilla/components/libMyService.so
lib/mozilla/components/libabsyncsvc.so
lib/mozilla/components/libaccessibility.so
lib/mozilla/components/libaddrbook.so
@@ -226,10 +151,8 @@ lib/mozilla/components/libpref.so
lib/mozilla/components/libprofile.so
lib/mozilla/components/librdf.so
lib/mozilla/components/libregviewer.so
-lib/mozilla/components/libsample.so
lib/mozilla/components/libshistory.so
lib/mozilla/components/libstrres.so
-lib/mozilla/components/libtestdynamic.so
lib/mozilla/components/libtransformiix.so
lib/mozilla/components/libtxmgr.so
lib/mozilla/components/libtxtsvc.so
@@ -251,7 +174,6 @@ lib/mozilla/components/libwebbrwsr.so
lib/mozilla/components/libwidget_gtk.so
lib/mozilla/components/libxmlextras.so
lib/mozilla/components/libxpconnect.so
-lib/mozilla/components/libxpctest.so
lib/mozilla/components/libxpinstall.so
lib/mozilla/components/libxremote_client.so
lib/mozilla/components/libxremoteservice.so
@@ -288,7 +210,6 @@ lib/mozilla/components/nsFilePicker.js
lib/mozilla/components/nsHelperAppDlg.js
lib/mozilla/components/nsLDAPPrefsService.js
lib/mozilla/components/nsProxyAutoConfig.js
-lib/mozilla/components/nsSample.js
lib/mozilla/components/nsSidebar.js
lib/mozilla/components/nsXmlRpcClient.js
lib/mozilla/components/oji.xpt
@@ -300,11 +221,9 @@ lib/mozilla/components/pref.xpt
lib/mozilla/components/prefmigr.xpt
lib/mozilla/components/profile.xpt
lib/mozilla/components/proxyObjInst.xpt
-lib/mozilla/components/proxytest.xpt
lib/mozilla/components/rdf.xpt
lib/mozilla/components/regviewer.xpt
lib/mozilla/components/related.xpt
-lib/mozilla/components/sample.xpt
lib/mozilla/components/search.xpt
lib/mozilla/components/shistory.xpt
lib/mozilla/components/sidebar.xpt
@@ -336,10 +255,8 @@ lib/mozilla/components/xpcom_io.xpt
lib/mozilla/components/xpcom_threads.xpt
lib/mozilla/components/xpcom_xpti.xpt
lib/mozilla/components/xpconnect.xpt
-lib/mozilla/components/xpconnect_tests.xpt
lib/mozilla/components/xpinstall.xpt
lib/mozilla/components/xpti.dat
-@unexec rm -f %D/lib/mozilla/components/xpti.dat || true
lib/mozilla/components/xremoteservice.xpt
lib/mozilla/components/xuldoc.xpt
lib/mozilla/components/xultmpl.xpt
@@ -378,10 +295,8 @@ lib/mozilla/defaults/wallet/VcardSchema.tbl
lib/mozilla/dirver
lib/mozilla/dtd/mathml.dtd
lib/mozilla/dtd/svg.dtd
-lib/mozilla/htmlrobot
lib/mozilla/icons/mozicon16.xpm
lib/mozilla/icons/mozicon50.xpm
-lib/mozilla/libDebugRobot.so
lib/mozilla/libgkgfx.so
lib/mozilla/libgtkembedmoz.so
lib/mozilla/libgtksuperwin.so
@@ -400,20 +315,12 @@ lib/mozilla/libplds4.so
lib/mozilla/libxlibrgb.so
lib/mozilla/libxpcom.so
lib/mozilla/libxpistub.so
-lib/mozilla/lots
lib/mozilla/mozilla
lib/mozilla/mozilla-bin
lib/mozilla/mozilla-config
-lib/mozilla/mozilla-viewer.sh
lib/mozilla/mozilla-xremote-client
-lib/mozilla/nsIFileEnumerator
-lib/mozilla/nsIFileTest
-lib/mozilla/nsTestSample
lib/mozilla/nsinstall
lib/mozilla/plugins/libnullplugin.so
-lib/mozilla/proxytests
-lib/mozilla/rdfcat
-lib/mozilla/rdfpoll
lib/mozilla/regExport
lib/mozilla/regchrome
lib/mozilla/regxpcom
@@ -454,7 +361,6 @@ lib/mozilla/res/html/gopher-text.gif
lib/mozilla/res/html/gopher-unknown.gif
lib/mozilla/res/inspector/search-registry.rdf
lib/mozilla/res/inspector/viewer-registry.rdf
-lib/mozilla/res/jarlist.dat
lib/mozilla/res/langGroups.properties
lib/mozilla/res/language.properties
lib/mozilla/res/loading-image.gif
@@ -489,7 +395,6 @@ lib/mozilla/res/samples/demoform.css
lib/mozilla/res/samples/dexopenchrome.xul
lib/mozilla/res/samples/dexparamdialog.html
lib/mozilla/res/samples/dexparamdialog.xul
-lib/mozilla/res/samples/embed-test.html
lib/mozilla/res/samples/find.html
lib/mozilla/res/samples/gear1.gif
lib/mozilla/res/samples/hidetoolicon.css
@@ -544,15 +449,8 @@ lib/mozilla/res/samples/toolbarTest1.xul
lib/mozilla/res/samples/treeTest1.css
lib/mozilla/res/samples/treeTest1.xul
lib/mozilla/res/samples/widgets.xul
-lib/mozilla/res/samples/xpconnect-sample.html
lib/mozilla/res/samples/xpmenu.xul
lib/mozilla/res/samples/xulTest.css
-lib/mozilla/res/strres-test.dtd
-lib/mozilla/res/strres-test.html
-lib/mozilla/res/strres-test.js
-lib/mozilla/res/strres-test.xul
-lib/mozilla/res/strres.properties
-lib/mozilla/res/test.properties
lib/mozilla/res/throbber/anim.gif
lib/mozilla/res/throbber/anims00.gif
lib/mozilla/res/throbber/anims01.gif
@@ -586,8 +484,6 @@ lib/mozilla/res/throbber/anims28.gif
lib/mozilla/res/throbber/anims29.gif
lib/mozilla/res/ua.css
lib/mozilla/res/unixcharset.properties
-lib/mozilla/res/urlparse.dat
-lib/mozilla/res/urlparse_unx.dat
lib/mozilla/res/viewer.properties
lib/mozilla/res/viewsource.css
lib/mozilla/run-mozilla.sh
@@ -603,16 +499,14 @@ lib/mozilla/searchplugins/lxrmozilla.gif
lib/mozilla/searchplugins/lxrmozilla.src
lib/mozilla/searchplugins/mozilla.gif
lib/mozilla/searchplugins/mozilla.src
-lib/mozilla/testart
-lib/mozilla/testuta
-lib/mozilla/urltest
-lib/mozilla/viewer
-lib/mozilla/viewer_gtk
lib/mozilla/xpcshell
lib/mozilla/xpicleanup
lib/mozilla/xpidl
lib/mozilla/xpt_dump
lib/mozilla/xpt_link
+@unexec rm -f %D/lib/mozilla/chrome/chrome.rdf || true
+@unexec rm -f %D/lib/mozilla/component.reg || true
+@unexec rm -f %D/lib/mozilla/components/xpti.dat || true
@dirrm lib/mozilla/searchplugins
@dirrm lib/mozilla/res/throbber
@dirrm lib/mozilla/res/samples/sampleimages
@@ -649,5 +543,4 @@ lib/mozilla/xpt_link
@dirrm lib/mozilla/chrome/overlayinfo/communicator
@dirrm lib/mozilla/chrome/overlayinfo
@dirrm lib/mozilla/chrome
-@dirrm lib/mozilla/OutTestData
@dirrm lib/mozilla