Sophie

Sophie

distrib > Fedora > 13 > i386 > by-pkgid > c544b93589632dbc25038ebfc6e61751 > files > 7

chatzilla-0.9.86-2.1285hg.fc13.src.rpm

%define changeset 239243fd40b4
%define rev 1285
%define buildid %(echo `date +%Y%m%d%H`)

Name:           chatzilla
Version:        0.9.86
Release:        2.%{rev}hg%{?dist}
Summary:        Standalone Mozilla IRC Client, no browsers attached

Group:          Applications/Internet
License:        MPLv1.1 or GPLv2+ or LGPLv2+
URL:            http://chatzilla.rdmsoft.com/xulrunner/
Source0:        http://hg.mozilla.org/chatzilla/archive/%{changeset}.tar.bz2
Source1:        %{name}.schemas
Source2:        %{name}.1
Source3:        README
BuildRoot:      %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)

BuildRequires:  zip desktop-file-utils python
Requires:       xulrunner hicolor-icon-theme

BuildArch:      noarch

# Patch0 : make chatzilla standalone xulrunner app
Patch0:         %{name}-%{version}-%{changeset}-xulrunner.patch
# Patch1 : this patch is needed if we want to add menus after to the ui
Patch1:         %{name}-%{version}-add-menupopupids.patch

%description
ChatZilla is normally used as part of SeaMonkey, or an extension 
to other browsers. However, it can also run under XULRunner, allowing 
ChatZilla to be used standalone, independent of a web browser. 

%package gnome
Summary:        Gnome integration for standalone chatzilla
Requires:       GConf2 
Requires:       %{name} = %{version}-%{release}

%description gnome
Gnome integration for standalone chatzilla, this package adds chatzilla
to IRC handlers on gnome

%prep
%setup -q -n %{name}-%{changeset}
%patch0 -p1 -b .xr
%patch1 -p1 -b .add-menupopupids

sed -i 's|@REVISION@|%{version}|g' xpi/resources/application.ini
sed -i 's|@BUILDID@|%{buildid}|g' xpi/resources/application.ini

%build
pushd xpi
python makexpi.py
popd

%install
rm -rf $RPM_BUILD_ROOT

export DESTDIR=$RPM_BUILD_ROOT%{_datadir}/%{name}-%{version}
export FEDIR=`pwd`

