%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.