aboutsummaryrefslogtreecommitdiff
path: root/mail/thunderbird3
diff options
context:
space:
mode:
authorJeremy Messenger <mezz@FreeBSD.org>2005-08-28 08:00:00 +0000
committerJeremy Messenger <mezz@FreeBSD.org>2005-08-28 08:00:00 +0000
commit48c35e710c5685316d03dd9afd6b31e4702f77ae (patch)
tree866a3644ad8f1c9c169c26a70429d24bfa741c37 /mail/thunderbird3
parentf0cde5f1b60cfb065088c1f0915b2b6de4264968 (diff)
downloadports-48c35e710c5685316d03dd9afd6b31e4702f77ae.tar.gz
ports-48c35e710c5685316d03dd9afd6b31e4702f77ae.zip
Notes
Diffstat (limited to 'mail/thunderbird3')
-rw-r--r--mail/thunderbird3/Makefile257
-rw-r--r--mail/thunderbird3/files/mozconfig.in3
-rw-r--r--mail/thunderbird3/files/patch-bugzilla24315110
-rw-r--r--mail/thunderbird3/files/patch-build_unix_mozilla-xpcom.pc.in8
-rw-r--r--mail/thunderbird3/files/patch-config::mkdepend::Makefile.in10
-rw-r--r--mail/thunderbird3/files/patch-gfx-src-gtk-Makefile.in15
-rw-r--r--mail/thunderbird3/files/patch-jsosdep9
-rw-r--r--mail/thunderbird3/files/patch-libm25
-rw-r--r--mail/thunderbird3/files/patch-mozilla_widget_src_gtk2_mozdrawingarea.c12
-rw-r--r--mail/thunderbird3/files/patch-nspr-unix.c21
-rw-r--r--mail/thunderbird3/files/patch-nsprpub-pr-include-md-_freebsd.cfg161
-rw-r--r--mail/thunderbird3/files/patch-nsprpub-pr-include-md-_freebsd.h13
-rw-r--r--mail/thunderbird3/files/patch-nsprpub-pr-include-md-_pth.h11
-rw-r--r--mail/thunderbird3/files/patch-nsprpub-pr-src-io-prprf.c14
-rw-r--r--mail/thunderbird3/files/patch-nsprpub-pr-src-pthreads-ptio.c29
-rw-r--r--mail/thunderbird3/files/patch-oji-threads60
-rw-r--r--mail/thunderbird3/files/patch-sysnspr21
-rw-r--r--mail/thunderbird3/files/patch-sysnss178
-rw-r--r--mail/thunderbird3/files/patch-xptcinvoke_x86_64_linux17
-rw-r--r--mail/thunderbird3/files/thunderbird.desktop.in2
20 files changed, 509 insertions, 367 deletions
diff --git a/mail/thunderbird3/Makefile b/mail/thunderbird3/Makefile
index 6ad4933af5f7..22d733ce1a10 100644
--- a/mail/thunderbird3/Makefile
+++ b/mail/thunderbird3/Makefile
@@ -3,50 +3,67 @@
# Whom: Joe Marcus Clarke <marcus@FreeBSD.org>
#
# $FreeBSD$
+# $MCom: ports-stable/mail/thunderbird/Makefile,v 1.11 2005/08/20 20:56:53 mezz Exp $
#
PORTNAME= thunderbird
PORTVERSION= 1.0.6
+PORTREVISION= 1
CATEGORIES= mail
MASTER_SITES= ${MASTER_SITE_MOZILLA}
-MASTER_SITE_SUBDIR= thunderbird/releases/${PORTVERSION}/source
+MASTER_SITE_SUBDIR= ${PORTNAME}/releases/${PORTVERSION}/source
DISTNAME= ${PORTNAME}-${PORTVERSION}-source
MAINTAINER= gnome@FreeBSD.org
COMMENT= Mozilla Thunderbird is standalone mail and news that stands above
-LIB_DEPENDS= jpeg.9:${PORTSDIR}/graphics/jpeg \
- png.5:${PORTSDIR}/graphics/png
+LIB_DEPENDS= jpeg:${PORTSDIR}/graphics/jpeg \
+ nspr4:${PORTSDIR}/devel/nspr \
+ png:${PORTSDIR}/graphics/png \
+ nss3:${PORTSDIR}/security/nss
BUILD_DEPENDS= zip:${PORTSDIR}/archivers/zip
-USE_X_PREFIX= yes
-
-USE_BZIP2= yes
-USE_GMAKE= yes
-USE_ICONV= yes
-USE_PERL5= yes
+ALL_TARGET= default
+CONFIGURE_ENV= LOCALBASE=${LOCALBASE}
+FAKEDIR= ${WRKDIR}/fake
USE_REINPLACE= yes
HAS_CONFIGURE= yes
-NO_MTREE= yes
+ESD_LIB= libesd.so.2
PLIST= ${WRKDIR}/plist
-ALL_TARGET= default
+USE_BZIP2= yes
+USE_GMAKE= yes
USE_GNOME= gtk20 libidl
-CONFIGURE_ENV= LOCALBASE=${LOCALBASE}
+USE_ICONV= yes
+USE_PERL5_BUILD=yes
+USE_X_PREFIX= yes
+WRKSRC= ${WRKDIR}/mozilla
PKGINSTALL= ${WRKDIR}/pkg-install
PKGDEINSTALL= ${WRKDIR}/pkg-deinstall
-FAKEDIR= ${WRKDIR}/fake
-NO_MTREE= yes
-WRKSRC= ${WRKDIR}/mozilla
-LOCAL_SUBDIR= lib/${PORTNAME}
-LOCAL_PREFIX= ${PREFIX}/${LOCAL_SUBDIR}
-ESD_LIB= libesd.so.2
-
-THUNDERBIRD= ${PORTNAME}
-THUNDERBIRD_ICON= ${LOCAL_PREFIX}/lib/${PORTNAME}-${PORTVERSION}/chrome/icons/default/default.xpm
-MOZ_PIS_SCRIPTS= S50cleanhome
-SCRIPTS_DIR= ${FAKEDIR}/${LOCAL_SUBDIR}/lib/${PORTNAME}-${PORTVERSION}
-MOZ_PIS_DIR= ${SCRIPTS_DIR}/init.d
+EXTRACT_AFTER_ARGS= | ${TAR} -xf - --exclude */CVS/* \
+ --exclude */macbuild/*\
+ --exclude */nsprpub/*\
+ --exclude */package/* \
+ --exclude */zlib/ \
+ --exclude mozilla/modules/libimg/png \
+ --exclude mozilla/jpeg \
+ --exclude mozilla/dbm \
+ --exclude mozilla/js/src/fdlibm \
+ --exclude mozilla/security/nss \
+ --exclude mozilla/gc/boehm \
+ --exclude .cvsignore \
+ --exclude makefile.win \
+ --exclude MANIFEST
+
+PORTNAME_ICON= ${PREFIX}/lib/${PORTNAME}/chrome/icons/default/default.xpm
+
+PKGCONFIG_FILES=${PORTNAME}-gtkmozembed ${PORTNAME}-js ${PORTNAME}-xpcom \
+ ${PORTNAME}-plugin
+
+SYSTEM_PREFS= ${FAKEDIR}/lib/${PORTNAME}-${PORTVERSION}/defaults/pref/${PORTNAME}.js
+SCRIPTS_DIR= ${FAKEDIR}/lib/${PORTNAME}-${PORTVERSION}
+MOZ_PIS_SCRIPTS=S50cleanhome
+MOZ_PIS_DIR= ${SCRIPTS_DIR}/init.d
OPTIONS= DEBUG "Build a debugging image" off \
LOGGING "Enable additional log messages" off \
@@ -55,14 +72,6 @@ OPTIONS= DEBUG "Build a debugging image" off \
.include <bsd.port.pre.mk>
-.if ${ARCH} == "alpha" && ${OSVERSION} < 500035
-IGNORE= "core dumps at runtime"
-.endif # ${ARCH} == "alpha" && ${OSVERSION} < 500035
-
-.if ${PERL_LEVEL} < 500600
-EXTRA_PATCHES+= ${FILESDIR}/extra-patch-config_make-jars.pl
-.endif # ${PERL_LEVEL} < 500600
-
.if defined(WITH_DEBUG)
WITH_LOGGING= yes
CONFIGURE_ENV+= WITH_DEBUG=yes
@@ -90,62 +99,68 @@ CFLAGS+= ${PTHREAD_CFLAGS}
LDFLAGS+= -L${X11BASE}/lib
LIBS+= ${PTHREAD_LIBS}
+.if ${ARCH} == "alpha" && ${OSVERSION} < 500035
+IGNORE= core dumps at runtime
+.endif # ${ARCH} == "alpha" && ${OSVERSION} < 500035
+
+.if ${PERL_LEVEL} < 500600
+EXTRA_PATCHES+= ${FILESDIR}/extra-patch-config_make-jars.pl
+.endif # ${PERL_LEVEL} < 500600
+
pre-extract::
@${ECHO_MSG}
@${ECHO_MSG} "Extracting source (this takes a while) ..."
@${ECHO_MSG}
post-extract::
-# FAKEDIR is here so that nsinstall will install under FAKEDIR, not
-# under PREFIX. See pre-install and do-install for details.
- @${SED} -e 's|@CPPFLAGS@|${CPPFLAGS}|' \
- -e 's|@CFLAGS@|${CFLAGS}|' \
- -e 's|@LDFLAGS@|${LDFLAGS}|' \
- -e 's|@LIBS@|${LIBS}|' \
- -e 's|@X11BASE@|${X11BASE}|' \
- -e 's|@LOCALBASE@|${LOCALBASE}|' \
- -e 's|@PREFIX@|${FAKEDIR}/lib/thunderbird|' \
- -e 's|@PERL@|${PERL5}|' \
+ @${SED} -e 's|@CPPFLAGS@|${CPPFLAGS}|' \
+ -e 's|@CFLAGS@|${CFLAGS}|' \
+ -e 's|@LDFLAGS@|${LDFLAGS}|' \
+ -e 's|@LIBS@|${LIBS}|' \
+ -e 's|@X11BASE@|${X11BASE}|' \
+ -e 's|@LOCALBASE@|${LOCALBASE}|' \
+ -e 's|@FAKEDIR@|${FAKEDIR}|' \
+ -e 's|@PERL@|${PERL5}|' \
<${FILESDIR}/mozconfig.in >${WRKSRC}/.mozconfig
+ @${SED} -e 's|@PORTNAME_ICON@|${PORTNAME_ICON}|' \
+ <${FILESDIR}/${PORTNAME}.desktop.in >${WRKDIR}/${PORTNAME}.desktop
post-patch:
+ @${REINPLACE_CMD} -e 's/%{idldir}/%idldir%/g ; \
+ s|"%FULL_NSPR_CFLAGS%"|`nspr-config --cflags`|g ; \
+ s|"%FULL_NSPR_LIBS%"|`nspr-config --libs`|g' \
+ ${WRKSRC}/build/unix/mozilla-config.in
+ @${SED} -e 's|%%MOZDIR%%|${PREFIX}/lib/${PORTNAME}|g ; \
+ s|%%PREFIX%%|${PREFIX}|g ; \
+ s|%%X11BASE%%|${X11BASE}|g' \
+ < ${MASTERDIR}/pkg-install.in > ${PKGINSTALL}
+ @${SED} -e 's|%%MOZDIR%%|${PREFIX}/lib/${PORTNAME}|g' \
+ < ${MASTERDIR}/pkg-deinstall.in > ${PKGDEINSTALL}
+.for ii in ${MOZ_PIS_SCRIPTS}
+ @${SED} -e 's|%%MOZILLA%%|${PORTNAME}|g ; \
+ s|%%PREFIX%%|${PREFIX}|g ; \
+ s|%%X11BASE%%|${X11BASE}|g' \
+ < ${FILESDIR}/moz_pis_${ii} > ${WRKDIR}/moz_pis_${ii}
+.endfor
@${REINPLACE_CMD} -e 's|%%PREFIX%%|${PREFIX}|g' \
${WRKSRC}/build/unix/run-mozilla.sh
@${REINPLACE_CMD} -e 's|-lc_r|${PTHREAD_LIBS}|g ; \
s|-lpthread|${PTHREAD_LIBS}|g' \
- ${WRKSRC}/configure \
- ${WRKSRC}/nsprpub/configure
+ ${WRKSRC}/configure
@${REINPLACE_CMD} -e 's|-pthread|${PTHREAD_LIBS}|g' \
- ${WRKSRC}/nsprpub/configure \
${WRKSRC}/security/coreconf/FreeBSD.mk \
${WRKSRC}/directory/c-sdk/config/FreeBSD.mk \
${WRKSRC}/js/src/Makefile.in
- @${REINPLACE_CMD} -E -e 's|libesd\.so\.[0-9]+|${ESD_LIB}|g' \
+ @${REINPLACE_CMD} -e 's|libesd\.so\.\d+|${ESD_LIB}|g' \
${WRKSRC}/widget/src/gtk2/nsSound.cpp
- @${REINPLACE_CMD} -E -e 's|libcups\.so\.[0-9]+|libcups.no|g' \
+ @${REINPLACE_CMD} -E -e 's|libcups\.so\.[0-9]+|libcups.so|g' \
${WRKSRC}/gfx/src/gtk/nsDeviceContextSpecG.cpp
- @${REINPLACE_CMD} -e '/accessibility.typeaheadfind.enablesound/s/true/false/ ; \
- /dom.disable_window_open_feature.toolbar/s/false/true/' \
- ${WRKSRC}/modules/libpref/src/init/all.js \
- ${WRKSRC}/extensions/sroaming/resources/content/prefs/all.js \
- ${WRKSRC}/modules/libpref/src/init/all.js
- @${REINPLACE_CMD} -e 's|<iconv.h>|\"${LOCALBASE}/include/iconv.h\"|g' \
- ${WRKSRC}/configure \
- ${WRKSRC}/intl/uconv/native/nsNativeUConvService.cpp \
- ${WRKSRC}/xpcom/io/nsNativeCharsetUtils.cpp
- @${SED} -e 's|%%MOZDIR%%|${LOCAL_PREFIX}/lib/${PORTNAME}-${PORTVERSION}|g ; \
- s|%%X11BASE%%|${X11BASE}|g' \
- < ${MASTERDIR}/pkg-install.in > ${PKGINSTALL}
- @${SED} -e 's|%%MOZDIR%%|${LOCAL_PREFIX}/lib/${PORTNAME}-${PORTVERSION}|g' \
- < ${MASTERDIR}/pkg-deinstall.in > ${PKGDEINSTALL}
- @${SED} -e 's|@THUNDERBIRD_ICON@|${THUNDERBIRD_ICON}|' \
- < ${FILESDIR}/thunderbird.desktop.in > ${WRKDIR}/thunderbird.desktop
-.for ii in ${MOZ_PIS_SCRIPTS}
- @${SED} -e 's|%%MOZILLA%%|${THUNDERBIRD}|g ; \
- s|%%PREFIX%%|${PREFIX}|g ; \
- s|%%X11BASE%%|${X11BASE}|g' \
- < ${FILESDIR}/moz_pis_${ii} > ${WRKDIR}/moz_pis_${ii}
-.endfor
+ @${REINPLACE_CMD} -e 's|/usr/local/netscape|${LOCALBASE}|g' \
+ -e 's|/usr/local/lib/netscape|${LOCALBASE}/lib|g' \
+ ${WRKSRC}/xpcom/*/SpecialSystemDirectory.cpp
+ @${FIND} ${WRKSRC} -name all.js | ${XARGS} ${REINPLACE_CMD} -e \
+ '/accessibility.typeaheadfind.enablesound/s/true/false/ ; \
+ /dom.disable_window_open_feature.toolbar/s/false/true/'
pre-configure:
@if [ -n "`${PKG_INFO} -xI '^bind[0-9]*-base-[0-9]'`" ]; then \
@@ -153,67 +168,77 @@ pre-configure:
${FALSE}; \
fi
-post-build:
-# XXX This works around an install problem that is triggered when
-# toolkit/profile/src is built after profile/src.
- @${TOUCH} -f ${WRKSRC}/profile/build/libprofile.so
-
pre-install:
-# Overview: the program installs itself in FAKEDIR, then a list is made of the
-# files and directories in there. This is the PLIST (packing list) for the
-# package, replacing the traditional pkg-plist file.
@${RM} -rf ${FAKEDIR} ${PLIST}
@cd ${WRKSRC} && ${SETENV} ${MAKE_ENV} ${GMAKE} ${MAKE_FLAGS} \
- Makefile ${MAKE_ARGS} install
+ Makefile ${MAKE_ARGS} ${INSTALL_TARGET}
@${MKDIR} ${SCRIPTS_DIR}
@${MKDIR} ${MOZ_PIS_DIR}
-.for ii in mac win
-.for jj in / .jar
- @${RM} -rf ${FAKEDIR}/lib/${PORTNAME}/lib/${PORTNAME}-${PORTVERSION}/chrome/en-${ii}${jj}
-.endfor
-.endfor
- @${RM} -fr ${FAKEDIR}/share/idl ${FAKEDIR}/include
-.for ii in thunderbird thunderbird-config
- @${ECHO_CMD} bin/${ii} >> ${PLIST}
-.endfor
+ ${ECHO_CMD} 'share/applications/${PORTNAME}.desktop' >> ${PLIST}
+ ${REINPLACE_CMD} -e 's|${FAKEDIR}|${PREFIX}|g; \
+ s|${PORTNAME}-${PORTVERSION}|${PORTNAME}|' \
+ ${FAKEDIR}/bin/${PORTNAME} \
+ ${FAKEDIR}/bin/${PORTNAME}-config
+ ${ECHO_CMD} bin/${PORTNAME} >> ${PLIST}
+ ${ECHO_CMD} bin/${PORTNAME}-config >> ${PLIST}
.for ii in ${MOZ_PIS_SCRIPTS}
${INSTALL_SCRIPT} ${WRKDIR}/moz_pis_${ii} ${MOZ_PIS_DIR}/${ii}
.endfor
- @${MKDIR} ${FAKEDIR}/${LOCAL_SUBDIR}/lib/${PORTNAME}-${PORTVERSION}/defaults
+ @${MKDIR} ${FAKEDIR}/lib/${PORTNAME}-${PORTVERSION}/defaults
@${CP} -RL ${WRKSRC}/dist/bin/defaults/isp \
- ${FAKEDIR}/${LOCAL_SUBDIR}/lib/${PORTNAME}-${PORTVERSION}/defaults
- @cd ${FAKEDIR} && ${FIND} * ! -type d | ${SORT} >> ${PLIST}; \
- ${FIND} * -type d -empty | ${SORT} | ${SED} -e \
- "s:^:@exec ${MKDIR} %D/:" -e "s:$$: || true:" >> ${PLIST}; \
- ${FIND} * -type d -empty | ${SORT} -r | ${SED} -e \
- "s:^:@unexec ${RMDIR} %D/:" -e "s:$$: || true:" >> ${PLIST}; \
- ${FIND} * -type d ! -empty | ${SORT} -r | ${SED} -e "s:^:@dirrm :" | \
- ${GREP} / >> ${PLIST}
- ${ECHO_CMD} 'share/applications/thunderbird.desktop' >> ${PLIST}
- ${ECHO_CMD} '@unexec ${RMDIR} %D/share/applications 2>/dev/null || ${TRUE}' >> ${PLIST}
+ ${FAKEDIR}/lib/${PORTNAME}-${PORTVERSION}/defaults
+ cd ${FAKEDIR}/lib/${PORTNAME}-${PORTVERSION} && ${FIND} -s * -type f -o -type l | \
+ ${SED} -e 's|^|lib/${PORTNAME}/|' >> ${PLIST} \
+ && ${FIND} -d * -type d | \
+ ${SED} -e 's|^|@dirrm lib/${PORTNAME}/|' >> ${PLIST}
+ ${ECHO_CMD} @dirrm lib/${PORTNAME} >> ${PLIST}
+ for pcfile in ${PKGCONFIG_FILES}; do \
+ ${REINPLACE_CMD} -e 's|${PORTNAME}-${PORTVERSION}|${PORTNAME}|g; \
+ s|${FAKEDIR}|${PREFIX}|g ; \
+ s|${PORTNAME}-nspr = ${PORTVERSION}|nspr >= 4.6.0|g' \
+ ${FAKEDIR}/lib/pkgconfig/$${pcfile}.pc ; \
+ ${ECHO_CMD} libdata/pkgconfig/$${pcfile}.pc >> ${PLIST} ; \
+ done
+ cd ${FAKEDIR}/include/${PORTNAME}-${PORTVERSION} && ${FIND} -s * -type f -o -type l | \
+ ${SED} -e 's|^|include/${PORTNAME}/|' >> ${PLIST} \
+ && ${FIND} -d * -type d | \
+ ${SED} -e 's|^|@dirrm include/${PORTNAME}/|' >> ${PLIST}
+ ${ECHO_CMD} @dirrm include/${PORTNAME} >> ${PLIST}
+ cd ${FAKEDIR}/share/idl/${PORTNAME}-${PORTVERSION} \
+ && ${FIND} -s * -type f -o -type l | \
+ ${SED} -e 's:^:share/idl/${PORTNAME}/:' >> ${PLIST} \
+ && ${FIND} -d * -type d | \
+ ${SED} -e 's:^:@dirrm share/idl/${PORTNAME}/:' >> ${PLIST}
+ ${ECHO_CMD} "@dirrm share/idl/${PORTNAME}" >> ${PLIST}
+ ${ECHO_CMD} "@unexec ${RMDIR} %D/share/idl 2>/dev/null || true" >> ${PLIST}
do-install:
-# This is the actual installation. First, the contents of FAKEDIR are
-# just copied to PREFIX.
- cd ${FAKEDIR} && ${FIND} * | ${CPIO} -dmp --quiet ${PREFIX}
+ ${MKDIR} ${PREFIX}/lib/${PORTNAME}
+ ${CHMOD} 755 ${PREFIX}/lib/${PORTNAME}
+ ${INSTALL_SCRIPT} ${FAKEDIR}/bin/${PORTNAME} ${PREFIX}/bin
+ ${INSTALL_SCRIPT} ${FAKEDIR}/bin/${PORTNAME}-config ${PREFIX}/bin
+ for pcfile in ${PKGCONFIG_FILES}; do \
+ ${INSTALL_DATA} ${FAKEDIR}/lib/pkgconfig/$${pcfile}.pc \
+ ${PREFIX}/libdata/pkgconfig/$${pcfile}.pc ; \
+ done
+ -${RM} -fr ${PREFIX}/include/${PORTNAME}
+ ${MKDIR} ${PREFIX}/include/${PORTNAME}
+ ${CHMOD} 755 ${PREFIX}/include/${PORTNAME}
+ cd ${FAKEDIR}/include/${PORTNAME}-${PORTVERSION} && ${FIND} . | \
+ ${CPIO} -pdm -L -R ${LIBOWN}:${LIBGRP} ${PREFIX}/include/${PORTNAME}
+ cd ${FAKEDIR}/lib/${PORTNAME}-${PORTVERSION} && ${FIND} . | \
+ ${CPIO} -pdm -L -R ${LIBOWN}:${LIBGRP} ${PREFIX}/lib/${PORTNAME}
+ ${MKDIR} ${PREFIX}/share/idl/${PORTNAME}
+ cd ${FAKEDIR}/share/idl/${PORTNAME}-${PORTVERSION} && ${FIND} . | \
+ ${CPIO} -pdm -L -R ${SHAREOWN}:${SHAREGRP} ${PREFIX}/share/idl/${PORTNAME}
post-install:
+.if !defined(PACKAGE_BUILDING)
@${SETENV} PKG_PREFIX=${PREFIX} ${SH} ${PKGINSTALL} ${PKGNAME} POST-INSTALL
- ${MKDIR} ${PREFIX}/bin
- ${RM} -f ${PREFIX}/bin/thunderbird
- ${LN} -s ${LOCAL_PREFIX}/bin/thunderbird \
- ${PREFIX}/bin/thunderbird
- ${RM} -f ${PREFIX}/bin/thunderbird-config
- ${LN} -s ${LOCAL_PREFIX}/bin/thunderbird-config \
- ${PREFIX}/bin/thunderbird-config
- ${PERL} -pi -e 's|${FAKEDIR}|${PREFIX}|g' \
- ${LOCAL_PREFIX}/bin/thunderbird \
- ${LOCAL_PREFIX}/bin/thunderbird-config
- ${FIND} ${LOCAL_PREFIX}/lib/pkgconfig -type f | ${XARGS} \
- ${PERL} -pi -e 's|${FAKEDIR}|${PREFIX}|g'
+.endif
${MKDIR} ${PREFIX}/share/applications
- ${INSTALL_DATA} ${WRKDIR}/thunderbird.desktop ${PREFIX}/share/applications
- ${INSTALL_DATA} ${WRKSRC}/other-licenses/branding/thunderbird/default.xpm \
- ${LOCAL_PREFIX}/lib/${PORTNAME}-${PORTVERSION}/chrome/icons/default/default.xpm
+ ${INSTALL_DATA} ${WRKDIR}/${PORTNAME}.desktop ${PREFIX}/share/applications
+ ${INSTALL_DATA} ${WRKSRC}/other-licenses/branding/${PORTNAME}/default.xpm \
+ ${PREFIX}/lib/${PORTNAME}/chrome/icons/default/default.xpm
.include <bsd.port.post.mk>
diff --git a/mail/thunderbird3/files/mozconfig.in b/mail/thunderbird3/files/mozconfig.in
index 2160060a1296..d99ebe20a3da 100644
--- a/mail/thunderbird3/files/mozconfig.in
+++ b/mail/thunderbird3/files/mozconfig.in
@@ -33,12 +33,13 @@ mk_add_options XP_UNIX=1
export PERL="@PERL@"
mk_add_options PERL=$PERL
# Configure options for installation
-ac_add_options --prefix=@PREFIX@
+ac_add_options --prefix=@FAKEDIR@
######################################################################
# Use ports for these libraries
ac_add_options --with-system-jpeg=@LOCALBASE@
ac_add_options --with-system-zlib
ac_add_options --with-system-png=@LOCALBASE@
+ac_add_options --with-system-nspr
######################################################################
# set compile/link features
ac_add_options --with-pthreads
diff --git a/mail/thunderbird3/files/patch-bugzilla243151 b/mail/thunderbird3/files/patch-bugzilla243151
new file mode 100644
index 000000000000..e1a2a77acc20
--- /dev/null
+++ b/mail/thunderbird3/files/patch-bugzilla243151
@@ -0,0 +1,10 @@
+Bogus assertion, see https://bugzilla.mozilla.org/show_bug.cgi?id=243151
+
+--- xpcom/threads/nsThread.cpp Sun Oct 5 21:42:05 2003
++++ xpcom/threads/nsThread.cpp Mon Aug 8 00:33:45 2005
+@@ -374,5 +374,4 @@
+ status = PR_NewThreadPrivateIndex(&nsThread::kIThreadSelfIndex, nsThread::Exit);
+ if (status != PR_SUCCESS) return NS_ERROR_FAILURE;
+- NS_ASSERTION(nsThread::kIThreadSelfIndex != 0, "couldn't get thread private index");
+ }
+
diff --git a/mail/thunderbird3/files/patch-build_unix_mozilla-xpcom.pc.in b/mail/thunderbird3/files/patch-build_unix_mozilla-xpcom.pc.in
new file mode 100644
index 000000000000..4e982a5443e8
--- /dev/null
+++ b/mail/thunderbird3/files/patch-build_unix_mozilla-xpcom.pc.in
@@ -0,0 +1,8 @@
+--- build/unix/mozilla-xpcom.pc.in.orig Thu Jun 24 12:23:09 2004
++++ build/unix/mozilla-xpcom.pc.in Thu Jun 24 12:23:18 2004
+@@ -8,4 +8,4 @@
+ Version: %MOZILLA_VERSION%
+ Requires: mozilla-nspr = %MOZILLA_VERSION%
+ Libs: -L${libdir} -lxpcom
+-Cflags: -I${includedir}/xpcom -I${includedir}/string
++Cflags: -I${includedir}/xpcom -I${includedir}/string -I${includedir}
diff --git a/mail/thunderbird3/files/patch-config::mkdepend::Makefile.in b/mail/thunderbird3/files/patch-config::mkdepend::Makefile.in
new file mode 100644
index 000000000000..bace012a282e
--- /dev/null
+++ b/mail/thunderbird3/files/patch-config::mkdepend::Makefile.in
@@ -0,0 +1,10 @@
+--- config/mkdepend/Makefile.in.orig Sun Dec 12 07:36:57 2004
++++ config/mkdepend/Makefile.in Sun Dec 12 07:37:55 2004
+@@ -57,6 +57,7 @@
+ include $(topsrcdir)/config/rules.mk
+
+ HOST_CFLAGS += -DINCLUDEDIR=\"/usr/include\" -DOBJSUFFIX=\".$(OBJ_SUFFIX)\"
++HOST_CFLAGS += $(XCFLAGS)
+
+ ifdef GNU_CC
+ _GCCDIR = $(shell $(CC) -print-file-name=include)
diff --git a/mail/thunderbird3/files/patch-gfx-src-gtk-Makefile.in b/mail/thunderbird3/files/patch-gfx-src-gtk-Makefile.in
new file mode 100644
index 000000000000..ff8b699841a3
--- /dev/null
+++ b/mail/thunderbird3/files/patch-gfx-src-gtk-Makefile.in
@@ -0,0 +1,15 @@
+When using ``--with-system-nspr'' option, MOZ_COMPONENT_LIBS does not
+contain the ``-L../../../dist/lib'' -- only ``-L../../../dist/bin''.
+
+This causes an error, because libgfxshared_s is only under dist/lib.
+
+ -mi
+
+--- gfx/src/gtk/Makefile.in Mon Nov 10 07:24:51 2003
++++ gfx/src/gtk/Makefile.in Thu Jul 21 23:58:26 2005
+@@ -165,4 +165,5 @@
+ ifdef MOZ_ENABLE_GTK2
+ EXTRA_DSO_LDOPTS += $(MOZ_COMPONENT_LIBS) \
++ $(LIBS_DIR) \
+ -lgkgfx \
+ -lgfxshared_s \
diff --git a/mail/thunderbird3/files/patch-jsosdep b/mail/thunderbird3/files/patch-jsosdep
new file mode 100644
index 000000000000..7f54845657ed
--- /dev/null
+++ b/mail/thunderbird3/files/patch-jsosdep
@@ -0,0 +1,9 @@
+--- js/src/jsosdep.h Fri Nov 14 19:10:59 2003
++++ js/src/jsosdep.h Fri Aug 5 00:50:44 2005
+@@ -102,5 +102,5 @@
+ #define JS_HAVE_LONG_LONG
+
+-#elif defined(FREEBSD)
++#elif defined(FREEBSD) || defined(__FreeBSD__)
+ #define JS_HAVE_LONG_LONG
+
diff --git a/mail/thunderbird3/files/patch-libm b/mail/thunderbird3/files/patch-libm
new file mode 100644
index 000000000000..7de64b2a5068
--- /dev/null
+++ b/mail/thunderbird3/files/patch-libm
@@ -0,0 +1,25 @@
+--- js/src/Makefile.in Thu Aug 4 22:26:52 2005
++++ js/src/Makefile.in Thu Aug 4 23:02:32 2005
+@@ -148,5 +148,4 @@
+ endif
+
+-FDLIBM_LIBRARY = fdlibm/$(LIB_PREFIX)fdm.$(LIB_SUFFIX)
+ JSMATH_PRELINK = jsmathtemp.o
+ JS_SAFE_ARENA = 1
+@@ -320,7 +319,4 @@
+ endif
+ @$(RM) -f $(JSMATH_PRELINK)
+-else
+-# Create dependency so we build fdlibm
+-jsmath.o: $(FDLIBM_LIBRARY) Makefile.in
+ endif
+
+--- js/Makefile.in Sun Mar 23 14:36:00 2003
++++ js/Makefile.in Thu Aug 4 23:08:06 2005
+@@ -46,5 +46,5 @@
+ #
+
+-DIRS = src/fdlibm src
++DIRS = src
+
+ include $(topsrcdir)/config/rules.mk
diff --git a/mail/thunderbird3/files/patch-mozilla_widget_src_gtk2_mozdrawingarea.c b/mail/thunderbird3/files/patch-mozilla_widget_src_gtk2_mozdrawingarea.c
new file mode 100644
index 000000000000..9e58b51864f2
--- /dev/null
+++ b/mail/thunderbird3/files/patch-mozilla_widget_src_gtk2_mozdrawingarea.c
@@ -0,0 +1,12 @@
+--- widget/src/gtk2/mozdrawingarea.c.orig Tue Apr 30 12:29:00 2002
++++ widget/src/gtk2/mozdrawingarea.c Thu Aug 18 22:27:27 2005
+@@ -168,7 +168,9 @@
+
+ drawingarea = MOZ_DRAWINGAREA(object);
+
++ gdk_window_set_user_data(drawingarea->inner_window, NULL);
+ gdk_window_destroy(drawingarea->inner_window);
++ gdk_window_set_user_data(drawingarea->clip_window, NULL);
+ gdk_window_destroy(drawingarea->clip_window);
+
+ (* parent_class->finalize) (object);
diff --git a/mail/thunderbird3/files/patch-nspr-unix.c b/mail/thunderbird3/files/patch-nspr-unix.c
deleted file mode 100644
index 6bb4ed08fb40..000000000000
--- a/mail/thunderbird3/files/patch-nspr-unix.c
+++ /dev/null
@@ -1,21 +0,0 @@
---- nsprpub/pr/src/md/unix/unix.c.orig Sat May 31 18:06:04 2003
-+++ nsprpub/pr/src/md/unix/unix.c Sat May 31 18:04:43 2003
-@@ -65,7 +65,8 @@
- * PRInt32* pointer to a _PRSockLen_t* pointer.
- */
- #if defined(HAVE_SOCKLEN_T) \
-- || (defined(LINUX) && defined(__GLIBC__) && __GLIBC__ >= 2)
-+ || (defined(LINUX) && defined(__GLIBC__) && __GLIBC__ >= 2) \
-+ || defined(FREEBSD)
- #define _PRSockLen_t socklen_t
- #elif defined(IRIX) || defined(HPUX) || defined(OSF1) || defined(SOLARIS) \
- || defined(AIX4_1) || defined(LINUX) || defined(SONY) \
-@@ -73,7 +74,7 @@
- || defined(SUNOS4) || defined(NCR) || defined(DARWIN) \
- || defined(NEXTSTEP) || defined(QNX)
- #define _PRSockLen_t int
--#elif (defined(AIX) && !defined(AIX4_1)) || defined(FREEBSD) \
-+#elif (defined(AIX) && !defined(AIX4_1)) \
- || defined(NETBSD) || defined(OPENBSD) || defined(UNIXWARE) \
- || defined(DGUX) || defined(VMS) || defined(NTO)
- #define _PRSockLen_t size_t
diff --git a/mail/thunderbird3/files/patch-nsprpub-pr-include-md-_freebsd.cfg b/mail/thunderbird3/files/patch-nsprpub-pr-include-md-_freebsd.cfg
deleted file mode 100644
index 3ac9a34fbc70..000000000000
--- a/mail/thunderbird3/files/patch-nsprpub-pr-include-md-_freebsd.cfg
+++ /dev/null
@@ -1,161 +0,0 @@
---- nsprpub/pr/include/md/_freebsd.cfg.orig Wed Jan 2 18:38:25 2002
-+++ nsprpub/pr/include/md/_freebsd.cfg Sun Feb 1 15:09:53 2004
-@@ -91,7 +91,7 @@
- #define PR_ALIGN_OF_DOUBLE 4
- #define PR_ALIGN_OF_POINTER 4
-
--#elif defined(__alpha)
-+#elif defined(__alpha__)
-
- #define IS_LITTLE_ENDIAN 1
- #undef IS_BIG_ENDIAN
-@@ -138,6 +138,149 @@
- #define PR_ALIGN_OF_DOUBLE 8
- #define PR_ALIGN_OF_POINTER 8
-
-+#elif defined(__sparc64__)
-+#undef IS_LITTLE_ENDIAN
-+#define IS_BIG_ENDIAN 1
-+#define PR_ALIGN_OF_INT64 8
-+#define PR_ALIGN_OF_DOUBLE 8
-+#define IS_64
-+
-+#define PR_BYTES_PER_BYTE 1
-+#define PR_BYTES_PER_SHORT 2
-+#define PR_BYTES_PER_INT 4
-+#define PR_BYTES_PER_INT64 8
-+#define PR_BYTES_PER_LONG 8
-+#define PR_BYTES_PER_FLOAT 4
-+#define PR_BYTES_PER_DOUBLE 8
-+#define PR_BYTES_PER_WORD 8
-+#define PR_BYTES_PER_DWORD 8
-+#define PR_BYTES_PER_WORD_LOG2 3
-+#define PR_BYTES_PER_DWORD_LOG2 3
-+
-+#define PR_BITS_PER_BYTE 8
-+#define PR_BITS_PER_SHORT 16
-+#define PR_BITS_PER_INT 32
-+#define PR_BITS_PER_INT64 64
-+#define PR_BITS_PER_LONG 64
-+#define PR_BITS_PER_FLOAT 32
-+#define PR_BITS_PER_DOUBLE 64
-+#define PR_BITS_PER_WORD 64
-+
-+#define PR_BITS_PER_BYTE_LOG2 3
-+#define PR_BITS_PER_SHORT_LOG2 4
-+#define PR_BITS_PER_INT_LOG2 5
-+#define PR_BITS_PER_INT64_LOG2 6
-+#define PR_BITS_PER_LONG_LOG2 6
-+#define PR_BITS_PER_FLOAT_LOG2 5
-+#define PR_BITS_PER_DOUBLE_LOG2 6
-+#define PR_BITS_PER_WORD_LOG2 6
-+
-+#define PR_ALIGN_OF_SHORT 2
-+#define PR_ALIGN_OF_INT 4
-+#define PR_ALIGN_OF_LONG 8
-+#define PR_ALIGN_OF_FLOAT 4
-+#define PR_ALIGN_OF_POINTER 8
-+
-+#define HAVE_LONG_LONG
-+#define HAVE_ALIGNED_DOUBLES
-+#define HAVE_ALIGNED_LONGLONGS
-+
-+#elif defined(__ia64__)
-+#define IS_LITTLE_ENDIAN 1
-+#undef IS_BIG_ENDIAN
-+#define HAVE_LONG_LONG
-+#define HAVE_ALIGNED_DOUBLES
-+#define HAVE_ALIGNED_LONGLONGS
-+#define IS_64
-+
-+#define PR_BYTES_PER_BYTE 1
-+#define PR_BYTES_PER_SHORT 2
-+#define PR_BYTES_PER_INT 4
-+#define PR_BYTES_PER_INT64 8
-+#define PR_BYTES_PER_LONG 8
-+#define PR_BYTES_PER_FLOAT 4
-+#define PR_BYTES_PER_DOUBLE 8
-+#define PR_BYTES_PER_WORD 8
-+#define PR_BYTES_PER_DWORD 8
-+
-+#define PR_BITS_PER_BYTE 8
-+#define PR_BITS_PER_SHORT 16
-+#define PR_BITS_PER_INT 32
-+#define PR_BITS_PER_INT64 64
-+#define PR_BITS_PER_LONG 64
-+#define PR_BITS_PER_FLOAT 32
-+#define PR_BITS_PER_DOUBLE 64
-+#define PR_BITS_PER_WORD 64
-+
-+#define PR_BITS_PER_BYTE_LOG2 3
-+#define PR_BITS_PER_SHORT_LOG2 4
-+#define PR_BITS_PER_INT_LOG2 5
-+#define PR_BITS_PER_INT64_LOG2 6
-+#define PR_BITS_PER_LONG_LOG2 6
-+#define PR_BITS_PER_FLOAT_LOG2 5
-+#define PR_BITS_PER_DOUBLE_LOG2 6
-+#define PR_BITS_PER_WORD_LOG2 6
-+
-+#define PR_ALIGN_OF_SHORT 2
-+#define PR_ALIGN_OF_INT 4
-+#define PR_ALIGN_OF_LONG 8
-+#define PR_ALIGN_OF_INT64 8
-+#define PR_ALIGN_OF_FLOAT 4
-+#define PR_ALIGN_OF_DOUBLE 8
-+#define PR_ALIGN_OF_POINTER 8
-+#define PR_ALIGN_OF_WORD 8
-+
-+#define PR_BYTES_PER_WORD_LOG2 3
-+#define PR_BYTES_PER_DWORD_LOG2 3
-+
-+#elif defined(__amd64__)
-+#define IS_LITTLE_ENDIAN 1
-+#undef IS_BIG_ENDIAN
-+#define IS_64
-+
-+#define PR_BYTES_PER_BYTE 1
-+#define PR_BYTES_PER_SHORT 2
-+#define PR_BYTES_PER_INT 4
-+#define PR_BYTES_PER_INT64 8
-+#define PR_BYTES_PER_LONG 8
-+#define PR_BYTES_PER_FLOAT 4
-+#define PR_BYTES_PER_DOUBLE 8
-+#define PR_BYTES_PER_WORD 8
-+#define PR_BYTES_PER_DWORD 8
-+
-+#define PR_BITS_PER_BYTE 8
-+#define PR_BITS_PER_SHORT 16
-+#define PR_BITS_PER_INT 32
-+#define PR_BITS_PER_INT64 64
-+#define PR_BITS_PER_LONG 64
-+#define PR_BITS_PER_FLOAT 32
-+#define PR_BITS_PER_DOUBLE 64
-+#define PR_BITS_PER_WORD 64
-+
-+#define PR_BITS_PER_BYTE_LOG2 3
-+#define PR_BITS_PER_SHORT_LOG2 4
-+#define PR_BITS_PER_INT_LOG2 5
-+#define PR_BITS_PER_INT64_LOG2 6
-+#define PR_BITS_PER_LONG_LOG2 6
-+#define PR_BITS_PER_FLOAT_LOG2 5
-+#define PR_BITS_PER_DOUBLE_LOG2 6
-+#define PR_BITS_PER_WORD_LOG2 6
-+
-+#define PR_ALIGN_OF_SHORT 2
-+#define PR_ALIGN_OF_INT 4
-+#define PR_ALIGN_OF_LONG 8
-+#define PR_ALIGN_OF_INT64 8
-+#define PR_ALIGN_OF_FLOAT 4
-+#define PR_ALIGN_OF_DOUBLE 8
-+#define PR_ALIGN_OF_POINTER 8
-+#define PR_ALIGN_OF_WORD 8
-+
-+#define PR_BYTES_PER_WORD_LOG2 3
-+#define PR_BYTES_PER_DWORD_LOG2 3
-+
-+#define HAVE_LONG_LONG
-+#define HAVE_ALIGNED_DOUBLES
-+#define HAVE_ALIGNED_LONGLONGS
- #else
-
- #error "Unknown CPU architecture"
diff --git a/mail/thunderbird3/files/patch-nsprpub-pr-include-md-_freebsd.h b/mail/thunderbird3/files/patch-nsprpub-pr-include-md-_freebsd.h
deleted file mode 100644
index 38f21b2ddd6d..000000000000
--- a/mail/thunderbird3/files/patch-nsprpub-pr-include-md-_freebsd.h
+++ /dev/null
@@ -1,13 +0,0 @@
---- nsprpub/pr/include/md/_freebsd.h.orig Sat Nov 15 23:36:13 2003
-+++ nsprpub/pr/include/md/_freebsd.h Mon Feb 9 22:24:39 2004
-@@ -50,6 +50,10 @@
- #define _PR_SI_ARCHITECTURE "alpha"
- #elif defined(__sparc__)
- #define _PR_SI_ARCHITECTURE "sparc"
-+#elif defined(__ia64__)
-+#define _PR_SI_ARCHITECTURE "ia64"
-+#elif defined(__amd64__)
-+#define _PR_SI_ARCHITECTURE "amd64"
- #else
- #error "Unknown CPU architecture"
- #endif
diff --git a/mail/thunderbird3/files/patch-nsprpub-pr-include-md-_pth.h b/mail/thunderbird3/files/patch-nsprpub-pr-include-md-_pth.h
deleted file mode 100644
index 1f8159c70b1f..000000000000
--- a/mail/thunderbird3/files/patch-nsprpub-pr-include-md-_pth.h
+++ /dev/null
@@ -1,11 +0,0 @@
---- nsprpub/pr/include/md/_pth.h.orig Mon Jul 26 07:23:42 2004
-+++ nsprpub/pr/include/md/_pth.h Mon Jul 26 07:18:37 2004
-@@ -90,7 +90,7 @@
- #define _PT_PTHREAD_MUTEXATTR_INIT pthread_mutexattr_init
- #define _PT_PTHREAD_MUTEXATTR_DESTROY pthread_mutexattr_destroy
- #define _PT_PTHREAD_MUTEX_INIT(m, a) pthread_mutex_init(&(m), &(a))
--#define _PT_PTHREAD_MUTEX_IS_LOCKED(m) (EBUSY == pthread_mutex_trylock(&(m)))
-+#define _PT_PTHREAD_MUTEX_IS_LOCKED(m) (0 != pthread_mutex_trylock(&(m)))
- #if defined(DARWIN)
- #define _PT_PTHREAD_CONDATTR_INIT(x) 0
- #else
diff --git a/mail/thunderbird3/files/patch-nsprpub-pr-src-io-prprf.c b/mail/thunderbird3/files/patch-nsprpub-pr-src-io-prprf.c
deleted file mode 100644
index 74a85ce8b5e2..000000000000
--- a/mail/thunderbird3/files/patch-nsprpub-pr-src-io-prprf.c
+++ /dev/null
@@ -1,14 +0,0 @@
---- nsprpub/pr/src/io/prprf.c.orig Mon Mar 8 22:18:19 2004
-+++ nsprpub/pr/src/io/prprf.c Mon May 3 13:00:27 2004
-@@ -51,7 +51,10 @@
- ** Note: on some platforms va_list is defined as an array,
- ** and requires array notation.
- */
--#if (defined(LINUX) && defined(__x86_64__))
-+#if defined(__amd64__)
-+#include <stdarg.h>
-+#define VARARGS_ASSIGN(foo, bar) va_copy((foo), (bar))
-+#elif (defined(LINUX) && defined(__x86_64__))
- #define VARARGS_ASSIGN(foo, bar) __va_copy((foo), (bar))
- #elif (defined(LINUX) && defined(__powerpc__)) || \
- (defined(LINUX) && defined(__s390__)) || \
diff --git a/mail/thunderbird3/files/patch-nsprpub-pr-src-pthreads-ptio.c b/mail/thunderbird3/files/patch-nsprpub-pr-src-pthreads-ptio.c
deleted file mode 100644
index 08346f235416..000000000000
--- a/mail/thunderbird3/files/patch-nsprpub-pr-src-pthreads-ptio.c
+++ /dev/null
@@ -1,29 +0,0 @@
---- nsprpub/pr/src/pthreads/ptio.c.orig Mon Jul 14 17:59:47 2003
-+++ nsprpub/pr/src/pthreads/ptio.c Fri Aug 29 15:39:46 2003
-@@ -189,7 +189,7 @@
- #endif
- #endif
-
--#ifdef DARWIN
-+#if defined(DARWIN) || defined(FREEBSD)
- static PRBool _pr_ipv6_v6only_on_by_default;
- /* The IPV6_V6ONLY socket option is not defined on Mac OS X 10.1. */
- #ifndef IPV6_V6ONLY
-@@ -1154,7 +1154,7 @@
- _pr_stderr = pt_SetMethods(2, PR_DESC_FILE, PR_FALSE, PR_TRUE);
- PR_ASSERT(_pr_stdin && _pr_stdout && _pr_stderr);
-
--#ifdef DARWIN
-+#if defined(DARWIN) || defined(FREEBSD)
- /* In Mac OS X v10.3 Panther Beta the IPV6_V6ONLY socket option
- * is turned on by default, contrary to what RFC 3493, Section
- * 5.3 says. So we have to turn it off. Find out whether we
-@@ -3462,7 +3462,7 @@
- if (osfd == -1) pt_MapError(_PR_MD_MAP_SOCKET_ERROR, errno);
- else
- {
--#ifdef DARWIN
-+#if defined(DARWIN) || defined(FREEBSD)
- if ((domain == AF_INET6) && _pr_ipv6_v6only_on_by_default)
- {
- int on = 0;
diff --git a/mail/thunderbird3/files/patch-oji-threads b/mail/thunderbird3/files/patch-oji-threads
new file mode 100644
index 000000000000..5d4031c8e6e6
--- /dev/null
+++ b/mail/thunderbird3/files/patch-oji-threads
@@ -0,0 +1,60 @@
+--- modules/oji/public/nsIThreadManager.h Fri Sep 28 16:08:27 2001
++++ modules/oji/public/nsIThreadManager.h Sat Aug 6 03:27:26 2005
+@@ -113,5 +113,5 @@
+ */
+ NS_IMETHOD
+- CreateThread(PRUint32* threadID, nsIRunnable* runnable) = 0;
++ CreateThread(uintptr_t* threadID, nsIRunnable* runnable) = 0;
+
+ /**
+@@ -122,5 +122,5 @@
+ */
+ NS_IMETHOD
+- PostEvent(PRUint32 threadID, nsIRunnable* runnable, PRBool async) = 0;
++ PostEvent(uintptr_t threadID, nsIRunnable* runnable, PRBool async) = 0;
+ };
+
+--- modules/oji/src/nsJVMManager.cpp Mon Feb 9 17:48:48 2004
++++ modules/oji/src/nsJVMManager.cpp Sat Aug 6 03:29:19 2005
+@@ -268,9 +268,9 @@
+
+ NS_METHOD
+-nsJVMManager::CreateThread(PRUint32* outThreadID, nsIRunnable* runnable)
++nsJVMManager::CreateThread(uintptr_t* outThreadID, nsIRunnable* runnable)
+ {
+ PRThread* thread = PR_CreateThread(PR_USER_THREAD, &thread_starter, (void*) runnable,
+ PR_PRIORITY_NORMAL, PR_GLOBAL_THREAD, PR_JOINABLE_THREAD, 0);
+- *outThreadID = NS_PTR_TO_INT32(thread);
++ *outThreadID = (uintptr_t)(thread);
+ return (thread != NULL ? NS_OK : NS_ERROR_FAILURE);
+ }
+@@ -308,5 +308,5 @@
+
+ NS_METHOD
+-nsJVMManager::PostEvent(PRUint32 threadID, nsIRunnable* runnable, PRBool async)
++nsJVMManager::PostEvent(uintptr_t threadID, nsIRunnable* runnable, PRBool async)
+ {
+ nsresult rv;
+@@ -873,5 +873,5 @@
+
+ do {
+- static PRBool registeredLiveConnectFactory = NS_SUCCEEDED(JSJ_RegisterLiveConnectFactory());
++ JSJ_RegisterLiveConnectFactory();
+ if (IsLiveConnectEnabled() && StartupJVM() == nsJVMStatus_Running) {
+ JVM_InitLCGlue();
+--- modules/oji/src/nsJVMManager.h Sat Nov 29 13:56:08 2003
++++ modules/oji/src/nsJVMManager.h Sat Aug 6 03:30:01 2005
+@@ -122,5 +122,5 @@
+ */
+ NS_IMETHOD
+- CreateThread(PRUint32* threadID, nsIRunnable* runnable);
++ CreateThread(uintptr_t* threadID, nsIRunnable* runnable);
+
+ /**
+@@ -131,5 +131,5 @@
+ */
+ NS_IMETHOD
+- PostEvent(PRUint32 threadID, nsIRunnable* runnable, PRBool async);
++ PostEvent(uintptr_t threadID, nsIRunnable* runnable, PRBool async);
+
+ /* from nsILiveConnectManager: */
diff --git a/mail/thunderbird3/files/patch-sysnspr b/mail/thunderbird3/files/patch-sysnspr
new file mode 100644
index 000000000000..19e2703b4b38
--- /dev/null
+++ b/mail/thunderbird3/files/patch-sysnspr
@@ -0,0 +1,21 @@
+--- directory/c-sdk/ldap/include/Makefile.in.orig Sat Aug 20 02:15:05 2005
++++ directory/c-sdk/ldap/include/Makefile.in Sat Aug 20 02:15:55 2005
+@@ -76,7 +76,6 @@
+ $(INSTALL) $(INSTALLFLAGS) -m 644 $(HEADERS) $(INCLUDEDIR)
+ $(INSTALL) $(INSTALLFLAGS) -m 644 $(PRIVATEHEADERS) $(PRIVATEINCDIR)
+ rm -rf $(NSPRINCDIR)/*
+- cp -r $(DIST)/$(OBJDIR_NAME)/include/nspr/* $(NSPRINCDIR)
+
+ $(INCLUDEDIR): FORCE
+ $(NSINSTALL) -D $(INCLUDEDIR)
+--- directory/c-sdk/ldap/libraries/libprldap/Makefile.in.orig Sat Aug 20 02:14:33 2005
++++ directory/c-sdk/ldap/libraries/libprldap/Makefile.in Sat Aug 20 02:14:39 2005
+@@ -58,7 +58,7 @@
+
+ LOCAL_INCLUDES = -I$(PUBLIC)/nspr
+ INCLUDES += -I$(DISTHDIR) -I$(HDIR) -I$(INSTALLDIR)/include \
+- -I$(DIST)/include/nspr
++ $(shell nspr-config --cflags)
+ DEFINES += $(DEFS)
+
+ PLATFORMCFLAGS = -DUSE_WAITPID -DNEEDPROTOS
diff --git a/mail/thunderbird3/files/patch-sysnss b/mail/thunderbird3/files/patch-sysnss
new file mode 100644
index 000000000000..d854cabc053a
--- /dev/null
+++ b/mail/thunderbird3/files/patch-sysnss
@@ -0,0 +1,178 @@
+--- Makefile.in Tue Sep 14 16:59:40 2004
++++ Makefile.in Tue Aug 2 08:26:55 2005
+@@ -102,6 +102,4 @@
+ # tier 1 - 3rd party individual libraries
+ #
+-tier_1_dirs += dbm
+-
+ ifndef MOZ_NATIVE_JPEG
+ tier_1_dirs += jpeg
+--- security/manager/Makefile.in Mon Mar 28 19:56:36 2005
++++ security/manager/Makefile.in Tue Aug 2 09:02:50 2005
+@@ -37,16 +37,7 @@
+ SOFTOKEN3_LIB \
+ SOFTOKEN3_CHK \
+- LOADABLE_ROOT_MODULE \
+ HAVE_FREEBL_MODULES \
+ $(NULL)
+
+-LOADABLE_ROOT_MODULE = $(DLL_PREFIX)nssckbi$(DLL_SUFFIX)
+-
+-NSS3_LIB = $(DLL_PREFIX)nss3$(DLL_SUFFIX)
+-SMIME3_LIB = $(DLL_PREFIX)smime3$(DLL_SUFFIX)
+-SSL3_LIB = $(DLL_PREFIX)ssl3$(DLL_SUFFIX)
+-SOFTOKEN3_LIB = $(DLL_PREFIX)softokn3$(DLL_SUFFIX)
+-SOFTOKEN3_CHK = $(DLL_PREFIX)softokn3.chk
+-
+ ifneq (,$(filter SunOS HP-UX,$(OS_ARCH)))
+ ifeq (,$(filter i86pc ia64,$(OS_TEST)))
+@@ -132,9 +123,4 @@
+ .nss.cleaned: .nss.checkout
+ $(MAKE) -C $(topsrcdir)/security/coreconf $(DEFAULT_GMAKE_FLAGS) clean
+- $(MAKE) -C $(topsrcdir)/security/nss/lib $(DEFAULT_GMAKE_FLAGS) clean
+-ifndef SKIP_CHK
+- $(MAKE) -C $(topsrcdir)/security/nss/cmd/lib $(DEFAULT_GMAKE_FLAGS) clean
+- $(MAKE) -C $(topsrcdir)/security/nss/cmd/shlibsign $(DEFAULT_GMAKE_FLAGS) clean
+-endif
+ touch $@
+
+@@ -153,43 +139,4 @@
+ ifeq ($(OS_ARCH),WINNT)
+ cd $(DIST)/lib; cp -f $(LIB_PREFIX)dbm$(MOZ_BITS).$(LIB_SUFFIX) $(LIB_PREFIX)dbm.$(LIB_SUFFIX)
+-else
+- cd $(DIST)/lib; cp -f $(LIB_PREFIX)mozdbm_s.$(LIB_SUFFIX) $(LIB_PREFIX)dbm.$(LIB_SUFFIX); $(RANLIB) $(LIB_PREFIX)dbm.$(LIB_SUFFIX)
+-endif
+- $(MAKE) -C $(topsrcdir)/security/nss/lib $(DEFAULT_GMAKE_FLAGS)
+-ifndef SKIP_CHK
+- $(MAKE) -C $(topsrcdir)/security/nss/cmd/lib $(DEFAULT_GMAKE_FLAGS)
+- $(MAKE) -C $(topsrcdir)/security/nss/cmd/shlibsign $(DEFAULT_GMAKE_FLAGS)
+-endif
+-ifndef DISABLE_DIST_GRE
+- $(INSTALL) -m 755 $(DIST)/lib/$(LOADABLE_ROOT_MODULE) $(GRE_DIST)
+-ifndef SKIP_CHK
+- $(INSTALL) -m 644 $(DIST)/lib/$(SOFTOKEN3_CHK) $(GRE_DIST)
+-endif
+- $(INSTALL) -m 755 $(DIST)/lib/$(SOFTOKEN3_LIB) $(GRE_DIST)
+- $(INSTALL) -m 755 $(DIST)/lib/$(NSS3_LIB) $(GRE_DIST)
+- $(INSTALL) -m 755 $(DIST)/lib/$(SSL3_LIB) $(GRE_DIST)
+- $(INSTALL) -m 755 $(DIST)/lib/$(SMIME3_LIB) $(GRE_DIST)
+-ifdef HAVE_FREEBL_MODULES
+- $(INSTALL) -m 644 $(DIST)/lib/$(FREEBL_PURE32_CHK) $(GRE_DIST)
+- $(INSTALL) -m 755 $(DIST)/lib/$(FREEBL_PURE32_MODULE) $(GRE_DIST)
+- $(INSTALL) -m 644 $(DIST)/lib/$(FREEBL_HYBRID_CHK) $(GRE_DIST)
+- $(INSTALL) -m 755 $(DIST)/lib/$(FREEBL_HYBRID_MODULE) $(GRE_DIST)
+-endif
+-endif
+-ifndef _SKIP_OLD_GRE_INSTALL
+- $(INSTALL) -m 755 $(DIST)/lib/$(LOADABLE_ROOT_MODULE) $(DIST)/bin
+-ifndef SKIP_CHK
+- $(INSTALL) -m 644 $(DIST)/lib/$(SOFTOKEN3_CHK) $(DIST)/bin
+-endif
+- $(INSTALL) -m 755 $(DIST)/lib/$(SOFTOKEN3_LIB) $(DIST)/bin
+- $(INSTALL) -m 755 $(DIST)/lib/$(NSS3_LIB) $(DIST)/bin
+- $(INSTALL) -m 755 $(DIST)/lib/$(SSL3_LIB) $(DIST)/bin
+- $(INSTALL) -m 755 $(DIST)/lib/$(SMIME3_LIB) $(DIST)/bin
+-ifdef HAVE_FREEBL_MODULES
+- $(INSTALL) -m 644 $(DIST)/lib/$(FREEBL_PURE32_CHK) $(DIST)/bin
+- $(INSTALL) -m 755 $(DIST)/lib/$(FREEBL_PURE32_MODULE) $(DIST)/bin
+- $(INSTALL) -m 644 $(DIST)/lib/$(FREEBL_HYBRID_CHK) $(DIST)/bin
+- $(INSTALL) -m 755 $(DIST)/lib/$(FREEBL_HYBRID_MODULE) $(DIST)/bin
+-endif
+ endif
+ $(MAKE) -C boot $@
+@@ -200,18 +147,4 @@
+
+ install::
+- $(SYSINSTALL) -m 755 $(DIST)/lib/$(LOADABLE_ROOT_MODULE) $(DESTDIR)$(mozappdir)
+-ifndef SKIP_CHK
+- $(SYSINSTALL) -m 644 $(DIST)/lib/$(SOFTOKEN3_CHK) $(DESTDIR)$(mozappdir)
+-endif
+- $(SYSINSTALL) -m 755 $(DIST)/lib/$(SOFTOKEN3_LIB) $(DESTDIR)$(mozappdir)
+- $(SYSINSTALL) -m 755 $(DIST)/lib/$(NSS3_LIB) $(DESTDIR)$(mozappdir)
+- $(SYSINSTALL) -m 755 $(DIST)/lib/$(SSL3_LIB) $(DESTDIR)$(mozappdir)
+- $(SYSINSTALL) -m 755 $(DIST)/lib/$(SMIME3_LIB) $(DESTDIR)$(mozappdir)
+-ifdef HAVE_FREEBL_MODULES
+- $(SYSINSTALL) -m 644 $(DIST)/lib/$(FREEBL_PURE32_CHK) $(DESTDIR)$(mozappdir)
+- $(SYSINSTALL) -m 755 $(DIST)/lib/$(FREEBL_PURE32_MODULE) $(DESTDIR)$(mozappdir)
+- $(SYSINSTALL) -m 644 $(DIST)/lib/$(FREEBL_HYBRID_CHK) $(DESTDIR)$(mozappdir)
+- $(SYSINSTALL) -m 755 $(DIST)/lib/$(FREEBL_HYBRID_MODULE) $(DESTDIR)$(mozappdir)
+-endif
+ $(MAKE) -C boot $@
+ $(MAKE) -C ssl $@
+@@ -227,9 +160,4 @@
+ endif
+ $(MAKE) -C $(topsrcdir)/security/coreconf $(DEFAULT_GMAKE_FLAGS) clean
+- $(MAKE) -C $(topsrcdir)/security/nss/lib $(DEFAULT_GMAKE_FLAGS) clean
+-ifndef SKIP_CHK
+- $(MAKE) -C $(topsrcdir)/security/nss/cmd/lib $(DEFAULT_GMAKE_FLAGS) clean
+- $(MAKE) -C $(topsrcdir)/security/nss/cmd/shlibsign $(DEFAULT_GMAKE_FLAGS) clean
+-endif
+
+ echo-requires-recursive::
+--- security/manager/ssl/src/Makefile.in Wed Jan 7 08:36:51 2004
++++ security/manager/ssl/src/Makefile.in Tue Aug 2 09:13:07 2005
+@@ -117,5 +117,5 @@
+ # Use local includes because they are inserted before INCLUDES
+ # so that Mozilla's nss.h is used, not glibc's
+-LOCAL_INCLUDES += -I$(DIST)/public/nss \
++LOCAL_INCLUDES += -I$(LOCALBASE)/include/nss/nss \
+ $(NULL)
+
+--- config/config.mk Tue Oct 12 00:11:11 2004
++++ config/config.mk Tue Aug 2 09:19:18 2005
+@@ -170,5 +170,4 @@
+ NSS_LIBS = \
+ $(LIBS_DIR) \
+- $(DIST)/lib/$(LIB_PREFIX)crmf.$(LIB_SUFFIX) \
+ -lsmime3 \
+ -lssl3 \
+@@ -189,11 +188,5 @@
+ endif
+
+-NSS_DEP_LIBS = \
+- $(DIST)/lib/$(LIB_PREFIX)crmf.$(LIB_SUFFIX) \
+- $(DIST)/lib/$(DLL_PREFIX)smime3$(DLL_SUFFIX) \
+- $(DIST)/lib/$(DLL_PREFIX)ssl3$(DLL_SUFFIX) \
+- $(DIST)/lib/$(DLL_PREFIX)nss3$(DLL_SUFFIX) \
+- $(DIST)/lib/$(DLL_PREFIX)softokn3$(DLL_SUFFIX) \
+- $(NULL)
++NSS_DEP_LIBS =
+
+ MOZ_UNICHARUTIL_LIBS = $(DIST)/lib/$(LIB_PREFIX)unicharutil_s.$(LIB_SUFFIX)
+--- security/manager/ssl/src/nsNSSComponent.cpp Thu Apr 22 15:48:30 2004
++++ security/manager/ssl/src/nsNSSComponent.cpp Thu Aug 4 16:44:27 2005
+@@ -88,4 +88,8 @@
+ }
+
++#include <sys/types.h>
++#include <sys/stat.h>
++#include <errno.h>
++
+ #ifdef PR_LOGGING
+ PRLogModuleInfo* gPIPNSSLog = nsnull;
+@@ -406,4 +410,5 @@
+ const char *possible_ckbi_locations[] = {
+ NS_GRE_DIR,
++ NS_UNIX_LIB_DIR,
+ NS_XPCOM_CURRENT_PROCESS_DIR
+ };
+@@ -419,5 +424,5 @@
+ }
+
+- char *fullModuleName = nsnull;
++ char *fullModuleName;
+ #ifdef XP_MAC
+ nsCAutoString nativePath;
+@@ -431,4 +436,12 @@
+ fullModuleName = PR_GetLibraryName(processDir.get(), "nssckbi");
+ #endif
++ if (fullModuleName == nsnull)
++ continue;
++ struct stat sb;
++ if (stat(fullModuleName, &sb)) {
++ if (errno != ENOENT)
++ perror(fullModuleName);
++ continue;
++ }
+ /* If a module exists with the same name, delete it. */
+ NS_ConvertUCS2toUTF8 modNameUTF8(modName);
diff --git a/mail/thunderbird3/files/patch-xptcinvoke_x86_64_linux b/mail/thunderbird3/files/patch-xptcinvoke_x86_64_linux
new file mode 100644
index 000000000000..724e24089803
--- /dev/null
+++ b/mail/thunderbird3/files/patch-xptcinvoke_x86_64_linux
@@ -0,0 +1,17 @@
+--- xpcom/reflect/xptcall/src/md/unix/xptcinvoke_x86_64_linux.cpp Thu Apr 22 16:50:05 2004
++++ xpcom/reflect/xptcall/src/md/unix/xptcinvoke_x86_64_linux.cpp Fri Aug 5 02:16:00 2005
+@@ -82,11 +82,11 @@
+ PRUint64 value;
+
+- for (uint32 i = 0; i < paramCount; i++, s++) {
++ for (unsigned int i = 0; i < paramCount; i++, s++) {
+ if (s->IsPtrData())
+ value = (PRUint64) s->ptr;
+ else {
+ switch (s->type) {
+- case nsXPTType::T_FLOAT: break;
+- case nsXPTType::T_DOUBLE: break;
++ case nsXPTType::T_FLOAT:
++ case nsXPTType::T_DOUBLE: value = 0; /* initialize */ break;
+ case nsXPTType::T_I8: value = s->val.i8; break;
+ case nsXPTType::T_I16: value = s->val.i16; break;
diff --git a/mail/thunderbird3/files/thunderbird.desktop.in b/mail/thunderbird3/files/thunderbird.desktop.in
index 814e074814af..b8730d2f50ea 100644
--- a/mail/thunderbird3/files/thunderbird.desktop.in
+++ b/mail/thunderbird3/files/thunderbird.desktop.in
@@ -4,7 +4,7 @@ Name=Thunderbird
GenericName=Mail Client
Comment=Mail client and News Reader
Exec=thunderbird %U
-Icon=@THUNDERBIRD_ICON@
+Icon=@PORTNAME_ICON@
StartupNotify=false
Terminal=false
Type=Application