# TODO:
-# - separate spec for enigmail
# - build with system mozldap
#
# Conditional builds
-%bcond_without enigmail # don't build enigmail - GPG/PGP support
+%bcond_with gtk3 # GTK+ 3.x instead of 2.x
%bcond_without ldap # disable e-mail address lookups in LDAP directories
%bcond_without lightning # disable Sunbird/Lightning calendar
%bcond_with xulrunner # system xulrunner
%bcond_with crashreporter # report crashes to crash-stats.mozilla.com
+# - disabled shared_js - https://bugzilla.mozilla.org/show_bug.cgi?id=1039964
+%bcond_with shared_js # shared libmozjs library [broken]
%if 0%{?_enable_debug_packages} != 1
%undefine crashreporter
%endif
-%define enigmail_ver 1.6
-%define nspr_ver 4.9.3
-%define nss_ver 3.15.3.1
+%define nspr_ver 4.10.6
+%define nss_ver 3.19.2.1
-%define xulrunner_ver 2:24.0
+%define xulrunner_ver 2:31.3.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: 24.5.0
+Version: 38.5.0
Release: 1
-License: MPL 1.1 or GPL v2+ or LGPL v2.1+
+License: MPL v2.0
Group: X11/Applications/Mail
Source0: http://releases.mozilla.org/pub/mozilla.org/thunderbird/releases/%{version}/source/thunderbird-%{version}.source.tar.bz2
-# Source0-md5: dbe164c48e42c04b4959910eda2e52ca
-Source1: http://www.mozilla-enigmail.org/download/source/enigmail-%{enigmail_ver}.tar.gz
-# Source1-md5: 4a2bbcb020bdb282a660fda8c70d5608
-Source2: %{name}-branding.tar.bz2
-# Source2-md5: d8e6897870bf288fdf264c0e9ef85f7d
-Source3: %{name}-rm_nonfree.sh
+# Source0-md5: 516ddb66f788ea7db48ed0d76f7a7ebc
+Source2: %{name}-branding.tar.xz
+# Source2-md5: 66753bc5c924d7492b6b5c9bdc3e4b5b
Source4: %{name}.desktop
Source5: %{name}.sh
Patch0: %{name}-branding.patch
-Patch1: %{name}-enigmail-shared.patch
-Patch3: %{name}-fonts.patch
-Patch6: %{name}-prefs.patch
-Patch7: system-mozldap.patch
-Patch8: %{name}-makefile.patch
-Patch10: %{name}-extensiondir.patch
-Patch11: crashreporter.patch
-Patch12: no-subshell.patch
+Patch2: %{name}-prefs.patch
+Patch3: system-mozldap.patch
+Patch5: %{name}-extensiondir.patch
+Patch6: no-subshell.patch
# Edit patch below and restore --system-site-packages when system virtualenv gets 1.7 upgrade
-Patch13: system-virtualenv.patch
-Patch14: gyp-slashism.patch
-Patch15: enable-addons.patch
+Patch7: system-virtualenv.patch
+Patch8: enable-addons.patch
+Patch9: bump-nss-req.patch
URL: http://www.pld-linux.org/Packages/Icedove
BuildRequires: GConf2-devel >= 1.2.1
BuildRequires: alsa-lib-devel
BuildRequires: cairo-devel >= 1.10
BuildRequires: dbus-glib-devel >= 0.60
BuildRequires: freetype-devel >= 1:2.1.8
-BuildRequires: glib2-devel >= 2.0
+BuildRequires: glib2-devel >= 1:2.20
BuildRequires: gstreamer0.10-devel
BuildRequires: gstreamer0.10-plugins-base-devel
-BuildRequires: gtk+2-devel >= 2:2.10.0
+%{!?with_gtk3:BuildRequires: gtk+2-devel >= 2:2.14}
+%{?with_gtk3:BuildRequires: gtk+3-devel >= 3.0.0}
BuildRequires: hunspell-devel
BuildRequires: libIDL-devel >= 0.8.0
BuildRequires: libevent-devel
+BuildRequires: libicu-devel >= 50.1
BuildRequires: libiw-devel
# requires libjpeg-turbo implementing at least libjpeg 6b API
BuildRequires: libjpeg-devel >= 6b
BuildRequires: libjpeg-turbo-devel
-BuildRequires: libnotify-devel >= 0.4
BuildRequires: libpng-devel >= 1.4.1
BuildRequires: libstdc++-devel
BuildRequires: mozldap-devel
BuildRequires: nspr-devel >= 1:%{nspr_ver}
BuildRequires: nss-devel >= 1:%{nss_ver}
-BuildRequires: pango-devel >= 1:1.14.0
+BuildRequires: pango-devel >= 1:1.22.0
BuildRequires: perl-base >= 1:5.6
BuildRequires: python-virtualenv
BuildRequires: pkgconfig
BuildRequires: python >= 1:2.5
BuildRequires: sed >= 4.0
-BuildRequires: sqlite3-devel >= 3.7.4
+BuildRequires: sqlite3-devel >= 3.8.4.2
BuildRequires: startup-notification-devel >= 0.8
-BuildRequires: libvpx-devel >= 1.0.0
+BuildRequires: libvpx-devel >= 1.3.0
+BuildRequires: virtualenv
BuildRequires: xorg-lib-libXext-devel
BuildRequires: xorg-lib-libXinerama-devel
BuildRequires: xorg-lib-libXt-devel
BuildRequires: zip
%if %{with xulrunner}
BuildRequires: xulrunner-devel >= %{xulrunner_ver}
+BuildRequires: xulrunner-devel < 2:32
%else
+Requires: glib2 >= 1:2.20
+%{!?with_gtk3:Requires: gtk+2 >= 2:2.14}
+%{?with_gtk3:Requires: gtk+3 >= 3.0.0}
+Requires: libvpx >= 1.3.0
Requires: myspell-common
Requires: nspr >= 1:%{nspr_ver}
Requires: nss >= 1:%{nss_ver}
+Requires: pango >= 1:1.22.0
Requires: sqlite3 >= %{sqlite_build_version}
%endif
Requires(post): mktemp >= 1.5-18
%define _noautoprovfiles %{_libdir}/%{name}/components
%if %{without xulrunner}
# we don't want these to satisfy packages depending on xulrunner
-%define _noautoprov libmozalloc.so libxpcom.so libxul.so
+%define _noautoprov libmozalloc.so libmozjs.so libxul.so
# and as we don't provide them, don't require either
-%define _noautoreq libmozalloc.so libxpcom.so libxul.so
+%define _noautoreq libmozalloc.so libmozjs.so libxul.so
%endif
%define topdir %{_builddir}/%{name}-%{version}
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} = %{version}-%{release}
-Requires: gnupg
-Obsoletes: mozilla-thunderbird-addon-enigmail
-
-%description addon-enigmail
-Enigmail is an extension to the Icedove mail client which allows users
-to access the authentication and encryption features provided by
-GnuPG.
-
-Main Features:
-- Encrypt/sign mail when sending, decrypt/authenticate received mail
-- Support for inline-PGP (RFC 2440) and PGP/MIME (RFC 3156)
-- Per-Account based encryption and signing defaults
-- Per-Recipient rules for automated key selection, and
- enabling/disabling encryption and signing
-- OpenPGP key management interface
-
-%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.
-
-Główne możliwości:
-- szyfrowanie/podpisywanie poczty przy wysyłaniu,
- odszyfrowywanie/uwierzytelnianie poczty odebranej
-- obsługa inline-PGP (RFC 2440) i PGP/MIME (RFC 3156)
-- ustawienia domyślne szyfrowania i podpisywania dla każdego konta
-- reguły automatycznego wyboru kluczy i włączenia szyfrowania oraz
- podpisywania dla każdego adresata
-- interfejs do zarządzania kluczami OpenPGP
-
%prep
%setup -qc
-mv comm-esr24 mozilla
+%{__mv} comm-esr38 mozilla
%setup -q -T -D -a2
cd mozilla
-%{?with_enigmail:%{__gzip} -dc %{SOURCE1} | %{__tar} -xf - -C mailnews/extensions}
-/bin/sh %{SOURCE3}
%patch0 -p1
-%{?with_enigmail:%patch1 -p1}
+%patch2 -p1
%patch3 -p1
+%patch5 -p2
%patch6 -p1
%patch7 -p1
-%patch8 -p2
-%patch10 -p2
-#patch11 -p2
-%patch12 -p1
-%patch13 -p1
-%patch14 -p1
-%patch15 -p1
-
-# the entire check in that configure is so wrong, it's simpler to just workaround it here temporarily
-%{__sed} -i -e 's|min_nss_version=3.15.3.1|min_nss_version=3.15.3|' mozilla/configure
+%patch8 -p1
+%patch9 -p2
%build
cd mozilla
%else
ac_add_options --disable-tests
%endif
-ac_add_options --enable-gio
-ac_add_options --disable-gnomeui
-ac_add_options --disable-gnomevfs
-%if %{with ldap}
-ac_add_options --enable-ldap
-ac_add_options --with-system-ldap
+%if %{with lightning}
+ac_add_options --enable-calendar
%else
-ac_add_options --disable-ldap
+ac_add_options --disable-calendar
%endif
%if %{with crashreporter}
ac_add_options --enable-crashreporter
%else
ac_add_options --disable-crashreporter
%endif
-ac_add_options --disable-xterm-updates
-ac_add_options --enable-postscript
-%if %{with lightning}
-ac_add_options --enable-calendar
-%else
-ac_add_options --disable-calendar
-%endif
ac_add_options --disable-elf-dynstr-gc
+ac_add_options --disable-elf-hack
+ac_add_options --disable-gnomeui
+ac_add_options --disable-gnomevfs
ac_add_options --disable-installer
ac_add_options --disable-javaxpcom
+ac_add_options --disable-profilesharing
ac_add_options --disable-updater
+ac_add_options --disable-xterm-updates
+ac_add_options --enable-application=mail
ac_add_options --enable-crypto
+ac_add_options --enable-default-toolkit=%{?with_gtk3:cairo-gtk3}%{!?with_gtk3:cairo-gtk2}
+ac_add_options --enable-gio
+%if %{with ldap}
+ac_add_options --enable-ldap
+ac_add_options --with-system-ldap
+%else
+ac_add_options --disable-ldap
+%endif
ac_add_options --enable-libxul
ac_add_options --enable-pango
-ac_add_options --enable-shared-js
+ac_add_options --enable-postscript
+%{?with_shared_js:ac_add_options --enable-shared-js}
+ac_add_options --enable-single-profile
ac_add_options --enable-startup-notification
ac_add_options --enable-system-cairo
ac_add_options --enable-system-hunspell
ac_add_options --enable-system-sqlite
-ac_add_options --enable-application=mail
-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}
+ac_add_options --with-distribution-id=org.pld-linux
%if %{with xulrunner}
-ac_add_options --with-system-libxul
ac_add_options --with-libxul-sdk=$(pkg-config --variable=sdkdir libxul)
+ac_add_options --with-system-libxul
%endif
ac_add_options --with-pthreads
ac_add_options --with-system-bz2
ac_add_options --with-system-ffi
+ac_add_options --with-system-icu
ac_add_options --with-system-jpeg
ac_add_options --with-system-libevent
ac_add_options --with-system-libvpx
ac_add_options --with-system-nss
ac_add_options --with-system-png
ac_add_options --with-system-zlib
-ac_add_options --enable-single-profile
-ac_add_options --disable-profilesharing
-ac_add_options --with-default-mozilla-five-home=%{_libdir}/%{name}
EOF
mkdir -p %{objdir}/config
%{__make} -j1 -C obj-%{_target_cpu} buildsymbols
%endif
-%if %{with enigmail}
-cd mailnews/extensions/enigmail
-./makemake -r -o %{objdir}
-%{__make} -j1 -C %{objdir}/mailnews/extensions/enigmail \
- STRIP="/bin/true" \
- CC="%{__cc}" \
- CXX="%{__cxx}"
-
-%{__make} -j1 -C %{objdir}/mailnews/extensions/enigmail xpi \
- STRIP="/bin/true" \
- CC="%{__cc}" \
- CXX="%{__cxx}"
-%endif
-
%install
rm -rf $RPM_BUILD_ROOT
install -d $RPM_BUILD_ROOT{%{_bindir},%{_libdir}/%{name},%{_datadir}/%{name},%{_pixmapsdir},%{_desktopdir}}
%{__make} -C icedove/branding install \
DESTDIR=$RPM_BUILD_ROOT
-cp -a mozilla/dist/icedove/* $RPM_BUILD_ROOT%{_libdir}/%{name}/
+cp -a dist/icedove/* $RPM_BUILD_ROOT%{_libdir}/%{name}/
%if %{with xulrunner}
# needed to find mozilla runtime
# Add debuginfo for crash-stats.mozilla.com
install -d $RPM_BUILD_ROOT%{_exec_prefix}/lib/debug%{_libdir}/%{name}
-cp -a mozilla/dist/%{name}-%{version}.en-US.linux-*.crashreporter-symbols.zip $RPM_BUILD_ROOT%{_prefix}/lib/debug%{_libdir}/%{name}
+cp -a dist/%{name}-%{version}.en-US.linux-*.crashreporter-symbols.zip $RPM_BUILD_ROOT%{_prefix}/lib/debug%{_libdir}/%{name}
%endif
-# copy manually lightning files, somewhy they are not installed by make
-cp -a mozilla/dist/bin/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103} \
- $RPM_BUILD_ROOT%{_libdir}/%{name}/extensions
-
# move arch independant ones to datadir
mv $RPM_BUILD_ROOT%{_libdir}/%{name}/searchplugins $RPM_BUILD_ROOT%{_datadir}/%{name}/searchplugins
ln -s ../../share/%{name}/searchplugins $RPM_BUILD_ROOT%{_libdir}/%{name}/searchplugins
EOF
chmod a+rx $RPM_BUILD_ROOT%{_libdir}/%{name}/register
-%if %{with enigmail}
-ext_dir=$RPM_BUILD_ROOT%{_libdir}/%{name}/extensions/\{847b3a00-7ab1-11d4-8f02-006008948af5\}
-install -d $ext_dir/{chrome,components,defaults/preferences,modules}
-cd mozilla/dist/bin
-cp -rfLp chrome/enigmail.jar $ext_dir/chrome
-cp -rfLp components/enig* $ext_dir/components
-cp -rfLp defaults/preferences/enigmail.js $ext_dir/defaults/preferences
-cp -rfLp modules/{commonFuncs,enigmailCommon,keyManagement,pipeConsole,subprocess}.jsm $ext_dir/modules
-cp -rfLp modules/{subprocess_worker_unix,subprocess_worker_win}.js $ext_dir/modules
-cd -
-cp -p %{topdir}/mozilla/mailnews/extensions/enigmail/package/install.rdf $ext_dir
-cp -p %{topdir}/mozilla/mailnews/extensions/enigmail/package/chrome.manifest $ext_dir/chrome.manifest
-%endif
-
# mozldap
%{__sed} -i '/lib\(ldap\|ldif\|prldap\)60.so/d' $RPM_BUILD_ROOT%{_libdir}/%{name}/dependentlibs.list
%{__rm} $RPM_BUILD_ROOT%{_libdir}/%{name}/lib{ldap,ldif,prldap}60.so
%if %{without xulrunner}
%{_libdir}/%{name}/dependentlibs.list
%{_libdir}/%{name}/platform.ini
-#%{_libdir}/%{name}/greprefs.js
%attr(755,root,root) %{_libdir}/%{name}/components/*.so
%attr(755,root,root) %{_libdir}/%{name}/libmozalloc.so
-%attr(755,root,root) %{_libdir}/%{name}/libmozjs.so
+%{?with_shared_js:%attr(755,root,root) %{_libdir}/%{name}/libmozjs.so}
%attr(755,root,root) %{_libdir}/%{name}/libxul.so
-%attr(755,root,root) %{_libdir}/%{name}/mozilla-xremote-client
%attr(755,root,root) %{_libdir}/%{name}/plugin-container
%endif
%{_libdir}/%{name}/chrome
%{_libdir}/%{name}/defaults
%{_libdir}/%{name}/isp
-#%{_libdir}/%{name}/modules
%{_libdir}/%{name}/searchplugins
%if %{with xulrunner}
%{_libdir}/%{name}/xulrunner
%{_desktopdir}/icedove.desktop
%dir %{_datadir}/%{name}
+%dir %{_libdir}/%{name}/distribution
+%dir %{_libdir}/%{name}/distribution/extensions
%{_datadir}/%{name}/extensions
%{_datadir}/%{name}/searchplugins
%if %{with lightning}
%files addon-lightning
%defattr(644,root,root,755)
-%dir %{_libdir}/%{name}/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}
-%{_libdir}/%{name}/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/application.ini
-%{_libdir}/%{name}/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome
-%{_libdir}/%{name}/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome.manifest
-%{_libdir}/%{name}/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/defaults
-%{_libdir}/%{name}/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/install.rdf
-%dir %{_libdir}/%{name}/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/components
-%attr(755,root,root) %{_libdir}/%{name}/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/components/*.so
-%{_libdir}/%{name}/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/components/*.js
-%{_libdir}/%{name}/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/components/*.manifest
-%{_libdir}/%{name}/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/components/*.xpt
-%{_libdir}/%{name}/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/modules
-%{_libdir}/%{name}/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/calendar-js
-%{_libdir}/%{name}/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/timezones.sqlite
-%endif
-
-%if %{with enigmail}
-%files addon-enigmail
-%defattr(644,root,root,755)
-%dir %{_libdir}/%{name}/extensions/{847b3a00-7ab1-11d4-8f02-006008948af5}
-%{_libdir}/%{name}/extensions/{847b3a00-7ab1-11d4-8f02-006008948af5}/defaults
-%{_libdir}/%{name}/extensions/{847b3a00-7ab1-11d4-8f02-006008948af5}/chrome
-%{_libdir}/%{name}/extensions/{847b3a00-7ab1-11d4-8f02-006008948af5}/chrome.manifest
-%{_libdir}/%{name}/extensions/{847b3a00-7ab1-11d4-8f02-006008948af5}/install.rdf
-%dir %{_libdir}/%{name}/extensions/{847b3a00-7ab1-11d4-8f02-006008948af5}/components
-%{_libdir}/%{name}/extensions/{847b3a00-7ab1-11d4-8f02-006008948af5}/components/*.xpt
-%{_libdir}/%{name}/extensions/{847b3a00-7ab1-11d4-8f02-006008948af5}/components/*.js
-%dir %{_libdir}/%{name}/extensions/{847b3a00-7ab1-11d4-8f02-006008948af5}/modules
-%{_libdir}/%{name}/extensions/{847b3a00-7ab1-11d4-8f02-006008948af5}/modules/*.jsm
-%{_libdir}/%{name}/extensions/{847b3a00-7ab1-11d4-8f02-006008948af5}/modules/*.js
+%dir %{_libdir}/%{name}/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}
+%{_libdir}/%{name}/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/app.ini
+%{_libdir}/%{name}/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome.jar
+%{_libdir}/%{name}/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome.manifest
+%{_libdir}/%{name}/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/defaults
+%{_libdir}/%{name}/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/install.rdf
+%dir %{_libdir}/%{name}/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/components
+%attr(755,root,root) %{_libdir}/%{name}/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/components/*.so
+%{_libdir}/%{name}/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/components/*.js
+%{_libdir}/%{name}/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/components/*manifest
+%{_libdir}/%{name}/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/components/*.xpt
+%{_libdir}/%{name}/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/modules
+%{_libdir}/%{name}/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/calendar-js
+%dir %{_libdir}/%{name}/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/timezones
+%{_libdir}/%{name}/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/timezones/zones.json
%endif