From 6f77138fd8f6b6e3c0cdfbe72acc964da48cc04c Mon Sep 17 00:00:00 2001 From: Remi Collet Date: Sat, 26 Jun 2010 07:46:49 +0200 Subject: import sunbird (for thunderbird-lightning) --- Makefile | 4 + find-external-requires | 23 ++ mozilla-extension-update.sh | 144 ++++++++++++ mozilla-jemalloc.patch | 24 ++ sunbird-1.0-libical.patch | 59 +++++ sunbird-1.0-uilocale.patch | 32 +++ sunbird-l10n.tar | Bin 0 -> 3840000 bytes sunbird.desktop | 21 ++ sunbird.spec | 523 ++++++++++++++++++++++++++++++++++++++++++ xulrunner-1.9.2.1-build.patch | 12 + 10 files changed, 842 insertions(+) create mode 100644 Makefile create mode 100755 find-external-requires create mode 100755 mozilla-extension-update.sh create mode 100644 mozilla-jemalloc.patch create mode 100644 sunbird-1.0-libical.patch create mode 100644 sunbird-1.0-uilocale.patch create mode 100644 sunbird-l10n.tar create mode 100644 sunbird.desktop create mode 100644 sunbird.spec create mode 100644 xulrunner-1.9.2.1-build.patch diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..1e65467 --- /dev/null +++ b/Makefile @@ -0,0 +1,4 @@ +SRCDIR := $(shell pwd) +NAME := $(shell basename $(SRCDIR)) +include ../common/Makefile + diff --git a/find-external-requires b/find-external-requires new file mode 100755 index 0000000..d79db1d --- /dev/null +++ b/find-external-requires @@ -0,0 +1,23 @@ +#!/bin/sh + +# Finds requirements provided outside of the current file set + +filelist=`sed "s/[]['\"*?{}]/\\\\\&/g"` + +provides=`echo $filelist | /usr/lib/rpm/find-provides` + +{ +for f in $filelist ; do + echo $f | /usr/lib/rpm/find-requires | while read req ; do + found=0 + for p in $provides ; do + if [ "$req" = "$p" ]; then + found=1 + fi + done + if [ "$found" = "0" ]; then + echo $req + fi + done +done +} | sort -u \ No newline at end of file diff --git a/mozilla-extension-update.sh b/mozilla-extension-update.sh new file mode 100755 index 0000000..1bf15a6 --- /dev/null +++ b/mozilla-extension-update.sh @@ -0,0 +1,144 @@ +#!/bin/sh +# +# This script is used to add and remove our extension from one of the Mozilla +# products directory, and is run from 'triggers' when the product is installed or +# upgraded, as well as when our package is installed. It is needed because +# Mozilla products are installed into versioned directories in /usr/lib[64]/ +# so we have to make a new symlink into the right directory when the +# application is installed or upgraded. But we would rather not leave +# our old symlinks behind, since that will cause the application +# directories not to be removed. (flash-player leaves its old symlinks behind, +# but that's no excuse for us to do the same...) +# +# Because I don't know any way of finding out what the new version +# is on installation or old version on uninstallation, we have +# to do things in a somewhat non-intuitive way +# +# The order on upgrade of the mozilla application is: +# +# 1. new package installed +# 2. triggerin for new package - we add all symlinks +# 3. triggerun for old package - we remove all symlinks +# 4. old package uninstalled +# 5. triggerpostun for old package - we add all symlinks +# +# Triggers are also run on self-upgrade, in that case we do: +# +# 1. new package installed +# 2. triggerin for new package - we add all symlinks +# 3. triggerun for old package - we remove all symlinks +# 4. old package uninstalled +# 5. postun for old package - we add all symlinks +# 6. triggerpostun for old package - NOT RUN (contrary to RPM docs) +# +# +# Script arguments: +# --appname: the mozilla application that this extension should register into. +# Usually firefox or thunderbird. +# --extname: the name of the extension. It can be determined by looking at +# the install.rdf file, in the extension directory. This file +# contains several tags. The extname parameter is the +# content of the em:id tag which is not contained in the +# em:targetApplication tag +# --extpath: the path where the extension will be installed +# --action: either "install" or "remove" +# --basedir: the dirname of the directory where the target application is +# installed. Usually /usr/lib or /usr/lib64>, it defaults to +# /usr/lib +# +# +# Here's an example implementation in rpm scriptlets: +# +# %define tbupdate %{_libdir}/lightning/mozilla-extension-update.sh --appname thunderbird --extname {e2fda1a4-762b-4020-b5ad-a41df1933103} --basedir %{_libdir} --extpath %{_libdir}/lightning --action +# +# %post +# %{tbupdate} install || true +# +# %preun +# # On removal (but not upgrade), remove the extention +# if [ $1 = 0 ] ; then +# %{tbupdate} remove || true +# fi +# +# %postun +# # This is needed not to reverse the effect of our preun, which +# # is guarded against upgrade, but because of our triggerun, +# # which is run on self-upgrade, though triggerpostun isn't +# if [ $1 != 0 ] ; then +# %{tbupdate} install || true +# fi +# +# %triggerin -- thunderbird +# %{tbupdate} install || true +# +# %triggerun -- thunderbird +# %{tbupdate} remove || true +# +# %triggerpostun -- thunderbird +# # Guard against being run post-self-uninstall, even though that +# # doesn't happen currently (see comment above) +# if [ "$1" != 0 ] ; then +# %{tbupdate} install || true +# fi + + +die() { + echo >&2 "$@" + exit 0 +} + +usage() { + die "Usage: $0 --appname --extname --extpath --action [--basedir ]" +} + +appname= +extname= +extpath= +action= +basedir=/usr/lib +while [ "$#" -gt "0" ]; do + case "$1" in + --appname) + shift; appname="$1" ;; + --extname) + shift; extname="$1" ;; + --extpath) + shift; extpath="$1" ;; + --action) + shift; action="$1" ;; + --basedir) + shift; basedir="$1" ;; + *) usage ;; + esac + shift +done + + +if [ "$action" = "install" ] ; then + # Add symlinks to any mozilla directory that looks like it is part of a + # currently installed package + for d in $basedir/${appname}*; do + if [ "$d" = "$basedir/${appname}*" ] ; then + continue + fi + link=$d/extensions/$extname + if [ -e $extpath -a -e $d/$appname-bin -a -d $d/extensions -a ! -L $link ] ; then + ln -s $extpath $link + fi + done +elif [ "$action" = "remove" ] ; then + # Remove any symlinks we've created into any mozilla directory + for d in $basedir/${appname}*; do + if [ "$d" = "$basedir/${appname}*" ] ; then + continue + fi + link=$d/extensions/$extname + if [ -L $link ] ; then + rm $link + fi + done +else + usage +fi + +exit 0 diff --git a/mozilla-jemalloc.patch b/mozilla-jemalloc.patch new file mode 100644 index 0000000..2ef0b97 --- /dev/null +++ b/mozilla-jemalloc.patch @@ -0,0 +1,24 @@ +diff -r f1af606531f5 memory/jemalloc/jemalloc.h +--- mozilla/memory/jemalloc/jemalloc.h Sat Nov 22 20:22:22 2008 +0100 ++++ mozilla/memory/jemalloc/jemalloc.h Mon Dec 01 16:53:06 2008 -0500 +@@ -45,14 +45,14 @@ + } jemalloc_stats_t; + + #ifndef MOZ_MEMORY_DARWIN +-void *malloc(size_t size); +-void *valloc(size_t size); +-void *calloc(size_t num, size_t size); +-void *realloc(void *ptr, size_t size); +-void free(void *ptr); ++void *malloc(size_t size) __THROW __attribute_malloc__ __wur; ++void *valloc(size_t size) __THROW __attribute_malloc__ __wur; ++void *calloc(size_t num, size_t size) __THROW __attribute_malloc__ __wur; ++void *realloc(void *ptr, size_t size) __THROW __attribute_malloc__ __wur; ++void free(void *ptr) __THROW __attribute_malloc__ __wur; + #endif + +-int posix_memalign(void **memptr, size_t alignment, size_t size); ++int posix_memalign(void **memptr, size_t alignment, size_t size) __THROW __attribute_malloc__ __wur; + void *memalign(size_t alignment, size_t size); + size_t malloc_usable_size(const void *ptr); + void jemalloc_stats(jemalloc_stats_t *stats); diff --git a/sunbird-1.0-libical.patch b/sunbird-1.0-libical.patch new file mode 100644 index 0000000..ba71f01 --- /dev/null +++ b/sunbird-1.0-libical.patch @@ -0,0 +1,59 @@ +Link against system libical instead of bundled. +https://bugzilla.redhat.com/show_bug.cgi?id=459923 + +Lubomir Rintel + +--- calendar/base/build/Makefile.in.libical 2007-12-27 11:01:41.000000000 +0100 ++++ calendar/base/build/Makefile.in 2008-09-23 16:02:42.000000000 +0200 +@@ -63,7 +63,6 @@ + js \ + xpconnect \ + string \ +- ical \ + calbase + + CPPSRCS = calBaseModule.cpp \ +@@ -74,7 +73,6 @@ + + SHARED_LIBRARY_LIBS = \ + $(DEPTH)/calendar/base/src/$(LIB_PREFIX)calbase_s.$(LIB_SUFFIX) \ +- $(DEPTH)/calendar/libical/src/libical/$(LIB_PREFIX)mozical.$(LIB_SUFFIX) \ + $(NULL) + + ifdef MOZILLA_INTERNAL_API +@@ -94,4 +92,7 @@ + $(NULL) + endif + ++# External libical ++EXTRA_DSO_LDOPTS += -lical ++ + include $(topsrcdir)/config/rules.mk +--- calendar/Makefile.in.libical 2008-09-23 17:13:34.000000000 +0200 ++++ calendar/Makefile.in 2008-09-23 17:07:30.000000000 +0200 +@@ -42,7 +42,7 @@ + include $(DEPTH)/config/autoconf.mk + + MODULE = calendar +-DIRS = libical resources base providers import-export locales ++DIRS = resources base providers import-export locales + + ifdef ENABLE_TESTS + DIRS += test +--- calendar/lightning/Makefile.in.libical 2008-07-24 03:07:05.000000000 +0200 ++++ calendar/lightning/Makefile.in 2008-09-23 16:02:42.000000000 +0200 +@@ -71,7 +71,7 @@ + endif + endif + +-DIRS = ../libical \ ++DIRS = \ + ../locales \ + ../base \ + ../providers \ +--- /dev/null 2008-09-23 20:44:22.879046487 +0200 ++++ calendar/base/src/ical.h 2008-09-24 11:28:09.000000000 +0200 +@@ -0,0 +1,3 @@ ++#pragma GCC visibility push(default) ++#include ++#pragma GCC visibility pop diff --git a/sunbird-1.0-uilocale.patch b/sunbird-1.0-uilocale.patch new file mode 100644 index 0000000..d1a8e2b --- /dev/null +++ b/sunbird-1.0-uilocale.patch @@ -0,0 +1,32 @@ +Guess the UI locale to use. If only intl.locale.matchOS worked... + +Lubomir Rintel + +diff -up mozilla/build/unix/mozilla.in.uilocale mozilla/build/unix/mozilla.in +diff -up mozilla/build/unix/run-mozilla.sh.uilocale mozilla/build/unix/run-mozilla.sh +--- mozilla/build/unix/run-mozilla.sh.uilocale 2009-04-28 21:53:14.000000000 +0200 ++++ mozilla/build/unix/run-mozilla.sh 2009-04-28 21:54:39.000000000 +0200 +@@ -279,6 +279,23 @@ MOZILLA_FIVE_HOME=$MOZ_DIST_BIN + if [ -z "$MRE_HOME" ]; then + MRE_HOME=$MOZILLA_FIVE_HOME + fi ++ ++# Try without a local variant first, then with a local variant ++# So that pt-BR doesn't try to use pt for example ++ ++SHORTMOZLOCALE=`echo $LANG | sed "s|_\([^.]*\).*||g"` ++MOZLOCALE=`echo $LANG | sed "s|_\([^.]*\).*|-\1|g"` ++ ++if [ -f ${MOZ_DIST_BIN}/extensions/langpack-${MOZLOCALE}@sunbird.mozilla.org/chrome/$MOZLOCALE.jar ] ++then ++ set -- "$@" -UILocale $MOZLOCALE ++else ++ if [ -f ${MOZ_DIST_BIN}/extensions/langpack-${SHORTMOZLOCALE}@sunbird.mozilla.org/chrome/$SHORTMOZLOCALE.jar ] ++ then ++ set -- "$@" -UILocale $SHORTMOZLOCALE ++ fi ++fi ++ + ## + ## Set LD_LIBRARY_PATH + ## diff --git a/sunbird-l10n.tar b/sunbird-l10n.tar new file mode 100644 index 0000000..873891c Binary files /dev/null and b/sunbird-l10n.tar differ diff --git a/sunbird.desktop b/sunbird.desktop new file mode 100644 index 0000000..19d4cf3 --- /dev/null +++ b/sunbird.desktop @@ -0,0 +1,21 @@ +[Desktop Entry] +Encoding=UTF-8 +Type=Application +Name=Sunbird Calendar +Name[de]=Sunbird Kalender +Name[cs]=Sunbird Kalendár +Name[sk]=Sunbird Kalendár +Comment=The Mozilla Calendar +Comment[de]=Der Mozilla-Kalender +Comment[cs]=Mozilla Kalendár +Comment[sk]=Mozilla Kalendár +GenericName=The Mozilla Calendar +GenericName[de]=Der Mozilla-Kalender +GenericName[cs]=Mozilla Kalendár +GenericName[sk]=Mozilla Kalendár +Exec=sunbird +TryExec=sunbird +Icon=sunbird +MimeType=text/calendar;text/x-vcalendar; +Categories=Office;Calendar; +Terminal=false diff --git a/sunbird.spec b/sunbird.spec new file mode 100644 index 0000000..ccbcd15 --- /dev/null +++ b/sunbird.spec @@ -0,0 +1,523 @@ +%define nspr_version 4.8 +%define nss_version 3.12.3.99 +%define cairo_version 1.8.8 +%define dbus_glib_version 0.6 +%define sqlite_version 3.6.22 +%define lcms_version 1.19 + +%bcond_without lightning +%ifarch ppc +%if 0%{?rhel} +%define with_lightning %{nil} +%endif +%endif + +%define version_internal 1.0b2 +%define progdir %{_libdir}/%{name}-%{version_internal}pre +%define thunderbird_version 3.1 +%define libnotify_version 0.4 + +# This is to filter unwanted provides, that should be provided only by gecko-devel +%define _use_internal_dependency_generator 0 +%define __find_requires %{SOURCE100} %{buildroot} + +Name: sunbird +Version: 1.0 +Release: 0.25.b2pre%{?dist} +Summary: Calendar application built upon Mozilla toolkit + +Group: Applications/Productivity +License: MPLv1.1 or GPLv2+ or LGPLv2+ +URL: http://www.mozilla.org/projects/calendar/sunbird/ +#Source0: http://releases.mozilla.org/pub/mozilla.org/calendar/sunbird/releases/%{version}/source/lightning-sunbird-%{version}-source.tar.bz2 +Source0: thunderbird-%{thunderbird_version}.source.tar.bz2 +Source1: sunbird.desktop +Source2: sunbird-l10n.tar +#sunbird-langpacks-0.9.tar.gz +Source3: mozilla-extension-update.sh +# This is used just for langpacks. +# TODO: build them! +#Source4: http://releases.mozilla.org/pub/mozilla.org/calendar/lightning/releases/0.9/lightning-0.9.linux-i686.xpi +Source100: find-external-requires + +# Pulled from Thunderbird +Patch0: mozilla-jemalloc.patch +# Fixes gcc complain that nsFrame::delete is protected +Patch1: xulrunner-1.9.2.1-build.patch + +# Ours +Patch10: sunbird-1.0-libical.patch +Patch11: sunbird-1.0-uilocale.patch + +BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) + +BuildRequires: libIDL-devel +BuildRequires: desktop-file-utils +BuildRequires: libgnomeui-devel +BuildRequires: krb5-devel +BuildRequires: pango-devel >= 1.22 +BuildRequires: freetype-devel >= 2.1.9 +BuildRequires: libXt-devel +BuildRequires: libXrender-devel +BuildRequires: desktop-file-utils +%if 0%{?fedora} >= 11 +BuildRequires: nspr-devel >= %{nspr_version} +BuildRequires: nss-devel >= %{nss_version} +%endif +BuildRequires: dbus-glib-devel >= %{dbus_glib_version} +BuildRequires: libpng-devel, libjpeg-devel, gtk2-devel +BuildRequires: zlib-devel, gzip, zip, unzip +BuildRequires: GConf2-devel +BuildRequires: gnome-vfs2-devel +BuildRequires: libical-devel +BuildRequires: zip +BuildRequires: autoconf213 +BuildRequires: alsa-lib-devel +%if 0%{fedora} >= 11 +BuildRequires: cairo-devel >= %{cairo_version} +Requires: nspr >= %{nspr_version} +Requires: nss >= %{nss_version} +%endif +%if 0%{?fedora} >= 13 +BuildRequires: sqlite-devel >= %{sqlite_version} +%endif +%if %{fedora} >= 10 +BuildRequires: libnotify-devel >= %{libnotify_version} +%endif +%if %{fedora} >= 9 +BuildRequires: lcms-devel >= %{lcms_version} +%endif + + +Requires(post): desktop-file-utils +Requires(postun): desktop-file-utils + +AutoProv: 0 + +%description +Mozilla Sunbird is a cross-platform calendar application, built upon +Mozilla Toolkit. It brings Mozilla-style ease-of-use to your +calendar, without tying you to a particular storage solution. + + +%if %with lightning +%package -n thunderbird-lightning +Summary: The calendar extension to Thunderbird +Group: Applications/Productivity +Requires: thunderbird >= %{thunderbird_version} +Obsoletes: thunderbird-lightning-wcap <= 0.8 +Provides: thunderbird-lightning-wcap = %{version}-%{release} +AutoProv: 0 + +%description -n thunderbird-lightning +Lightning brings the Sunbird calendar to the popular email client, +Mozilla Thunderbird. Since it's an extension, Lightning is tightly +integrated with Thunderbird, allowing it to easily perform email-related +calendaring tasks. + +%define lightning_extname '{e2fda1a4-762b-4020-b5ad-a41df1933103}' +%define tbupdate_lightning \\\ + %{_libdir}/thunderbird-lightning/mozilla-extension-update.sh \\\ + --appname thunderbird \\\ + --extname %{lightning_extname} \\\ + --basedir %{_libdir} \\\ + --extpath %{_libdir}/thunderbird-lightning \\\ + --action + +%define gdata_extname '{a62ef8ec-5fdc-40c2-873c-223b8a6925cc}' +%define tbupdate_gdata \\\ + %{_libdir}/thunderbird-lightning/mozilla-extension-update.sh \\\ + --appname thunderbird \\\ + --extname %{gdata_extname} \\\ + --basedir %{_libdir} \\\ + --extpath %{_libdir}/thunderbird-lightning-gdata \\\ + --action +%endif + + +%prep +%setup -n comm-1.9.2 -q -a 2 +%patch0 -p0 -b .jemalloc +%patch1 -p1 -b .protected +%patch10 -p0 -b .libical +%patch11 -p0 -b .uilocale + +find . -name '*.cpp' -o -name '*.h' |xargs chmod -x + + +%build +cat >.mozconfig <= 11 +ac_add_options --enable-system-cairo +%endif +ac_add_options --enable-xinerama +ac_add_options --libdir="%{_libdir}" +ac_add_options --prefix="%{_prefix}" +ac_add_options --with-pthreads +ac_add_options --with-system-jpeg +%if %{fedora} >= 11 +ac_add_options --with-system-nspr +ac_add_options --with-system-nss +%endif +ac_add_options --with-system-zlib +%if %{fedora} >= 10 +ac_add_options --enable-libnotify +%else +ac_add_options --disable-libnotify +%endif +%if %{fedora} >= 11 +ac_add_options --enable-system-lcms +%endif +%if %{fedora} >= 13 +ac_add_options --enable-system-sqlite +%endif +EOF + +make -f client.mk build + + +%install +rm -rf $RPM_BUILD_ROOT + +# make install is bogus +# copy tree, break symlinks +mkdir -p $RPM_BUILD_ROOT%{progdir} +cp -rL mozilla/dist/bin/* $RPM_BUILD_ROOT%{progdir} +mkdir $RPM_BUILD_ROOT%{_bindir} +mv $RPM_BUILD_ROOT%{progdir}/%{name} $RPM_BUILD_ROOT%{_bindir}/%{name} + +desktop-file-install --vendor="fedora" \ + --dir=$RPM_BUILD_ROOT%{_datadir}/applications/ \ + %{SOURCE1} + +# Icon +mkdir -p $RPM_BUILD_ROOT%{_datadir}/icons/hicolor/128x128/apps +cp $RPM_BUILD_ROOT%{progdir}/chrome/icons/default/default128.png \ + $RPM_BUILD_ROOT%{_datadir}/icons/hicolor/128x128/apps/%{name}.png + +# Install langpacks +mkdir -p $RPM_BUILD_ROOT%{progdir}/extensions +ls sunbird-l10n/*.xpi |while read PACK +do + LANGUAGE=$(echo $PACK |sed 's,sunbird-l10n/sunbird-%{version_internal}pre.\(.*\).langpack.xpi,\1,') + DIR=$RPM_BUILD_ROOT%{progdir}/extensions/langpack-$LANGUAGE@sunbird.mozilla.org + mkdir -p $DIR + unzip -qod $DIR $PACK + find $DIR -type f |xargs chmod 0644 + + # Fix #441500 + sed 's/\r//g' $DIR/install.rdf |awk '/^$/ {next} {print}' >lala + touch -r $DIR/install.rdf lala + mv lala $DIR/install.rdf + +done + +# GData provider for sunbird +mkdir -p $RPM_BUILD_ROOT%{progdir}/extensions/%{gdata_extname} +touch $RPM_BUILD_ROOT%{progdir}/extensions/%{gdata_extname}/chrome.manifest +unzip -qod $RPM_BUILD_ROOT%{progdir}/extensions/%{gdata_extname} \ + mozilla/dist/xpi-stage/gdata-provider.xpi + +%if %with lightning +# Avoid "Chrome Registration Failed" message on first startup and extension installation +touch $RPM_BUILD_ROOT%{progdir}/extensions/%{lightning_extname}/chrome.manifest +touch $RPM_BUILD_ROOT%{progdir}/extensions/%{gdata_extname}/chrome.manifest + +# Lightning and GData provider for it +unzip -qod $RPM_BUILD_ROOT%{_libdir}/thunderbird-lightning mozilla/dist/xpi-stage/lightning.xpi +unzip -qod $RPM_BUILD_ROOT%{_libdir}/thunderbird-lightning-gdata mozilla/dist/xpi-stage/gdata-provider.xpi +install -p -m 755 %{SOURCE3} $RPM_BUILD_ROOT%{_libdir}/thunderbird-lightning/mozilla-extension-update.sh + +# No langpacks for preview release +%if 0 +# Unpack lightning language packs, except en_US +unzip -l %{SOURCE4} '*.jar' | + awk '/-[^\/]*\.jar/ && !/en-US/ {print $4}' | + xargs unzip -qod $RPM_BUILD_ROOT%{_libdir}/thunderbird-lightning %{SOURCE4} + +# Register them +ls $RPM_BUILD_ROOT%{_libdir}/thunderbird-lightning/chrome | + sed -n '/en-US/n;s/\(\([^-]*\)-\(.*\)\.jar\)/locale \2 \3 jar:chrome\/\1!\/locale\/\3\/\2\//p' \ + >>$RPM_BUILD_ROOT%{_libdir}/thunderbird-lightning/chrome.manifest + # ^^^ I'm going to burn in hell for this ^^^ +%endif +%endif + +# Permissions fixup +find $RPM_BUILD_ROOT -name '*.xpm' -o -name '*.js' | + xargs chmod 0644 mozilla/LICENSE +find $RPM_BUILD_ROOT -name '*.so' |xargs chmod 0755 + +%clean +rm -rf $RPM_BUILD_ROOT + + +%post +update-desktop-database %{_datadir}/applications +touch --no-create %{_datadir}/icons/hicolor +if [ -x %{_bindir}/gtk-update-icon-cache ]; then + %{_bindir}/gtk-update-icon-cache --quiet %{_datadir}/icons/hicolor || : +fi + + +%postun +update-desktop-database %{_datadir}/applications +touch --no-create %{_datadir}/icons/hicolor +if [ -x %{_bindir}/gtk-update-icon-cache ]; then + %{_bindir}/gtk-update-icon-cache --quiet %{_datadir}/icons/hicolor || : +fi + + +%if %with lightning +%post -n thunderbird-lightning +%{tbupdate_lightning} install || : +%{tbupdate_gdata} install || : + + +%preun -n thunderbird-lightning +if [ $1 = 0 ]; then + %{tbupdate_lightning} remove || : + %{tbupdate_gdata} remove || : +fi + + +%postun -n thunderbird-lightning +# This is needed not to reverse the effect of our preun, which +# is guarded against upgrade, but because of our triggerun, +# which is run on self-upgrade, though triggerpostun isn't +if [ $1 != 0 ]; then + %{tbupdate_lightning} install || : + %{tbupdate_gdata} install || : +fi + +%triggerin -n thunderbird-lightning -- thunderbird +%{tbupdate_lightning} install || : +%{tbupdate_gdata} install || : + +%triggerun -n thunderbird-lightning -- thunderbird +%{tbupdate_lightning} remove || : +%{tbupdate_gdata} remove || : + +%triggerpostun -n thunderbird-lightning -- thunderbird +# Guard against being run post-self-uninstall, even though that +# doesn't happen currently (see comment above) +if [ $1 != 0 ]; then + %{tbupdate_lightning} install || : + %{tbupdate_gdata} install || : +fi +%endif + + +%files +%defattr(-,root,root,-) +%doc mozilla/LEGAL mozilla/LICENSE mozilla/README.txt +%{progdir} +%{_bindir}/sunbird +%{_datadir}/applications/*.desktop +%{_datadir}/icons/hicolor/128x128/apps/sunbird.png + + +%if %with lightning +%files -n thunderbird-lightning +%doc mozilla/LEGAL mozilla/LICENSE mozilla/README.txt +%defattr(-,root,root,-) +%{_libdir}/thunderbird-lightning +%{_libdir}/thunderbird-lightning-gdata +%endif + + +%changelog +* Sat Jun 25 2010 Remi Collet 1.0-0.25.b2pre +- Rebuild for remi repo + +* Thu Jun 24 2010 Jan Horak - 1.0-0.25.b2pre +- Rebuild against Thunderbird 3.1 + +* Tue Jun 22 2010 Jan Horak - 1.0-0.24.b2pre +- Fixed Thunderbird requires version + +* Tue Jun 22 2010 Jan Horak - 1.0-0.23.b2pre +- Rebuild against Thunderbird 3.1 RC2 + +* Tue Mar 30 2010 Remi Collet 1.0-0.21.20090916hg.fc#.remi +- Rebuild for Fedora <= 10 + +* Tue Mar 30 2010 Jan Horak - 1.0-0.21.20090916hg +- Rebuild against new Thunderbird + +* Mon Mar 1 2010 Remi Collet 1.0-0.20.20090916hg.fc#.remi +- Rebuild for Fedora <= 10 + +* Mon Mar 1 2010 Jan Horak - 1.0-0.20.20090916hg +- Rebuild against new Thunderbird + +* Thu Feb 25 2010 Remi Collet 1.0-0.19.20090916hg.fc#.remi +- Rebuild for Fedora <= 10 + +* Thu Feb 25 2010 Jan Horak - 1.0-0.19.20090916hg +- Rebuild against new Thunderbird + +* Thu Jan 21 2010 Remi Collet 1.0-0.17.20090916hg.fc#.remi +- Rebuild for Fedora <= 10 + +* Thu Jan 21 2010 Jan Horak - 1.0-0.17.20090916hg +- Rebuild against new Thunderbird + +* Wed Nov 25 2009 Remi Collet 1.0-0.14.20090916hg.fc#.remi +- Rebuild for Fedora <= 10 + +* Wed Nov 25 2009 Jan Horak - 1.0-0.14.20090916hg +- Rebuild against new Thunderbird + +* Thu Sep 24 2009 Remi Collet 1.0-0.7.20090715hg.fc#.remi +- Rebuild for Fedora <= 10 + +* Tue Sep 22 2009 Jan Horak - 1.0-0.7.20090715hg +- Sync up with Thunderbird + +* Sun Aug 16 2009 Remi Collet 1.0-0.5.20090715hg.fc#.remi +- Rebuild for Fedora <= 10 + +* Sun Jun 28 2009 Lubomir Rintel - 1.0-0.5.20090715hg +- Sync up with Thunderbird + +* Sun Jun 28 2009 Lubomir Rintel - 1.0-0.5.20090513hg +- Sync up with Thunderbird +- Enable the Google Data Provider + +* Sat May 02 2009 Remi Collet 1.0-0.2.20090302hg.fc#.remi +- Rebuild for Fedora <= 10 + +* Wed Apr 29 2009 Lubomir Rintel - 1.0-0.2.20090302hg +- Fix the permissions for real now + +* Tue Apr 28 2009 Lubomir Rintel - 1.0-0.1.20090302hg +- Update to version matching current Thunderbird + +* Sun Mar 1 2009 Lubomir Rintel 0.9-6 +- Fix build with GCC 4.4 + +* Wed Feb 25 2009 Fedora Release Engineering - 0.9-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild + +* Mon Nov 24 2008 Lubomir Rintel 0.9-4 +- Disable lightning on EL-5 ppc, since there's no Desktop with thunderbird +- Fix summary + +* Thu Oct 2 2008 Lubomir Rintel 0.9-3 +- Attempt to fix the libical patch's timezone problem + +* Wed Sep 24 2008 Lubomir Rintel 0.9-2 +- Fix problem with symbol visibility and newer gcc I introduced with libical patch + +* Tue Sep 23 2008 Lubomir Rintel 0.9-1 +- 0.9 GOLD +- Fix use of system nss and nspr4 +- Link against system libical (#459923) +- Add language packs for lightning (#449770) + +* Sun Aug 24 2008 Lubomir Rintel 0.9-0.3.20080824cvs +- Newer snapshot closer to RC +- New langpacks +- Fix install root path + +* Mon Aug 11 2008 Lubomir Rintel 0.9-0.2.20080807cvs +- Get rid of relative symlinks +- Remove lignthing's libcalbasecomps.so provide +- Fix dependencies of scriptlets + +* Sun Aug 10 2008 Lubomir Rintel 0.9-0.1.20080807cvs +- First attempt at 0.9, CVS snapshot close to first RC +- Rewrite the requires generation, for it suffered bitrot + +* Mon May 19 2008 Lubomir Rintel 0.8-4 +- Rebuild for new hunspell + +* Tue Apr 08 2008 Lubomir Kundrak 0.8-3 +- Really fix lightning dependencies (#441340) +- Fix "da" and "it" lanugage packs (#441500) + +* Mon Apr 07 2008 Lubomir Kundrak 0.8-2 +- Blacklist dependencies of lightning on files included in tb (#441340) +- Fix the extension update scriptlet escaping + +* Fri Apr 04 2008 Lubomir Kundrak 0.8-1 +- 0.8 GA + +* Fri Apr 04 2008 Lubomir Kundrak 0.8-0.3.cvs20080331 +- Translations + +* Tue Apr 01 2008 Lubomir Kundrak 0.8-0.2.cvs20080331 +- Unbreak dependencies (hopefully) +- Try concurrent builds again, they seem to work now + +* Tue Apr 01 2008 Lubomir Kundrak 0.8-0.1.cvs20080331 +- Corrected license tag to mention all the applicable Licenses +- Use libxul from XULrunner +- Post 0.8 Release Candidate 1 +- Obsolete wcap subpackage -- got merged into mainline lightning + +* Sun Mar 09 2008 Lubomir Kundrak 0.7-10 +- Parralel makes were failing unpredictably + +* Thu Feb 28 2008 Lubomir Kundrak 0.7-9 +- Try to use the correct locale (#436693) + +* Mon Jan 21 2008 Lubomir Kundrak 0.7-8 +- Streamlined BuildRequires a bit +- Do not provide stuff that has to be provided by firefox +- Do not require what's in our fileset +- Removed redundant and useless Source0 without upstream + +* Thu Jan 03 2008 Lubomir Kundrak 0.7-7 +- Add patch to correct build with FORTIFY_SOURCE +- Replace the name in .desktop file with a more descriptive one +- Add translations to .desktop file + +* Sun Dec 30 2007 Aurelien Bompard 0.7-6 +- disable updater + +* Tue Dec 11 2007 Aurelien Bompard 0.7-5 +- fix debuginfo package + +* Tue Oct 30 2007 Aurelien Bompard 0.7-4 +- rename the mozilla-lightning subpackage to thunderbird-lightning + since it's a thunderbird extension +- create a "chrome.manifest" file to avoid "Chrome Registration Failed" message + +* Mon Oct 29 2007 Aurelien Bompard 0.7-3 +- be even more complicated: build the wcap-enabler extension + (really, it's just cut'n'paste) + +* Mon Oct 29 2007 Aurelien Bompard 0.7-2 +- split the lightning package +- use scriptlets and triggers based on the mugshot package + +* Sat Oct 27 2007 Aurelien Bompard 0.7-1 +- version 0.7 + +* Tue Sep 11 2007 Aurelien Bompard 0.5-3 +- minor spec cleanups +- build the Lightning extension +- add an option to build with official branding + +* Sun Sep 09 2007 Aurelien Bompard 0.5-2 +- fix icon + +* Wed Jul 25 2007 Aurelien Bompard 0.5-1 +- initial release diff --git a/xulrunner-1.9.2.1-build.patch b/xulrunner-1.9.2.1-build.patch new file mode 100644 index 0000000..4d9ee43 --- /dev/null +++ b/xulrunner-1.9.2.1-build.patch @@ -0,0 +1,12 @@ +diff -up xulrunner-1.9.2.1/mozilla-1.9.2/layout/generic/nsFrame.h.old xulrunner-1.9.2.1/mozilla-1.9.2/layout/generic/nsFrame.h +--- xulrunner-1.9.2.1/mozilla/layout/generic/nsFrame.h.old 2009-11-11 15:34:51.000000000 +0100 ++++ xulrunner-1.9.2.1/mozilla/layout/generic/nsFrame.h 2009-11-11 15:33:09.000000000 +0100 +@@ -157,7 +157,7 @@ private: + // Left undefined; nsFrame objects are never allocated from the heap. + void* operator new(size_t sz) CPP_THROW_NEW; + +-protected: ++public: + // Overridden to prevent the global delete from being called, since + // the memory came out of an arena instead of the heap. + // -- cgit