]> git.pld-linux.org Git - packages/thunderbird.git/blobdiff - icedove.spec
- up to 3.1.2, lightning files packaged
[packages/thunderbird.git] / icedove.spec
index 81a3505d459f80980397d3ae55e370054e46ea51..cdbe98a7c2e5e1773f0d79c28c664d1fe340e048 100644 (file)
@@ -1,9 +1,12 @@
-#
 # TODO:
 # - separate spec for enigmail
-# - remove -myspell.patch
-# - package unpackaged files
-# - fix hunspell and enable
+# - fix icedove (building) and installing nss/nspr libs!
+# - build with system mozldap
+# - about dialog broken:
+#XML Parsing Error: undefined entity
+#Location: chrome://messenger/content/aboutDialog.xul
+#Line Number 27, Column 37:        <description id="copyright">&logoTrademark;</description>
+#------------------------------------^
 #
 # Conditional builds
 %bcond_without enigmail        # don't build enigmail - GPG/PGP support
 %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
-#
+%bcond_with            xulrunner       # build with system xulrunner
+
 %if %{without gnome}
 %undefine      with_gnomeui
 %undefine      with_gnomevfs
 %endif
-%define                enigmail_ver            1.0.1
+
+%define                enigmail_ver            1.1.2
+
+%if %{without xulrunner}
+# The actual sqlite version (see RHBZ#480989):
+%define                sqlite_build_version %(pkg-config --silence-errors --modversion sqlite3 2>/dev/null || echo ERROR)
+%endif
 
 Summary:       Icedove - email client
 Summary(pl.UTF-8):     Icedove - klient poczty
 Name:          icedove
-Version:       3.0.1
-Release:       0.4
+Version:       3.1.2
+Release:       0.2
 License:       MPL 1.1 or GPL v2+ or LGPL v2.1+
-Group:         Applications/Networking
+Group:         X11/Applications/Networking
 Source0:       http://releases.mozilla.org/pub/mozilla.org/thunderbird/releases/%{version}/source/thunderbird-%{version}.source.tar.bz2
-# Source0-md5: f004aa5ddf2a30b5df96e06df416b0c9
+# Source0-md5: 48e80576a7af70e64d30a5162364525a
 Source1:       http://www.mozilla-enigmail.org/download/source/enigmail-%{enigmail_ver}.tar.gz
-# Source1-md5: 508ca9ab0396afb49e82eda88014924b
+# Source1-md5: 7d329d5e8afbbb28214ca1995beb09c9
 Source2:       %{name}-branding.tar.bz2
 # Source2-md5: 2da351522bdd7f4a3bd8aaff4c776976
 Source3:       %{name}-rm_nonfree.sh
@@ -41,18 +51,18 @@ Patch1:             %{name}-enigmail-shared.patch
 Patch2:                %{name}-gcc.patch
 Patch3:                %{name}-fonts.patch
 Patch4:                %{name}-install.patch
-Patch5:                %{name}-myspell.patch
+Patch5:                %{name}-hunspell.patch
 Patch6:                %{name}-prefs.patch
