X-Git-Url: http://git.pld-linux.org/?p=packages%2Fthunderbird.git;a=blobdiff_plain;f=icedove.spec;h=e0fa9af59ec57a3327fd78b68a893a60a03563b9;hp=679ce90fc1a45e8b06e32e46f288b17c8823511f;hb=3a30e2d72b7fa4799d8dbfbb0494479a2fc49ae6;hpb=bc85e07e6b7b1b3d4acb1844711f7207bdea2810 diff --git a/icedove.spec b/icedove.spec index 679ce90..e0fa9af 100644 --- a/icedove.spec +++ b/icedove.spec @@ -1,23 +1,23 @@ # 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): @@ -27,32 +27,28 @@ Summary: Icedove - email client Summary(pl.UTF-8): Icedove - klient poczty Name: icedove -Version: 24.5.0 +Version: 38.4.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: 483373b1485cf2edea77c75a69602870 +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 +Patch1: %{name}-fonts.patch +Patch2: %{name}-prefs.patch +Patch3: system-mozldap.patch +Patch4: %{name}-makefile.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 +Patch11: freetype-2.6.patch URL: http://www.pld-linux.org/Packages/Icedove BuildRequires: GConf2-devel >= 1.2.1 BuildRequires: alsa-lib-devel @@ -61,32 +57,33 @@ BuildRequires: bzip2-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: xorg-lib-libXext-devel BuildRequires: xorg-lib-libXinerama-devel BuildRequires: xorg-lib-libXt-devel @@ -94,10 +91,16 @@ BuildRequires: yasm 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 @@ -116,9 +119,9 @@ BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) %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} @@ -145,65 +148,22 @@ Lightning is an calendar extension to Icedove email client. 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} +#%patch1 -p1 +%patch2 -p1 %patch3 -p1 +#%patch4 -p2 +%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 +%patch11 -p1 %build cd mozilla @@ -254,49 +214,54 @@ ac_add_options --enable-tests %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-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 @@ -304,9 +269,6 @@ ac_add_options --with-system-nspr 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 @@ -325,20 +287,6 @@ ln -s %{topdir}/mozilla/config/*.mk %{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}} @@ -352,7 +300,7 @@ cd %{objdir} %{__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 @@ -365,13 +313,9 @@ ln -s ../xulrunner $RPM_BUILD_ROOT%{_libdir}/%{name}/xulrunner # 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 @@ -422,20 +366,6 @@ rm -rf $t 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 @@ -477,12 +407,10 @@ exit 0 %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 @@ -490,7 +418,6 @@ exit 0 %{_libdir}/%{name}/chrome %{_libdir}/%{name}/defaults %{_libdir}/%{name}/isp -#%{_libdir}/%{name}/modules %{_libdir}/%{name}/searchplugins %if %{with xulrunner} %{_libdir}/%{name}/xulrunner @@ -502,6 +429,8 @@ exit 0 %{_desktopdir}/icedove.desktop %dir %{_datadir}/%{name} +%dir %{_libdir}/%{name}/distribution +%dir %{_libdir}/%{name}/distribution/extensions %{_datadir}/%{name}/extensions %{_datadir}/%{name}/searchplugins @@ -523,34 +452,19 @@ exit 0 %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