]> git.pld-linux.org Git - packages/icedove.git/blame - icedove.spec
- libpng fix
[packages/icedove.git] / icedove.spec
CommitLineData
c4ddd260 1# TODO:
c4ddd260 2# - separate spec for enigmail
283702b9 3# - fix icedove (building) and installing nss/nspr libs!
283702b9 4# - build with system mozldap
c4ddd260 5#
44be9ed4 6# Conditional builds
7%bcond_without enigmail # don't build enigmail - GPG/PGP support
8%bcond_without gnomeui # disable gnomeui support
9%bcond_without gnomevfs # disable GNOME comp. (gconf+libgnome+gnomevfs) and gnomevfs ext.
10%bcond_without gnome # disable all GNOME components (gnome+gnomeui+gnomevfs)
11%bcond_without ldap # disable e-mail address lookups in LDAP directories
6578c165 12%bcond_without lightning # disable sunbird calendar
88149483
ER
13%bcond_with xulrunner # build with system xulrunner
14
44be9ed4 15%if %{without gnome}
16%undefine with_gnomeui
17%undefine with_gnomevfs
18%endif
88149483 19
f4aadbdb 20%define enigmail_ver 1.1.2
44be9ed4 21
7d981f69
ER
22%if %{without xulrunner}
23# The actual sqlite version (see RHBZ#480989):
24%define sqlite_build_version %(pkg-config --silence-errors --modversion sqlite3 2>/dev/null || echo ERROR)
25%endif
26
44be9ed4 27Summary: Icedove - email client
28Summary(pl.UTF-8): Icedove - klient poczty
29Name: icedove
a85e0ecb 30Version: 3.1
31Release: 0.1
44be9ed4 32License: MPL 1.1 or GPL v2+ or LGPL v2.1+
33Group: Applications/Networking
cadfb931 34Source0: http://releases.mozilla.org/pub/mozilla.org/thunderbird/releases/%{version}/source/thunderbird-%{version}.source.tar.bz2
a85e0ecb 35# Source0-md5: feb4d737d568066076879a09bd0d506e
44be9ed4 36Source1: http://www.mozilla-enigmail.org/download/source/enigmail-%{enigmail_ver}.tar.gz
f4aadbdb 37# Source1-md5: 7d329d5e8afbbb28214ca1995beb09c9
44be9ed4 38Source2: %{name}-branding.tar.bz2
6578c165 39# Source2-md5: 2da351522bdd7f4a3bd8aaff4c776976
44be9ed4 40Source3: %{name}-rm_nonfree.sh
41Source4: %{name}.desktop
42Source5: %{name}.sh
2f151de0 43Source6: %{name}-enigmail.manifest
44be9ed4 44Patch0: %{name}-branding.patch
faa5c89d
SP
45Patch1: %{name}-enigmail-shared.patch
46Patch2: %{name}-gcc.patch
47Patch3: %{name}-fonts.patch
48Patch4: %{name}-install.patch
5e9bb798 49Patch5: %{name}-hunspell.patch
faa5c89d 50Patch6: %{name}-prefs.patch
9a743685 51Patch7: system-mozldap.patch
a85e0ecb 52Patch8: %{name}-makefile.patch
ca336c77 53Patch9: %{name}-libpng.patch
4922c320 54URL: http://www.pld-linux.org/Packages/Icedove
44be9ed4 55%{?with_gnomevfs:BuildRequires: GConf2-devel >= 1.2.1}
56BuildRequires: automake
57BuildRequires: freetype-devel >= 1:2.1.8
58%{?with_gnomevfs:BuildRequires: gnome-vfs2-devel >= 2.0}
59BuildRequires: gtk+2-devel >= 1:2.0.0
5e9bb798 60BuildRequires: hunspell-devel
44be9ed4 61BuildRequires: libIDL-devel >= 0.8.0
62%{?with_gnomevfs:BuildRequires: libgnome-devel >= 2.0}
63%{?with_gnomeui:BuildRequires: libgnomeui-devel >= 2.2.0}
64BuildRequires: libjpeg-devel >= 6b
65BuildRequires: libpng-devel >= 1.2.0
66BuildRequires: libstdc++-devel
cadfb931
SP
67BuildRequires: nspr-devel >= 1:4.8
68BuildRequires: nss-devel >= 1:3.12.0
44be9ed4 69BuildRequires: pango-devel >= 1:1.1.0
1c62cadb 70BuildRequires: pkgconfig
44be9ed4 71BuildRequires: sed >= 4.0
4b6bc367 72BuildRequires: sqlite3-devel >= 3.6.22
1c62cadb 73BuildRequires: startup-notification-devel >= 0.8
44be9ed4 74BuildRequires: xorg-lib-libXext-devel
44be9ed4 75BuildRequires: xorg-lib-libXinerama-devel
44be9ed4 76BuildRequires: xorg-lib-libXt-devel
1c62cadb 77BuildRequires: zip
7d981f69
ER
78%if %{with xulrunner}
79%else
44be9ed4 80Requires: myspell-common
81Requires: nspr >= 1:4.6.1
82Requires: nss >= 1:3.11.3
4b6bc367 83Requires: sqlite3 >= %{sqlite_build_version}
7d981f69 84%endif
44be9ed4 85Obsoletes: mozilla-thunderbird
86Obsoletes: mozilla-thunderbird-dictionary-en-US
87BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
88
9e366f18
AM
89%define filterout_cpp -D_FORTIFY_SOURCE=[0-9]+
90
44be9ed4 91# iceweasel/icedove/iceape provide their own versions
92%define _noautoreqdep libgfxpsshar.so libgkgfx.so libgtkxtbin.so libjsj.so libxpcom_compat.so libxpcom_core.so libxpistub.so
93%define _noautoprovfiles %{_libdir}/%{name}/components
94# we don't want these to satisfy xulrunner-devel
5ac9187e 95%define _noautoprov libgtkembedmoz.so libmozjs.so libxpcom.so libxul.so
44be9ed4 96# and as we don't provide them, don't require either
5ac9187e 97%define _noautoreq libgtkembedmoz.so libmozjs.so libxpcom.so libxul.so
44be9ed4 98
99%description
100Icedove is an open-source,fast and portable email client.
101
102%description -l pl.UTF-8
103Icedove jest open sourcowym, szybkim i przenośnym klientem poczty.
104
6578c165 105%package addon-lightning
106Summary: An integrated calendar for Icedove
107Summary(pl.UTF-8): Zintegrowany kalendarz dla Icedove
108License: MPL 1.1 or GPL v2+ or LGPL v2.1+
109Group: Applications/Networking
110Requires: %{name} = %{version}-%{release}
111
112%description addon-lightning
113Lightning is an calendar extension to Icedove email client.
114
115%description addon-lightning -l pl.UTF-8
116Lightning to rozszerzenie do klienta poczty Icedove dodające
117funkcjonalność kalendarza.
118
44be9ed4 119%package addon-enigmail
120Summary: Extension for the authentication and encryption features provided by GnuPG
121Summary(pl.UTF-8): Rozszerzenie do uwierzytelniania i szyfrowania zapewnianego przez GnuPG
122License: MPL/LGPL
123Group: Applications/Networking
124URL: http://enigmail.mozdev.org/
cd056caa 125Requires: %{name} = %{version}-%{release}
d076d93e 126Requires: gnupg
75991bbb 127Obsoletes: mozilla-thunderbird-addon-enigmail
44be9ed4 128
129%description addon-enigmail
c5e06599 130Enigmail is an extension to the Icedove mail client which allows users
131to access the authentication and encryption features provided by
132GnuPG.
44be9ed4 133
134Main Features:
135- Encrypt/sign mail when sending, decrypt/authenticate received mail
136- Support for inline-PGP (RFC 2440) and PGP/MIME (RFC 3156)
137- Per-Account based encryption and signing defaults
138- Per-Recipient rules for automated key selection, and
139 enabling/disabling encryption and signing
140- OpenPGP key management interface
141
142%description addon-enigmail -l pl.UTF-8
c5e06599 143Enigmail to rozszerzenie klienta pocztowego Icedove pozwalające
faa5c89d
SP
144użytkownikom na dostęp do uwierzytelniania i szyfrowania zapewnianego
145przez GnuPG.
44be9ed4 146
147Główne możliwości:
148- szyfrowanie/podpisywanie poczty przy wysyłaniu,
149 odszyfrowywanie/uwierzytelnianie poczty odebranej
150- obsługa inline-PGP (RFC 2440) i PGP/MIME (RFC 3156)
151- ustawienia domyślne szyfrowania i podpisywania dla każdego konta
152- reguły automatycznego wyboru kluczy i włączenia szyfrowania oraz
153 podpisywania dla każdego adresata
154- interfejs do zarządzania kluczami OpenPGP
155
156%prep
983562b1 157%setup -qc
a85e0ecb 158mv -f comm-1.9.2 mozilla
983562b1 159%setup -q -T -D -a2
160cd mozilla
44be9ed4 161%{?with_enigmail:tar xvfz %{SOURCE1} -C mailnews/extensions}
162/bin/sh %{SOURCE3}
983562b1 163%patch0 -p1
faa5c89d
SP
164%{?with_enigmail:%patch1 -p1}
165%patch2 -p1
4ccc2157 166%patch3 -p1
faa5c89d 167%patch4 -p1
5e9bb798 168%patch5 -p1
983562b1 169%patch6 -p1
9a743685 170%patch7 -p1
a85e0ecb 171%patch8 -p0
ca336c77 172%patch9 -p0
44be9ed4 173
174%build
983562b1 175cd mozilla
44be9ed4 176export CFLAGS="%{rpmcflags} `%{_bindir}/pkg-config mozilla-nspr --cflags-only-I`"
177export CXXFLAGS="%{rpmcflags} `%{_bindir}/pkg-config mozilla-nspr --cflags-only-I`"
178
cadfb931
SP
179cp -f %{_datadir}/automake/config.* mozilla/build/autoconf
180cp -f %{_datadir}/automake/config.* mozilla/nsprpub/build/autoconf
44be9ed4 181cp -f %{_datadir}/automake/config.* directory/c-sdk/config/autoconf
182
9a743685
ER
183install -d libxul-sdk
184ln -snf %{_libdir}/xulrunner-sdk libxul-sdk/sdk
9a743685 185
fbac75ca 186cat << EOF > .mozconfig
cb0e4412
SP
187mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/obj-%{_target_cpu}
188
59c5a0e8 189# Options for 'configure' (same as command-line options).
44be9ed4 190ac_add_options --prefix=%{_prefix}
191ac_add_options --exec-prefix=%{_exec_prefix}
192ac_add_options --bindir=%{_bindir}
193ac_add_options --sbindir=%{_sbindir}
194ac_add_options --sysconfdir=%{_sysconfdir}
195ac_add_options --datadir=%{_datadir}
196ac_add_options --includedir=%{_includedir}
197ac_add_options --libdir=%{_libdir}
198ac_add_options --libexecdir=%{_libexecdir}
199ac_add_options --localstatedir=%{_localstatedir}
200ac_add_options --sharedstatedir=%{_sharedstatedir}
201ac_add_options --mandir=%{_mandir}
202ac_add_options --infodir=%{_infodir}
203%if %{?debug:1}0
59c5a0e8 204ac_add_options --disable-optimize
44be9ed4 205ac_add_options --enable-debug
206ac_add_options --enable-debug-modules
59c5a0e8
SP
207ac_add_options --enable-debugger-info-modules
208ac_add_options --enable-crash-on-assert
44be9ed4 209%else
210ac_add_options --disable-debug
211ac_add_options --disable-debug-modules
59c5a0e8
SP
212ac_add_options --disable-logging
213ac_add_options --enable-optimize="%{rpmcflags} -Os"
44be9ed4 214%endif
88149483
ER
215ac_add_options --disable-strip
216ac_add_options --disable-strip-libs
44be9ed4 217%if %{with tests}
218ac_add_options --enable-tests
219%else
220ac_add_options --disable-tests
221%endif
222%if %{with gnomeui}
223ac_add_options --enable-gnomeui
224%else
225ac_add_options --disable-gnomeui
226%endif
227%if %{with gnomevfs}
228ac_add_options --enable-gnomevfs
229%else
230ac_add_options --disable-gnomevfs
231%endif
232%if %{with ldap}
233ac_add_options --enable-ldap
9a743685 234ac_add_options --with-system-ldap
44be9ed4 235%else
236ac_add_options --disable-ldap
237%endif
59c5a0e8 238ac_add_options --disable-crashreporter
59c5a0e8 239ac_add_options --disable-xterm-updates
59c5a0e8 240ac_add_options --enable-postscript
d076d93e 241%if %{with lightning}
cb0e4412 242ac_add_options --enable-calendar
d076d93e
SP
243%else
244ac_add_options --disable-calendar
245%endif
44be9ed4 246ac_add_options --disable-installer
247ac_add_options --disable-jsd
88149483 248ac_add_options --disable-updater
44be9ed4 249ac_add_options --disable-xprint
cadfb931
SP
250ac_add_options --disable-permissions
251ac_add_options --disable-pref-extensions
44be9ed4 252ac_add_options --enable-canvas
253ac_add_options --enable-crypto
44be9ed4 254ac_add_options --enable-mathml
44be9ed4 255ac_add_options --enable-pango
256ac_add_options --enable-reorder
88149483
ER
257ac_add_options --enable-startup-notification
258ac_add_options --enable-svg
44be9ed4 259ac_add_options --enable-system-cairo
5e9bb798 260ac_add_options --enable-system-hunspell
7d981f69 261ac_add_options --enable-system-sqlite
44be9ed4 262ac_add_options --enable-xft
cadfb931
SP
263ac_add_options --enable-application=mail
264ac_add_options --enable-default-toolkit=cairo-gtk2
44be9ed4 265ac_add_options --enable-xinerama
88149483
ER
266ac_add_options --with-distribution-id=org.pld-linux
267ac_add_options --with-branding=icedove/branding
268%if %{with xulrunner}
fbac75ca
ER
269ac_add_options --with-libxul-sdk=$(pwd)/libxul-sdk
270ac_add_options --enable-shared
271%else
272ac_add_options --enable-static
88149483
ER
273%endif
274ac_add_options --with-pthreads
275ac_add_options --with-system-bz2
44be9ed4 276ac_add_options --with-system-jpeg
277ac_add_options --with-system-nspr
278ac_add_options --with-system-nss
279ac_add_options --with-system-png
280ac_add_options --with-system-zlib
44be9ed4 281ac_add_options --enable-single-profile
282ac_add_options --disable-profilesharing
44be9ed4 283ac_add_options --with-default-mozilla-five-home=%{_libdir}/%{name}
284EOF
285
90e998ba 286%{__make} -j1 -f client.mk build \
d076d93e
SP
287 STRIP="/bin/true" \
288 CC="%{__cc}" \
44be9ed4 289 CXX="%{__cxx}"
290
291%if %{with enigmail}
59c5a0e8 292cd mailnews/extensions/enigmail
d076d93e 293./makemake -r
59c5a0e8 294%{__make} -C ../../../obj-%{_target_cpu}/mailnews/extensions/enigmail \
d076d93e
SP
295 STRIP="/bin/true" \
296 CC="%{__cc}" \
297 CXX="%{__cxx}"
44be9ed4 298%endif
299
300%install
301rm -rf $RPM_BUILD_ROOT
302install -d $RPM_BUILD_ROOT{%{_bindir},%{_libdir},%{_pixmapsdir},%{_desktopdir}} \
60c77977
SP
303 $RPM_BUILD_ROOT%{_datadir}/%{name}
304install -d $RPM_BUILD_ROOT%{_libdir}/%{name}
44be9ed4 305
983562b1 306cd mozilla
cb0e4412 307%{__make} -C obj-%{_target_cpu}/mail/installer stage-package \
44be9ed4 308 DESTDIR=$RPM_BUILD_ROOT \
309 MOZ_PKG_APPDIR=%{_libdir}/%{name} \
310 PKG_SKIP_STRIP=1
311
312# move arch independant ones to datadir
313mv $RPM_BUILD_ROOT%{_libdir}/%{name}/chrome $RPM_BUILD_ROOT%{_datadir}/%{name}/chrome
314mv $RPM_BUILD_ROOT%{_libdir}/%{name}/defaults $RPM_BUILD_ROOT%{_datadir}/%{name}/defaults
315mv $RPM_BUILD_ROOT%{_libdir}/%{name}/greprefs $RPM_BUILD_ROOT%{_datadir}/%{name}/greprefs
44be9ed4 316mv $RPM_BUILD_ROOT%{_libdir}/%{name}/isp $RPM_BUILD_ROOT%{_datadir}/%{name}/isp
317mv $RPM_BUILD_ROOT%{_libdir}/%{name}/res $RPM_BUILD_ROOT%{_datadir}/%{name}/res
318ln -s ../../share/%{name}/chrome $RPM_BUILD_ROOT%{_libdir}/%{name}/chrome
319ln -s ../../share/%{name}/defaults $RPM_BUILD_ROOT%{_libdir}/%{name}/defaults
320ln -s ../../share/%{name}/greprefs $RPM_BUILD_ROOT%{_libdir}/%{name}/greprefs
44be9ed4 321ln -s ../../share/%{name}/isp $RPM_BUILD_ROOT%{_libdir}/%{name}/isp
322ln -s ../../share/%{name}/res $RPM_BUILD_ROOT%{_libdir}/%{name}/res
323
324rm -rf $RPM_BUILD_ROOT%{_libdir}/%{name}/dictionaries
325ln -s %{_datadir}/myspell $RPM_BUILD_ROOT%{_libdir}/%{name}/dictionaries
326
327%{__sed} -e 's,@LIBDIR@,%{_libdir},' %{SOURCE5} > $RPM_BUILD_ROOT%{_bindir}/icedove
328ln -s %{name} $RPM_BUILD_ROOT%{_bindir}/thunderbird
329ln -s %{name} $RPM_BUILD_ROOT%{_bindir}/mozilla-thunderbird
330
331install %{SOURCE4} $RPM_BUILD_ROOT%{_desktopdir}/%{name}.desktop
332
333%if %{with enigmail}
283702b9
ER
334ext_dir=$RPM_BUILD_ROOT%{_libdir}/%{name}/extensions/\{847b3a00-7ab1-11d4-8f02-006008948af5\}
335install -d $ext_dir/{chrome,components,defaults/preferences}
336mv -f $RPM_BUILD_ROOT%{_libdir}/%{name}/chrome/enigmail.jar $ext_dir/chrome
337mv -f $RPM_BUILD_ROOT%{_libdir}/%{name}/components/enig* $ext_dir/components
338mv -f $RPM_BUILD_ROOT%{_libdir}/%{name}/components/libenigmime.so $ext_dir/components
339mv -f $RPM_BUILD_ROOT%{_libdir}/%{name}/components/ipc.xpt $ext_dir/components
340mv -f $RPM_BUILD_ROOT%{_libdir}/%{name}/defaults/preferences/enigmail.js $ext_dir/defaults/preferences
341cp -f mailnews/extensions/enigmail/package/install.rdf $ext_dir
44be9ed4 342rm -rf $RPM_BUILD_ROOT%{_libdir}/%{name}/defaults/preferences
343rm -f $RPM_BUILD_ROOT%{_libdir}/%{name}/chrome/enigmail-en-US.jar
344rm -f $RPM_BUILD_ROOT%{_libdir}/%{name}/chrome/enigmail-skin.jar
345rm -f $RPM_BUILD_ROOT%{_libdir}/%{name}/chrome/enigmime.jar
346rm -rf $RPM_BUILD_ROOT%{_libdir}/%{name}/components/enig*
347rm -f $RPM_BUILD_ROOT%{_libdir}/%{name}/components/libenigmime.so
348rm -f $RPM_BUILD_ROOT%{_libdir}/%{name}/components/ipc.xpt
283702b9 349cp -f %{SOURCE6} $ext_dir/chrome.manifest
983562b1 350cp -f icedove/branding/content/icon64.png $RPM_BUILD_ROOT%{_pixmapsdir}/icedove.png
44be9ed4 351%endif
352
9a743685
ER
353# remove unecessary stuff
354rm $RPM_BUILD_ROOT%{_libdir}/%{name}/README.txt
44be9ed4 355
9a743685 356# never package these
283702b9
ER
357# nss
358rm -f $RPM_BUILD_ROOT%{_libdir}/%{name}/lib{freebl3,nss3,nssckbi,nssdbm3,nssutil3,smime3,softokn3,ssl3}.*
359# nspr
360rm -f $RPM_BUILD_ROOT%{_libdir}/%{name}/lib{nspr4,plc4,plds4}.so
283702b9
ER
361# mozldap
362rm -f $RPM_BUILD_ROOT%{_libdir}/%{name}/lib{ldap,ldif,prldap,ssldap}60.so
363
44be9ed4 364%clean
365rm -rf $RPM_BUILD_ROOT
366
367%pretrans
368if [ -d %{_libdir}/%{name}/dictionaries ] && [ ! -L %{_libdir}/%{name}/dictionaries ]; then
369 mv -v %{_libdir}/%{name}/dictionaries{,.rpmsave}
370fi
bc9cd18a 371for d in chrome defaults greprefs icons isp res; do
44be9ed4 372 if [ -d %{_libdir}/%{name}/$d ] && [ ! -L %{_libdir}/%{name}/$d ]; then
373 install -d %{_datadir}/%{name}
374 mv %{_libdir}/%{name}/$d %{_datadir}/%{name}/$d
375 fi
376done
377exit 0
378
379%files
380%defattr(644,root,root,755)
381%attr(755,root,root) %{_bindir}/icedove
382%attr(755,root,root) %{_bindir}/mozilla-thunderbird
383%attr(755,root,root) %{_bindir}/thunderbird
384%dir %{_libdir}/%{name}
60c77977 385%{_libdir}/%{name}/*.ini
44be9ed4 386%dir %{_libdir}/%{name}/components
387%attr(755,root,root) %{_libdir}/%{name}/components/*.so
388%{_libdir}/%{name}/components/*.js
389%{_libdir}/%{name}/components/*.xpt
283702b9
ER
390%attr(755,root,root) %{_libdir}/%{name}/libmozjs.so
391%attr(755,root,root) %{_libdir}/%{name}/libxpcom.so
392%attr(755,root,root) %{_libdir}/%{name}/libxpcom_core.so
44be9ed4 393%attr(755,root,root) %{_libdir}/%{name}/*.sh
394%attr(755,root,root) %{_libdir}/%{name}/*-bin
395%attr(755,root,root) %{_libdir}/%{name}/mozilla-xremote-client
bc9cd18a 396%attr(755,root,root) %{_libdir}/%{name}/icedove
44be9ed4 397
398# symlinks
399%{_libdir}/%{name}/chrome
400%{_libdir}/%{name}/defaults
401%{_libdir}/%{name}/dictionaries
402%{_libdir}/%{name}/greprefs
44be9ed4 403%{_libdir}/%{name}/isp
404%{_libdir}/%{name}/res
405
406%{_libdir}/%{name}/dependentlibs.list
5e9bb798 407%{_pixmapsdir}/*.png
44be9ed4 408%{_desktopdir}/*.desktop
409
410%dir %{_datadir}/%{name}
411%{_datadir}/%{name}/chrome
412%{_datadir}/%{name}/defaults
413%{_datadir}/%{name}/greprefs
44be9ed4 414%{_datadir}/%{name}/isp
415%{_datadir}/%{name}/res
416
60c77977
SP
417%dir %{_libdir}/%{name}/modules
418%{_libdir}/%{name}/modules/*.js*
419%dir %{_libdir}/%{name}/modules/activity
420%{_libdir}/%{name}/modules/activity/*.js
421%dir %{_libdir}/%{name}/modules/gloda
422%{_libdir}/%{name}/modules/gloda/*.js
423
44be9ed4 424%dir %{_libdir}/%{name}/extensions
425%{_libdir}/%{name}/extensions/{972ce4c6-7e08-4474-a285-3208198ce6fd}
6578c165 426
427%if %{with lightning}
428%files addon-lightning
429%defattr(644,root,root,755)
94402182 430%{_libdir}/%{name}/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}
6578c165 431%{_libdir}/%{name}/extensions/calendar-timezones@mozilla.org
432%endif
44be9ed4 433
434%if %{with enigmail}
435%files addon-enigmail
436%defattr(644,root,root,755)
437%{_libdir}/%{name}/extensions/{847b3a00-7ab1-11d4-8f02-006008948af5}
438%endif
This page took 0.079484 seconds and 4 git commands to generate.