File quassel.spec of Package quassel

#
# spec file for package quassel
#
# Copyright (c) 2011 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.

# Please submit bugfixes or comments via http://bugs.opensuse.org/
#

# norootforbuild


Name:           quassel
Version:        0.7.3
Release:        1
License:        GNU GPL v2 or v3
Summary:        Modern, cross-platform, distributed IRC client
Group:          Productivity/Networking/IRC
Url:            http://quassel-irc.org/
Source:         http://quassel-irc.org/pub/%{name}-%{version}.tar.bz2
Source1:        init.quasselcore
Source2:        sysconfig.quasselcore
Source3:        logrotate.quasselcore
Source4:        quassel.SuSEfirewall2
BuildRoot:      %{_tmppath}/%{name}-%{version}-build
BuildRequires:  cmake
BuildRequires:  fdupes
BuildRequires:  libkde4-devel
BuildRequires:  libqca2-devel
BuildRequires:  libQtWebKit-devel
BuildRecommends:libdbusmenu-qt-devel

%description
Quassel IRC is a modern, cross-platform, distributed IRC client, meaning that
one (or multiple) client(s) can attach to and detach from a central core --
much like the popular combination of screen and a text-based IRC client such
as WeeChat, but graphical. In addition to this uniqe feature, we aim to bring
a pleasurable, comfortable chatting experience to all major platforms (including
Linux®, Windows®, and MacOS X® as well as Qtopia-based cell phones and PDAs),
making communication with your peers not only convenient, but also ubiquitous
available.

%package mono

Summary:        Modern, cross-platform, distributed IRC client
Group:          Productivity/Networking/IRC
Requires:       quassel-base = %{version}-%{release}
Provides:       quassel = %{version}
Obsoletes:      quassel < %{version}
Provides:       kde4-quassel-mono = %{version}
Obsoletes:      kde4-quassel-mono < %{version}
Provides:       quassel_ui = %{version}
Provides:       quassel:%{_bindir}/quasselclient
Requires:       libqt4_sql_backend
Recommends:     libqt4-sql-sqlite
%kde4_runtime_requires

%description mono
Quassel IRC is a modern, cross-platform, distributed IRC client, meaning that
one (or multiple) client(s) can attach to and detach from a central core --
much like the popular combination of screen and a text-based IRC client such
as WeeChat, but graphical. In addition to this uniqe feature, we aim to bring
a pleasurable, comfortable chatting experience to all major platforms (including
Linux®, Windows®, and MacOS X® as well as Qtopia-based cell phones and PDAs),
making communication with your peers not only convenient, but also ubiquitous
available.

This is the quassel standalone client


%package client

Summary:        Modern, cross-platform, distributed IRC client
Group:          Productivity/Networking/IRC
Requires:       quassel-base = %{version}-%{release}
Provides:       quassel_ui = %{version}
Provides:       quassel:%{_bindir}/quasselclient
Provides:       kde4-quassel-client = %{version}
Obsoletes:      kde4-quassel-client < %{version}
%kde4_runtime_requires

%description client
Quassel IRC is a modern, cross-platform, distributed IRC client, meaning that
one (or multiple) client(s) can attach to and detach from a central core --
much like the popular combination of screen and a text-based IRC client such
as WeeChat, but graphical. In addition to this uniqe feature, we aim to bring
a pleasurable, comfortable chatting experience to all major platforms (including
Linux®, Windows®, and MacOS X® as well as Qtopia-based cell phones and PDAs),
making communication with your peers not only convenient, but also ubiquitous
available.

This is the quassel client only


%package core

Summary:        Modern, cross-platform, distributed IRC client
Group:          Productivity/Networking/IRC
Requires:       %fillup_prereq
Requires:       libqt4_sql_backend
Recommends:     libqt4-sql-sqlite
Requires:       logrotate
Provides:       quassel:%{_bindir}/quasselcore
Provides:       kde4-quassel-core = %{version}
Obsoletes:      kde4-quassel-core < %{version}
PreReq:         pwdutils
PreReq:         %fillup_prereq
PreReq:         %insserv_prereq

%description core
Quassel IRC is a modern, cross-platform, distributed IRC client, meaning that
one (or multiple) client(s) can attach to and detach from a central core --
much like the popular combination of screen and a text-based IRC client such
as WeeChat, but graphical. In addition to this uniqe feature, we aim to bring
a pleasurable, comfortable chatting experience to all major platforms (including
Linux®, Windows®, and MacOS X® as well as Qtopia-based cell phones and PDAs),
making communication with your peers not only convenient, but also ubiquitous
available.