-Patch7:                %{name}-breakpad.patch
-Patch8:                %{name}-libpng.patch
-Patch9:                %{name}-condstore.patch
+Patch7:                system-mozldap.patch
+Patch8:                %{name}-makefile.patch
+Patch9:                %{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: hunspell-devel
 BuildRequires: libIDL-devel >= 0.8.0
 %{?with_gnomevfs:BuildRequires:        libgnome-devel >= 2.0}
 %{?with_gnomeui:BuildRequires: libgnomeui-devel >= 2.2.0}
@@ -64,14 +74,19 @@ BuildRequires:      nss-devel >= 1:3.12.0
 BuildRequires: pango-devel >= 1:1.1.0
 BuildRequires: pkgconfig
 BuildRequires: sed >= 4.0
+BuildRequires: sqlite3-devel >= 3.6.22
 BuildRequires: startup-notification-devel >= 0.8
 BuildRequires: xorg-lib-libXext-devel
 BuildRequires: xorg-lib-libXinerama-devel
 BuildRequires: xorg-lib-libXt-devel
 BuildRequires: zip
+%if %{with xulrunner}
+%else
 Requires:      myspell-common
 Requires:      nspr >= 1:4.6.1
 Requires:      nss >= 1:3.11.3
+Requires:      sqlite3 >= %{sqlite_build_version}
+%endif
 Obsoletes:     mozilla-thunderbird
 Obsoletes:     mozilla-thunderbird-dictionary-en-US
 BuildRoot:     %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
@@ -82,9 +97,9 @@ BuildRoot:    %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 %define                _noautoreqdep           libgfxpsshar.so libgkgfx.so libgtkxtbin.so libjsj.so libxpcom_compat.so libxpcom_core.so libxpistub.so
 %define                _noautoprovfiles        %{_libdir}/%{name}/components
 # we don't want these to satisfy xulrunner-devel
-%define                _noautoprov             libgtkembedmoz.so libldap50.so libmozjs.so libprldap50.so libssldap50.so libxpcom.so libxul.so
+%define                _noautoprov             libgtkembedmoz.so libmozjs.so libxpcom.so libxul.so
 # and as we don't provide them, don't require either
-%define                _noautoreq              libgtkembedmoz.so libldap50.so libmozjs.so libprldap50.so libssldap50.so libxpcom.so libxul.so
+%define                _noautoreq              libgtkembedmoz.so libmozjs.so libxpcom.so libxul.so
 
 %description
 Icedove is an open-source,fast and portable email client.
@@ -145,7 +160,7 @@ Główne możliwości:
 
 %prep
 %setup -qc
-mv -f comm-1.9.1 mozilla
+mv -f comm-1.9.2 mozilla
 %setup -q -T -D -a2
 cd mozilla
 %{?with_enigmail:tar xvfz %{SOURCE1} -C mailnews/extensions}
@@ -155,11 +170,11 @@ cd mozilla
 %patch2 -p1
 %patch3 -p1
 %patch4 -p1
-#%patch5 -p1
+%patch5 -p1
 %patch6 -p1
 %patch7 -p1
-%patch8 -p1
-%patch9 -p1
+%patch8 -p0
+%patch9 -p0
 
 %build
 cd mozilla
@@ -170,7 +185,10 @@ 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
+install -d libxul-sdk
+ln -snf %{_libdir}/xulrunner-sdk libxul-sdk/sdk
+
+cat << EOF > .mozconfig
 mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/obj-%{_target_cpu}
 
 # Options for 'configure' (same as command-line options).
@@ -199,6 +217,8 @@ ac_add_options --disable-debug-modules
 ac_add_options --disable-logging
 ac_add_options --enable-optimize="%{rpmcflags} -Os"
 %endif
+ac_add_options --disable-strip
+ac_add_options --disable-strip-libs
 %if %{with tests}
 ac_add_options --enable-tests
 %else
@@ -216,15 +236,13 @@ ac_add_options --disable-gnomevfs
 %endif
 %if %{with ldap}
 ac_add_options --enable-ldap
+ac_add_options --with-system-ldap
 %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
@@ -232,36 +250,41 @@ 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
 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-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-hunspell
+ac_add_options --enable-startup-notification
 ac_add_options --enable-svg
+ac_add_options --enable-system-cairo
+ac_add_options --enable-system-hunspell
+ac_add_options --enable-system-sqlite
 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-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
+%endif
+ac_add_options --with-pthreads
+ac_add_options --with-system-bz2
 ac_add_options --with-system-jpeg
 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 --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
 
@@ -271,9 +294,10 @@ EOF
        CXX="%{__cxx}"
 
 %if %{with enigmail}
+top=$(pwd)
 cd mailnews/extensions/enigmail
-./makemake -r
-%{__make} -C ../../../obj-%{_target_cpu}/mailnews/extensions/enigmail \
+./makemake -r -o $top/obj-%{_target_cpu}
+%{__make} -C $top/obj-%{_target_cpu}/mailnews/extensions/enigmail \
        STRIP="/bin/true" \
        CC="%{__cc}" \
        CXX="%{__cxx}"
@@ -285,24 +309,29 @@ install -d $RPM_BUILD_ROOT{%{_bindir},%{_libdir},%{_pixmapsdir},%{_desktopdir}}
               $RPM_BUILD_ROOT%{_datadir}/%{name}
 install -d $RPM_BUILD_ROOT%{_libdir}/%{name}
 
-cd mozilla
-%{__make} -C obj-%{_target_cpu}/mail/installer stage-package \
+cd mozilla/obj-%{_target_cpu}
+%{__make} -C mail/installer stage-package \
        DESTDIR=$RPM_BUILD_ROOT \
        MOZ_PKG_APPDIR=%{_libdir}/%{name} \
        PKG_SKIP_STRIP=1
 
+# copy manually lightning files, somewhy they are not installed by make
+cp -a mozilla/dist/bin/extensions/calendar-timezones@mozilla.org \
+       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}/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}/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
 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}/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
 
 rm -rf $RPM_BUILD_ROOT%{_libdir}/%{name}/dictionaries
@@ -312,19 +341,18 @@ ln -s %{_datadir}/myspell $RPM_BUILD_ROOT%{_libdir}/%{name}/dictionaries
 ln -s %{name} $RPM_BUILD_ROOT%{_bindir}/thunderbird
 ln -s %{name} $RPM_BUILD_ROOT%{_bindir}/mozilla-thunderbird
 
-install %{SOURCE4} $RPM_BUILD_ROOT%{_desktopdir}/%{name}.desktop
+cp -a %{SOURCE4} $RPM_BUILD_ROOT%{_desktopdir}/%{name}.desktop
+cp -a ../icedove/branding/content/icon64.png $RPM_BUILD_ROOT%{_pixmapsdir}/icedove.png
 
 %if %{with enigmail}