mkdir -p $DESTDIR
cp -rf xpi/xpi-tree/* $DESTDIR

# Do the appropriate changes
pushd $DESTDIR
    rm -f chrome.manifest install.js install.rdf
    install -Dpm 644 $FEDIR/xpi/resources/application.ini .
    mkdir -p extensions/\{972ce4c6-7e08-4474-a285-3208198ce6fd\}
    install -Dpm 644 $FEDIR/xpi/resources/themeinstall.rdf extensions/\{972ce4c6-7e08-4474-a285-3208198ce6fd\}/install.rdf
    mkdir -p defaults/preferences
    install -Dpm 644 $FEDIR/xpi/resources/*.xr.js defaults/preferences
    install -Dpm 644 $FEDIR/xpi/resources/chrome.xr.manifest chrome/chrome.manifest
    mkdir -p chrome/branding
    install -Dpm 644 $FEDIR/xpi/resources/{brand.dtd,brand.properties} chrome/branding
popd

# Add launcher
mkdir -p $RPM_BUILD_ROOT%{_bindir}
cat <<EOF >$RPM_BUILD_ROOT%{_bindir}/%{name}
#!/bin/bash
USAGE="Usage: \`basename \$0\` [-h|--help] [-chat|--chat URL]"
if [ \$# -eq 0 ]; then
    xulrunner -app %{_datadir}/%{name}-%{version}/application.ini --chat "irc://"
else
case \$1 in
-h|--help)
    echo \$USAGE
        exit 0
    ;;
-chat|--chat)
    if [[ \$2 =~ irc:// ]]; then
        xulrunner -app %{_datadir}/%{name}-%{version}/application.ini --chat \$2
    else
        echo "\$1 needs a valid irc URL"
    fi
    ;;
*)
    echo \$USAGE
    exit 0
    ;;
esac
fi
EOF

chmod +x $RPM_BUILD_ROOT%{_bindir}/%{name}

# Install Icons
install -Dpm 644 xpi/resources/chatzilla-window16.xpm $RPM_BUILD_ROOT%{_datadir}/icons/hicolor/16x16/apps/%{name}.xpm
install -Dpm 644 xpi/resources/chatzilla-window.xpm $RPM_BUILD_ROOT%{_datadir}/icons/hicolor/32x32/apps/%{name}.xpm

# Install Desktop File
mkdir -p $RPM_BUILD_ROOT%{_datadir}/applications
cat <<EOF >$RPM_BUILD_ROOT%{_datadir}/applications/%{name}.desktop
[Desktop Entry]
Name=ChatZilla
Comment=Standalone Mozilla IRC Client, no browsers attached
TryExec=chatzilla
Exec=chatzilla
Icon=chatzilla
Type=Application
Categories=Network;GTK;IRCClient;
StartupNotify=true
EOF
desktop-file-validate $RPM_BUILD_ROOT%{_datadir}/applications/%{name}.desktop

#Install schemas file
install -Dpm 644 %{SOURCE1} $RPM_BUILD_ROOT%{_sysconfdir}/gconf/schemas/%{name}.schemas

#Install manual page
install -dm 755 $RPM_BUILD_ROOT%{_datadir}/man/man1
install -Dpm 644 %{SOURCE2} $RPM_BUILD_ROOT%{_datadir}/man/man1

#Set cZ icons as default ones
pushd $RPM_BUILD_ROOT%{_datadir}/%{name}-%{version}/chrome/icons/default
    ln -s chatzilla-window.xpm default.xpm
    ln -s chatzilla-window16.xpm default16.xpm
popd

%clean
rm -rf $RPM_BUILD_ROOT

%post
touch --no-create %{_datadir}/icons/hicolor &>/dev/null || :

%postun
if [ $1 -eq 0 ] ; then
    touch --no-create %{_datadir}/icons/hicolor &>/dev/null
    gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :
fi

%posttrans
gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :

%post gnome
# Install schema
export GCONF_CONFIG_SOURCE=`gconftool-2 --get-default-source`
gconftool-2 --makefile-install-rule /etc/gconf/schemas/%{name}.schemas >& /dev/null || :

%pre gnome
if [ "$1" -gt 1 ]; then
  export GCONF_CONFIG_SOURCE=`gconftool-2 --get-default-source`
  gconftool-2 --makefile-uninstall-rule /etc/gconf/schemas/%{name}.schemas >& /dev/null || :
fi

%preun gnome
if [ "$1" -eq 0 ]; then
  export GCONF_CONFIG_SOURCE=`gconftool-2 --get-default-source`
  gconftool-2 --makefile-uninstall-rule /etc/gconf/schemas/%{name}.schemas >& /dev/null || :
fi


%files
%defattr(-,root,root,-)
%doc ChangeLog DYK
%{_bindir}/%{name}
%{_datadir}/%{name}-%{version}
%{_datadir}/applications/%{name}.desktop
%{_datadir}/icons/hicolor/*/apps/%{name}.xpm
%{_datadir}/man/man1/%{name}.1.gz

%files gnome
%defattr(-,root,root,-)
%doc README
%{_sysconfdir}/gconf/schemas/%{name}.schemas

%changelog
* Sun Sep 19 2010 Hicham HAOUARI <hicham.haouari@gmail.com> - 0.9.86-2.1285hg
- Show cZ icon on all dialogs

* Sat Jun 26 2010 Hicham HAOUARI <hicham.haouari@gmail.com> - 0.9.86-1.1285hg
- Initial package for Fedora.