]> git.pld-linux.org Git - packages/thunderbird.git/blobdiff - icedove.spec
- fixed branding tarball (I hope)
[packages/thunderbird.git] / icedove.spec
index 6ee378471f417dc84f289e031848e327364b4cc0..d87eb1d14c6add121cc5bbdc1daae2a6f7f0df7c 100644 (file)
@@ -2,6 +2,11 @@
 # - separate spec for enigmail
 # - 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
+%bcond_with            xulrunner       # build with 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
+%undefine      crashreporter
+%endif
+
 %define                enigmail_ver            1.1.2
 
 %if %{without xulrunner}
 Summary:       Icedove - email client
 Summary(pl.UTF-8):     Icedove - klient poczty
 Name:          icedove
-Version:       3.1
-Release:       0.1
+Version:       3.1.2
+Release:       0.10
 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: feb4d737d568066076879a09bd0d506e
+# Source0-md5: 48e80576a7af70e64d30a5162364525a
 Source1:       http://www.mozilla-enigmail.org/download/source/enigmail-%{enigmail_ver}.tar.gz
 # Source1-md5: 7d329d5e8afbbb28214ca1995beb09c9
 Source2:       %{name}-branding.tar.bz2
-# Source2-md5: 2da351522bdd7f4a3bd8aaff4c776976
+# Source2-md5: 85fdf877e2f1bc41329d8086ef5cf0f1
 Source3:       %{name}-rm_nonfree.sh
 Source4:       %{name}.desktop
 Source5:       %{name}.sh
-Source6:       %{name}-enigmail.manifest
 Patch0:                %{name}-branding.patch
 Patch1:                %{name}-enigmail-shared.patch
 Patch2:                %{name}-gcc.patch
@@ -51,6 +60,8 @@ Patch6:               %{name}-prefs.patch
 Patch7:                system-mozldap.patch
 Patch8:                %{name}-makefile.patch
 Patch9:                %{name}-libpng.patch
+Patch10:       %{name}-extensiondir.patch
+Patch11:       crashreporter.patch
 URL:           http://www.pld-linux.org/Packages/Icedove
 %{?with_gnomevfs:BuildRequires:        GConf2-devel >= 1.2.1}
 BuildRequires: automake
@@ -170,12 +181,11 @@ cd mozilla
 %patch7 -p1
 %patch8 -p0
 %patch9 -p0
+%patch10 -p2
+%patch11 -p2
 
 %build
 cd mozilla
-export CFLAGS="%{rpmcflags} `%{_bindir}/pkg-config mozilla-nspr --cflags-only-I`"
-export CXXFLAGS="%{rpmcflags} `%{_bindir}/pkg-config mozilla-nspr --cflags-only-I`"
-
 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
@@ -186,6 +196,13 @@ ln -snf %{_libdir}/xulrunner-sdk libxul-sdk/sdk
 cat << EOF > .mozconfig
 mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/obj-%{_target_cpu}
 
+export CFLAGS="%{rpmcflags}"
+export CXXFLAGS="%{rpmcflags}"
+
+%if %{with crashreporter}
+export MOZ_DEBUG_SYMBOLS=1
+%endif
+
 # Options for 'configure' (same as command-line options).
 ac_add_options --prefix=%{_prefix}
 ac_add_options --exec-prefix=%{_exec_prefix}
@@ -235,7 +252,11 @@ ac_add_options --with-system-ldap
 %else
 ac_add_options --disable-ldap
 %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}
@@ -285,13 +306,20 @@ EOF
 
 %{__make} -j1 -f client.mk build \
        STRIP="/bin/true" \
+       MOZ_MAKE_FLAGS="%{?_smp_mflags}" \
        CC="%{__cc}" \
        CXX="%{__cxx}"
 
+%if %{with crashreporter}
+# create debuginfo for crash-stats.mozilla.com
+%{__make} -j1 -C obj-%{_target_cpu} buildsymbols
+%endif
+
 %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}"
