File MozillaSunbird.spec of Package MozillaSunbird

#
# spec file for package MozillaSunbird (Version 0.8)
#
# Copyright (c) 2008 SUSE LINUX Products GmbH, Nuernberg, Germany.
# This file and all modifications and additions to the pristine
# package are under the same license as the package itself.
#
# Please submit bugfixes or comments via http://bugs.opensuse.org/
#



Name:           MozillaSunbird
BuildRequires:  fdupes gcc-c++ libgnomeui-devel libidl-devel orbit-devel update-desktop-files zip
BuildRequires:  mozilla-nspr-devel unzip
BuildRequires:  mozilla-nss-devel
License:        GPL v2 or later; LGPL v2.1 or later; MOZILLA PUBLIC LICENSE (MPL/NPL)
Version:        0.8
Release:        16
Summary:        Mozilla's Calendar Application
#'
Url:            http://www.mozilla.org/projects/calendar/
Group:          Productivity/Office/Organizers
Source:         sunbird-%{version}-source.tar.bz2
Source1:        sunbird.desktop
Source2:        l10n-%{version}.tar.bz2
Patch1:         mozilla-gcc4.3-fixes.patch
Patch2:         mozilla-path_len.patch
Patch4:         nss-opt.patch
Patch8:         abuild.patch
Patch9:         locale.patch
### Patch10:        undefined-ops.patch
Patch11:        missing-return.patch
Patch12:        visibility.patch
### Patch13:        mozilla-missing-decl.patch
Patch14:        unused-includes.patch
BuildRoot:      %{_tmppath}/%{name}-%{version}-build
PreReq:         libstdc++ fileutils textutils /bin/sh
%define _unpackaged_files_terminate_build 0
%define releasedate 2008040400
%define progname sunbird
%define progdir %{_prefix}/%_lib/%{progname}
%define my_provides /tmp/my-provides
%define my_requires /tmp/my-requires

%description
The Sunbird Project is a redesign of the Mozilla Calendar component.
Thegoal is to produce a cross-platform stand-alone calendar application
basedon Mozilla's XUL user interface language. At the moment, Sunbird
is a project name. It is not official and may change in the future. The
intended user is someone who uses Mozilla Firefox and Mozilla
Thunderbird and wants a calendar application based on Mozilla.



Authors:
--------
    Mozilla Foundation <drivers@mozilla.org>

%package translations
License:        GPL v2 or later; LGPL v2.1 or later; MOZILLA PUBLIC LICENSE (MPL/NPL)
#'
Summary:        Translations of Mozilla Sunbird
Provides:       locale(%{name}:ca;cs;da;de;es_AR;es_ES;eu;fr;ga_IE;hu;it;ja;ka;ko;lt;mk;nb_NO;nl;pl;pt_BR;pt_PT;ru;sk;sl;sv_SE;tr;uk;zh_CN)
Group:          Productivity/Office/Organizers
PreReq:         %{name} = %{version}

%description translations
This package contains the additional languages for Sunbird.

The Sunbird Project is a redesign of the Mozilla Calendar component.
The goal is to produce a cross-platform stand-alone calendar
application based on Mozilla's XUL user interface language. At the
moment, the Sunbird name is a project name. It is not official and may
change in the future.

The intended user is someone who uses Mozilla Firefox and Mozilla
Thunderbird and wants a calendar application based on Mozilla.



Authors:
--------
    Mozilla Foundation <drivers@mozilla.org>

%prep
#'
%setup -q -n mozilla -b 2 
%patch1
%patch2 -p1
%patch4
%patch8 -p1
%patch9
### %patch10 -p0
%patch11
%patch12
### %patch13 -p1
%patch14

