# TODO:
# - separate spec for enigmail
# - build with system mozldap
-# - files:
-# /usr/lib/icedove/hyphenation/hyph_en_US.dic (and more, more hyph dicts)
-# - enigmail - new version needed
#
# Conditional builds
%bcond_without enigmail # don't build enigmail - GPG/PGP support
%bcond_without gnome # alias for gnomeui
%bcond_without ldap # disable e-mail address lookups in LDAP directories
%bcond_without lightning # disable Sunbird/Lightning calendar
-%bcond_without xulrunner # build with xulrunner
+%bcond_with xulrunner # system xulrunner
%bcond_with crashreporter # report crashes to crash-stats.mozilla.com
%if %{without gnome}
%undefine crashreporter
%endif
-%define enigmail_ver 1.3.4
+%define enigmail_ver 1.3.5
%define nspr_ver 4.8.8
%define nss_ver 3.12.10
-# convert firefox release number to platform version: 9.0.x -> 9.0.x
-%define xulrunner_main 9.0
-%define xulrunner_ver %(v=%{version}; echo %{xulrunner_main}${v#9.0})
+# convert thunderbird release number to platform version: 9.0.x -> 9.0.x
+%define xulrunner_main 10.0
+%define xulrunner_ver %(v=%{version}; echo %{xulrunner_main}${v#10.0})
%if %{without xulrunner}
# The actual sqlite version (see RHBZ#480989):
Summary: Icedove - email client
Summary(pl.UTF-8): Icedove - klient poczty
Name: icedove
-Version: 9.0.1
-Release: 0.1
+Version: 10.0.2
+Release: 3
License: MPL 1.1 or GPL v2+ or LGPL v2.1+
Group: X11/Applications/Networking
Source0: http://releases.mozilla.org/pub/mozilla.org/thunderbird/releases/%{version}/source/thunderbird-%{version}.source.tar.bz2
-# Source0-md5: a5904751dbd33074682b438b732fdbab
+# Source0-md5: 624bef982d7ac610b1175737d9905150
Source1: http://www.mozilla-enigmail.org/download/source/enigmail-%{enigmail_ver}.tar.gz
-# Source1-md5: 2b5f188791811d248b6ff1fc51a5806a
+# Source1-md5: 1b008b0d106e238c11e4bead08126bc0
Source2: %{name}-branding.tar.bz2
# Source2-md5: 2da351522bdd7f4a3bd8aaff4c776976
Source3: %{name}-rm_nonfree.sh
Source5: %{name}.sh
Patch0: %{name}-branding.patch
Patch1: %{name}-enigmail-shared.patch
-Patch2: %{name}-gcc.patch
+Patch2: %{name}-system-xulrunner.patch
Patch3: %{name}-fonts.patch
Patch4: %{name}-install.patch
Patch5: %{name}-hunspell.patch
Patch6: %{name}-prefs.patch
Patch7: system-mozldap.patch
Patch8: %{name}-makefile.patch
-Patch9: %{name}-libpng.patch
+
Patch10: %{name}-extensiondir.patch
Patch11: crashreporter.patch
Patch12: no-subshell.patch
%define filterout_cpp -D_FORTIFY_SOURCE=[0-9]+
# iceweasel/icedove/iceape provide their own versions
-%define _noautoreqdep libgfxpsshar.so libgkgfx.so libgtkxtbin.so libjsj.so libxpcom_compat.so libxpistub.so
%define _noautoprovfiles %{_libdir}/%{name}/components
# we don't want these to satisfy xulrunner-devel
-%define _noautoprov libgtkembedmoz.so libmozjs.so libxpcom.so libxul.so libxpcom_core.so
+%define _noautoprov libmozjs.so libxpcom.so libxul.so
# and as we don't provide them, don't require either
-%define _noautoreq libgtkembedmoz.so libmozjs.so libxpcom.so libxul.so libxpcom_core.so
+%define _noautoreq libmozjs.so libxpcom.so libxul.so
%define topdir %{_builddir}/%{name}-%{version}
%define objdir %{topdir}/obj-%{_target_cpu}
/bin/sh %{SOURCE3}
%patch0 -p1
%{?with_enigmail:%patch1 -p1}
-%patch2 -p1
+%{?with_system_xulrunner:%patch2 -p1}
%patch3 -p1
%patch4 -p1
%patch6 -p1
%patch7 -p1
%patch8 -p2
-%patch9 -p1
%patch10 -p2
%patch11 -p2
%patch12 -p1
cp -f %{_datadir}/automake/config.* mozilla/nsprpub/build/autoconf
cp -f %{_datadir}/automake/config.* ldap/sdks/c-sdk/config/autoconf
-install -d libxul-sdk
-ln -snf %{_libdir}/xulrunner-sdk libxul-sdk/sdk
-
cat << EOF > .mozconfig
mk_add_options MOZ_OBJDIR=%{objdir}
-export CFLAGS="%{rpmcflags} -fpermissive -I/usr/include/xulrunner"
-export CXXFLAGS="%{rpmcflags} -fpermissive -I/usr/include/xulrunner"
+export CFLAGS="%{rpmcflags}"
+# use c++0x for char16_t (like in xulrunner 10.0.x)
+export CXXFLAGS="%{rpmcflags}%{?with_system_xulrunner: -std=gnu++0x}"
%if %{with crashreporter}
export MOZ_DEBUG_SYMBOLS=1
ac_add_options --with-distribution-id=org.pld-linux
ac_add_options --with-branding=icedove/branding
%if %{with xulrunner}
-#ac_add_options --with-libxul-sdk=$(pwd)/libxul-sdk/sdk
+ac_add_options --enable-shared-js
+ac_add_options --with-libxul-sdk=$(pkg-config --variable=sdkdir libxul)
ac_add_options --with-system-libxul
-ac_add_options --enable-shared
-ac_add_options --enable-libxul
%else
ac_add_options --disable-xul
%endif
mv $RPM_BUILD_ROOT%{_libdir}/%{name}/isp $RPM_BUILD_ROOT%{_datadir}/%{name}/isp
mv $RPM_BUILD_ROOT%{_libdir}/%{name}/modules $RPM_BUILD_ROOT%{_datadir}/%{name}/modules
mv $RPM_BUILD_ROOT%{_libdir}/%{name}/res $RPM_BUILD_ROOT%{_datadir}/%{name}/res
+mv $RPM_BUILD_ROOT%{_libdir}/%{name}/searchplugins $RPM_BUILD_ROOT%{_datadir}/%{name}/searchplugins
ln -s ../../share/%{name}/chrome $RPM_BUILD_ROOT%{_libdir}/%{name}/chrome
ln -s ../../share/%{name}/defaults $RPM_BUILD_ROOT%{_libdir}/%{name}/defaults
ln -s ../../share/%{name}/isp $RPM_BUILD_ROOT%{_libdir}/%{name}/isp
ln -s ../../share/%{name}/modules $RPM_BUILD_ROOT%{_libdir}/%{name}/modules
ln -s ../../share/%{name}/res $RPM_BUILD_ROOT%{_libdir}/%{name}/res
+ln -s ../../share/%{name}/searchplugins $RPM_BUILD_ROOT%{_libdir}/%{name}/searchplugins
# dir for arch independant extensions besides arch dependant extensions
# see mozilla/xpcom/build/nsXULAppAPI.h
%{__rm} -r $RPM_BUILD_ROOT%{_libdir}/%{name}/dictionaries
ln -s %{_datadir}/myspell $RPM_BUILD_ROOT%{_libdir}/%{name}/dictionaries
+%{__rm} -r $RPM_BUILD_ROOT%{_libdir}/%{name}/hyphenation
+ln -s %{_datadir}/myspell $RPM_BUILD_ROOT%{_libdir}/%{name}/hyphenation
+
%{__sed} -e 's,@LIBDIR@,%{_libdir},' %{SOURCE5} > $RPM_BUILD_ROOT%{_bindir}/icedove
ln -s %{name} $RPM_BUILD_ROOT%{_bindir}/thunderbird
ln -s %{name} $RPM_BUILD_ROOT%{_bindir}/mozilla-thunderbird
cp -p %{topdir}/mozilla/mailnews/extensions/enigmail/package/chrome.manifest $ext_dir/chrome.manifest
%endif
-# remove unecessary stuff
-#%%{__rm} $RPM_BUILD_ROOT%{_libdir}/%{name}/README.txt
-#%%{__rm} $RPM_BUILD_ROOT%{_libdir}/%{name}/components/components.list
-#%%{__rm} $RPM_BUILD_ROOT%{_libdir}/%{name}/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/components/components.list
-
# never package these. always remove
# nss
%{__rm} -f $RPM_BUILD_ROOT%{_libdir}/%{name}/lib{freebl3,nss3,nssckbi,nssdbm3,nssutil3,smime3,softokn3,ssl3}.*
if [ -d %{_libdir}/%{name}/dictionaries ] && [ ! -L %{_libdir}/%{name}/dictionaries ]; then
mv -v %{_libdir}/%{name}/dictionaries{,.rpmsave}
fi
-for d in chrome defaults icons isp modules res; do
+for d in chrome defaults icons isp modules res searchplugins; do
if [ -d %{_libdir}/%{name}/$d ] && [ ! -L %{_libdir}/%{name}/$d ]; then
install -d %{_datadir}/%{name}
mv %{_libdir}/%{name}/$d %{_datadir}/%{name}/$d
%{_libdir}/%{name}/components/components.manifest
%{_libdir}/%{name}/components/interfaces.manifest
%attr(755,root,root) %{_libdir}/%{name}/libmozalloc.so
-#%%attr(755,root,root) %{_libdir}/%{name}/libmozjs.so
%attr(755,root,root) %{_libdir}/%{name}/libxpcom.so
-#%%attr(755,root,root) %{_libdir}/%{name}/libxpcom_core.so
%attr(755,root,root) %{_libdir}/%{name}/libxul.so
%attr(755,root,root) %{_libdir}/%{name}/*.sh
%attr(755,root,root) %{_libdir}/%{name}/*-bin
%{_libdir}/%{name}/chrome
%{_libdir}/%{name}/defaults
%{_libdir}/%{name}/dictionaries
-#%%{_libdir}/%{name}/greprefs
+%{_libdir}/%{name}/hyphenation
%{_libdir}/%{name}/isp
%{_libdir}/%{name}/modules
%{_libdir}/%{name}/res
+%{_libdir}/%{name}/searchplugins
-%{_pixmapsdir}/*.png
-%{_desktopdir}/*.desktop
+%{_pixmapsdir}/icedove.png
+%{_desktopdir}/icedove.desktop
%dir %{_datadir}/%{name}
%{_datadir}/%{name}/chrome
%{_datadir}/%{name}/defaults
-#%%{_datadir}/%{name}/greprefs
+%{_datadir}/%{name}/extensions
%{_datadir}/%{name}/isp
%{_datadir}/%{name}/modules
%{_datadir}/%{name}/res
-%{_datadir}/%{name}/extensions
+%{_datadir}/%{name}/searchplugins
%if %{with crashreporter}
%attr(755,root,root) %{_libdir}/%{name}/crashreporter