diff options
| author | Remi Collet <fedora@famillecollet.com> | 2010-06-26 07:46:49 +0200 | 
|---|---|---|
| committer | Remi Collet <fedora@famillecollet.com> | 2010-06-26 07:46:49 +0200 | 
| commit | 6f77138fd8f6b6e3c0cdfbe72acc964da48cc04c (patch) | |
| tree | 73082d5c987c51c21733c7649e8b50a0b81bb6b9 | |
import sunbird (for thunderbird-lightning)
| -rw-r--r-- | Makefile | 4 | ||||
| -rwxr-xr-x | find-external-requires | 23 | ||||
| -rwxr-xr-x | mozilla-extension-update.sh | 144 | ||||
| -rw-r--r-- | mozilla-jemalloc.patch | 24 | ||||
| -rw-r--r-- | sunbird-1.0-libical.patch | 59 | ||||
| -rw-r--r-- | sunbird-1.0-uilocale.patch | 32 | ||||
| -rw-r--r-- | sunbird-l10n.tar | bin | 0 -> 3840000 bytes | |||
| -rw-r--r-- | sunbird.desktop | 21 | ||||
| -rw-r--r-- | sunbird.spec | 523 | ||||
| -rw-r--r-- | xulrunner-1.9.2.1-build.patch | 12 | 
10 files changed, 842 insertions, 0 deletions
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]/<product> +# 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 <em:id> 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 <application-name> --extname <extension-name> --extpath <extension-path> --action <install|remove> [--basedir </usr/lib|/usr/lib64>]" +} + +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 <lkundrak@v3.sk> + +--- 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 <libical/ical.h> ++#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 <lkundrak@v3.sk> + +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 Binary files differnew file mode 100644 index 0000000..873891c --- /dev/null +++ b/sunbird-l10n.tar 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 <<EOF +ac_add_options --disable-crashreporter +ac_add_options --disable-debug +ac_add_options --disable-installer +ac_add_options --disable-install-strip +ac_add_options --disable-strip +ac_add_options --disable-tests +ac_add_options --disable-updater +ac_add_options --disable-xprint +ac_add_options --enable-application=calendar +ac_add_options --enable-calendar +ac_add_options --enable-canvas +ac_add_options --enable-default-toolkit=cairo-gtk2 +ac_add_options --enable-optimize="$(echo $RPM_OPT_FLAGS |sed -e 's/-O2/-Os/;s/-Wall//')" +ac_add_options --enable-pango +ac_add_options --enable-svg +%if %{fedora} >= 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 <rpms@famillecollet.com> 1.0-0.25.b2pre +- Rebuild for remi repo + +* Thu Jun 24 2010 Jan Horak <jhorak@redhat.com> - 1.0-0.25.b2pre +- Rebuild against Thunderbird 3.1 + +* Tue Jun 22 2010 Jan Horak <jhorak@redhat.com> - 1.0-0.24.b2pre +- Fixed Thunderbird requires version + +* Tue Jun 22 2010 Jan Horak <jhorak@redhat.com> - 1.0-0.23.b2pre +- Rebuild against Thunderbird 3.1 RC2 + +* Tue Mar 30 2010 Remi Collet <rpms@famillecollet.com> 1.0-0.21.20090916hg.fc#.remi +- Rebuild for Fedora <= 10 + +* Tue Mar 30 2010 Jan Horak <jhorak@redhat.com> - 1.0-0.21.20090916hg +- Rebuild against new Thunderbird + +* Mon Mar  1 2010 Remi Collet <rpms@famillecollet.com> 1.0-0.20.20090916hg.fc#.remi +- Rebuild for Fedora <= 10 + +* Mon Mar  1 2010 Jan Horak <jhorak@redhat.com> - 1.0-0.20.20090916hg +- Rebuild against new Thunderbird + +* Thu Feb 25 2010 Remi Collet <rpms@famillecollet.com> 1.0-0.19.20090916hg.fc#.remi +- Rebuild for Fedora <= 10 + +* Thu Feb 25 2010 Jan Horak <jhorak@redhat.com> - 1.0-0.19.20090916hg +- Rebuild against new Thunderbird + +* Thu Jan 21 2010 Remi Collet <rpms@famillecollet.com> 1.0-0.17.20090916hg.fc#.remi +- Rebuild for Fedora <= 10 + +* Thu Jan 21 2010 Jan Horak <jhorak@redhat.com> - 1.0-0.17.20090916hg +- Rebuild against new Thunderbird + +* Wed Nov 25 2009 Remi Collet <rpms@famillecollet.com> 1.0-0.14.20090916hg.fc#.remi +- Rebuild for Fedora <= 10 + +* Wed Nov 25 2009 Jan Horak <jhorak@redhat.com> - 1.0-0.14.20090916hg +- Rebuild against new Thunderbird + +* Thu Sep 24 2009 Remi Collet <rpms@famillecollet.com> 1.0-0.7.20090715hg.fc#.remi +- Rebuild for Fedora <= 10 + +* Tue Sep 22 2009 Jan Horak <jhorak@redhat.com> - 1.0-0.7.20090715hg +- Sync up with Thunderbird + +* Sun Aug 16 2009 Remi Collet <rpms@famillecollet.com> 1.0-0.5.20090715hg.fc#.remi +- Rebuild for Fedora <= 10 + +* Sun Jun 28 2009 Lubomir Rintel <lkundrak@v3.sk> - 1.0-0.5.20090715hg +- Sync up with Thunderbird + +* Sun Jun 28 2009 Lubomir Rintel <lkundrak@v3.sk> - 1.0-0.5.20090513hg +- Sync up with Thunderbird +- Enable the Google Data Provider + +* Sat May 02 2009 Remi Collet <rpms@famillecollet.com> 1.0-0.2.20090302hg.fc#.remi +- Rebuild for Fedora <= 10 + +* Wed Apr 29 2009 Lubomir Rintel <lkundrak@v3.sk> - 1.0-0.2.20090302hg +- Fix the permissions for real now + +* Tue Apr 28 2009 Lubomir Rintel <lkundrak@v3.sk> - 1.0-0.1.20090302hg +- Update to version matching current Thunderbird + +* Sun Mar 1 2009 Lubomir Rintel <lkundrak@v3.sk> 0.9-6 +- Fix build with GCC 4.4 + +* Wed Feb 25 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.9-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild + +* Mon Nov 24 2008 Lubomir Rintel <lkundrak@v3.sk> 0.9-4 +- Disable lightning on EL-5 ppc, since there's no Desktop with thunderbird +- Fix summary + +* Thu Oct 2 2008 Lubomir Rintel <lkundrak@v3.sk> 0.9-3 +- Attempt to fix the libical patch's timezone problem + +* Wed Sep 24 2008 Lubomir Rintel <lkundrak@v3.sk> 0.9-2 +- Fix problem with symbol visibility and newer gcc I introduced with libical patch + +* Tue Sep 23 2008 Lubomir Rintel <lkundrak@v3.sk> 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 <lkundrak@v3.sk> 0.9-0.3.20080824cvs +- Newer snapshot closer to RC +- New langpacks +- Fix install root path + +* Mon Aug 11 2008 Lubomir Rintel <lkundrak@v3.sk> 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 <lkundrak@v3.sk> 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 <lkundrak@v3.sk> 0.8-4 +- Rebuild for new hunspell + +* Tue Apr 08 2008 Lubomir Kundrak <lkundrak@redhat.com> 0.8-3 +- Really fix lightning dependencies (#441340) +- Fix "da" and "it" lanugage packs (#441500) + +* Mon Apr 07 2008 Lubomir Kundrak <lkundrak@redhat.com> 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 <lkundrak@redhat.com> 0.8-1 +- 0.8 GA + +* Fri Apr 04 2008 Lubomir Kundrak <lkundrak@redhat.com> 0.8-0.3.cvs20080331 +- Translations + +* Tue Apr 01 2008 Lubomir Kundrak <lkundrak@redhat.com> 0.8-0.2.cvs20080331 +- Unbreak dependencies (hopefully) +- Try concurrent builds again, they seem to work now + +* Tue Apr 01 2008 Lubomir Kundrak <lkundrak@redhat.com> 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 <lkundrak@redhat.com> 0.7-10 +- Parralel makes were failing unpredictably + +* Thu Feb 28 2008 Lubomir Kundrak <lkundrak@redhat.com> 0.7-9 +- Try to use the correct locale (#436693) + +* Mon Jan 21 2008 Lubomir Kundrak <lkundrak@redhat.com> 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 <lkundrak@redhat.com> 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 <abompard@fedoraproject.org> 0.7-6 +- disable updater + +* Tue Dec 11 2007 Aurelien Bompard <abompard@fedoraproject.org> 0.7-5 +- fix debuginfo package + +* Tue Oct 30 2007 Aurelien Bompard <abompard@fedoraproject.org> 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 <abompard@fedoraproject.org> 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 <abompard@fedoraproject.org> 0.7-2 +- split the lightning package +- use scriptlets and triggers based on the mugshot package + +* Sat Oct 27 2007 Aurelien Bompard <abompard@fedoraproject.org> 0.7-1 +- version 0.7 + +* Tue Sep 11 2007 Aurelien Bompard <abompard@fedoraproject.org> 0.5-3 +- minor spec cleanups +- build the Lightning extension +- add an option to build with official branding + +* Sun Sep 09 2007 Aurelien Bompard <abompard@fedoraproject.org> 0.5-2 +- fix icon + +* Wed Jul 25 2007 Aurelien Bompard <abompard@fedoraproject.org> 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. +   //  | 
