Sophie

Sophie

distrib > Fedora > 15 > i386 > by-pkgid > a61434b38fa04f98378ddc3cbea50300 > files > 9

chatzilla-0.9.86-9.1292hg.fc15.src.rpm

%define changeset 2c5f8e558d1d
%define rev 1292
%define buildid %(echo `date +%Y%m%d%H`)

Name:           chatzilla
Version:        0.9.86
Release:        9.%{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
Source4:        http://twpol.dyndns.org/temp/cz_logo.svg

BuildRequires:  zip desktop-file-utils python
BuildRequires:  ImageMagick
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
# Patch2 : https://bugzilla.mozilla.org/show_bug.cgi?id=605001
Patch2:         %{name}-%{version}-unwrap-frame.patch
# Patch3 : https://bugzilla.mozilla.org/show_bug.cgi?id=605001
Patch3:         %{name}-%{version}-meta-reorder.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
%patch2 -p1 -b .unwrap-frame
%patch3 -p1 -b .meta-reorder

sed -i 's|@REVISION@|%{version}|g' xpi/resources/{application.ini,brand.properties,brand.dtd,chatzilla-prefs.xr.js}
sed -i 's|@BUILDID@|%{buildid}|g' xpi/resources/application.ini

%build
pushd xpi
python makexpi.py
popd

%install
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 %{SOURCE4} $RPM_BUILD_ROOT%{_datadir}/icons/hicolor/scalable/apps/%{name}.svg
for i in 16 20 24 32 36 48 64 72 96 128 192 256; do
    mkdir -p $RPM_BUILD_ROOT%{_datadir}/icons/hicolor/${i}x${i}/apps
    convert -background none %{SOURCE4} -resize ${i}x${i} \
            $RPM_BUILD_ROOT%{_datadir}/icons/hicolor/${i}x${i}/apps/%{name}.png
done
pushd $RPM_BUILD_ROOT%{_datadir}/%{name}-%{version}/chrome/icons/default
    rm -f *
    for i in 16 20 24 32 36 48 64 72 96 128 192 256; do
        ln -sf ../../../../icons/hicolor/${i}x${i}/apps/%{name}.png \
               chatzilla-window${i}.png
        ln -sf ../../../../icons/hicolor/${i}x${i}/apps/%{name}.png \
               default${i}.png
    done
popd

# 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

#Add a chrome.manifest to top directory
cat <<EOF >$RPM_BUILD_ROOT%{_datadir}/%{name}-%{version}/chrome.manifest
manifest chrome/chrome.manifest
EOF

%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}.*
%{_datadir}/man/man1/%{name}.1.gz

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

%changelog
* Thu Mar 31 2011 Hicham HAOUARI <hicham.haouari@gmail.com> - 0.9.86-9.1292hg
- Use an svg icon as source so that it looks better under gnome-shell

* Mon Mar 07 2011 Hicham HAOUARI <hicham.haouari@gmail.com> - 0.9.86-8.1292hg
- Use patches from bmo #605001
- Remove BuildRoot and Clean sections.

* Tue Feb 08 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.9.86-7.1292hg
- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild

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

* Thu Sep 14 2010 Hicham HAOUARI <hicham.haouari@gmail.com> - 0.9.86-5.1292hg
- Fix revision in some files

* Thu Sep 10 2010 Hicham HAOUARI <hicham.haouari@gmail.com> - 0.9.86-4.1292hg
- Another attempt to fix rhbz #632233 ( add chrome.manifest to top dir )

* Thu Sep 09 2010 Hicham HAOUARI <hicham.haouari@gmail.com> - 0.9.86-3.1292hg
- Another attempt to fix rhbz #632233 ( Update max gecko version )

* Thu Sep 09 2010 Hicham HAOUARI <hicham.haouari@gmail.com> - 0.9.86-2.1292hg
- Update to latest hg to fix rhbz #632233

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