@@ -299,26 +327,40 @@ cd mailnews/extensions/enigmail
 
 %install
 rm -rf $RPM_BUILD_ROOT
-install -d $RPM_BUILD_ROOT{%{_bindir},%{_libdir},%{_pixmapsdir},%{_desktopdir}} \
-              $RPM_BUILD_ROOT%{_datadir}/%{name}
-install -d $RPM_BUILD_ROOT%{_libdir}/%{name}
+install -d $RPM_BUILD_ROOT{%{_bindir},%{_libdir}/%{name},%{_datadir}/%{name},%{_pixmapsdir},%{_desktopdir}}
 
-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
 
+# Enable crash reporter for Firefox application
+%if %{with crashreporter}
+%{__sed} -i -e 's/\[Crash Reporter\]/[Crash Reporter]\nEnabled=1/' $RPM_BUILD_ROOT%{_libdir}/%{name}/application.ini
+
+# Add debuginfo for crash-stats.mozilla.com
+mkdir -p $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}
+%endif
+
+# 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}/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}/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
@@ -328,30 +370,33 @@ 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}/%{name}.png
+
+# files created by regxpcom -register
+touch $RPM_BUILD_ROOT%{_libdir}/%{name}/components/compreg.dat
+touch $RPM_BUILD_ROOT%{_libdir}/%{name}/components/xpti.dat
 
 %if %{with enigmail}
 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
-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} $ext_dir/chrome.manifest
-cp -f icedove/branding/content/icon64.png $RPM_BUILD_ROOT%{_pixmapsdir}/icedove.png
+cd mozilla/dist/bin
+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 ../mailnews/extensions/enigmail/package/install.rdf $ext_dir
+cp -a ../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
 # nss
@@ -368,7 +413,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
@@ -382,7 +427,8 @@ exit 0
 %attr(755,root,root) %{_bindir}/mozilla-thunderbird
 %attr(755,root,root) %{_bindir}/thunderbird
 %dir %{_libdir}/%{name}
-%{_libdir}/%{name}/*.ini
+%{_libdir}/%{name}/application.ini
+%{_libdir}/%{name}/platform.ini
 %dir %{_libdir}/%{name}/components
 %attr(755,root,root) %{_libdir}/%{name}/components/*.so
 %{_libdir}/%{name}/components/*.js
@@ -401,9 +447,9 @@ exit 0
 %{_libdir}/%{name}/dictionaries
 %{_libdir}/%{name}/greprefs
 %{_libdir}/%{name}/isp
+%{_libdir}/%{name}/modules
 %{_libdir}/%{name}/res
 
-%{_libdir}/%{name}/dependentlibs.list
 %{_pixmapsdir}/*.png
 %{_desktopdir}/*.desktop
 
@@ -412,27 +458,51 @@ exit 0
 %{_datadir}/%{name}/defaults
 %{_datadir}/%{name}/greprefs
 %{_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
+%if %{with crashreporter}
+%attr(755,root,root) %{_libdir}/%{name}/crashreporter
+%{_libdir}/%{name}/crashreporter.ini
+%{_libdir}/%{name}/Throbber-small.gif
+%endif
 
 %dir %{_libdir}/%{name}/extensions
 %{_libdir}/%{name}/extensions/{972ce4c6-7e08-4474-a285-3208198ce6fd}
 
+# files created by regxpcom -register
+%ghost %{_libdir}/%{name}/components/compreg.dat
+%ghost %{_libdir}/%{name}/components/xpti.dat
+
 %if %{with lightning}
 %files addon-lightning
 %defattr(644,root,root,755)
-%{_libdir}/%{name}/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}
+%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}/chrome
+%{_libdir}/%{name}/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome.manifest
+%{_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}/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
 
 %if %{with enigmail}
 %files addon-enigmail
 %defattr(644,root,root,755)
-%{_libdir}/%{name}/extensions/{847b3a00-7ab1-11d4-8f02-006008948af5}
+%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
+%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
 %endif
This page took 0.770041 seconds and 4 git commands to generate.