2011-08-12 Lin Ma <[email protected]> gnome-2-30
authorlin
Fri, 12 Aug 2011 01:20:53 +0000
branchgnome-2-30
changeset 22058 6cb0110332b0
parent 22057 9ad70958e3b0
child 22059 97a4cfa2c5b2
2011-08-12 Lin Ma <[email protected]> * base-specs/thunderbird.spec: * ext-sources/lightning-chrome.manifest: * patches/thunderbird3-01-locale.diff: * patches/thunderbird3-05-ksh.diff: * patches/thunderbird3-08-system-nss-nspr.diff: * patches/thunderbird3-11-jemalloc-shared-library.diff: * patches/thunderbird3-12-nspr_use_zone_allocator.diff: * patches/thunderbird3-14-compiler-workaround.diff: * patches/thunderbird3-15-g11n-nav-lang.diff: * patches/thunderbird3-16-delay-stopping-realplayer.diff: * patches/thunderbird3-17-compiler-workaround-2.diff: * patches/thunderbird3-18-fix-mimetype-for-helper-app.diff: * patches/thunderbird3-21-sunaudio-sparc.diff: * patches/thunderbird3-31-use-system-libffi.diff: * patches/thunderbird3-33-using-bash.diff: * patches/thunderbird3-34-l10n-package.diff: * patches/thunderbird3-35-compiler-workaround-3.diff: * patches/thunderbird3-36-gtk-dialog_a11y.diff: * patches/thunderbird3-37-ots-makepair.diff: * specs/SUNWthunderbird.spec: 7069141 Thunderbird 5.0 7069154 Thunderbird calendar lightning 1.0b5
ChangeLog
base-specs/thunderbird.spec
ext-sources/lightning-chrome.manifest
patches/thunderbird3-01-locale.diff
patches/thunderbird3-05-ksh.diff
patches/thunderbird3-08-system-nss-nspr.diff
patches/thunderbird3-11-jemalloc-shared-library.diff
patches/thunderbird3-12-nspr_use_zone_allocator.diff
patches/thunderbird3-14-compiler-workaround.diff
patches/thunderbird3-15-g11n-nav-lang.diff
patches/thunderbird3-16-delay-stopping-realplayer.diff
patches/thunderbird3-17-compiler-workaround-2.diff
patches/thunderbird3-18-fix-mimetype-for-helper-app.diff
patches/thunderbird3-21-sunaudio-sparc.diff
patches/thunderbird3-31-use-system-libffi.diff
patches/thunderbird3-33-using-bash.diff
patches/thunderbird3-34-l10n-package.diff
patches/thunderbird3-35-compiler-workaround-3.diff
patches/thunderbird3-36-gtk-dialog_a11y.diff
patches/thunderbird3-37-ots-makepair.diff
specs/SUNWthunderbird.spec
--- a/ChangeLog	Thu Aug 11 23:29:52 2011 +0000
+++ b/ChangeLog	Fri Aug 12 01:20:53 2011 +0000
@@ -1,3 +1,29 @@
+2011-08-12  Lin Ma  <[email protected]>
+
+	* base-specs/thunderbird.spec:
+	* ext-sources/lightning-chrome.manifest:
+	* patches/thunderbird3-01-locale.diff:
+	* patches/thunderbird3-05-ksh.diff:
+	* patches/thunderbird3-08-system-nss-nspr.diff:
+	* patches/thunderbird3-11-jemalloc-shared-library.diff:
+	* patches/thunderbird3-12-nspr_use_zone_allocator.diff:
+	* patches/thunderbird3-14-compiler-workaround.diff:
+	* patches/thunderbird3-15-g11n-nav-lang.diff:
+	* patches/thunderbird3-16-delay-stopping-realplayer.diff:
+	* patches/thunderbird3-17-compiler-workaround-2.diff:
+	* patches/thunderbird3-18-fix-mimetype-for-helper-app.diff:
+	* patches/thunderbird3-21-sunaudio-sparc.diff:
+	* patches/thunderbird3-31-use-system-libffi.diff:
+	* patches/thunderbird3-33-using-bash.diff:
+	* patches/thunderbird3-34-l10n-package.diff:
+	* patches/thunderbird3-35-compiler-workaround-3.diff:
+	* patches/thunderbird3-36-gtk-dialog_a11y.diff:
+	* patches/thunderbird3-37-ots-makepair.diff:
+	* specs/SUNWthunderbird.spec:
+
+	7069141 Thunderbird 5.0
+	7069154 Thunderbird calendar lightning 1.0b5
+
 2011-08-11  Laszlo (Laca) Peter  <[email protected]>
 
 	Fixes for 7072254
--- a/base-specs/thunderbird.spec	Thu Aug 11 23:29:52 2011 +0000
+++ b/base-specs/thunderbird.spec	Fri Aug 12 01:20:53 2011 +0000
@@ -1,7 +1,7 @@
 #
 # Copyright (c) Sun Microsystems, Inc.
 #
-%define owner davelam
+%define owner lin
 # bugdb: bugzilla.mozilla.org
 #
 
@@ -13,13 +13,13 @@
 
 Name:        thunderbird
 Summary:     Mozilla Thunderbird Standalone E-mail and Newsgroup Client
-Version:     3.1.11
+Version:     5.0
 
 %if %option_with_lightning
 %define lightning_version 1.0
 %endif
 
-%define tarball_version 3.1.11
+%define tarball_version 5.0
 Release:     1
 Copyright:   MPL
 License:     MPL
@@ -30,94 +30,191 @@
 Source1:     thunderbird-icon.png
 Source2:     thunderbird.desktop
 %if %option_with_lightning
-Source3:     http://ftp.mozilla.org/pub/mozilla.org/calendar/lightning/releases/1.0b2/source/lightning-1.0b2.source.tar.bz2
-Source4:     lightning-chrome.manifest
+Source3:     http://ftp.mozilla.org/pub/mozilla.org/calendar/lightning/releases/1.0b5/source/lightning-1.0b5-source.tar.bz2
+Source4:     thunderbird-l10n-%{tarball_version}.tar.bz2
+%endif
+%ifarch i386
+Source7:     http://www.tortall.net/projects/yasm/releases/yasm-1.1.0.tar.gz
 %endif
 
 %if %option_without_moz_nss_nspr
 Source8:     nspr-nss-config
 %endif
 
-# owner:hawklu date:2007-11-28 type:branding
-# change preference to support multi-language
-Patch1: thunderbird3-01-locale.diff
+#####################################
+##     Package Defines Section     ##
+#####################################
 
-# owner:davelam date:2008-10-10 type:bug bugster:6750518
-# status:upstream
-Patch5: thunderbird3-05-ksh.diff
+%define _unpackaged_files_terminate_build 0
+%define lightning_dir "{e2fda1a4-762b-4020-b5ad-a41df1933103}"
+%define moz_srcdir comm-miramar
+%define moz_objdir obj-tb
+%define moz_l10n_srcdir l10n-miramar
 
-%if %option_without_moz_nss_nspr
-# owner:ginnchen date:2009-05-21 type:branding
-Patch8: thunderbird3-08-system-nss-nspr.diff
-%endif
+#####################################
+##      Thunderbird patches        ##
+#####################################
 
 # owner:ginnchen date:2008-10-15 type:feature
 # bugzilla:457196
-Patch11: thunderbird3-11-jemalloc-shared-library.diff
+Patch511: thunderbird3-11-jemalloc-shared-library.diff
+
+# owner:hawklu date:2009-05-22 type:branding
+Patch522: thunderbird3-22-use-system-theora-and-sqlite.diff
+
+# owner:hawklu date:2009-09-03 type:bug doo:1114 
+Patch526: thunderbird3-26-no-offline-download.diff
+
+# owner:hawklu date:2009-12-31 type:bug bugzilla:537210 
+Patch528: thunderbird3-28-sync-toolbar.diff
+
+# owner:hawklu date:2009-12-31 type:bug bugzilla:534588
+Patch529: thunderbird3-29-account-setup.diff
+
+# owner:hawklu date:2010-05-08 type:bug d.o.o:15616 
+Patch530: thunderbird3-30-zoom.diff
 
-# owner:ginnchen date:2010-02-04 type:bug bugzilla:492326
-# status:upstream
-Patch12: thunderbird3-12-nspr_use_zone_allocator.diff
+Patch532: thunderbird3-32-package-jemalloc.diff
+
+# owner:migi date:2011-02-14 type:bug d.o.o 14555
+Patch538: thunderbird3-38-fade-animations.diff
 
-# owner:ginnchen date:2009-03-04 type:feature bugzilla:478390 bugster:6805829
-# status:upstream
-Patch14: thunderbird3-14-compiler-workaround.diff
+#####################################
+##     Reuse firefox patches       ##
+#####################################
+
+# owner:hawklu date:2007-11-28 type:branding
+# change preference to support multi-language
+Patch1: firefox-01-locale.diff
+
+# owner:ginnchen date:2011-03-07 type:feature
+# See CR#6962345
+Patch2: firefox-02-js-ctypes-compiler-workaround.diff
 
 # owner:fujiwara date:2008-04-10 type:bug
 # bugster:6686579 bugzilla:285267
-Patch15: thunderbird3-15-g11n-nav-lang.diff
+Patch3: firefox-03-g11n-nav-lang.diff
 
 # owner:ginnchen date:2008-08-19 type:bug
 # bugster:6724471 bugzilla:451007
-Patch16: thunderbird3-16-delay-stopping-realplayer.diff
+Patch4: firefox-04-donot-delay-stopping-realplayer.diff
+
+# owner:ginnchen date:2011-03-07 type:bug
+# bugzilla:526977 bugs.freedesktop.org:24995
+Patch5: firefox-05-cairo.diff
 
-# owner:ginnchen date:2009-09-18 type:feature bugster:6839690
-# status:upstream
-Patch17: thunderbird3-17-compiler-workaround-2.diff
+# owner:ginnchen date:2008-10-15 type:feature
+# bugzilla:457196
+Patch6: firefox-06-jemalloc.diff
+
+# owner:ginnchen date:2011-03-07 type:bug
+Patch7: firefox-07-uconv_sse2.diff
+
+%if %option_without_moz_nss_nspr
+# owner:ginnchen date:2009-05-21 type:branding
+Patch8: firefox-08-system-nss-nspr.diff
+%endif
 