-_enig_dir=$RPM_BUILD_ROOT%{_libdir}/%{name}/extensions/\{847b3a00-7ab1-11d4-8f02-006008948af5\}
-install -d $_enig_dir/chrome
-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}/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
-mv -f $RPM_BUILD_ROOT%{_libdir}/%{name}/defaults/preferences/enigmail.js $_enig_dir/defaults/preferences
-cp -f mailnews/extensions/enigmail/package/install.rdf $_enig_dir
+ext_dir=$RPM_BUILD_ROOT%{_libdir}/%{name}/extensions/\{847b3a00-7ab1-11d4-8f02-006008948af5\}
+install -d $ext_dir/{chrome,components,defaults/preferences}
+mv -f $RPM_BUILD_ROOT%{_libdir}/%{name}/chrome/enigmail.jar $ext_dir/chrome
+mv -f $RPM_BUILD_ROOT%{_libdir}/%{name}/components/enig* $ext_dir/components
+mv -f $RPM_BUILD_ROOT%{_libdir}/%{name}/components/libenigmime.so $ext_dir/components
+mv -f $RPM_BUILD_ROOT%{_libdir}/%{name}/components/ipc.xpt $ext_dir/components
+mv -f $RPM_BUILD_ROOT%{_libdir}/%{name}/defaults/preferences/enigmail.js $ext_dir/defaults/preferences
+cp -f mailnews/extensions/enigmail/package/install.rdf $ext_dir
 rm -rf $RPM_BUILD_ROOT%{_libdir}/%{name}/defaults/preferences
 rm -f $RPM_BUILD_ROOT%{_libdir}/%{name}/chrome/enigmail-en-US.jar
 rm -f $RPM_BUILD_ROOT%{_libdir}/%{name}/chrome/enigmail-skin.jar
@@ -332,12 +360,20 @@ rm -f $RPM_BUILD_ROOT%{_libdir}/%{name}/chrome/enigmime.jar
 rm -rf $RPM_BUILD_ROOT%{_libdir}/%{name}/components/enig*
 rm -f $RPM_BUILD_ROOT%{_libdir}/%{name}/components/libenigmime.so
 rm -f $RPM_BUILD_ROOT%{_libdir}/%{name}/components/ipc.xpt
-cp -f %{SOURCE6} $_enig_dir/chrome.manifest
-cp -f icedove/branding/content/icon64.png $RPM_BUILD_ROOT%{_pixmapsdir}/icedove.png
+cp -f %{SOURCE6} $ext_dir/chrome.manifest
 %endif
 
-# win32 stuff
-rm -f $RPM_BUILD_ROOT%{_libdir}/%{name}/dirver
+# remove unecessary stuff
+rm $RPM_BUILD_ROOT%{_libdir}/%{name}/README.txt
+rm $RPM_BUILD_ROOT%{_libdir}/%{name}/components/components.list
+
+# never package these
+# nss
+rm -f $RPM_BUILD_ROOT%{_libdir}/%{name}/lib{freebl3,nss3,nssckbi,nssdbm3,nssutil3,smime3,softokn3,ssl3}.*
+# nspr
+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
 
 %clean
 rm -rf $RPM_BUILD_ROOT
@@ -346,7 +382,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 res; do
+for d in chrome defaults greprefs icons isp modules res; do
        if [ -d %{_libdir}/%{name}/$d ] && [ ! -L %{_libdir}/%{name}/$d ]; then
                install -d %{_datadir}/%{name}
                mv %{_libdir}/%{name}/$d %{_datadir}/%{name}/$d
@@ -365,45 +401,34 @@ exit 0
 %attr(755,root,root) %{_libdir}/%{name}/components/*.so
 %{_libdir}/%{name}/components/*.js
 %{_libdir}/%{name}/components/*.xpt
-%attr(755,root,root) %{_libdir}/%{name}/*.so
+%attr(755,root,root) %{_libdir}/%{name}/libmozjs.so
+%attr(755,root,root) %{_libdir}/%{name}/libxpcom.so
+%attr(755,root,root) %{_libdir}/%{name}/libxpcom_core.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}/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}/isp
+%{_libdir}/%{name}/modules
 %{_libdir}/%{name}/res
 
-%{_libdir}/%{name}/dependentlibs.list
-#%{_libdir}/%{name}/updater
-#%{_libdir}/%{name}/update.locale
-#%{_pixmapsdir}/*.png
+%{_pixmapsdir}/*.png
 %{_desktopdir}/*.desktop
 
 %dir %{_datadir}/%{name}
 %{_datadir}/%{name}/chrome
 %{_datadir}/%{name}/defaults
 %{_datadir}/%{name}/greprefs
-#%{_datadir}/%{name}/icons
 %{_datadir}/%{name}/isp
+%{_datadir}/%{name}/modules
 %{_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}
 
This page took 0.114113 seconds and 4 git commands to generate.