%define name mozilla-sunbird %define oname lightning-sunbird %define version 0.9 %define release %mkrel 5 %define section Office/Time Management %define title Mozilla-Sunbird %define Summary A standalone calendar application based on Mozilla #warning: always end release date with 00 # (it should be the hour of build but it is not significant for rpm) %define date 2007083000 # even if I force mozilla-sunbird-%{version} as libname, make install # put it in sunbird-0.3a1 %define progname sunbird %define libname %{progname}-%{version} %define mozillalibdir %{_libdir}/%{libname} %define progdir %{mozillalibdir} Summary: %{Summary} Name: %{name} Version: %{version} Release: %{release} Source0: %{oname}-%version-source.tar.bz2 Source1: sunbird-rebuild-databases.pl.in.generatechrome.bz2 Source2: sunbird-generate-chrome.sh.bz2 Patch0: sunbird-0.9-fix-str-fmt.patch Patch1: nss-opt.patch Patch2: abuild.patch Patch3: locale.patch Patch4: sunbird-0.7-uilocale.patch Patch5: mozilla-sunbird-0.8-glibc28-max_path-fix.patch Patch6: sunbird-0.9-gcc-4.4.patch License: MPL/LGPL/GPL Group: Office Url: http://www.mozilla.org/projects/calendar BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-buildroot BuildRequires: jpeg-devel BuildRequires: png-devel BuildRequires: libIDL-devel BuildRequires: zip tcsh BuildRequires: gtk+2-devel >= 2.2.0 BuildRequires: gnome-vfs2-devel BuildRequires: imagemagick BuildRequires: freetype2-devel BuildRequires: X11-devel BuildRequires: nss-devel BuildRequires: libnss-static-devel BuildRequires: nspr-devel # do not provides mozilla lib %define _provides_exceptions libgtkembedmoz.so\\|libxp.* %define _requires_exceptions libgtkembedmoz.so\\|libxp.* %description The Sunbird Project is a redesign of the Mozilla Calendar component. It aims to produce a cross platform standalone 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. %if 0 %package devel Summary: Mozilla-sunbird development files Group: Development/Other Requires: %{name} = %{version} Conflicts: %mklibname -d js 1 %description devel Mozilla-sunbird development files %endif %prep %setup -q -n mozilla %patch0 -p1 -b .str %patch1 -p0 -b .nss %patch2 -p1 -b .abuild %patch3 -p0 -b .locale %patch4 -p1 -b .uilocale %patch5 -p1 -b .glibc28-max_path-fix %patch6 -p1 -b .gcc44 # let jars get compressed %__perl -p -i -e 's|\-0|\-9|g' config/make-jars.pl %build %define __libtoolize /bin/true %define __cputoolize /bin/true export MOZ_SUNBIRD=1 export MOZ_BUILD_DATE=%{date} export MOZILLA_OFFICIAL=1 export BUILD_OFFICIAL=1 export CFLAGS="$RPM_OPT_FLAGS -Os -fno-strict-aliasing -fstack-protector" 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 ac_add_options --with-system-nspr ac_add_options --enable-system-cairo ac_add_options --with-system-nss EOF make -f client.mk build %install rm -rf $RPM_BUILD_ROOT 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} %if 0 # multiarch files %multiarch_binaries $RPM_BUILD_ROOT%{_bindir}/sunbird-config %multiarch_includes $RPM_BUILD_ROOT%{_includedir}/%{libname}/mozilla-config.h %multiarch_includes $RPM_BUILD_ROOT%{_includedir}/%{libname}/js/jsautocfg.h %endif # XDG menu entry mkdir -p $RPM_BUILD_ROOT%{_datadir}/applications cat > $RPM_BUILD_ROOT%{_datadir}/applications/mandriva-%{name}.desktop << EOF [Desktop Entry] Name=Mozilla Sunbird Comment=The Sunbird Project is a redesign of the Calendar component Exec=%{_bindir}/sunbird Icon=%{name} Terminal=false Type=Application Categories=GNOME;GTK;Office;Calendar; StartupWMClass=Sunbird-bin EOF install -m 755 -d $RPM_BUILD_ROOT%{_miconsdir} install -m 755 -d $RPM_BUILD_ROOT%{_iconsdir} install -m 755 -d $RPM_BUILD_ROOT%{_liconsdir} convert -resize 16x16 $RPM_BUILD_ROOT%{mozillalibdir}/icons/mozicon50.xpm $RPM_BUILD_ROOT%{_miconsdir}/%{name}.png convert -resize 32x32 $RPM_BUILD_ROOT%{mozillalibdir}/icons/mozicon50.xpm $RPM_BUILD_ROOT%{_iconsdir}/%{name}.png convert -resize 48x48 $RPM_BUILD_ROOT%{mozillalibdir}/icons/mozicon50.xpm $RPM_BUILD_ROOT%{_liconsdir}/%{name}.png # install our rebuild file bzcat %{SOURCE1} | sed -e "s|mozilla-MOZILLA_VERSION|%{libname}|g;s|LIBDIR|%{_libdir}|g" > \ $RPM_BUILD_ROOT%{mozillalibdir}/mozilla-rebuild-databases.pl chmod 755 $RPM_BUILD_ROOT%{mozillalibdir}/mozilla-rebuild-databases.pl # install our file to rebuild the chrome registry so that we can # produce nvu extentions in RPM mkdir -p $RPM_BUILD_ROOT%{mozillalibdir}/chrome/rc.d bzcat %{SOURCE2} > \ $RPM_BUILD_ROOT%{mozillalibdir}/chrome/rc.d/generate-chrome.sh chmod 755 $RPM_BUILD_ROOT%{mozillalibdir}/chrome/rc.d/generate-chrome.sh # ghost files mkdir -p $RPM_BUILD_ROOT%{mozillalibdir}/extensions touch $RPM_BUILD_ROOT%{mozillalibdir}/chrome/chrome.rdf for overlay in {"browser","communicator","editor","inspector","messenger","navigator"}; do %{__mkdir_p} $RPM_BUILD_ROOT%{mozillalibdir}/chrome/overlayinfo/$overlay/content touch $RPM_BUILD_ROOT%{mozillalibdir}/chrome/overlayinfo/$overlay/content/overlays.rdf done touch $RPM_BUILD_ROOT%{mozillalibdir}/extensions/installed-extensions-processed.txt touch $RPM_BUILD_ROOT%{mozillalibdir}/extensions/Extensions.rdf touch $RPM_BUILD_ROOT%{mozillalibdir}/components.ini touch $RPM_BUILD_ROOT%{mozillalibdir}/defaults.ini touch $RPM_BUILD_ROOT%{mozillalibdir}/components/compreg.dat touch $RPM_BUILD_ROOT%{mozillalibdir}/components/xpti.dat touch $RPM_BUILD_ROOT%{mozillalibdir}/chrome/app-chrome.manifest # dummy manifest file to avoid chrome registration error in sunbird extension touch $RPM_BUILD_ROOT%{mozillalibdir}/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome.manifest %clean rm -rf $RPM_BUILD_ROOT %post export HOME="/root" MOZ_DISABLE_GNOME=1 umask 022 %{_bindir}/sunbird -register %{mozillalibdir}/mozilla-rebuild-databases.pl %files %defattr(-,root,root) %doc LICENSE LEGAL README.txt %{_bindir}/%{progname} %{_datadir}/applications/mandriva-%{name}.desktop %{_miconsdir}/%{name}.png %{_iconsdir}/%{name}.png %{_liconsdir}/%{name}.png %{mozillalibdir} %ghost %{mozillalibdir}/chrome/chrome.rdf %ghost %{mozillalibdir}/chrome/app-chrome.manifest %ghost %{mozillalibdir}/chrome/overlayinfo/browser/content/overlays.rdf %ghost %{mozillalibdir}/chrome/overlayinfo/communicator/content/overlays.rdf %ghost %{mozillalibdir}/chrome/overlayinfo/inspector/content/overlays.rdf %ghost %{mozillalibdir}/chrome/overlayinfo/messenger/content/overlays.rdf %ghost %{mozillalibdir}/chrome/overlayinfo/navigator/content/overlays.rdf %ghost %{mozillalibdir}/extensions/Extensions.rdf %ghost %{mozillalibdir}/extensions/installed-extensions-processed.txt %ghost %{mozillalibdir}/components.ini %ghost %{mozillalibdir}/defaults.ini %ghost %{mozillalibdir}/components/compreg.dat %ghost %{mozillalibdir}/components/xpti.dat %if 0 %files devel %defattr(-,root,root) %{_libdir}/pkgconfig/*.pc %{_bindir}/sunbird-config %multiarch %{multiarch_bindir}/sunbird-config %{_datadir}/aclocal/*.m4 %{_datadir}/idl/%{libname} %{_includedir}/%{libname} %multiarch %{multiarch_includedir}/* %endif %changelog * Mon Sep 14 2009 Thierry Vignaud <tvignaud@mandriva.com> 0.9-5mdv2010.0 + Revision: 440139 - rebuild + Funda Wang <fwang@mandriva.org> - fix build with gcc 4.4 * Thu Jan 01 2009 Funda Wang <fwang@mandriva.org> 0.9-3mdv2009.1 + Revision: 323169 - fix str fmt + Oden Eriksson <oeriksson@mandriva.com> - lowercase ImageMagick * Fri Nov 21 2008 Funda Wang <fwang@mandriva.org> 0.9-1mdv2009.1 + Revision: 305419 - New version 0.9 * Thu Aug 07 2008 Herton Ronaldo Krzesinski <herton@mandriva.com.br> 0.8-4mdv2009.0 + Revision: 265635 - Added fix for sunbird install/crash on newest glibc versions with FORTIFY_SOURCE (#42507). Based on a similar fix already being made on mozilla-thuderbird package and a similar fedora patch. * Tue Aug 05 2008 Herton Ronaldo Krzesinski <herton@mandriva.com.br> 0.8-3mdv2009.0 + Revision: 263646 - Create dummy manifest file to avoid chrome registration error in sunbird extension. * Mon May 05 2008 Funda Wang <fwang@mandriva.org> 0.8-2mdv2009.0 + Revision: 201236 - fix libdir, it should be 0.8 as version * Sun May 04 2008 Funda Wang <fwang@mandriva.org> 0.8-1mdv2009.0 + Revision: 200986 - New version 0.8 + Nicolas Lécureuil <nlecureuil@mandriva.com> - Automaticaly use the right locale + Olivier Blin <oblin@mandriva.com> - restore BuildRoot + Thierry Vignaud <tvignaud@mandriva.com> - kill re-definition of %%buildroot on Pixel's request * Tue Oct 30 2007 Jérôme Soyer <saispo@mandriva.org> 0.7-1mdv2008.1 + Revision: 103831 - New release 0.7 * Thu Sep 20 2007 Colin Guthrie <cguthrie@mandriva.org> 0.5-3mdv2008.0 + Revision: 91690 - Add correct StartupWMClass as per other Gecko based apps. * Sun Sep 09 2007 Colin Guthrie <cguthrie@mandriva.org> 0.5-2mdv2008.0 + Revision: 83590 - Slightly nicer application name for menu * Fri Aug 31 2007 Colin Guthrie <cguthrie@mandriva.org> 0.5-1mdv2008.0 + Revision: 76824 - Merge in build fixes from Suse spec - Add patches from Suse - Don't build devel package (temporarily?) due to broken install - Add BuildRequirement on libnss-static-devel for -lcrmf + Thierry Vignaud <tvignaud@mandriva.com> - kill desktop-file-validate's 'warning: key "Encoding" in group "Desktop Entry" is deprecated' + Funda Wang <fwang@mandriva.org> - use system nss and nspr * Sun Feb 18 2007 Jérôme Soyer <saispo@mandriva.org> 0.3.1-1mdv2007.0 + Revision: 122559 - New release 0.3.1 * Mon Jan 15 2007 Nicolas Lécureuil <neoclust@mandriva.org> 0.3-3mdv2007.1 + Revision: 109071 - Add menu entry * Wed Dec 06 2006 Nicolas Lécureuil <neoclust@mandriva.org> 0.3-2mdv2007.1 + Revision: 91862 - Fix BuildRequires - Fix icons name - New Version 0.3 - import mozilla-sunbird-0.3-0.a1.1mdk * Sat Dec 03 2005 Couriousous <couriousous@mandriva.org> 0.3-0.a1.1mdk - First Mandriva Release - Heavly based on nvu rpm