-# owner:ginnchen date:2008-11-27 type:bug bugzilla:464443
-Patch18: thunderbird3-18-fix-mimetype-for-helper-app.diff
+# owner:ginnchen date:2011-03-07 type:feature
+Patch9: firefox-09-ipc.diff
+
+# owner:ginnchen date:2011-06-20 type:bug
+# bugzilla:654655 status:upstream
+Patch10: firefox-10-mathutil-compile.diff
+
+# owner:ginnchen date:2011-04-18 type:feature
+Patch11: firefox-11-sqlite-unix-excl.diff
 
-# owner:hawklu date:2009-05-19 type:bug doo:8471
-Patch21: thunderbird3-21-sunaudio-sparc.diff
+# owner:hawklu date:2008-12-16 type:branding
+Patch12: firefox-12-xpcom-glue-no-hidden.diff
+
+# owner:hawklu date:2008-04-20 type:branding
+Patch13: firefox-13-gen-devel-files.diff
+
+%if %option_with_indiana_branding
+# owner:davelam date:2009-03-02 type:branding
+Patch14: firefox-14-getting-started.diff
+%endif
 
 # owner:hawklu date:2009-05-22 type:branding
-Patch22: thunderbird3-22-use-system-theora-and-sqlite.diff
-
-# owner:hawklu date:2009-09-03 type:bug doo:1114 
-Patch26: thunderbird3-26-no-offline-download.diff
-
-# owner:hawklu date:2009-12-31 type:bug bugzilla:537210 
-Patch28: thunderbird3-28-sync-toolbar.diff
-
-# owner:hawklu date:2009-12-31 type:bug bugzilla:534588
-Patch29: thunderbird3-29-account-setup.diff
-
-# owner:hawklu date:2010-05-08 type:bug d.o.o:15616 
-Patch30: thunderbird3-30-zoom.diff
+Patch15: firefox-15-use-system-theora.diff
 
 # owner:ginnchen date:2009-11-25 type:branding
-Patch31: thunderbird3-31-use-system-libffi.diff
+Patch16: firefox-16-use-system-libffi.diff
 
-Patch32: thunderbird3-32-package-jemalloc.diff
-
-Patch33: thunderbird3-33-using-bash.diff
+# owner:ginnchen date:2011-03-08 type:bug
+Patch17: firefox-17-webgl-compile.diff
 
-# owner:hawklu date:2010-09-02 type:bug d.o.o 16060 
-Patch34: thunderbird3-34-l10n-package.diff
+# owner:ginnchen date:2011-03-08 type:bug
+Patch18: firefox-18-libvpx-compile.diff
 
-# owner:hawklu date:2010-07-15 type:bug d.o.o 16490 
-Patch35: thunderbird3-35-compiler-workaround-3.diff
-
-# owner:ginnchen date:2010-11-19 type:bug bugzilla:608201
-# status:upstream
-Patch36: thunderbird3-36-gtk-dialog_a11y.diff
+# owner:ginnchen date:2011-03-08 type:feature
+Patch19: firefox-19-xpcom-sparc-compile.diff
 
 # owner:ginnchen date:2010-12-10 type:feature
-Patch37: thunderbird3-37-ots-makepair.diff    
+Patch20: firefox-20-ots-makepair.diff
+
+# owner:ginnchen date:2011-03-08 type:feature
+# See CR#7023690
+Patch21: firefox-21-compiler-workaround.diff
+
+# owner:ginnchen date:2011-03-08 type:bug
+Patch22: firefox-22-jsfunc.diff
+
+# owner:ginnchen date:2011-03-08 type:bug
+Patch23: firefox-23-ycbcr.diff
+
+%if %option_without_moz_nss_nspr
+# owner:ginnchen date:2010-03-04 type:branding
+# we need to move -lsqlite3 ahead of -L/usr/lib/mps
+Patch24: firefox-24-storage-test.diff
+%endif
+
+# owner:ginnchen date:2011-06-20 type:feature
+Patch25: firefox-25-json-compile.diff
+
+# owner:ginnchen date:2010-03-14 type:feature
+Patch26: firefox-26-pgo-ss12_2.diff
+
+# owner:ginnchen date:2011-04-06 type:feature bugzilla:610323
+Patch27: firefox-27-methoidjit-sparc.diff
+
+# owner:ginnchen date:2010-03-14 type:feature
+Patch28: firefox-28-patch-for-debugging.diff
 
-# owner:migi date:2011-02-14 type:bug d.o.o 14555
-Patch38: thunderbird3-38-fade-animations.diff
+# owner:ginnchen date:2010-03-14 type:bug bugzilla:572983
+Patch29: firefox-29-sparc-ctypes-int-overflow.diff
+
+# owner:ginnchen date:2010-03-14 type:bug
+Patch30: firefox-30-gfxAlphaRecovery.diff
+
+# owner:ginnchen date:2010-05-12 type:bug
+Patch31: firefox-31-async-channel-crash.diff
+
+# owner:ginnchen date:2010-06-20 type:branding
+Patch32: firefox-32-yasm.diff
+
+# owner:ginnchen date:2010-05-23 type:bug bugzilla:657296 status:upstream
+Patch33: firefox-33-a11y-crash.diff
+
+# owner:ginnchen date:2010-06-01 type:bug bugzilla:657874 status:upstream
+Patch34: firefox-34-xbgr-plugin.diff
+
+# owner:ginnchen date:2010-06-20 type:branding
+Patch35: firefox-35-static-assert.diff
+
+# owner:ginnchen date:2010-06-20 type:branding
+Patch36: firefox-36-gtkembed.diff
+
+# owner:ginnchen date:2010-07-04 type:bug bugzilla:648741 status:upstream
+Patch37: firefox-37-x11-glx.diff
+
+# owner:ginnchen date:2010-07-04 type:bug bugzilla:665406 status:upstream
+Patch38: firefox-38-copy-paste-key.diff
+
+# owner:ginnchen date:2010-07-04 type:branding
+# for snv_168 or later
+Patch39: firefox-39-nss-compile.diff
 
 URL:         http://www.sun.com/software/javadesktopsystem/
 
@@ -127,13 +224,6 @@
 Autoreqprov: on
 
 #####################################
-##     Package Defines Section     ##
-#####################################
-
-%define _unpackaged_files_terminate_build 0
-%define _tbdir %{_libdir}/%{name}
-
-#####################################
 ##   Package Description Section   ##
 #####################################
 
@@ -148,46 +238,99 @@
 %prep
 
 %setup -q -c -n %{name}
-cd ..
-mkdir -p sunbird
-cd sunbird
+
+#
+# Prepare toolchains under dir %{name}
+#
+%ifarch i386
+gtar zxf %{SOURCE7}
+%endif
+
+#
+# Replace lightning source code.
+#
+%if %option_with_lightning
+rm -rf %{moz_srcdir}/calendar
+mkdir -p lightning
+cd lightning
 bzcat %SOURCE3 | tar xf -
 cd ..
+cp -r lightning/%{moz_srcdir}/calendar %{moz_srcdir}/calendar
+# Remove ja-JP-mac line and unused l10n and change ja linux ... to ja
+sed -i "/^[ \t]*\(ja-JP-mac.*\|da\|en-GB\|et\|eu\|fy-NL\|ga-IE\|gd\|id\|is\|pa-IN\|sq\|sr\)[ \t]*$/d; s/^ja[ \t]\+.*$/ja/" %{moz_srcdir}/calendar/locales/shipped-locales
+rm -rf lightning
+# Lightning l10n
+bzcat %SOURCE4 | tar xf -
+%endif
 
-rm -rf %{name}/comm-1.9.2/calendar
-cp -r sunbird/comm-1.9.2/calendar %{name}/comm-1.9.2/calendar
+#####################################
+##     Adding firefox patches      ##
+#####################################
 
-cd %{name}/comm-1.9.2/mozilla
+cd %{moz_srcdir}/mozilla
 %patch1 -p1
+%patch2 -p1
+%patch3 -p1
+%patch4 -p1
 %patch5 -p1
+%patch6 -p1
+%patch7 -p1
+%patch9 -p1
+%patch10 -p1
+%patch11 -p1
 %patch12 -p1
-%patch14 -p1
+%patch13 -p1
 %patch15 -p1
 %patch16 -p1
 %patch17 -p1
 %patch18 -p1
+%patch19 -p1
+%patch20 -p1
 %patch21 -p1
+%patch22 -p1
+%patch23 -p1
+%patch25 -p1
+%patch26 -p1
+%patch27 -p1
+%patch29 -p1
+%patch30 -p1
 %patch31 -p1
+%patch32 -p1
 %patch33 -p1
 %patch34 -p1
 %patch35 -p1
 %patch36 -p1
 %patch37 -p1
+%patch38 -p1
+%patch39 -p1
+
+%if %option_with_debug
+%patch28 -p1
+%endif
+
+%if %option_with_indiana_branding
+%patch14 -p1
+%endif
 
 %if %option_without_moz_nss_nspr
-%patch8 -p1
+#%patch8 -p1
+#%patch24 -p1
 %endif
 
+#####################################
+##     Original adding patches     ##
+#####################################
+
 # go back to the thunderbird directory
 cd ..  
-%patch11 -p1
-%patch22 -p1
-%patch26 -p1
-%patch28 -p1
-%patch29 -p1
-%patch30 -p1
-%patch32 -p1
-%patch38 -p1
+%patch511 -p1
+# %patch522 -p1
+%patch526 -p1
+# %patch528 -p1
+#%patch529 -p1
+# %patch530 -p1
+# %patch532 -p1
+%patch538 -p1
 
 
 #####################################
@@ -207,74 +350,106 @@
   CPUS=1
 fi
 
+export PKG_CONFIG_PATH=${_libdir}/pkgconfig:%{_pkg_config_path}
+export LDFLAGS="-B direct -z ignore"
+export CFLAGS="-xlibmopt"
+export OS_DEFINES="-D__USE_LEGACY_PROTOTYPES__"
+export CXXFLAGS="-xlibmil -xlibmopt -D_XOPEN_SOURCE=500 -D__EXTENSIONS__"
+SRCDIR=$PWD
+
+#
+# Build toolchains
+#
+%ifarch i386
+cd yasm*
+./configure --prefix=${SRCDIR}/sol_toolchain
+gmake
+gmake install
+export PATH=${SRCDIR}/sol_toolchain/bin:$PATH
+#export YASM=${SRCDIR}/sol_toolchain/bin/yasm
+#export LIBJPEG_TURBO_AS=${SRCDIR}/sol_toolchain/bin/yasm
+cd ${SRCDIR}
+%endif
+
 cat << "EOF" > .mozconfig
+mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/../%{moz_objdir}
 mk_add_options BUILD_OFFICIAL=1
 mk_add_options MOZILLA_OFFICIAL=1
 ac_add_options --prefix=%{_prefix}
 ac_add_options --libdir=%{_libdir}
 ac_add_options --mandir=%{_mandir}
-ac_add_options --enable-static
-ac_add_options --enable-static-mail
-ac_add_options --enable-official-branding
-ac_add_options --enable-application=mail
-ac_add_options --enable-dtrace
-ac_add_options --with-system-jpeg
-ac_add_options --with-system-zlib
-ac_add_options --with-system-bz2
-ac_add_options --enable-system-cairo
-ac_add_options --disable-updater
-ac_add_options --disable-tests
-ac_add_options --disable-necko-wifi
 %if %option_with_debug
 ac_add_options --enable-debug
 ac_add_options --disable-optimize
+#ac_add_options --enable-tests
 %else
 ac_add_options --disable-debug
 ac_add_options --enable-optimize
+ac_add_options --disable-tests
+ac_add_options --enable-system-sqlite
 %endif
-ac_add_options --disable-shared
+ac_add_options --enable-libxul
+ac_add_options --enable-jemalloc
+ac_add_options --enable-official-branding
+ac_add_options --disable-updater
+ac_add_options --enable-ipc
+ac_add_options --enable-dtrace
+ac_add_options --with-system-zlib
+ac_add_options --with-system-bz2
+ac_add_options --enable-system-pixman
 ac_add_options --disable-crashreporter
-ac_add_options --with-rpath="\\\$\$ORIGIN"
+ac_add_options --enable-debug-symbols=no
 %if %option_without_moz_nss_nspr
-ac_add_options --with-system-nspr
-ac_add_options --with-system-nss
-%endif
-%if %option_with_lightning
-ac_add_options --enable-calendar
-%endif
-%if %option_without_debug
-ac_add_options --enable-system-sqlite
+# ac_add_options --with-system-nspr
+# ac_add_options --with-system-nss
 %endif
 ac_add_options --enable-startup-notification
 EOF
 
-BUILD_OFFICIAL=1 
-MOZILLA_OFFICIAL=1
-MOZ_PKG_FORMAT=BZ2
-PKG_SKIP_STRIP=1
-export BUILD_OFFICIAL MOZILLA_OFFICIAL MOZ_PKG_FORMAT PKG_SKIP_STRIP CFLAGS CXXFLAGS
+#
+# Thunderbird specific
+#
+cat << "EOF" >> .mozconfig
+ac_add_options --enable-application=mail
+# ac_add_options --enable-system-cairo
+%if %option_with_lightning
+ac_add_options --enable-calendar
+ac_add_options --with-l10n-base=../%{moz_l10n_srcdir}
+%endif
+EOF
 
-SRCDIR=$PWD
+export DISABLE_LIGHTNING_INSTALL=1
+export BUILD_OFFICIAL=1 
+export MOZILLA_OFFICIAL=1
+export MOZ_PKG_FORMAT=BZ2
+export PKG_SKIP_STRIP=1
 export MOZCONFIG=$PWD/.mozconfig
-mkdir -p ../objdir-tb
+
+mkdir -p ${SRCDIR}/%{moz_objdir}
 
 %if %option_without_moz_nss_nspr
-cp %{SOURCE8} ${SRCDIR}/../objdir-tb
-chmod +x ${SRCDIR}/../objdir-tb/nspr-nss-config
-export NSPR_CONFIG=${SRCDIR}/../objdir-tb/nspr-nss-config\ nspr
-export NSS_CONFIG=${SRCDIR}/../objdir-tb/nspr-nss-config\ nss
+cp %{SOURCE8} ${SRCDIR}/%{moz_objdir}
+chmod +x ${SRCDIR}/%{moz_objdir}/nspr-nss-config
+export NSPR_CONFIG=${SRCDIR}/%{moz_objdir}/nspr-nss-config\ nspr
+export NSS_CONFIG=${SRCDIR}/%{moz_objdir}/nspr-nss-config\ nss
 %endif
 
-cd ${SRCDIR}/../objdir-tb
-bash ${SRCDIR}/comm-1.9.2/configure
+# Build src
+cd ${SRCDIR}/%{moz_objdir}
+${SRCDIR}/%{moz_srcdir}/configure
+make -j $CPUS
+# Build package
+cd ${SRCDIR}/%{moz_objdir}/mail/installer
 make
-
-make package
+# Build lightning l10n
+cd ${SRCDIR}/%{moz_objdir}/calendar/lightning
+make AB_CD=all L10N_XPI_NAME=lightning-all repack-clobber-all
+for i in $(<${SRCDIR}/%{moz_srcdir}/calendar/locales/shipped-locales); do make AB_CD=all L10N_XPI_NAME=lightning-all libs-$i; done;
 
 %install
 /bin/rm -rf $RPM_BUILD_ROOT
 
-BUILDDIR=$PWD/../objdir-tb
+BUILDDIR=$PWD/%{moz_objdir}
 /bin/mkdir -p $RPM_BUILD_ROOT%{_libdir}
 cd $RPM_BUILD_ROOT%{_libdir}
 /usr/bin/bzip2 -dc $BUILDDIR/mozilla/dist/thunderbird-*.tar.bz2 | gtar -xf -
@@ -282,12 +457,16 @@
 /bin/mkdir -p $RPM_BUILD_ROOT%{_bindir}
 /bin/ln -s ../lib/thunderbird/thunderbird $RPM_BUILD_ROOT%{_bindir}/thunderbird
 %if %option_with_lightning
-LIGHTNING_ID="{e2fda1a4-762b-4020-b5ad-a41df1933103}"
-#cp %{SOURCE4} $RPM_BUILD_ROOT%{_libdir}/thunderbird/extensions/$LIGHTNING_ID/chrome.manifest 
 cd thunderbird/extensions
-mkdir $LIGHTNING_ID
-cd $LIGHTNING_ID
-unzip $BUILDDIR/mozilla/dist/xpi-stage/lightning.xpi
+mkdir %{lightning_dir}
+cd %{lightning_dir}
+unzip $BUILDDIR/mozilla/dist/xpi-stage/lightning-all.xpi
+# Add zh-TW
+sed -i "/zh-TW/{p
+s/zh-TW/zh-HK/g}" chrome.manifest
+cd chrome
+cp calendar-zh-TW.jar calendar-zh-HK.jar
+cp lightning-zh-TW.jar lightning-zh-HK.jar 
 %endif
 
 /bin/mkdir -p $RPM_BUILD_ROOT%{_datadir}/applications
@@ -297,14 +476,16 @@
 
 # remove local dictionary and share the one that delivered 
 # by myspell-dictionary
-rm -f $RPM_BUILD_ROOT%{_tbdir}/dictionaries/en-US.dic
-rm -f $RPM_BUILD_ROOT%{_tbdir}/dictionaries/en-US.aff
-rmdir $RPM_BUILD_ROOT%{_tbdir}/dictionaries
+rm -f $RPM_BUILD_ROOT%{_libdir}/%{name}/dictionaries/en-US.dic
+rm -f $RPM_BUILD_ROOT%{_libdir}/%{name}/dictionaries/en-US.aff
+rmdir $RPM_BUILD_ROOT%{_libdir}/%{name}/dictionaries
 
 %clean
 /bin/rm -rf $RPM_BUILD_ROOT
 
 %changelog
+* Fri July 8 2011 - [email protected]
+- Bump to 5.0
 * Fri Jun 24 2011 - [email protected]
 - Bump to 3.1.11
 * Wen May 04 2011 - [email protected]
