X-Git-Url: http://git.pld-linux.org/?a=blobdiff_plain;f=icedove.spec;h=d72391577a90abd1a65af481dc367950369ba6f3;hb=bf0c92c25ec79520e4ca6c81a88878cf6d45730f;hp=cd4adff3039941043faaedb44ede2de917a554b1;hpb=6864d0a2be46340a08bb04a9492bfcf0a2157ba4;p=packages%2Ficedove.git diff --git a/icedove.spec b/icedove.spec index cd4adff..d723915 100644 --- a/icedove.spec +++ b/icedove.spec @@ -1,7 +1,6 @@ # TODO: # - separate spec for enigmail # - build with system mozldap -# - enigmail - new version needed # # Conditional builds %bcond_without enigmail # don't build enigmail - GPG/PGP support @@ -9,7 +8,7 @@ %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} @@ -20,13 +19,11 @@ %undefine crashreporter %endif -%define enigmail_ver 1.3.5 -%define nspr_ver 4.8.8 -%define nss_ver 3.12.10 +%define enigmail_ver 1.5.1 +%define nspr_ver 4.9.3 +%define nss_ver 3.14.1 -# convert firefox 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}) +%define xulrunner_ver 2:17.0 %if %{without xulrunner} # The actual sqlite version (see RHBZ#480989): @@ -36,14 +33,14 @@ Summary: Icedove - email client Summary(pl.UTF-8): Icedove - klient poczty Name: icedove -Version: 10.0.1 +Version: 17.0.7 Release: 1 License: MPL 1.1 or GPL v2+ or LGPL v2.1+ -Group: X11/Applications/Networking +Group: X11/Applications/Mail Source0: http://releases.mozilla.org/pub/mozilla.org/thunderbird/releases/%{version}/source/thunderbird-%{version}.source.tar.bz2 -# Source0-md5: 623c32d9deae370383e1422b1ea48061 +# Source0-md5: 31f07c3911d1d6772831195af64db963 Source1: http://www.mozilla-enigmail.org/download/source/enigmail-%{enigmail_ver}.tar.gz -# Source1-md5: 1b008b0d106e238c11e4bead08126bc0 +# Source1-md5: 3e71f84ed2c11471282412ebe4f5eb2d Source2: %{name}-branding.tar.bz2 # Source2-md5: 2da351522bdd7f4a3bd8aaff4c776976 Source3: %{name}-rm_nonfree.sh @@ -51,17 +48,19 @@ Source4: %{name}.desktop Source5: %{name}.sh Patch0: %{name}-branding.patch 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: system-mozldap.patch Patch8: %{name}-makefile.patch -#Patch9: %{name}-libpng.patch +Patch9: system-cairo.patch Patch10: %{name}-extensiondir.patch Patch11: crashreporter.patch Patch12: 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 URL: http://www.pld-linux.org/Packages/Icedove BuildRequires: GConf2-devel >= 1.2.1 BuildRequires: alsa-lib-devel @@ -78,13 +77,15 @@ BuildRequires: libIDL-devel >= 0.8.0 %{?with_gnomeui:BuildRequires: libgnome-keyring-devel} %{?with_gnomeui:BuildRequires: libgnomeui-devel >= 2.2.0} 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: nspr-devel >= 1:%{nspr_ver} BuildRequires: nss-devel >= 1:%{nss_ver} -BuildRequires: pango-devel >= 1:1.1.0 +BuildRequires: pango-devel >= 1:1.14.0 BuildRequires: perl-base >= 1:5.6 BuildRequires: pkgconfig BuildRequires: python >= 1:2.5 @@ -97,7 +98,8 @@ BuildRequires: xorg-lib-libXt-devel BuildRequires: yasm BuildRequires: zip %if %{with xulrunner} -BuildRequires: xulrunner-devel >= 2:%{xulrunner_ver} +BuildRequires: xulrunner-devel >= %{xulrunner_ver} +BuildRequires: xulrunner-devel < 2:18 %else Requires: myspell-common Requires: nspr >= 1:%{nspr_ver} @@ -108,19 +110,22 @@ Requires(post): mktemp >= 1.5-18 %if %{with xulrunner} %requires_eq_to xulrunner xulrunner-devel %endif +Requires: libjpeg-turbo Obsoletes: mozilla-thunderbird Obsoletes: mozilla-thunderbird-dictionary-en-US +Conflicts: icedove-lang-resources < %{version} 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 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 +%if %{without xulrunner} +# we don't want these to satisfy packages depending on xulrunner +%define _noautoprov libmozalloc.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 libmozalloc.so libxpcom.so libxul.so +%endif %define topdir %{_builddir}/%{name}-%{version} %define objdir %{topdir}/obj-%{_target_cpu} @@ -185,23 +190,24 @@ Główne możliwości: %prep %setup -qc -mv comm-release mozilla +mv comm-esr17 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 %patch4 -p1 %patch6 -p1 %patch7 -p1 %patch8 -p2 -#%patch9 -p1 +%patch9 -p1 %patch10 -p2 %patch11 -p2 %patch12 -p1 +%patch13 -p1 +%patch14 -p1 %build cd mozilla @@ -209,14 +215,11 @@ cp -f %{_datadir}/automake/config.* mozilla/build/autoconf 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}" +export CXXFLAGS="%{rpmcflags}" %if %{with crashreporter} export MOZ_DEBUG_SYMBOLS=1 @@ -281,7 +284,6 @@ ac_add_options --enable-calendar ac_add_options --disable-calendar %endif ac_add_options --disable-installer -ac_add_options --disable-jsd ac_add_options --disable-updater ac_add_options --disable-xprint ac_add_options --disable-permissions @@ -303,12 +305,9 @@ ac_add_options --enable-xinerama 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 ac_add_options --with-pthreads ac_add_options --with-system-bz2 @@ -325,6 +324,7 @@ EOF %{__make} -j1 -f client.mk build \ STRIP="/bin/true" \ MOZ_MAKE_FLAGS="%{?_smp_mflags}" \ + XLIBS="-lX11 -lXt" \ CC="%{__cc}" \ CXX="%{__cxx}" @@ -340,6 +340,11 @@ cd mailnews/extensions/enigmail STRIP="/bin/true" \ CC="%{__cc}" \ CXX="%{__cxx}" + +%{__make} -C %{objdir}/mailnews/extensions/enigmail xpi \ + STRIP="/bin/true" \ + CC="%{__cc}" \ + CXX="%{__cxx}" %endif %install @@ -352,7 +357,12 @@ cd %{objdir} MOZ_PKG_DIR=%{_libdir}/%{name} \ PKG_SKIP_STRIP=1 -# Enable crash reporter for Firefox application +%if %{with xulrunner} +# needed to find mozilla runtime +ln -s ../xulrunner $RPM_BUILD_ROOT%{_libdir}/%{name}/xulrunner +%endif + +# Enable crash reporter for Thunderbird application %if %{with crashreporter} %{__sed} -i -e 's/\[Crash Reporter\]/[Crash Reporter]\nEnabled=1/' $RPM_BUILD_ROOT%{_libdir}/%{name}/application.ini @@ -371,23 +381,32 @@ mv $RPM_BUILD_ROOT%{_libdir}/%{name}/chrome $RPM_BUILD_ROOT%{_datadir}/%{name}/c mv $RPM_BUILD_ROOT%{_libdir}/%{name}/defaults $RPM_BUILD_ROOT%{_datadir}/%{name}/defaults 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}/searchplugins $RPM_BUILD_ROOT%{_libdir}/%{name}/searchplugins +%if %{without xulrunner} +mv $RPM_BUILD_ROOT%{_libdir}/%{name}/res $RPM_BUILD_ROOT%{_datadir}/%{name}/res ln -s ../../share/%{name}/res $RPM_BUILD_ROOT%{_libdir}/%{name}/res +%endif # dir for arch independant extensions besides arch dependant extensions # see mozilla/xpcom/build/nsXULAppAPI.h # XRE_SYS_LOCAL_EXTENSION_PARENT_DIR and XRE_SYS_SHARE_EXTENSION_PARENT_DIR install -d $RPM_BUILD_ROOT%{_datadir}/%{name}/extensions +%if %{without xulrunner} %{__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 +%endif + +%{__sed} -e "s|%MOZAPPDIR%|%{_libdir}/%{name}|" \ + -e "s|%MOZ_APP_DISPLAYNAME%|Icedove|" \ + %{topdir}/mozilla/mozilla/build/unix/mozilla.in > $RPM_BUILD_ROOT%{_libdir}/%{name}/icedove %{__sed} -e 's,@LIBDIR@,%{_libdir},' %{SOURCE5} > $RPM_BUILD_ROOT%{_bindir}/icedove ln -s %{name} $RPM_BUILD_ROOT%{_bindir}/thunderbird @@ -414,25 +433,19 @@ 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} +install -d $ext_dir/{chrome,components,defaults/preferences,modules} cd mozilla/dist/bin -#cp -rfLp chrome/enigmail.jar $ext_dir/chrome -#cp -rfLp chrome/enigmime.jar $ext_dir/chrome +cp -rfLp chrome/enigmail.jar $ext_dir/chrome cp -rfLp components/enig* $ext_dir/components cp -rfLp components/libenigmime.so $ext_dir/components -cp -rfLp components/libipc.so $ext_dir/components -cp -rfLp components/ipc.xpt $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 -# 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}.* @@ -440,6 +453,8 @@ cp -p %{topdir}/mozilla/mailnews/extensions/enigmail/package/chrome.manifest $ex %{__rm} -f $RPM_BUILD_ROOT%{_libdir}/%{name}/lib{nspr4,plc4,plds4}.so # mozldap %{__rm} -f $RPM_BUILD_ROOT%{_libdir}/%{name}/lib{ldap,ldif,prldap,ssldap}60.so +# testpilot quiz +%{__rm} -f $RPM_BUILD_ROOT%{_libdir}/%{name}/distribution/extensions/tbtestpilot@labs.mozilla.com.xpi %clean rm -rf $RPM_BUILD_ROOT @@ -448,7 +463,7 @@ rm -rf $RPM_BUILD_ROOT 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 @@ -466,46 +481,65 @@ exit 0 %attr(755,root,root) %{_bindir}/thunderbird %dir %{_libdir}/%{name} %{_libdir}/%{name}/application.ini -%{_libdir}/%{name}/platform.ini %{_libdir}/%{name}/blocklist.xml %{_libdir}/%{name}/chrome.manifest -%{_libdir}/%{name}/greprefs.js %dir %{_libdir}/%{name}/components -%attr(755,root,root) %{_libdir}/%{name}/components/*.so %{_libdir}/%{name}/components/*.js %{_libdir}/%{name}/components/*.xpt %{_libdir}/%{name}/components/components.manifest %{_libdir}/%{name}/components/interfaces.manifest +%attr(755,root,root) %{_libdir}/%{name}/*.sh +%attr(755,root,root) %{_libdir}/%{name}/*-bin +%attr(755,root,root) %{_libdir}/%{name}/icedove +%attr(755,root,root) %{_libdir}/%{name}/register +%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}/libxpcom.so %attr(755,root,root) %{_libdir}/%{name}/libxul.so -%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}/icedove %attr(755,root,root) %{_libdir}/%{name}/plugin-container -%attr(755,root,root) %{_libdir}/%{name}/register +%endif # symlinks %{_libdir}/%{name}/chrome %{_libdir}/%{name}/defaults -%{_libdir}/%{name}/dictionaries -%{_libdir}/%{name}/hyphenation %{_libdir}/%{name}/isp %{_libdir}/%{name}/modules +%{_libdir}/%{name}/searchplugins +%if %{with xulrunner} +%{_libdir}/%{name}/xulrunner +%else +%{_libdir}/%{name}/dictionaries +%{_libdir}/%{name}/hyphenation %{_libdir}/%{name}/res +%endif -%{_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 +%if %{with enigmail} +%exclude %{_datadir}/%{name}/modules/commonFuncs.jsm +%exclude %{_datadir}/%{name}/modules/enigmailCommon.jsm +%exclude %{_datadir}/%{name}/modules/keyManagement.jsm +%exclude %{_datadir}/%{name}/modules/pipeConsole.jsm +%exclude %{_datadir}/%{name}/modules/subprocess.jsm +%exclude %{_datadir}/%{name}/modules/subprocess_worker_unix.js +%exclude %{_datadir}/%{name}/modules/subprocess_worker_win.js +%endif +%{_datadir}/%{name}/searchplugins +%if %{without xulrunner} %{_datadir}/%{name}/res -%{_datadir}/%{name}/extensions +%endif %if %{with crashreporter} %attr(755,root,root) %{_libdir}/%{name}/crashreporter @@ -552,4 +586,7 @@ exit 0 %attr(755,root,root) %{_libdir}/%{name}/extensions/{847b3a00-7ab1-11d4-8f02-006008948af5}/components/*.so %{_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 %endif