%build
export MOZ_BUILD_DATE=%{releasedate}
export MOZILLA_OFFICIAL=1
export BUILD_OFFICIAL=1
export CFLAGS="$RPM_OPT_FLAGS -Os -fno-strict-aliasing"
%if %suse_version > 1000
export CFLAGS="$CFLAGS -fstack-protector"
%endif
export CXXFLAGS="$CFLAGS"
export MOZCONFIG=$RPM_BUILD_DIR/mozconfig
cat << EOF > $MOZCONFIG
mk_add_options MOZILLA_OFFICIAL=1
mk_add_options BUILD_OFFICIAL=1
mk_add_options MOZ_MAKE_FLAGS=%{?jobs:-j%jobs}
. \$topsrcdir/calendar/sunbird/config/mozconfig
ac_add_options --prefix=%{_prefix}
ac_add_options --libdir=%{_libdir}
ac_add_options --sysconfdir=%{_sysconfdir}
ac_add_options --mandir=%{_mandir}
ac_add_options --includedir=%{_includedir}
ac_add_options --enable-optimize="$CFLAGS"
ac_add_options --with-system-jpeg
ac_add_options --with-system-png
ac_add_options --with-system-zlib
ac_add_options --enable-default-toolkit=gtk2
ac_add_options --enable-xft
ac_add_options --disable-tests
ac_add_options --disable-freetype2
ac_add_options --disable-installer
ac_add_options --enable-static
ac_add_options --disable-shared
ac_add_options --enable-logging
ac_add_options --enable-official-branding
#ac_add_options --enable-debug
EOF
%if %suse_version > 930
cat << EOF >> $MOZCONFIG
ac_add_options --with-system-nspr
ac_add_options --enable-system-cairo
EOF
%endif
%if %suse_version > 1010
cat << EOF >> $MOZCONFIG
ac_add_options --with-system-nss
EOF
%endif
make -f client.mk build