--- a/ext-sources/lightning-chrome.manifest	Thu Aug 11 23:29:52 2011 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,105 +0,0 @@
-locale calendar ca jar:chrome/calendar-ca.jar!/locale/ca/calendar/
-locale calendar gl jar:chrome/calendar-gl.jar!/locale/gl/calendar/
-locale calendar si jar:chrome/calendar-si.jar!/locale/si/calendar/
-locale lightning lt jar:chrome/lightning-lt.jar!/locale/lt/lightning/
-overlay chrome://messenger/content/msgAccountCentral.xul chrome://lightning/content/messenger-overlay-accountCentral.xul
-locale calendar fy-NL jar:chrome/calendar-fy-NL.jar!/locale/fy-NL/calendar/
-locale lightning hu jar:chrome/lightning-hu.jar!/locale/hu/lightning/
-locale calendar ru jar:chrome/calendar-ru.jar!/locale/ru/calendar/
-overlay chrome://lightning/content/messenger-overlay-sidebar.xul chrome://lightning/content/imip-bar-overlay.xul
-locale calendar et jar:chrome/calendar-et.jar!/locale/et/calendar/
-locale lightning ro jar:chrome/lightning-ro.jar!/locale/ro/lightning/
-locale calendar ga-IE jar:chrome/calendar-ga-IE.jar!/locale/ga-IE/calendar/
-locale calendar vi jar:chrome/calendar-vi.jar!/locale/vi/calendar/
-locale lightning de jar:chrome/lightning-de.jar!/locale/de/lightning/
-locale calendar he jar:chrome/calendar-he.jar!/locale/he/calendar/
-override chrome://lightning/skin/accountCentral.css chrome://lightning/skin/suite-accountCentral.css application={92650c4d-4b8e-4d2a-b7eb-24ecf4f6b63a}
-locale calendar fr jar:chrome/calendar-fr.jar!/locale/fr/calendar/
-locale lightning da jar:chrome/lightning-da.jar!/locale/da/lightning/
-locale lightning es-AR jar:chrome/lightning-es-AR.jar!/locale/es-AR/lightning/
-overlay chrome://messenger/content/messenger.xul chrome://lightning/content/messenger-overlay-sidebar.xul
-locale calendar lt jar:chrome/calendar-lt.jar!/locale/lt/calendar/
-locale lightning tr jar:chrome/lightning-tr.jar!/locale/tr/lightning/
-overlay chrome://messenger/content/preferences/preferences.xul chrome://calendar/content/preferences/views.xul
-locale calendar nb-NO jar:chrome/calendar-nb-NO.jar!/locale/nb-NO/calendar/
-locale calendar ka jar:chrome/calendar-ka.jar!/locale/ka/calendar/
-style chrome://calendar/content/calendar-event-dialog.xul chrome://global/skin/toolbar.css
-locale lightning pa-IN jar:chrome/lightning-pa-IN.jar!/locale/pa-IN/lightning/
-locale lightning it jar:chrome/lightning-it.jar!/locale/it/lightning/
-locale calendar da jar:chrome/calendar-da.jar!/locale/da/calendar/
-locale lightning zh-CN jar:chrome/lightning-zh-CN.jar!/locale/zh-CN/lightning/
-locale calendar it jar:chrome/calendar-it.jar!/locale/it/calendar/
-override chrome://messagebody/skin/imip.css chrome://lightning/skin/imip.css
-locale lightning ja jar:chrome/lightning-ja.jar!/locale/ja/lightning/
-locale calendar zh-CN jar:chrome/calendar-zh-CN.jar!/locale/zh-CN/calendar/
-overlay chrome://messenger/content/messenger.xul chrome://lightning/content/suite-overlay-messenger.xul application={92650c4d-4b8e-4d2a-b7eb-24ecf4f6b63a}
-locale calendar es-AR jar:chrome/calendar-es-AR.jar!/locale/es-AR/calendar/
-locale lightning gl jar:chrome/lightning-gl.jar!/locale/gl/lightning/
-overlay chrome://messenger/content/preferences/preferences.xul chrome://calendar/content/preferences/categories.xul
-overlay chrome://lightning/content/messenger-overlay-sidebar.xul chrome://calendar/content/calendar-unifinder.xul
-locale calendar eu jar:chrome/calendar-eu.jar!/locale/eu/calendar/
-locale lightning si jar:chrome/lightning-si.jar!/locale/si/lightning/
-locale lightning ko jar:chrome/lightning-ko.jar!/locale/ko/lightning/
-overlay chrome://lightning/content/messenger-overlay-sidebar.xul chrome://calendar/content/today-pane.xul
-locale calendar pl jar:chrome/calendar-pl.jar!/locale/pl/calendar/
-locale lightning sk jar:chrome/lightning-sk.jar!/locale/sk/lightning/
-locale lightning he jar:chrome/lightning-he.jar!/locale/he/lightning/
-overlay chrome://messenger/content/messenger.xul chrome://lightning/content/lightning-migration.xul
-locale lightning fy-NL jar:chrome/lightning-fy-NL.jar!/locale/fy-NL/lightning/
-overlay chrome://lightning/content/lightning-standalone.xul chrome://lightning/content/messenger-overlay-sidebar.xul
-locale calendar ko jar:chrome/calendar-ko.jar!/locale/ko/calendar/
-locale lightning id jar:chrome/lightning-id.jar!/locale/id/lightning/
-locale lightning vi jar:chrome/lightning-vi.jar!/locale/vi/lightning/
-locale calendar ja-JP-mac jar:chrome/calendar-ja-JP-mac.jar!/locale/ja-JP-mac/calendar/
-locale calendar is jar:chrome/calendar-is.jar!/locale/is/calendar/
-overlay chrome://calendar/content/calendarCreation.xul chrome://lightning/content/lightning-calendar-creation.xul
-locale lightning et jar:chrome/lightning-et.jar!/locale/et/lightning/
-locale lightning eu jar:chrome/lightning-eu.jar!/locale/eu/lightning/
-locale calendar de jar:chrome/calendar-de.jar!/locale/de/calendar/
-locale lightning ta-LK jar:chrome/lightning-ta-LK.jar!/locale/ta-LK/lightning/
-overlay chrome://lightning/content/messenger-overlay-sidebar.xul chrome://calendar/content/calendar-task-view.xul
-locale calendar pt-BR jar:chrome/calendar-pt-BR.jar!/locale/pt-BR/calendar/
-locale calendar pa-IN jar:chrome/calendar-pa-IN.jar!/locale/pa-IN/calendar/
-locale lightning nl jar:chrome/lightning-nl.jar!/locale/nl/lightning/
-overlay chrome://messenger/content/preferences/preferences.xul chrome://calendar/content/preferences/general.xul
-locale calendar ja jar:chrome/calendar-ja.jar!/locale/ja/calendar/
-overlay chrome://lightning/content/messenger-overlay-sidebar.xul chrome://calendar/content/calendar-unifinder-todo.xul
-overlay chrome://messenger/content/preferences/preferences.xul chrome://calendar/content/preferences/alarms.xul
-overlay chrome://messenger/content/messageWindow.xul chrome://lightning/content/messenger-overlay-messageWindow.xul
-locale calendar ro jar:chrome/calendar-ro.jar!/locale/ro/calendar/
-locale calendar nn-NO jar:chrome/calendar-nn-NO.jar!/locale/nn-NO/calendar/
-locale calendar en-US jar:chrome/calendar-en-US.jar!/locale/en-US/calendar/
-locale lightning fr jar:chrome/lightning-fr.jar!/locale/fr/lightning/
-locale calendar ta-LK jar:chrome/calendar-ta-LK.jar!/locale/ta-LK/calendar/
-locale lightning pt-BR jar:chrome/lightning-pt-BR.jar!/locale/pt-BR/lightning/
-overlay chrome://messenger/content/preferences/preferences.xul chrome://calendar/content/preferences/timezones.xul
-locale lightning ru jar:chrome/lightning-ru.jar!/locale/ru/lightning/
-locale calendar es-ES jar:chrome/calendar-es-ES.jar!/locale/es-ES/calendar/
-locale calendar pt-PT jar:chrome/calendar-pt-PT.jar!/locale/pt-PT/calendar/
-locale calendar id jar:chrome/calendar-id.jar!/locale/id/calendar/
-content calendar jar:chrome/calendar.jar!/content/calendar/
-overlay chrome://messenger/content/mailWindowOverlay.xul chrome://lightning/content/messenger-overlay-toolbar.xul
-locale calendar hu jar:chrome/calendar-hu.jar!/locale/hu/calendar/
-skin calendar classic/1.0 jar:chrome/calendar.jar!/skin/calendar/
-locale lightning cs jar:chrome/lightning-cs.jar!/locale/cs/lightning/
-overlay chrome://communicator/content/pref/preferences.xul chrome://lightning/content/suite-overlay-preferences.xul
-overlay chrome://messenger/content/messageWindow.xul chrome://lightning/content/imip-bar-overlay.xul
-locale calendar nl jar:chrome/calendar-nl.jar!/locale/nl/calendar/
-locale lightning pl jar:chrome/lightning-pl.jar!/locale/pl/lightning/
-locale lightning ga-IE jar:chrome/lightning-ga-IE.jar!/locale/ga-IE/lightning/
-overlay chrome://messenger/content/preferences/preferences.xul chrome://lightning/content/messenger-overlay-preferences.xul
-locale calendar sk jar:chrome/calendar-sk.jar!/locale/sk/calendar/
-locale lightning nb-NO jar:chrome/lightning-nb-NO.jar!/locale/nb-NO/lightning/
-content lightning jar:chrome/lightning.jar!/content/lightning/
-locale lightning ja-JP-mac jar:chrome/lightning-ja-JP-mac.jar!/locale/ja-JP-mac/lightning/
-skin lightning classic/1.0 jar:chrome/lightning.jar!/skin/lightning/
-locale calendar cs jar:chrome/calendar-cs.jar!/locale/cs/calendar/
-locale lightning es-ES jar:chrome/lightning-es-ES.jar!/locale/es-ES/lightning/
-locale lightning pt-PT jar:chrome/lightning-pt-PT.jar!/locale/pt-PT/lightning/
-locale lightning is jar:chrome/lightning-is.jar!/locale/is/lightning/
-locale lightning nn-NO jar:chrome/lightning-nn-NO.jar!/locale/nn-NO/lightning/
-locale lightning ca jar:chrome/lightning-ca.jar!/locale/ca/lightning/
-locale lightning ka jar:chrome/lightning-ka.jar!/locale/ka/lightning/
-locale lightning en-US jar:chrome/lightning-en-US.jar!/locale/en-US/lightning/
-overlay chrome://calendar/content/calendar-properties-dialog.xul chrome://lightning/content/lightning-calendar-properties.xul
-locale calendar tr jar:chrome/calendar-tr.jar!/locale/tr/calendar/
--- a/patches/thunderbird3-01-locale.diff	Thu Aug 11 23:29:52 2011 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,11 +0,0 @@
---- firefox3/modules/libpref/src/init/all.js.orig	2008-01-30 10:27:19.000000000 +0800
-+++ firefox3/modules/libpref/src/init/all.js	2008-02-14 16:20:48.036707000 +0800
-@@ -811,7 +811,7 @@
- pref("intl.charset.detector",               "chrome://global/locale/intl.properties");
- pref("intl.charset.default",                "chrome://global-platform/locale/intl.properties");
- pref("intl.ellipsis",                       "chrome://global-platform/locale/intl.properties");
--pref("intl.locale.matchOS",                 false);
-+pref("intl.locale.matchOS",                 true);
- // fallback charset list for Unicode conversion (converting from Unicode)
- // currently used for mail send only to handle symbol characters (e.g Euro, trademark, smartquotes)
- // for ISO-8859-1
--- a/patches/thunderbird3-05-ksh.diff	Thu Aug 11 23:29:52 2011 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,16 +0,0 @@
---- mozilla/build/unix/mozilla.in.orig	Fri Oct 10 21:14:52 2008
-+++ mozilla/build/unix/mozilla.in	Fri Oct 10 21:14:58 2008
-@@ -1,4 +1,4 @@
--#!/bin/sh
-+#!/bin/bash
- #
- # ***** BEGIN LICENSE BLOCK *****
- # Version: MPL 1.1/GPL 2.0/LGPL 2.1
---- mozilla/build/unix/run-mozilla.sh.orig	Fri Oct 10 22:03:20 2008
-+++ mozilla/build/unix/run-mozilla.sh	Fri Oct 10 22:03:26 2008
-@@ -1,4 +1,4 @@
--#!/bin/sh
-+#!/bin/bash
- #
- # ***** BEGIN LICENSE BLOCK *****
- # Version: MPL 1.1/GPL 2.0/LGPL 2.1
--- a/patches/thunderbird3-08-system-nss-nspr.diff	Thu Aug 11 23:29:52 2011 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,117 +0,0 @@
---- a/security/nss/lib/crmf/cmmfchal.c	Thu May 21 15:04:02 2009
-+++ b/security/nss/lib/crmf/cmmfchal.c	Wed May 20 17:58:31 2009
-@@ -38,7 +38,7 @@
- #include "cmmf.h"
- #include "cmmfi.h"
- #include "sechash.h"
--#include "genname.h"
-+#include "../certdb/genname.h"
- #include "pk11func.h"
- #include "cert.h"
- #include "secitem.h"
---- a/security/manager/ssl/src/nsNSSComponent.cpp	Thu May 21 18:39:37 2009
-+++ b/security/manager/ssl/src/nsNSSComponent.cpp	Thu May 21 18:52:06 2009
-@@ -812,6 +812,7 @@
-   const char *possible_ckbi_locations[] = {
-     NS_XPCOM_CURRENT_PROCESS_DIR,
-     NS_GRE_DIR,
-+    (const char *)-1, // This special value means: /usr/lib/mps
-     0 // This special value means: 
-       //   search for ckbi in the directories on the shared
-       //   library/DLL search path
-@@ -821,8 +822,12 @@
-     nsCOMPtr<nsILocalFile> mozFile;
-     char *fullLibraryPath = nsnull;
- 
--    if (!possible_ckbi_locations[il])
-+    if (possible_ckbi_locations[il] == (const char *)-1)
-     {
-+      fullLibraryPath = PR_GetLibraryName("/usr/lib/mps", "nssckbi");
-+    }
-+    else if (!possible_ckbi_locations[il])
-+    {
-       fullLibraryPath = PR_GetLibraryName(nsnull, "nssckbi");
-     }
-     else
---- mozilla-1.9.2/security/manager/Makefile.in.orig	2009-11-25 16:48:09.391408928 +0800
-+++ mozilla-1.9.2/security/manager/Makefile.in	2009-11-25 16:52:16.460391559 +0800
-@@ -82,6 +82,11 @@
-   $(DIST)/lib/$(LIB_PREFIX)nssutil.$(LIB_SUFFIX) \
-   $(NULL)
- endif
-+else
-+ifeq ($(OS_ARCH), SunOS)
-+SDK_LIBS = \
-+  $(DIST)/lib/$(LIB_PREFIX)crmf.$(LIB_SUFFIX)
-+endif
- endif
- 
- # Default
-@@ -292,6 +297,12 @@
- 	$(NSSMAKE) -C $(topsrcdir)/security/nss/cmd/shlibsign $(DEFAULT_GMAKE_FLAGS) clean
- endif
- 	touch $@
-+else
-+ifeq ($(OS_ARCH), SunOS)
-+	$(NSSMAKE) -C $(topsrcdir)/security/coreconf $(DEFAULT_GMAKE_FLAGS) clean
-+	$(NSSMAKE) -C $(topsrcdir)/security/nss/lib/crmf $(DEFAULT_GMAKE_FLAGS) clean
-+	touch $@
-+endif
- endif
- 
- GARBAGE += .nss.cleaned
-@@ -372,6 +383,12 @@
- 	$(INSTALL) -m 755 $(DIST)/lib/$(FREEBL_64INT_LIB) $(DIST)/bin
- 	$(INSTALL) -m 755 $(DIST)/lib/$(FREEBL_64FPU_LIB) $(DIST)/bin
- endif
-+else
-+ifeq ($(OS_ARCH), SunOS)
-+	$(NSSMAKE) -C $(topsrcdir)/security/coreconf $(DEFAULT_GMAKE_FLAGS)
-+	$(NSSMAKE) -C $(topsrcdir)/security/nss/lib/crmf $(DEFAULT_GMAKE_FLAGS)
-+	$(INSTALL) -m 755 $(SDK_LIBS) $(DIST)/sdk/lib
-+endif
- endif
- ifndef MOZ_NATIVE_NSS
- # NSS installs headers to dist/public and we want them in dist/include
-@@ -454,6 +471,11 @@
- 	$(NSSMAKE) -C $(topsrcdir)/security/nss/cmd/lib $(DEFAULT_GMAKE_FLAGS) clean
- 	$(NSSMAKE) -C $(topsrcdir)/security/nss/cmd/shlibsign $(DEFAULT_GMAKE_FLAGS) clean
- endif
-+else
-+ifeq ($(OS_ARCH), SunOS)
-+	$(NSSMAKE) -C $(topsrcdir)/security/coreconf $(DEFAULT_GMAKE_FLAGS) clean
-+	$(NSSMAKE) -C $(topsrcdir)/security/nss/lib/crmf $(DEFAULT_GMAKE_FLAGS) clean
-+endif
- endif
- 
- echo-requires-recursive::
---- a/content/html/content/src/nsHTMLFrameSetElement.cpp	2010-09-08 15:29:01.729449155 +0800
-+++ b/content/html/content/src/nsHTMLFrameSetElement.cpp	2010-09-08 15:29:42.927141361 +0800
-@@ -34,6 +34,7 @@
-  * the terms of any one of the MPL, the GPL or the LGPL.
-  *
-  * ***** END LICENSE BLOCK ***** */
-+#include "prlog.h"
- #include "nsIDOMHTMLFrameSetElement.h"
- #include "nsIDOMEventTarget.h"
- #include "nsGenericHTMLElement.h"
---- a/configure	2010-10-12 14:59:35.057706758 +0800
-+++ b/configure	2010-10-12 15:07:35.140487013 +0800
-@@ -12852,7 +12852,7 @@
-   echo "$ac_t""no" 1>&6
- fi
- 
--	min_nspr_version=4.8.6
-+	min_nspr_version=4.8.4
- 	echo $ac_n "checking for NSPR - version >= $min_nspr_version""... $ac_c" 1>&6
- echo "configure:12858: checking for NSPR - version >= $min_nspr_version" >&5
- 
-@@ -13139,7 +13139,7 @@
-   echo "$ac_t""no" 1>&6
- fi
- 
--	min_nss_version=3.12.8
-+	min_nss_version=3.12.6
- 	echo $ac_n "checking for NSS - version >= $min_nss_version""... $ac_c" 1>&6
- echo "configure:13145: checking for NSS - version >= $min_nss_version" >&5
- 
--- a/patches/thunderbird3-11-jemalloc-shared-library.diff	Thu Aug 11 23:29:52 2011 +0000
+++ b/patches/thunderbird3-11-jemalloc-shared-library.diff	Fri Aug 12 01:20:53 2011 +0000
@@ -1,43 +1,29 @@
---- comm-1.9.2/mail/installer/removed-files.in.old5	2010-05-28 11:57:41.434472713 +0800
-+++ comm-1.9.2/mail/installer/removed-files.in	2010-05-28 11:58:04.032775995 +0800
-@@ -295,7 +295,9 @@
- #endif
- .autoreg
- component.reg
-+#ifndef SOLARIS
- @DLL_PREFIX@jemalloc@DLL_SUFFIX@
-+#endif
- #ifdef XP_WIN
- #ifdef MOZ_MEMORY
- Microsoft.VC80.CRT.manifest
---- comm-1.9.2/mozilla/browser/installer/removed-files.in.old5	2010-05-28 11:53:18.397388923 +0800
-+++ comm-1.9.2/mozilla/browser/installer/removed-files.in	2010-05-28 11:53:46.568024986 +0800
-@@ -787,7 +787,9 @@
- chrome/icons/default/default.xpm
- dictionaries/PL.dic
- dictionaries/PL.aff
-+#ifndef SOLARIS
- libjemalloc.so
-+#endif
- icons/mozicon16.xpm
- icons/mozicon50.xpm
- #endif
---- comm-1.9.2/mozilla/memory/jemalloc/Makefile.in.old5	2010-05-28 11:50:46.547706148 +0800
-+++ comm-1.9.2/mozilla/memory/jemalloc/Makefile.in	2010-05-28 11:51:32.464570863 +0800
-@@ -114,13 +114,15 @@
- ifndef GNU_CC
- MODULE_OPTIMIZE_FLAGS = -xO5
+diff -r 32c1026e3c36 config/config.mk
+--- a/config/config.mk	Wed Jul 27 18:35:18 2011 +0200
++++ b/config/config.mk	Tue Aug 02 15:54:10 2011 +0800
+@@ -147,7 +147,7 @@
+ MOZ_WIDGET_SUPPORT_LIBS    = $(DIST)/lib/$(LIB_PREFIX)widgetsupport_s.$(LIB_SUFFIX)
+ 
+ ifdef MOZ_MEMORY
+-ifneq (,$(filter-out WINNT WINCE,$(OS_ARCH)))
++ifneq (,$(filter-out WINNT WINCE SunOS,$(OS_ARCH)))
+ JEMALLOC_LIBS = $(MKSHLIB_FORCE_ALL) $(call EXPAND_MOZLIBNAME,jemalloc) $(MKSHLIB_UNFORCE_ALL)
+ endif
  endif
-+OS_LDFLAGS += -z interpose
- endif
- 
- LIBRARY_NAME	= jemalloc
- 
- # Build jemalloc as a shared lib.  This is mandatory for Darwin, since a library
- # init function is used on that platform.
--ifeq ($(OS_ARCH),Darwin)
-+# On Solaris, we want to have the ability to use LD_PRELOAD to override malloc.
-+ifneq (,$(filter Darwin SunOS,$(OS_ARCH)))
- FORCE_SHARED_LIB= 1
- else
- DIST_INSTALL = 1
+diff -r 32c1026e3c36 config/jemalloc_solaris.map
+--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
++++ b/config/jemalloc_solaris.map	Tue Aug 02 15:54:10 2011 +0800
+@@ -0,0 +1,13 @@
++{
++    global:
++        calloc             = NODIRECT;
++        free               = NODIRECT;
++        jemalloc_stats     = NODIRECT;
++        malloc             = NODIRECT;
++        malloc_usable_size = NODIRECT;
++        memalign           = NODIRECT;
++        posix_memalign     = NODIRECT;
++        realloc            = NODIRECT;
++        valloc             = NODIRECT;
++};
++
--- a/patches/thunderbird3-12-nspr_use_zone_allocator.diff	Thu Aug 11 23:29:52 2011 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,11 +0,0 @@
---- mozilla/toolkit/xre/nsAppRunner.cpp.old	2010-05-28 11:06:01.410749289 +0800
-+++ mozilla/toolkit/xre/nsAppRunner.cpp	2010-05-28 11:06:26.541515417 +0800
-@@ -2620,7 +2620,7 @@
-  * By defining the symbol here, we can avoid the wasted lookup and hopefully
-  * improve startup performance.
-  */
--PRBool nspr_use_zone_allocator = PR_FALSE;
-+NS_VISIBILITY_DEFAULT PRBool nspr_use_zone_allocator = PR_FALSE;
- 
- #ifdef MOZ_SPLASHSCREEN
- #define MOZ_SPLASHSCREEN_UPDATE(_i)  do { if (splashScreen) splashScreen->Update(_i); } while(0)
--- a/patches/thunderbird3-14-compiler-workaround.diff	Thu Aug 11 23:29:52 2011 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,16 +0,0 @@
---- mozilla/js/src/xpconnect/src/xpcconvert.cpp.old1	2010-05-28 11:11:19.583804943 +0800
-+++ mozilla/js/src/xpconnect/src/xpcconvert.cpp	2010-05-28 11:11:43.927610306 +0800
-@@ -1036,8 +1036,12 @@
-         
-         NS_ADDREF(*dest = objHolder);
-     }
--
-+#ifdef __SUNPRO_CC
-+    // Ugly workaound for a bug of Sun Studio 12. See Bug 478390.
-+    *d = (jsval)obj;
-+#else
-     *d = OBJECT_TO_JSVAL(obj);
-+#endif
- 
-     return JS_TRUE;
- }
--- a/patches/thunderbird3-15-g11n-nav-lang.diff	Thu Aug 11 23:29:52 2011 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,8 +0,0 @@
---- firefox3/browser/locales/en-US/firefox-l10n.js.orig	2008-04-10 23:29:27.966806000 +0900
-+++ firefox3/browser/locales/en-US/firefox-l10n.js	2008-04-10 23:29:58.618222000 +0900
-@@ -36,4 +36,4 @@
- 
- #filter substitution
- 
--pref("general.useragent.locale", "@AB_CD@");
-+pref("general.useragent.locale", "chrome://global/locale/intl.properties");
--- a/patches/thunderbird3-16-delay-stopping-realplayer.diff	Thu Aug 11 23:29:52 2011 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,19 +0,0 @@
---- mozilla/layout/generic/nsObjectFrame.cpp.old2	2010-05-28 11:16:25.080584207 +0800
-+++ mozilla/layout/generic/nsObjectFrame.cpp	2010-05-28 11:18:22.194677294 +0800
-@@ -2203,6 +2203,7 @@
- 
-   // Don't delay stopping QuickTime (bug 425157), Flip4Mac (bug 426524),
-   // XStandard (bug 430219), CMISS Zinc (bug 429604).
-+  // RealPlayer/Helix (bug 451007).
-   if (aDelayedStop
- #if !(defined XP_WIN || defined MOZ_X11)
-       && !aInstanceOwner->MatchPluginName("QuickTime")
-@@ -2210,6 +2211,8 @@
-       && !aInstanceOwner->MatchPluginName("XStandard plugin")
-       && !aInstanceOwner->MatchPluginName("CMISS Zinc Plugin")
- #endif
-+      && !aInstanceOwner->MatchPluginName("RealPlayer")
-+      && !aInstanceOwner->MatchPluginName("Helix")
-       ) {
-     nsCOMPtr<nsIRunnable> evt = new nsStopPluginRunnable(aInstanceOwner);
-     NS_DispatchToCurrentThread(evt);
--- a/patches/thunderbird3-17-compiler-workaround-2.diff	Thu Aug 11 23:29:52 2011 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,11 +0,0 @@
---- firefox/js/src/xpconnect/src/xpcquickstubs.cpp.orig	Fri Sep 18 13:17:48 2009
-+++ firefox/js/src/xpconnect/src/xpcquickstubs.cpp	Fri Sep 18 13:19:03 2009
-@@ -146,7 +146,7 @@
-     // The JS engine provides two reserved slots on function objects for
-     // XPConnect to use. Use them to stick the necessary info here.
-     JSFunction *fun =
--        JS_NewFunction(cx, reinterpret_cast<JSNative>(PropertyOpForwarder),
-+        JS_NewFunction(cx, reinterpret_cast<JSNative>((void*)PropertyOpForwarder),
-                        argc, JSFUN_FAST_NATIVE, obj, name);
-     if(!fun)
-         return JS_FALSE;
--- a/patches/thunderbird3-18-fix-mimetype-for-helper-app.diff	Thu Aug 11 23:29:52 2011 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,28 +0,0 @@
-diff --git a/uriloader/exthandler/unix/nsOSHelperAppService.cpp b/uriloader/exthandler/unix/nsOSHelperAppService.cpp
---- a/uriloader/exthandler/unix/nsOSHelperAppService.cpp
-+++ b/uriloader/exthandler/unix/nsOSHelperAppService.cpp
-@@ -1620,23 +1620,19 @@ nsOSHelperAppService::GetMIMEInfoFromOS(
-   PRBool hasDefault = PR_FALSE;
-   if (retval)
-     retval->GetHasDefaultHandler(&hasDefault);
-   if (!retval || !hasDefault) {
-     nsRefPtr<nsMIMEInfoBase> miByExt = GetFromExtension(PromiseFlatCString(aFileExt));
-     // If we had no extension match, but a type match, use that
-     if (!miByExt && retval)
-       return retval;
--    // If we had an extension match but no type match, set the mimetype and use
--    // it
-+    // If we had an extension match but no type match, use it
-     if (!retval && miByExt) {
--      if (!aType.IsEmpty())
--        miByExt->SetMIMEType(aType);
-       miByExt.swap(retval);
--
-       return retval;
-     }
-     // If we got nothing, make a new mimeinfo
-     if (!retval) {
-       *aFound = PR_FALSE;
-       retval = new nsMIMEInfoUnix(aType);
-       if (retval) {
-         NS_ADDREF(retval);
--- a/patches/thunderbird3-21-sunaudio-sparc.diff	Thu Aug 11 23:29:52 2011 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,22 +0,0 @@
-diff -r 5a8a199bd62a media/libsydneyaudio/src/sydney_audio_sunaudio.c
---- a/media/libsydneyaudio/src/sydney_audio_sunaudio.c	Tue Apr 28 01:37:02 2009 +0200
-+++ b/media/libsydneyaudio/src/sydney_audio_sunaudio.c	Tue Apr 28 18:40:54 2009 +0800
-@@ -114,17 +114,17 @@ sa_stream_create_pcm(
-   if (_s == NULL) 
-     return SA_ERROR_INVALID;
- 
-   *_s = NULL;
- 
-   if (mode != SA_MODE_WRONLY) 
-     return SA_ERROR_NOT_SUPPORTED;
- 
--  if (format != SA_PCM_FORMAT_S16_LE) 
-+  if (format != SA_PCM_FORMAT_S16_LE && format != SA_PCM_FORMAT_S16_BE) 
-     return SA_ERROR_NOT_SUPPORTED;
- 
-   /*
-    * Allocate the instance and required resources.
-    */
-   if ((s = malloc(sizeof(sa_stream_t))) == NULL) 
-     return SA_ERROR_OOM;
- 
--- a/patches/thunderbird3-31-use-system-libffi.diff	Thu Aug 11 23:29:52 2011 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,41 +0,0 @@
---- mozilla/js/ctypes/Makefile.in.old	2010-05-28 22:48:37.979725703 +0800
-+++ mozilla/js/ctypes/Makefile.in	2010-05-28 22:49:28.989493230 +0800
-@@ -96,7 +96,7 @@
- 
- # build libffi proper
- LOCAL_INCLUDES = \
--    -Ilibffi/include \
-+    `pkg-config --cflags libffi` \
-     $(NULL)
- 
- ifeq ($(OS_ARCH),OS2)
-@@ -104,9 +104,7 @@
- 	emxomf $<
- endif
- 
--SHARED_LIBRARY_LIBS = \
--    libffi/.libs/$(LIB_PREFIX)ffi.$(LIB_SUFFIX) \
--    $(NULL)
-+OS_LIBS += `pkg-config --libs libffi`
- 
- endif # _MSVC_VER
- 
---- mozilla/configure.old	2010-05-28 22:46:59.926484237 +0800
-+++ mozilla/configure	2010-05-28 22:48:18.660240139 +0800
-@@ -24063,6 +24063,8 @@
-       ac_configure_args="$ac_configure_args --build=$build --host=$target"
-     fi
-     if test "$SOLARIS_SUNPRO_CC"; then
-+      # Build against system libffi
-+      if 0; then
-       # Always use gcc for libffi on Solaris
-       old_cache_file=$cache_file
-       cache_file=js/ctypes/libffi/config.cache
-@@ -24166,6 +24168,7 @@
- fi
- 
-       cache_file=$old_cache_file
-+fi
-     else
-       
- if test "$no_recursion" != yes; then
--- a/patches/thunderbird3-33-using-bash.diff	Thu Aug 11 23:29:52 2011 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,8 +0,0 @@
---- comm-1.9.2/configure.old	2010-06-30 12:38:55.267120173 +0800
-+++ comm-1.9.2/configure	2010-06-30 12:39:07.918156779 +0800
-@@ -1,4 +1,4 @@
--#! /bin/sh
-+#! /bin/bash
- 
- if test `uname -s | grep -c MINGW 2>/dev/null` != "0"; then
-   msyshost=1
--- a/patches/thunderbird3-34-l10n-package.diff	Thu Aug 11 23:29:52 2011 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,13 +0,0 @@
---- mozilla/toolkit/xre/nsXREDirProvider.cpp.orig1	2010-07-13 10:52:13.780806962 +0800
-+++ mozilla/toolkit/xre/nsXREDirProvider.cpp	2010-07-13 10:53:40.829437851 +0800
-@@ -725,6 +725,10 @@
-                       kAppendChromeManifests,
-                       manifests);
- 
-+    static const char *const kAppendNothing[] = { nsnull };
-+    LoadDirsIntoArray(mExtensionDirectories,
-+                      kAppendNothing,
-+                      manifests);
-     rv = NS_NewArrayEnumerator(aResult, manifests);
-   }
-   else if (!strcmp(aProperty, NS_SKIN_MANIFESTS_FILE_LIST)) {
--- a/patches/thunderbird3-35-compiler-workaround-3.diff	Thu Aug 11 23:29:52 2011 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,12 +0,0 @@
---- a/js/src/jsvector.h	2009-10-16 14:59:39.988229000 +0800
-+++ b/js/src/jsvector.h	2009-10-16 15:00:12.259437000 +0800
-@@ -662,7 +662,8 @@
-     /* We are !usingInlineStorage(). Initialize new elements. */
-     JS_ASSERT(heapLength() <= heapCapacity() && heapCapacity() - heapLength() >= needed);
-     Impl::copyConstructN(heapEnd(), needed, t);
--    heapEnd() += needed;
-+    T *& heapEndTmp = heapEnd();
-+    heapEndTmp += needed;
-     return true;
- }
- 
--- a/patches/thunderbird3-36-gtk-dialog_a11y.diff	Thu Aug 11 23:29:52 2011 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,44 +0,0 @@
-diff --git a/widget/src/gtk2/nsFilePicker.cpp b/widget/src/gtk2/nsFilePicker.cpp
---- a/widget/src/gtk2/nsFilePicker.cpp
-+++ b/widget/src/gtk2/nsFilePicker.cpp
-@@ -533,17 +533,17 @@ nsFilePicker::Show(PRInt16 *aReturn)
- 
-     // Set the initially selected filter
-     if (mSelectedType == i) {
-       gtk_file_chooser_set_filter(GTK_FILE_CHOOSER(file_chooser), filter);
-     }
-   }
- 
-   gtk_file_chooser_set_do_overwrite_confirmation(GTK_FILE_CHOOSER(file_chooser), PR_TRUE);
--  gint response = gtk_dialog_run(GTK_DIALOG(file_chooser));
-+  gint response = RunDialog(GTK_DIALOG(file_chooser));
- 
-   switch (response) {
-     case GTK_RESPONSE_OK:
-     case GTK_RESPONSE_ACCEPT:
-     ReadValuesFromFileChooser(file_chooser);
-     *aReturn = nsIFilePicker::returnOK;
-     if (mMode == nsIFilePicker::modeSave) {
-       nsCOMPtr<nsILocalFile> file;
-diff --git a/widget/src/gtk2/nsPrintDialogGTK.cpp b/widget/src/gtk2/nsPrintDialogGTK.cpp
---- a/widget/src/gtk2/nsPrintDialogGTK.cpp
-+++ b/widget/src/gtk2/nsPrintDialogGTK.cpp
-@@ -170,17 +170,17 @@ ShowCustomDialog(GtkComboBox *changed_bo
-   gtk_box_pack_start(GTK_BOX(custom_vbox), custom_entry, FALSE, FALSE, 5); // Make entry 5px underneath label
-   GtkWidget* custom_hbox = gtk_hbox_new(FALSE, 2);
-   gtk_box_pack_start(GTK_BOX(custom_hbox), question_icon, FALSE, FALSE, 0);
-   gtk_box_pack_start(GTK_BOX(custom_hbox), custom_vbox, FALSE, FALSE, 10); // Make question icon 10px away from content
-   gtk_container_set_border_width(GTK_CONTAINER(custom_hbox), 2);
-   gtk_widget_show_all(custom_hbox);
- 
-   gtk_box_pack_start(GTK_BOX(GTK_DIALOG(prompt_dialog)->vbox), custom_hbox, FALSE, FALSE, 0);
--  gint diag_response = gtk_dialog_run(GTK_DIALOG(prompt_dialog));
-+  gint diag_response = RunDialog(GTK_DIALOG(prompt_dialog));
- 
-   if (diag_response == GTK_RESPONSE_ACCEPT) {
-     const gchar* response_text = gtk_entry_get_text(GTK_ENTRY(custom_entry));
-     g_object_set_data_full(G_OBJECT(changed_box), "custom-text", strdup(response_text), (GDestroyNotify) free);
-     g_object_set_data(G_OBJECT(changed_box), "previous-active", GINT_TO_POINTER(CUSTOM_VALUE_INDEX));
-   } else {
-     // Go back to the previous index
-     gint previous_active = GPOINTER_TO_INT(g_object_get_data(G_OBJECT(changed_box), "previous-active"));
--- a/patches/thunderbird3-37-ots-makepair.diff	Thu Aug 11 23:29:52 2011 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,152 +0,0 @@
-diff --git a/gfx/ots/src/cff.cc b/gfx/ots/src/cff.cc
---- a/gfx/ots/src/cff.cc
-+++ b/gfx/ots/src/cff.cc
-@@ -182,23 +182,23 @@ bool ParseDictDataBcd(
-   while (true) {
-     if (!table->ReadU8(&nibble)) {
-       return OTS_FAILURE();
-     }
-     if ((nibble & 0xf0) == 0xf0) {
-       if ((nibble & 0xf) == 0xf) {
-         // TODO(yusukes): would be better to store actual double value,
-         // rather than the dummy integer.
--        operands->push_back(std::make_pair(0, DICT_OPERAND_REAL));
-+        operands->push_back(std::make_pair((unsigned)0, DICT_OPERAND_REAL));
-         return true;
-       }
-       return OTS_FAILURE();
-     }
-     if ((nibble & 0x0f) == 0x0f) {
--      operands->push_back(std::make_pair(0, DICT_OPERAND_REAL));
-+      operands->push_back(std::make_pair((unsigned)0, DICT_OPERAND_REAL));
-       return true;
-     }
- 
-     // check number format
-     uint8_t nibbles[2];
-     nibbles[0] = (nibble & 0xf0) >> 8;
-     nibbles[1] = (nibble & 0x0f);
-     for (unsigned i = 0; i < 2; ++i) {
-@@ -257,28 +257,28 @@ bool ParseDictDataNumber(
-   uint8_t b4 = 0;
- 
-   switch (b0) {
-     case 28:  // shortint
-       if (!table->ReadU8(&b1) ||
-           !table->ReadU8(&b2)) {
-         return OTS_FAILURE();
-       }
--      operands->push_back(std::make_pair((b1 << 8) + b2, DICT_OPERAND_INTEGER));
-+      operands->push_back(std::make_pair((unsigned)((b1 << 8) + b2), DICT_OPERAND_INTEGER));
-       return true;
- 
-     case 29:  // longint
-       if (!table->ReadU8(&b1) ||
-           !table->ReadU8(&b2) ||
-           !table->ReadU8(&b3) ||
-           !table->ReadU8(&b4)) {
-         return OTS_FAILURE();
-       }
--      operands->push_back(std::make_pair(
--          (b1 << 24) + (b2 << 16) + (b3 << 8) + b4, DICT_OPERAND_INTEGER));
-+      operands->push_back(std::make_pair((unsigned)
-+          ((b1 << 24) + (b2 << 16) + (b3 << 8) + b4), DICT_OPERAND_INTEGER));
-       return true;
- 
-     case 30:  // binary coded decimal
-       return ParseDictDataBcd(table, operands);
- 
-     default:
-       break;
-   }
-@@ -310,17 +310,17 @@ bool ParseDictDataReadNext(
-   uint8_t op = 0;
-   if (!table->ReadU8(&op)) {
-     return OTS_FAILURE();
-   }
-   if (op <= 21) {
-     if (op == 12) {
-       return ParseDictDataEscapedOperator(table, operands);
-     }
--    operands->push_back(std::make_pair(op, DICT_OPERATOR));
-+    operands->push_back(std::make_pair((unsigned)op, DICT_OPERATOR));
-     return true;
-   } else if (op <= 27 || op == 31 || op == 255) {
-     // reserved area.
-     return OTS_FAILURE();
-   }
- 
-   return ParseDictDataNumber(table, op, operands);
- }
-diff --git a/gfx/ots/src/cmap.cc b/gfx/ots/src/cmap.cc
---- a/gfx/ots/src/cmap.cc
-+++ b/gfx/ots/src/cmap.cc
-@@ -643,19 +643,19 @@ bool ots_cmap_parse(OpenTypeFile *file, 
- 
-     if (!uniq_checker.insert(std::make_pair(subtable_headers[i].offset,
-                                             end_byte)).second) {
-       // Sometimes Unicode table and MS table share exactly the same data.
-       // We'll allow this.
-       continue;
-     }
-     overlap_checker.push_back(
--        std::make_pair(subtable_headers[i].offset, 1 /* start */));
-+        std::make_pair(subtable_headers[i].offset, (uint8_t)1 /* start */));
-     overlap_checker.push_back(
--        std::make_pair(end_byte, 0 /* end */));
-+        std::make_pair(end_byte, (uint8_t)0 /* end */));
-   }
-   std::sort(overlap_checker.begin(), overlap_checker.end());
-   int overlap_count = 0;
-   for (unsigned i = 0; i < overlap_checker.size(); ++i) {
-     overlap_count += (overlap_checker[i].second ? 1 : -1);
-     if (overlap_count > 1) {
-       return OTS_FAILURE();
-     }
-diff --git a/gfx/ots/src/glyf.cc b/gfx/ots/src/glyf.cc
---- a/gfx/ots/src/glyf.cc
-+++ b/gfx/ots/src/glyf.cc
-@@ -112,17 +112,17 @@ bool ParseSimpleGlyph(ots::OpenTypeFile 
-   if (ots::g_transcode_hints) {
-     glyf->iov.push_back(std::make_pair(
-         data + gly_offset, gly_header_length + bytecode_length));
-   } else {
-     // enqueue two vectors: the glyph data up to the bytecode length, then
-     // a pointer to a static uint16_t 0 to overwrite the length.
-     glyf->iov.push_back(std::make_pair(
-         data + gly_offset, gly_header_length - 2));
--    glyf->iov.push_back(std::make_pair((const uint8_t*) "\x00\x00", 2));
-+    glyf->iov.push_back(std::make_pair((const uint8_t*) "\x00\x00", (unsigned)2));
-   }
- 
-   if (!table->Skip(bytecode_length)) {
-     return OTS_FAILURE();
-   }
- 
-   uint32_t flags_count_physical = 0;  // on memory
-   uint32_t xy_coordinates_length = 0;
-diff --git a/gfx/ots/src/ots.cc b/gfx/ots/src/ots.cc
---- a/gfx/ots/src/ots.cc
-+++ b/gfx/ots/src/ots.cc
-@@ -389,19 +389,19 @@ bool ProcessGeneric(ots::OpenTypeFile *h
-   for (unsigned i = 0; i < header->num_tables; ++i) {
-     table_map[tables[i].tag] = tables[i];
-   }
- 
-   // check that the tables are not overlapping.
-   std::vector<std::pair<uint32_t, uint8_t> > overlap_checker;
-   for (unsigned i = 0; i < header->num_tables; ++i) {
-     overlap_checker.push_back(
--        std::make_pair(tables[i].offset, 1 /* start */));
-+        std::make_pair(tables[i].offset, (uint8_t)1 /* start */));
-     overlap_checker.push_back(
--        std::make_pair(tables[i].offset + tables[i].length, 0 /* end */));
-+        std::make_pair(tables[i].offset + tables[i].length, (uint8_t)0 /* end */));
-   }
-   std::sort(overlap_checker.begin(), overlap_checker.end());
-   int overlap_count = 0;
-   for (unsigned i = 0; i < overlap_checker.size(); ++i) {
-     overlap_count += (overlap_checker[i].second ? 1 : -1);
-     if (overlap_count > 1) {
-       return OTS_FAILURE();
-     }
--- a/specs/SUNWthunderbird.spec	Thu Aug 11 23:29:52 2011 +0000
+++ b/specs/SUNWthunderbird.spec	Fri Aug 12 01:20:53 2011 +0000
@@ -7,7 +7,7 @@
 # This file and all modifications and additions to the pristine
 # package are under the same license as the package itself.
 #
-%define owner jouby
+%define owner lin
 #
 # DO NOT REMOVE NEXT LINE
 # PACKAGE NOT INCLUDED IN GNOME UMBRELLA ARC
@@ -37,52 +37,35 @@
 
 %include default-depend.inc
 %include gnome-consolidation.inc
+BuildRequires: SUNWlibnotify
 BuildRequires: SUNWgnome-component-devel
-Requires: SUNWgtk2
 BuildRequires: SUNWgtk2-devel
-Requires: SUNWglib2
 BuildRequires: SUNWglib2-devel
-Requires: SUNWdbus-glib
-Requires: SUNWdbus-libs
 BuildRequires: SUNWdbus-glib
 BuildRequires: SUNWdbus-libs
 BuildRequires: SUNWdbus-devel
-Requires: SUNWlibtheora
 BuildRequires: SUNWlibtheora-devel
-Requires: SUNWogg-vorbis
 BuildRequires: SUNWogg-vorbis-devel
-Requires: SUNWsqlite3
 BuildRequires: SUNWsqlite3
-Requires: SUNWfontconfig
 BuildRequires: SUNWfontconfig
-Requires: SUNWfreetype2
 BuildRequires: SUNWfreetype2
-Requires: SUNWgnome-config
 BuildRequires: SUNWgnome-config-devel
-Requires: SUNWgnome-libs
 BuildRequires: SUNWgnome-libs-devel
-Requires: SUNWgnome-vfs
 BuildRequires: SUNWgnome-vfs-devel
-Requires: SUNWlibC
 BuildRequires: SUNWlibC
-Requires: SUNWlibms
 BuildRequires: SUNWlibms
-Requires: SUNWbash
 BuildRequires: SUNWbash
 BuildRequires: SUNWzip
 BuildRequires: SUNWunzip
 BuildRequires: SUNWgtar
 BuildRequires: SUNWbzip
 %if %option_without_moz_nss_nspr
-Requires: SUNWpr
 BuildRequires: SUNWprd
-Requires: SUNWtls
 BuildRequires: SUNWtlsd
 %endif
 BuildRequires: SUNWaudh
 BuildRequires: SUNWgsed
-BuildRequires: SUNWlibnotify
-Requires: SUNWlibnotify
+BuildRequires: SUNWlibffi
 
 #####################################
 ##   Package Description Section   ##
@@ -97,7 +80,6 @@
 SUNW_BaseDir:  %{_basedir}
 %include default-depend.inc
 %include gnome-consolidation.inc
-Requires:      SUNWthunderbird
 %endif
 
 #####################################
@@ -116,40 +98,25 @@
 #####################################
 
 %build
-export PKG_CONFIG_PATH=${_libdir}/pkgconfig:%{_pkg_config_path}
-export MSGFMT="/usr/bin/msgfmt"
-export LDFLAGS="-z ignore"
-export CFLAGS="-xlibmopt -I/usr/X11/include"
-%if %option_with_debug
-export CXXFLAGS="-xlibmil -xlibmopt -lCrun -lCstd -features=tmplrefstatic"
-%else
-export CXXFLAGS="-DNDEBUG -xlibmil -xlibmopt -lCrun -lCstd -features=tmplrefstatic"
-%endif
 
 %thunderbird.build -d %name-%version
 
 %install
 %thunderbird.install -d %name-%version
 
-%if %option_with_lightning
 # Lightning extension ID
-ext_id=e2fda1a4-762b-4020-b5ad-a41df1933103
[email protected]
-
-rm -rf $RPM_BUILD_ROOT/usr/lib/thunderbird/extensions/${ext_id2}
+rm -rf $RPM_BUILD_ROOT/usr/lib/thunderbird/extensions/[email protected]
 
 # create file list for SUNWthunderbird, SUNWthunderbird-calendar(ie. Lightning)
 cd $RPM_BUILD_ROOT%{_libdir}
-find thunderbird ! -type d | \
+find %{thunderbird.name} ! -type d | egrep -v "(%{thunderbird.lightning_dir}|xpidl|xpt_dump|xpt_link|libsoftokn3\.so|libnssdbm3\.so|libfreebl3\.so|libfreebl_32int_3\.so|libfreebl_32fpu_3\.so|libfreebl_32int64_3\.so)" | \
   sed -e 's#{#\\{#g' -e 's#}#\\}#g' -e 's#^.*$#%{_libdir}/&#' \
-  >  /tmp/%{name}-full.list
+  > %{_builddir}/%name-%version/%{name}.list
 
-grep -v "${ext_id}" /tmp/%{name}-full.list > \
-  %{_builddir}/%name-%version/%{name}.list
-grep "${ext_id}" /tmp/%{name}-full.list > \
-  %{_builddir}/%name-%version/%{name}-calendar.list
-
-rm -f /tmp/%{name}-full.list
+%if %option_with_lightning
+find %{thunderbird.name}/extensions/%{thunderbird.lightning_dir} ! -type d |
+  sed -e 's#{#\\{#g' -e 's#}#\\}#g' -e 's#^.*$#%{_libdir}/&#' \
+  > %{_builddir}/%name-%version/%{name}-calendar.list
 %endif
 
 rm -rf $RPM_BUILD_ROOT%{_mandir}
@@ -158,6 +125,19 @@
 
 %{?pkgbuild_postprocess: %pkgbuild_postprocess -v -c "%{version}:%{jds_version}:%{name}:$RPM_ARCH:%(date +%%Y-%%m-%%d):%{support_level}" $RPM_BUILD_ROOT}
 
+# CR 7071032 re-sign these libraries after post process
+SHLIBSIGN=%{_builddir}/%name-%version/%{thunderbird.name}/%{thunderbird.moz_objdir}/mozilla/nss/shlibsign
+LD_LIBRARY_PATH=$RPM_BUILD_ROOT/usr/lib/thunderbird $SHLIBSIGN -v -i $RPM_BUILD_ROOT/usr/lib/thunderbird/libsoftokn3.so
+LD_LIBRARY_PATH=$RPM_BUILD_ROOT/usr/lib/thunderbird $SHLIBSIGN -v -i $RPM_BUILD_ROOT/usr/lib/thunderbird/libnssdbm3.so
+
+%ifarch sparc
+LD_LIBRARY_PATH=$RPM_BUILD_ROOT/usr/lib/thunderbird $SHLIBSIGN -v -i $RPM_BUILD_ROOT/usr/lib/thunderbird/libfreebl_32int_3.so
+LD_LIBRARY_PATH=$RPM_BUILD_ROOT/usr/lib/thunderbird $SHLIBSIGN -v -i $RPM_BUILD_ROOT/usr/lib/thunderbird/libfreebl_32fpu_3.so
+LD_LIBRARY_PATH=$RPM_BUILD_ROOT/usr/lib/thunderbird $SHLIBSIGN -v -i $RPM_BUILD_ROOT/usr/lib/thunderbird/libfreebl_32int64_3.so
+%else
+LD_LIBRARY_PATH=$RPM_BUILD_ROOT/usr/lib/thunderbird $SHLIBSIGN -v -i $RPM_BUILD_ROOT/usr/lib/thunderbird/libfreebl3.so
+%endif
+
 %clean
 rm -rf $RPM_BUILD_ROOT
 
@@ -166,28 +146,33 @@
 #########################################
 
 %post
-%restart_fmri desktop-mime-cache
+%restart_fmri desktop-mime-cache || exit 1
 
 %postun
-%restart_fmri desktop-mime-cache
+%restart_fmri desktop-mime-cache || exit 1
 
 #####################################
 ##      Package Files Section      ##
 #####################################
 
-%if %option_with_lightning
 %files -f SUNWthunderbird.list
-%else
-%files
-%endif
 
-%doc -d thunderbird/comm-1.9.2/mozilla README.txt LICENSE
+%doc -d %{thunderbird.name}/%{thunderbird.moz_srcdir}/mozilla README.txt LICENSE
 %dir %attr (0755, root, other) %{_datadir}/doc
 
 %defattr(-, root, bin)
 %dir %attr (0755, root, bin) %{_bindir}
 %{_bindir}/thunderbird
 %dir %attr (0755, root, bin) %{_libdir}
+%ips_tag(com.oracle.elfsign=false) %{_libdir}/%{thunderbird.name}/libsoftokn3.so
+%ips_tag(com.oracle.elfsign=false) %{_libdir}/%{thunderbird.name}/libnssdbm3.so
+%ifarch sparc
+%ips_tag(com.oracle.elfsign=false) %{_libdir}/%{thunderbird.name}/libfreebl_32int_3.so
+%ips_tag(com.oracle.elfsign=false) %{_libdir}/%{thunderbird.name}/libfreebl_32fpu_3.so
+%ips_tag(com.oracle.elfsign=false) %{_libdir}/%{thunderbird.name}/libfreebl_32int64_3.so
+%else
+%ips_tag(com.oracle.elfsign=false) %{_libdir}/%{thunderbird.name}/libfreebl3.so
+%endif
 %dir %attr (0755, root, sys) %{_datadir}
 %dir %attr (0755, root, other) %{_datadir}/applications
 %{_datadir}/applications/thunderbird.desktop
@@ -204,6 +189,8 @@
 %endif
 
 %changelog
+* Fri July 8 2011 - [email protected]
+- Bump to 5.0
 * Mon Nov 08 2010 - [email protected]
 - Add 'License' tag
 * Tue Jun 08 2010 - [email protected]