X-Git-Url: http://git.pld-linux.org/?a=blobdiff_plain;f=icedove.spec;h=8b018bf89c302dba2bd12cd16f3b64719313e077;hb=64b4570daa071e3e4284a969573128a9abbb5dcd;hp=ef1b3a15052983c701f864717f4303cd104ef890;hpb=d478bac589113a505c9e138b7808ae90f426f2c0;p=packages%2Fthunderbird.git diff --git a/icedove.spec b/icedove.spec index ef1b3a1..8b018bf 100644 --- a/icedove.spec +++ b/icedove.spec @@ -1,28 +1,31 @@ # TODO: # - separate spec for enigmail -# - fix icedove (building) and installing nss/nspr libs! # - build with system mozldap # # Conditional builds %bcond_without enigmail # don't build enigmail - GPG/PGP support %bcond_without gnomeui # disable gnomeui support -%bcond_without gnomevfs # disable GNOME comp. (gconf+libgnome+gnomevfs) and gnomevfs ext. -%bcond_without gnome # disable all GNOME components (gnome+gnomeui+gnomevfs) +%bcond_without gnome # alias for gnomeui %bcond_without ldap # disable e-mail address lookups in LDAP directories -%bcond_without lightning # disable sunbird calendar -%bcond_with xulrunner # build with xulrunner +%bcond_without lightning # disable Sunbird/Lightning calendar +%bcond_with xulrunner # system xulrunner %bcond_with crashreporter # report crashes to crash-stats.mozilla.com %if %{without gnome} %undefine with_gnomeui -%undefine with_gnomevfs %endif -%if %{?_enable_debug_packages} != 1 +%if 0%{?_enable_debug_packages} != 1 %undefine crashreporter %endif -%define enigmail_ver 1.1.2 +%define enigmail_ver 1.4 +%define nspr_ver 4.9 +%define nss_ver 3.13.3 + +# convert thunderbird release number to platform version: 11.0.x -> 11.0.x +%define xulrunner_main 11.0 +%define xulrunner_ver %(v=%{version}; echo %{xulrunner_main}${v#11.0}) %if %{without xulrunner} # The actual sqlite version (see RHBZ#480989): @@ -32,14 +35,14 @@ Summary: Icedove - email client Summary(pl.UTF-8): Icedove - klient poczty Name: icedove -Version: 3.1.9 +Version: 11.0 Release: 1 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: e6917c419d3aaa8083a1d4b53fb80d8c +# Source0-md5: 1d7127a3282e62d95eb9b59d47291b70 Source1: http://www.mozilla-enigmail.org/download/source/enigmail-%{enigmail_ver}.tar.gz -# Source1-md5: 7d329d5e8afbbb28214ca1995beb09c9 +# Source1-md5: 5cf3d9720ed1cda1b22eabe5457772c2 Source2: %{name}-branding.tar.bz2 # Source2-md5: 2da351522bdd7f4a3bd8aaff4c776976 Source3: %{name}-rm_nonfree.sh @@ -47,54 +50,63 @@ Source4: %{name}.desktop 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 URL: http://www.pld-linux.org/Packages/Icedove -%{?with_gnomevfs:BuildRequires: GConf2-devel >= 1.2.1} +BuildRequires: GConf2-devel >= 1.2.1 BuildRequires: alsa-lib-devel BuildRequires: automake BuildRequires: bzip2-devel +BuildRequires: cairo-devel >= 1.10 +BuildRequires: dbus-glib-devel >= 0.60 BuildRequires: freetype-devel >= 1:2.1.8 -%{?with_gnomevfs:BuildRequires: gnome-vfs2-devel >= 2.0} -BuildRequires: gtk+2-devel >= 1:2.0.0 +BuildRequires: glib2-devel >= 2.0 +BuildRequires: gtk+2-devel >= 2:2.10.0 BuildRequires: hunspell-devel BuildRequires: libIDL-devel >= 0.8.0 -%{?with_gnomevfs:BuildRequires: libgnome-devel >= 2.0} +%{?with_gnomeui:BuildRequires: libgnome-devel >= 2.0} %{?with_gnomeui:BuildRequires: libgnome-keyring-devel} %{?with_gnomeui:BuildRequires: libgnomeui-devel >= 2.2.0} BuildRequires: libiw-devel BuildRequires: libjpeg-devel >= 6b BuildRequires: libnotify-devel >= 0.4 -BuildRequires: libpng-devel >= 1.2.0 +BuildRequires: libpng-devel >= 1.4.1 BuildRequires: libstdc++-devel -BuildRequires: nspr-devel >= 1:4.8 -BuildRequires: nss-devel >= 1:3.12.0 +BuildRequires: nspr-devel >= 1:%{nspr_ver} +BuildRequires: nss-devel >= 1:%{nss_ver} BuildRequires: pango-devel >= 1:1.1.0 +BuildRequires: perl-base >= 1:5.6 BuildRequires: pkgconfig +BuildRequires: python >= 1:2.5 BuildRequires: sed >= 4.0 -BuildRequires: sqlite3-devel >= 3.7.2-2 +BuildRequires: sqlite3-devel >= 3.7.4 BuildRequires: startup-notification-devel >= 0.8 BuildRequires: xorg-lib-libXext-devel BuildRequires: xorg-lib-libXinerama-devel BuildRequires: xorg-lib-libXt-devel +BuildRequires: yasm BuildRequires: zip -Requires(post): mktemp >= 1.5-18 %if %{with xulrunner} +BuildRequires: xulrunner-devel >= 2:%{xulrunner_ver} %else Requires: myspell-common -Requires: nspr >= 1:4.6.1 -Requires: nss >= 1:3.11.3 +Requires: nspr >= 1:%{nspr_ver} +Requires: nss >= 1:%{nss_ver} Requires: sqlite3 >= %{sqlite_build_version} %endif +Requires(post): mktemp >= 1.5-18 +%if %{with xulrunner} +%requires_eq_to xulrunner xulrunner-devel +%endif Obsoletes: mozilla-thunderbird Obsoletes: mozilla-thunderbird-dictionary-en-US BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) @@ -102,21 +114,21 @@ 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 +%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} %description -Icedove is an open-source,fast and portable email client. +Icedove is an open-source, fast and portable email client. %description -l pl.UTF-8 -Icedove jest open sourcowym, szybkim i przenośnym klientem poczty. +Icedove jest mającym otwarte źródła, szybkim i przenośnym klientem +poczty. %package addon-lightning Summary: An integrated calendar for Icedove @@ -171,21 +183,19 @@ Główne możliwości: %prep %setup -qc -mv -f comm-1.9.2 mozilla +mv comm-release 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 +%{?with_system_xulrunner:%patch2 -p1} %patch3 -p1 %patch4 -p1 -%patch5 -p1 %patch6 -p1 %patch7 -p1 -%patch8 -p0 -%patch9 -p0 +%patch8 -p2 %patch10 -p2 %patch11 -p2 %patch12 -p1 @@ -194,16 +204,14 @@ cd mozilla cd mozilla cp -f %{_datadir}/automake/config.* mozilla/build/autoconf cp -f %{_datadir}/automake/config.* mozilla/nsprpub/build/autoconf -cp -f %{_datadir}/automake/config.* directory/sdks/c-sdk/config/autoconf - -install -d libxul-sdk -ln -snf %{_libdir}/xulrunner-sdk libxul-sdk/sdk +cp -f %{_datadir}/automake/config.* ldap/sdks/c-sdk/config/autoconf cat << EOF > .mozconfig mk_add_options MOZ_OBJDIR=%{objdir} export CFLAGS="%{rpmcflags}" -export CXXFLAGS="%{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 @@ -242,16 +250,13 @@ ac_add_options --enable-tests %else ac_add_options --disable-tests %endif +ac_add_options --enable-gio %if %{with gnomeui} ac_add_options --enable-gnomeui %else ac_add_options --disable-gnomeui %endif -%if %{with gnomevfs} -ac_add_options --enable-gnomevfs -%else ac_add_options --disable-gnomevfs -%endif %if %{with ldap} ac_add_options --enable-ldap ac_add_options --with-system-ldap @@ -271,7 +276,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 @@ -293,10 +297,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 -ac_add_options --enable-shared -%else -ac_add_options --enable-static +ac_add_options --enable-shared-js +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 @@ -337,7 +340,7 @@ install -d $RPM_BUILD_ROOT{%{_bindir},%{_libdir}/%{name},%{_datadir}/%{name},%{_ cd %{objdir} %{__make} -C mail/installer stage-package \ DESTDIR=$RPM_BUILD_ROOT \ - MOZ_PKG_APPDIR=%{_libdir}/%{name} \ + MOZ_PKG_DIR=%{_libdir}/%{name} \ PKG_SKIP_STRIP=1 # Enable crash reporter for Firefox application @@ -357,26 +360,34 @@ cp -a mozilla/dist/bin/extensions/calendar-timezones@mozilla.org \ # move arch independant ones to datadir 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}/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}/greprefs $RPM_BUILD_ROOT%{_libdir}/%{name}/greprefs 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 +# XRE_SYS_LOCAL_EXTENSION_PARENT_DIR and XRE_SYS_SHARE_EXTENSION_PARENT_DIR +install -d $RPM_BUILD_ROOT%{_datadir}/%{name}/extensions %{__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 -a %{SOURCE4} $RPM_BUILD_ROOT%{_desktopdir}/%{name}.desktop -cp -a %{topdir}/mozilla/icedove/branding/content/icon64.png $RPM_BUILD_ROOT%{_pixmapsdir}/%{name}.png +cp -p %{SOURCE4} $RPM_BUILD_ROOT%{_desktopdir}/%{name}.desktop +cp -p %{topdir}/mozilla/icedove/branding/content/icon64.png $RPM_BUILD_ROOT%{_pixmapsdir}/%{name}.png # files created by regxpcom -register in post touch $RPM_BUILD_ROOT%{_libdir}/%{name}/components/compreg.dat @@ -388,7 +399,7 @@ umask 022 # dangerous if you run this with sudo with keep_env += HOME # also TMPDIR could be pointing to sudo user's homedir so we reset that too. t=$(mktemp -d) -%{__rm} %{_libdir}/%{name}/components/{compreg,xpti}.dat +%{__rm} -f %{_libdir}/%{name}/components/{compreg,xpti}.dat TMPDIR= TMP= HOME=$t %{_libdir}/%{name}/icedove -register rm -rf $t EOF @@ -398,23 +409,18 @@ chmod a+rx $RPM_BUILD_ROOT%{_libdir}/%{name}/register ext_dir=$RPM_BUILD_ROOT%{_libdir}/%{name}/extensions/\{847b3a00-7ab1-11d4-8f02-006008948af5\} install -d $ext_dir/{chrome,components,defaults/preferences} 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 chrome/enigmime.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 cd - -cp -a %{topdir}/mozilla/mailnews/extensions/enigmail/package/install.rdf $ext_dir -cp -a %{topdir}/mozilla/mailnews/extensions/enigmail/package/chrome.manifest $ext_dir/chrome.manifest +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}.* @@ -430,7 +436,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 greprefs 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 @@ -449,38 +455,46 @@ exit 0 %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 -%attr(755,root,root) %{_libdir}/%{name}/libmozjs.so +%{_libdir}/%{name}/components/components.manifest +%{_libdir}/%{name}/components/interfaces.manifest +%attr(755,root,root) %{_libdir}/%{name}/libmozalloc.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 %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 # symlinks %{_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}/searchplugins %if %{with crashreporter} %attr(755,root,root) %{_libdir}/%{name}/crashreporter @@ -499,18 +513,19 @@ exit 0 %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}/defaults +%{_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/*.xpt %{_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 - %{_libdir}/%{name}/extensions/calendar-timezones@mozilla.org %endif