%install
make -C xpinstall/packager STRIP=/bin/true
# copy tree into RPM_BUILD_ROOT
mkdir -p $RPM_BUILD_ROOT%{progdir}
cp -rf $RPM_BUILD_DIR/mozilla/dist/%{progname}/* $RPM_BUILD_ROOT%{progdir}
mkdir $RPM_BUILD_ROOT%{_bindir}
ln -sf ../..%{progdir}/%{progname} $RPM_BUILD_ROOT%{_bindir}/%{progname}
# install additional locales
echo %defattr\(-,root,root\) > %{_tmppath}/translations.list
for locale in $(awk '{ print $1; }' calendar/locales/shipped-locales); do
  case $locale in
   ja-JP-mac|en-US)
     ;;
   *)
     make -C calendar/locales libs-$locale
     cp dist/xpi-stage/locale-$locale/chrome/$locale.jar \
        dist/xpi-stage/locale-$locale/chrome/calendar-$locale.jar \
        $RPM_BUILD_ROOT/%{progdir}/chrome
     cp dist/xpi-stage/locale-$locale/chrome/$locale.manifest \
        dist/xpi-stage/locale-$locale/chrome/calendar-$locale.manifest \
        $RPM_BUILD_ROOT/%{progdir}/chrome
     echo %{progdir}/chrome/$locale.jar      >> %{_tmppath}/translations.list
     echo %{progdir}/chrome/$locale.manifest >> %{_tmppath}/translations.list
     echo %{progdir}/chrome/calendar-$locale.jar      >> %{_tmppath}/translations.list
     echo %{progdir}/chrome/calendar-$locale.manifest >> %{_tmppath}/translations.list
  esac
done
# freedesktop definition
mkdir -p $RPM_BUILD_ROOT/usr/share/applications/
install -m 644 %{SOURCE1} \
               $RPM_BUILD_ROOT/usr/share/applications
mkdir -p $RPM_BUILD_ROOT/usr/share/pixmaps/
cp -f $RPM_BUILD_ROOT%{progdir}/chrome/icons/default/default.xpm $RPM_BUILD_ROOT/usr/share/pixmaps/%{progname}.xpm
%suse_update_desktop_file %{progname} Office Calendar GTK
# modify provides and requires lists
%if %suse_version == 1000 || %suse_version == 1010
cat << EOF > %{my_provides}
grep -vE "libnss3.so|libnssckbi.so|libsmime3.so|libsoftokn3.so|libssl3.so|libfreebl3.so" | %{__find_provides}
EOF
chmod 755 %{my_provides}
%define __find_provides %{my_provides}
cat << EOF > %{my_requires}
grep -vE "libnss3.so|libnssckbi.so|libsmime3.so|libsoftokn3.so|libssl3.so|libfreebl3.so|sunbird-bin" | %{__find_requires}
EOF
chmod 755 %{my_requires}
%define __find_requires %{my_requires}
%endif
%if %suse_version > 1020
# Some sites use different partitions for /usr/(lib|lib64) and /usr/share.  Since you
# can't create hardlinks across partitions, we'll do this more than once.
%fdupes $RPM_BUILD_ROOT/%progdir
%fdupes $RPM_BUILD_ROOT/%{_datadir}
%endif

%clean
rm -rf $RPM_BUILD_ROOT
%if %suse_version == 1000 || %suse_version == 1010
rm -f %{my_provides}
rm -f %{my_requires}
%endif
rm -rf %{_tmppath}/translations.list

%files
%defattr(-,root,root)
%{_bindir}/%{progname}
%attr(644,root,root) %{_datadir}/pixmaps/%{progname}.xpm
%attr(644,root,root) %{_datadir}/applications/%{progname}.desktop
%dir %{progdir}
%dir %{progdir}/chrome/
%{progdir}/chrome/icons/
%{progdir}/chrome/calendar-en-US.*
%{progdir}/chrome/calendar.*
%{progdir}/chrome/classic.*
%{progdir}/chrome/comm.*
%{progdir}/chrome/en-US.*
%{progdir}/chrome/pippki.*
%{progdir}/chrome/toolkit.*
%{progdir}/components/
%{progdir}/defaults/
%{progdir}/extensions/
%{progdir}/greprefs/
%{progdir}/icons/
%{progdir}/js/
%{progdir}/res/
# NSPR
%if %suse_version <= 930
%{progdir}/libnspr4.so
%{progdir}/libplc4.so
%{progdir}/libplds4.so
%endif
# NSS
%if %suse_version <= 1010
%{progdir}/libnss3.so
%{progdir}/libnssckbi.so
%{progdir}/libsmime3.so
%{progdir}/libsoftokn3.chk
%{progdir}/libsoftokn3.so
%{progdir}/libfreebl3.chk
%{progdir}/libfreebl3.so
%{progdir}/libssl3.so
%endif
#
%{progdir}/libmozjs.so
%{progdir}/libxpcom_compat.so
%{progdir}/libxpcom_core.so
%{progdir}/libxpcom.so
%{progdir}/libxpistub.so
%{progdir}/LICENSE
%{progdir}/mozilla-xremote-client
%{progdir}/README.txt
%{progdir}/run-mozilla.sh
%{progdir}/%{progname}
%{progdir}/%{progname}-bin
%exclude %{progdir}/updater
%exclude %{progdir}/updater.ini
%{progdir}/xpicleanup
%{progdir}/dependentlibs.list

%files translations -f %{_tmppath}/translations.list
%defattr(-,root,root)

%changelog
* Fri May 16 2008 schwab@suse.de
- Remove unused includes.
* Tue May 06 2008 aj@suse.de
- Fix missing return values.
* Mon Apr 07 2008 maw@suse.de
- Update to version 0.8:
  + A new icon set which matches more closely the icon style of
  other mozilla applications
  + Category colors are now shown next to an event box, giving
  users a much better overview of their differently categorized
  events
  + Events with alarms now have a visual indicator showing an
  alarm bell
  + A totally overhauled alarm dialog
  + Sunbird now recognizes the timezone definitions in .ics files
  created by other applications; this fixes the longstanding
  issue of Sunbird miscalculating the date or time of events
  contained in those files
  + The timezone guessing has been significantly improved
  + Sunbird now contains experimental support for viewing
  remote calendars offline. This feature has known bugs and
  is included for testing purposes only
  + Sunbird contains several performance fixes, which should
  improve working with larger calendar files
  + You can now define for each of your calendars, whether you
  want to be notified of alarms for events in these calendars
  or not.
* Tue Mar 25 2008 maw@suse.de
- Add mozilla-missing-decl.patch, which is necessary when building
  against new versions of mozilla-nss (bmo#399589).
* Tue Mar 11 2008 maw@suse.de
- Merge changes from the build service (thanks, Wolfgang)
- Update to version 0.7
- Update patches.
* Thu Jan 17 2008 maw@suse.de
- Add mozilla-maxpathlen.patch (#354150 and bmo #412610).
* Tue Nov 13 2007 maw@suse.de
- Add sunbird-gcc4.3-fixes.patch
- Add visibility.patch.
* Thu Sep 06 2007 maw@suse.de
- Don't run %%fdupes on directories where multiple partitions
  are liable to be mounted.
* Mon Sep 03 2007 maw@suse.de
- Merge some changes from the build service (thanks, Wolfgang):
  + Provide locale info (#302288).
* Fri Jul 27 2007 maw@suse.de
- Update to version 0.5
  * Much more polished user interface in the calendar views
  * Working hours are back
  * Automatic migration of data in Sunbird 0.2, iCal.app, and
  Evolution
  * Much improved printing functionality
  * Support for Google Calendar
  (via the Google Calendar Provider extension)
- l10n.tar.bz2 renamed to l10n-%%{version}.tar.bz2
- Remove undefined-ops.patch and respin abuild.patch.
* Tue Jun 05 2007 sbrabec@suse.cz
- Removed invalid desktop category "Application" (#254654).
* Mon Apr 30 2007 ro@suse.de
- added unzip to BuildRequires
* Thu Jan 18 2007 maw@suse.de
- Add undefined-ops.patch, silencing some warnings.
* Sat Oct 21 2006 aj@suse.de
- taken from openSUSE Build Service (Wolfgang Rosenauer):
  - update to final version 0.3
  - build supported locales
* Fri Sep 08 2006 stark@suse.de
- update to version 0.3a2 (20060907)
* Wed Aug 23 2006 stark@suse.de
- update to version 0.3a2 (20060822)
* Fri Jul 14 2006 stark@suse.de
- update to version 0.3a2 (20060713)
  * new preferences toolkit
- locale sl not included in this version
* Fri Jun 16 2006 stark@suse.de
- update to version 0.3a2 (20060615)
- disabled pango
- added locales within a new subpackage -translations
- system NSS on 10.1 is too old
* Fri Feb 24 2006 stark@suse.de
- added GTK category to desktop-file
- some more BuildRequires cleanup
* Sun Feb 19 2006 aj@suse.de
- Reduce BuildRequires.
* Wed Jan 25 2006 mls@suse.de
- converted neededforbuild to BuildRequires
* Wed Jan 18 2006 stark@suse.de
- fixed DumpStackToFile for glibc 2.4
* Thu Jan 12 2006 stark@suse.de
- based on Gecko 1.8 (20060110)
  (no german localization available)
- use system NSS since CODE10
- use -fstack-protector where available
* Tue Nov 15 2005 stark@suse.de
- update to snapshot 20051114
- added german localization
* Tue Nov 01 2005 stark@suse.de
- update to 0.3a1 (20051030)
* Mon Oct 31 2005 ro@suse.de
- fix non-void functions without return
* Sat Aug 20 2005 stark@suse.de
- workaround for linking with pangoxft and pangox
  (broken by gtk 2.8 update) (#105764)
* Fri Aug 19 2005 stark@suse.de
- fixed Gdk-WARNING at startup (gtk.patch)
- fixed crash with gtk 2.7 (bmo #300226, bnc #104586)
* Fri Jul 29 2005 stark@suse.de
- don't require and provide NSS libs (#98002)
* Sun Jul 17 2005 stark@suse.de
- freetype2 compile error: FTC_Image_Cache_* APIs are not
  available any more (bmo #234035)
- [PS] freetype printing : replace a type 9 font with multiple
  type 1 fonts (to support PS level 1/2 printers) (bmo #234182)
* Fri Jul 08 2005 stark@suse.de
- initial package
openSUSE Build Service is sponsored by