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