+#
# TODO:
-# - CHECK all features of enigmail
# - separate spec for enigmail
#
# Conditional builds
%bcond_without gnomevfs # disable GNOME comp. (gconf+libgnome+gnomevfs) and gnomevfs ext.
%bcond_without gnome # disable all GNOME components (gnome+gnomeui+gnomevfs)
%bcond_without ldap # disable e-mail address lookups in LDAP directories
+%bcond_without lightning # disable sunbird calendar
#
%if %{without gnome}
%undefine with_gnomeui
%undefine with_gnomevfs
%endif
-%define enigmail_ver 0.95.6
-%define thunderbird_ver 2.0.0.14
+%define enigmail_ver 1.0.1
Summary: Icedove - email client
Summary(pl.UTF-8): Icedove - klient poczty
Name: icedove
-Version: %{thunderbird_ver}
+Version: 3.0.3
Release: 1
License: MPL 1.1 or GPL v2+ or LGPL v2.1+
Group: Applications/Networking
-Source0: http://releases.mozilla.org/pub/mozilla.org/thunderbird/releases/%{version}/source/thunderbird-%{version}-source.tar.bz2
-# Source0-md5: e304510d08f7e226bbfff8e7e549232f
+Source0: http://releases.mozilla.org/pub/mozilla.org/thunderbird/releases/%{version}/source/thunderbird-%{version}.source.tar.bz2
+# Source0-md5: 89e759fd7a6ab0f1cb0d089d9c89f3ee
Source1: http://www.mozilla-enigmail.org/download/source/enigmail-%{enigmail_ver}.tar.gz
-# Source1-md5: cfbe6ff77f80a349b396829757ad952a
+# Source1-md5: 508ca9ab0396afb49e82eda88014924b
Source2: %{name}-branding.tar.bz2
-# Source2-md5: e775b8cb658de32f30b403bc9b7950bf
+# Source2-md5: 2da351522bdd7f4a3bd8aaff4c776976
Source3: %{name}-rm_nonfree.sh
Source4: %{name}.desktop
Source5: %{name}.sh
Source6: %{name}-enigmail.manifest
Patch0: %{name}-branding.patch
-Patch1: %{name}-lib_path.patch
-Patch2: %{name}-enigmail-shared.patch
-Patch3: %{name}-gcc.patch
-Patch4: %{name}-fonts.patch
-Patch5: %{name}-install.patch
-Patch6: %{name}-myspell.patch
-Patch7: %{name}-regionNames.patch
-URL: http://www.mozilla.org/projects/thunderbird/
+Patch1: %{name}-enigmail-shared.patch
+Patch2: %{name}-gcc.patch
+Patch3: %{name}-fonts.patch
+Patch4: %{name}-install.patch
+Patch5: %{name}-hunspell.patch
+Patch6: %{name}-prefs.patch
+Patch7: %{name}-libpng.patch
+URL: http://www.pld-linux.org/Packages/Icedove
%{?with_gnomevfs:BuildRequires: GConf2-devel >= 1.2.1}
BuildRequires: automake
BuildRequires: freetype-devel >= 1:2.1.8
%{?with_gnomevfs:BuildRequires: gnome-vfs2-devel >= 2.0}
BuildRequires: gtk+2-devel >= 1:2.0.0
+BuildRequires: hunspell-devel
BuildRequires: libIDL-devel >= 0.8.0
%{?with_gnomevfs:BuildRequires: libgnome-devel >= 2.0}
%{?with_gnomeui:BuildRequires: libgnomeui-devel >= 2.2.0}
BuildRequires: libjpeg-devel >= 6b
BuildRequires: libpng-devel >= 1.2.0
BuildRequires: libstdc++-devel
-BuildRequires: myspell-devel
-BuildRequires: nspr-devel >= 1:4.6.1
-BuildRequires: nss-devel >= 1:3.11.3
+BuildRequires: nspr-devel >= 1:4.8
+BuildRequires: nss-devel >= 1:3.12.0
BuildRequires: pango-devel >= 1:1.1.0
+BuildRequires: pkgconfig
BuildRequires: sed >= 4.0
+BuildRequires: startup-notification-devel >= 0.8
BuildRequires: xorg-lib-libXext-devel
-BuildRequires: xorg-lib-libXft-devel >= 2.1
BuildRequires: xorg-lib-libXinerama-devel
-BuildRequires: xorg-lib-libXp-devel
BuildRequires: xorg-lib-libXt-devel
+BuildRequires: zip
Requires: myspell-common
Requires: nspr >= 1:4.6.1
Requires: nss >= 1:3.11.3
Obsoletes: mozilla-thunderbird-dictionary-en-US
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
+%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 libxpcom_core.so libxpistub.so
%define _noautoprovfiles %{_libdir}/%{name}/components
%description -l pl.UTF-8
Icedove jest open sourcowym, szybkim i przenośnym klientem poczty.
+%package addon-lightning
+Summary: An integrated calendar for Icedove
+Summary(pl.UTF-8): Zintegrowany kalendarz dla Icedove
+License: MPL 1.1 or GPL v2+ or LGPL v2.1+
+Group: Applications/Networking
+Requires: %{name} = %{version}-%{release}
+
+%description addon-lightning
+Lightning is an calendar extension to Icedove email client.
+
+%description addon-lightning -l pl.UTF-8
+Lightning to rozszerzenie do klienta poczty Icedove dodające
+funkcjonalność kalendarza.
+
%package addon-enigmail
Summary: Extension for the authentication and encryption features provided by GnuPG
Summary(pl.UTF-8): Rozszerzenie do uwierzytelniania i szyfrowania zapewnianego przez GnuPG
License: MPL/LGPL
Group: Applications/Networking
URL: http://enigmail.mozdev.org/
-Requires: %{name} = %{thunderbird_ver}-%{release}
+Requires: %{name} = %{version}-%{release}
+Requires: gnupg
+Obsoletes: mozilla-thunderbird-addon-enigmail
%description addon-enigmail
Enigmail is an extension to the Icedove mail client which allows users
%description addon-enigmail -l pl.UTF-8
Enigmail to rozszerzenie klienta pocztowego Icedove pozwalające
-użytkownikom na dostęp do uwierzytelniania i szyfrowania
-zapewnianego przez GnuPG.
+użytkownikom na dostęp do uwierzytelniania i szyfrowania zapewnianego
+przez GnuPG.
Główne możliwości:
- szyfrowanie/podpisywanie poczty przy wysyłaniu,
- interfejs do zarządzania kluczami OpenPGP
%prep
-%setup -q -c
-tar xvfj %{SOURCE2}
+%setup -qc
+mv -f comm-1.9.1 mozilla
+%setup -q -T -D -a2
cd mozilla
%{?with_enigmail:tar xvfz %{SOURCE1} -C mailnews/extensions}
/bin/sh %{SOURCE3}
%patch0 -p1
-%patch1 -p1
-%{?with_enigmail:%patch2 -p1}
+%{?with_enigmail:%patch1 -p1}
+%patch2 -p1
%patch3 -p1
%patch4 -p1
%patch5 -p1
%patch6 -p1
%patch7 -p1
-:> config/gcc_hidden.h
-
%build
cd mozilla
export CFLAGS="%{rpmcflags} `%{_bindir}/pkg-config mozilla-nspr --cflags-only-I`"
export CXXFLAGS="%{rpmcflags} `%{_bindir}/pkg-config mozilla-nspr --cflags-only-I`"
-cp -f %{_datadir}/automake/config.* build/autoconf
-cp -f %{_datadir}/automake/config.* nsprpub/build/autoconf
+cp -f %{_datadir}/automake/config.* mozilla/build/autoconf
+cp -f %{_datadir}/automake/config.* mozilla/nsprpub/build/autoconf
cp -f %{_datadir}/automake/config.* directory/c-sdk/config/autoconf
cat << 'EOF' > .mozconfig
-. $topsrcdir/mail/config/mozconfig
+mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/obj-%{_target_cpu}
+# Options for 'configure' (same as command-line options).
ac_add_options --prefix=%{_prefix}
ac_add_options --exec-prefix=%{_exec_prefix}
ac_add_options --bindir=%{_bindir}
ac_add_options --mandir=%{_mandir}
ac_add_options --infodir=%{_infodir}
%if %{?debug:1}0
+ac_add_options --disable-optimize
ac_add_options --enable-debug
ac_add_options --enable-debug-modules
+ac_add_options --enable-debugger-info-modules
+ac_add_options --enable-crash-on-assert
%else
ac_add_options --disable-debug
ac_add_options --disable-debug-modules
+ac_add_options --disable-logging
+ac_add_options --enable-optimize="%{rpmcflags} -Os"
%endif
%if %{with tests}
ac_add_options --enable-tests
%else
ac_add_options --disable-ldap
%endif
+ac_add_options --disable-crashreporter
+ac_add_options --disable-updater
+ac_add_options --disable-xterm-updates
+ac_add_options --enable-ldap
+ac_add_options --enable-postscript
+ac_add_options --enable-startup-notification
+%if %{with lightning}
+ac_add_options --enable-calendar
+%else
+ac_add_options --disable-calendar
+%endif
ac_add_options --disable-installer
ac_add_options --disable-jsd
ac_add_options --disable-xprint
+ac_add_options --disable-permissions
+ac_add_options --disable-pref-extensions
ac_add_options --enable-canvas
ac_add_options --enable-crypto
ac_add_options --enable-default-toolkit="gtk2"
-ac_add_options --enable-extensions="pref,cookie,wallet,spellcheck"
ac_add_options --enable-mathml
ac_add_options --enable-optimize="%{rpmcflags}"
ac_add_options --enable-pango
ac_add_options --enable-reorder
+ac_add_options --enable-static
ac_add_options --disable-strip
ac_add_options --disable-strip-libs
ac_add_options --enable-system-cairo
-ac_add_options --enable-system-myspell
+ac_add_options --enable-system-hunspell
ac_add_options --enable-svg
ac_add_options --enable-xft
+ac_add_options --enable-application=mail
+ac_add_options --enable-default-toolkit=cairo-gtk2
ac_add_options --enable-xinerama
ac_add_options --with-system-jpeg
ac_add_options --with-system-nspr
ac_add_options --with-pthreads
ac_add_options --enable-single-profile
ac_add_options --disable-profilesharing
+ac_add_options --with-distribution-id=org.pld-linux
ac_add_options --with-branding=icedove/branding
ac_add_options --with-default-mozilla-five-home=%{_libdir}/%{name}
EOF
-%{__make} -j1 -f client.mk build_all \
+%{__make} -j1 -f client.mk build \
+ STRIP="/bin/true" \
CC="%{__cc}" \
CXX="%{__cxx}"
%if %{with enigmail}
- cd mailnews/extensions/enigmail
- ./makemake -r
- %{__make}
+cd mailnews/extensions/enigmail
+./makemake -r
+%{__make} -C ../../../obj-%{_target_cpu}/mailnews/extensions/enigmail \
+ STRIP="/bin/true" \
+ CC="%{__cc}" \
+ CXX="%{__cxx}"
%endif
%install
rm -rf $RPM_BUILD_ROOT
install -d $RPM_BUILD_ROOT{%{_bindir},%{_libdir},%{_pixmapsdir},%{_desktopdir}} \
- $RPM_BUILD_ROOT%{_datadir}/%{name}
+ $RPM_BUILD_ROOT%{_datadir}/%{name}
+install -d $RPM_BUILD_ROOT%{_libdir}/%{name}
cd mozilla
-%{__make} -C xpinstall/packager stage-package \
+%{__make} -C obj-%{_target_cpu}/mail/installer stage-package \
DESTDIR=$RPM_BUILD_ROOT \
MOZ_PKG_APPDIR=%{_libdir}/%{name} \
PKG_SKIP_STRIP=1
mv $RPM_BUILD_ROOT%{_libdir}/%{name}/chrome $RPM_BUILD_ROOT%{_datadir}/%{name}/chrome
mv $RPM_BUILD_ROOT%{_libdir}/%{name}/defaults $RPM_BUILD_ROOT%{_datadir}/%{name}/defaults
mv $RPM_BUILD_ROOT%{_libdir}/%{name}/greprefs $RPM_BUILD_ROOT%{_datadir}/%{name}/greprefs
-mv $RPM_BUILD_ROOT%{_libdir}/%{name}/icons $RPM_BUILD_ROOT%{_datadir}/%{name}/icons
-mv $RPM_BUILD_ROOT%{_libdir}/%{name}/init.d $RPM_BUILD_ROOT%{_datadir}/%{name}/init.d
mv $RPM_BUILD_ROOT%{_libdir}/%{name}/isp $RPM_BUILD_ROOT%{_datadir}/%{name}/isp
mv $RPM_BUILD_ROOT%{_libdir}/%{name}/res $RPM_BUILD_ROOT%{_datadir}/%{name}/res
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}/greprefs $RPM_BUILD_ROOT%{_libdir}/%{name}/greprefs
-ln -s ../../share/%{name}/icons $RPM_BUILD_ROOT%{_libdir}/%{name}/icons
-ln -s ../../share/%{name}/init.d $RPM_BUILD_ROOT%{_libdir}/%{name}/init.d
ln -s ../../share/%{name}/isp $RPM_BUILD_ROOT%{_libdir}/%{name}/isp
ln -s ../../share/%{name}/res $RPM_BUILD_ROOT%{_libdir}/%{name}/res
install -d $_enig_dir/components
install -d $_enig_dir/defaults/preferences
mv -f $RPM_BUILD_ROOT%{_libdir}/%{name}/chrome/enigmail.jar $_enig_dir/chrome
-mv -f $RPM_BUILD_ROOT%{_libdir}/%{name}/chrome/enigmail-skin-tbird.jar $_enig_dir/chrome
mv -f $RPM_BUILD_ROOT%{_libdir}/%{name}/components/enig* $_enig_dir/components
mv -f $RPM_BUILD_ROOT%{_libdir}/%{name}/components/libenigmime.so $_enig_dir/components
mv -f $RPM_BUILD_ROOT%{_libdir}/%{name}/components/ipc.xpt $_enig_dir/components
if [ -d %{_libdir}/%{name}/dictionaries ] && [ ! -L %{_libdir}/%{name}/dictionaries ]; then
mv -v %{_libdir}/%{name}/dictionaries{,.rpmsave}
fi
-for d in chrome defaults greprefs icons init.d isp res; do
+for d in chrome defaults greprefs icons isp res; do
if [ -d %{_libdir}/%{name}/$d ] && [ ! -L %{_libdir}/%{name}/$d ]; then
install -d %{_datadir}/%{name}
mv %{_libdir}/%{name}/$d %{_datadir}/%{name}/$d
%attr(755,root,root) %{_bindir}/mozilla-thunderbird
%attr(755,root,root) %{_bindir}/thunderbird
%dir %{_libdir}/%{name}
+%{_libdir}/%{name}/*.ini
%dir %{_libdir}/%{name}/components
%attr(755,root,root) %{_libdir}/%{name}/components/*.so
%{_libdir}/%{name}/components/*.js
%attr(755,root,root) %{_libdir}/%{name}/*.sh
%attr(755,root,root) %{_libdir}/%{name}/*-bin
%attr(755,root,root) %{_libdir}/%{name}/mozilla-xremote-client
-%attr(755,root,root) %{_libdir}/%{name}/reg*
%attr(755,root,root) %{_libdir}/%{name}/icedove
-%{_libdir}/%{name}/*.txt
-%attr(755,root,root) %{_libdir}/%{name}/x*
# symlinks
%{_libdir}/%{name}/chrome
%{_libdir}/%{name}/defaults
%{_libdir}/%{name}/dictionaries
%{_libdir}/%{name}/greprefs
-%{_libdir}/%{name}/icons
-%{_libdir}/%{name}/init.d
%{_libdir}/%{name}/isp
%{_libdir}/%{name}/res
%{_libdir}/%{name}/dependentlibs.list
-%{_libdir}/%{name}/updater
-%{_libdir}/%{name}/updater.ini
%{_pixmapsdir}/*.png
%{_desktopdir}/*.desktop
%{_datadir}/%{name}/chrome
%{_datadir}/%{name}/defaults
%{_datadir}/%{name}/greprefs
-%{_datadir}/%{name}/icons
-%{_datadir}/%{name}/init.d
%{_datadir}/%{name}/isp
%{_datadir}/%{name}/res
+%dir %{_libdir}/%{name}/modules
+%{_libdir}/%{name}/modules/*.js*
+%dir %{_libdir}/%{name}/modules/activity
+%{_libdir}/%{name}/modules/activity/*.js
+%dir %{_libdir}/%{name}/modules/gloda
+%{_libdir}/%{name}/modules/gloda/*.js
+
%dir %{_libdir}/%{name}/extensions
%{_libdir}/%{name}/extensions/{972ce4c6-7e08-4474-a285-3208198ce6fd}
+%if %{with lightning}
+%files addon-lightning
+%defattr(644,root,root,755)
+%{_libdir}/%{name}/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}
+%{_libdir}/%{name}/extensions/calendar-timezones@mozilla.org
+%endif
+
%if %{with enigmail}
%files addon-enigmail
%defattr(644,root,root,755)