This is the core only


%package base

Summary:        Modern, cross-platform, distributed IRC client
Group:          Productivity/Networking/IRC
Provides:       kde4-quassel-base = %{version}
Obsoletes:      kde4-quassel-base < %{version}
Requires:       quassel_ui = %{version}

%description base
Quassel IRC is a modern, cross-platform, distributed IRC client, meaning that
one (or multiple) client(s) can attach to and detach from a central core --
much like the popular combination of screen and a text-based IRC client such
as WeeChat, but graphical. In addition to this uniqe feature, we aim to bring
a pleasurable, comfortable chatting experience to all major platforms (including
Linux®, Windows®, and MacOS X® as well as Qtopia-based cell phones and PDAs),
making communication with your peers not only convenient, but also ubiquitous
available.

This contains common parts shared by kde4-quassel ind kde4-quassel-client


%prep
%setup -q

%build
FAKE_BUILDDATE=$(LC_ALL=C date -r %{_sourcedir}/%{name}.changes '+%%b %%e %%Y')
sed -i "s/__DATE__/\"$FAKE_BUILDDATE\"/" src/common/main.cpp
FAKE_BUILDTIME=$(LC_ALL=C date -r %{_sourcedir}/%{name}.changes '+%%H:%%M:%%S')
sed -i "s/__TIME__/\"$FAKE_BUILDTIME\"/" src/common/main.cpp

%cmake_kde4 -- -DWITH_KDE=ON -DWITH_OPENSSL=ON -DWITH_DBUS=ON -DWITH_PHONON=ON -DWITH_WEBKIT=ON
%make_jobs  

%install
%makeinstall
%kde_post_install
%fdupes %{buildroot}
install -d -m 755 %{buildroot}%{_var}/lib/quasselcore
install -d -m 755 %{buildroot}%{_sbindir}
install -D -m 755 %{S:1} %{buildroot}%{_sysconfdir}/init.d/quasselcore
ln -sf ../../%{_sysconfdir}/init.d/quasselcore %{buildroot}%{_sbindir}/rcquasselcore
install -D -m 644 %{S:2} %{buildroot}%{_var}/adm/fillup-templates/sysconfig.quasselcore
install -d -m 751 %{buildroot}/var/log/quassel
install -D -m 644 %{S:3} %{buildroot}%{_sysconfdir}/logrotate.d/quasselcore
install -D -m 644 %{S:4} %{buildroot}%{_sysconfdir}/sysconfig/SuSEfirewall2.d/services/quassel

%pre core
/usr/bin/getent group quasselcore >/dev/null || /usr/sbin/groupadd -r quasselcore || :
/usr/bin/getent passwd quasselcore >/dev/null || /usr/sbin/useradd -r -d /var/lib/quasselcore \
    -s /bin/false -c "quasselcore daemon" -g quasselcore quasselcore || :

%post core
%{fillup_and_insserv -yn quasselcore quasselcore}

%preun core
%{stop_on_removal quasselcore}

%postun core
%{restart_on_update quasselcore}
%{insserv_cleanup}

%files mono
%defattr(-,root,root)
%doc AUTHORS ChangeLog README
%{_bindir}/quassel
%{_datadir}/applications/kde4/quassel.desktop

%files client
%defattr(-,root,root)
%doc AUTHORS ChangeLog README
%{_bindir}/quasselclient
%{_datadir}/applications/kde4/quasselclient.desktop

%files core
%defattr(-,root,root)
%doc AUTHORS ChangeLog README
%{_bindir}/quasselcore
%{_sysconfdir}/init.d/quasselcore
%{_sbindir}/rcquasselcore
%attr(-,quasselcore,quasselcore) %dir %{_var}/lib/quasselcore
%{_var}/adm/fillup-templates/sysconfig.quasselcore
%attr(-,quasselcore,quasselcore) %dir %{_var}/log/quassel
%config(noreplace) %{_sysconfdir}/logrotate.d/quasselcore
%{_sysconfdir}/sysconfig/SuSEfirewall2.d/services/quassel

%files base
%defattr(-,root,root)
%{_datadir}/icons/hicolor/*/apps/quassel.png
%{_datadir}/icons/hicolor/*/status/quassel_*.png
%{_kde_share_dir}/apps/quassel
%{_datadir}/pixmaps/quassel.png

%changelog
openSUSE Build Service is sponsored by