File psi+.spec of Package psi+

#
# spec file for package psi+ (Version 0.15.3464)
#
# 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/
#

Name:           psi+
Url:            http://code.google.com/p/psi-dev/
License:        GPL v2 or later
Group:          Productivity/Networking/Talk/Clients
Version:        0.15.3464
Release:        2
Summary:        Jabber client using Qt
Source:         %{name}-%{version}.tar.bz2
Source1:        psi_cs.qm
Source2:        qt_de.qm
Source3:        psi_de.qm
Source4:        psi_eo.qm
Source5:        psi_es_ES.qm
Source6:        psi_fr.qm
Source7:        qt_fr.qm
Source8:        psi_it.qm
Source9:        psi_mk.qm
Source10:       psi_pl.qm
Source11:       psi_pt_BR.qm
Source12:       psi_ru.qm
Source13:       qt_ru.qm
Source14:       psi_uk.qm
Source15:       qt_uk.qm
Source16:       psi_ur_pk.qm
Source17:       psi_vi.qm
Source18:       psi_zh.qm
Source19:       psi_zh_TW.qm
Patch0:         proper-version.patch
Patch1:         icon-load-crash-fix.patch
BuildRoot:      %{_tmppath}/%{name}-%{version}-build
BuildRequires:  aspell-devel
BuildRequires:  fdupes
BuildRequires:  libproxy-devel
BuildRequires:  libqca2-devel
BuildRequires:  libqt4-devel
BuildRequires:  openssl-devel
BuildRequires:  gcc-c++
BuildRequires:  zlib-devel
BuildRequires:  libQtWebKit-devel
BuildRequires:  update-desktop-files

%define iconspath %{_datadir}/psi/iconsets
%define pluginspath %{_libdir}/psi/plugins

%description
Psi is the premiere Instant Messaging application designed for
GNU/Linux, Microsoft Windows, Apple Mac OS X. Built upon an open
protocol named Jabber, Psi is a fast and lightweight messaging client
that utilises the best in open source technologies. Psi contains all
the features necessary to chat, with no bloated extras that slow your
computer down.

%package iconsets
Group: Productivity/Networking/Talk/Clients
Summary: Icons for Psi
Requires: %{name} = %{version}-%{release}

%description iconsets
Some additional icons for Psi - emoticons.

%package plugins-juickplugin
Group: Productivity/Networking/Talk/Clients
Summary: Plugin for Psi
Requires: %{name} = %{version}-%{release}

%description plugins-juickplugin
This plugin is designed to work efficiently and comfortably with the Juick
microblogging service.

%package plugins-autoreplyplugin
Group: Productivity/Networking/Talk/Clients
Summary: Plugin for Psi
Requires: %{name} = %{version}-%{release}

%description plugins-autoreplyplugin
This plugin acts as an auto-answering machine.

%package plugins-translateplugin
Group: Productivity/Networking/Talk/Clients
Summary: Plugin for Psi
Requires: %{name} = %{version}-%{release}

%description plugins-translateplugin
This plugin allows you to convert selected text into another language.

%package plugins-imageplugin
Group: Productivity/Networking/Talk/Clients
Summary: Plugin for Psi
Requires: %{name} = %{version}-%{release}

%description plugins-imageplugin
This plugin is designed to send images to roster contacts.

%package plugins-birthdayreminderplugin
Group: Productivity/Networking/Talk/Clients
Summary: Plugin for Psi
Requires: %{name} = %{version}-%{release}

%description plugins-birthdayreminderplugin
This plugin is designed to show reminders of upcoming birthdays.

%package plugins-gmailserviceplugin
Group:          Productivity/Networking/Talk/Clients
Summary:        Plugin for Psi
Requires:       %{name} = %{version}-%{release}
Obsoletes:      plugins-gmailnotifyplugin < %{version}
Provides:       plugins-gmailnotifyplugin

%description plugins-gmailserviceplugin
Shows notifications of new messages in your Gmailbox.

%package plugins-screenshotplugin
Group: Productivity/Networking/Talk/Clients
Summary: Plugin for Psi
Requires: %{name} = %{version}-%{release}

%description plugins-screenshotplugin
This plugin allows you to make screenshots and save them to your hard drive or
upload them to an FTP or HTTP server.

%package plugins-stopspamplugin
Group: Productivity/Networking/Talk/Clients
Summary: Plugin for Psi
Requires: %{name} = %{version}-%{release}

%description plugins-stopspamplugin
This plugin is designed to block spam messages and other unwanted information
from Psi+ users.

%package plugins-conferenceloggerplugin
Group: Productivity/Networking/Talk/Clients
Summary: Plugin for Psi
Requires: %{name} = %{version}-%{release}

%description plugins-conferenceloggerplugin
This plugin is designed to save conference logs in which the Psi+ user sits.

%package plugins-cleanerplugin
Group: Productivity/Networking/Talk/Clients
Summary: Plugin for Psi
Requires: %{name} = %{version}-%{release}

%description plugins-cleanerplugin
This plugin is designed to clear the avatar cache, saved local copies of vCards
and history logs.

%package plugins-icqdieplugin
Group: Productivity/Networking/Talk/Clients
Summary: Plugin for Psi
Requires: %{name} = %{version}-%{release}

%description plugins-icqdieplugin
This plugin is designed to help you transfer as many contacts as possible from
ICQ to Jabber.

%package plugins-watcherplugin
Group: Productivity/Networking/Talk/Clients
Summary: Plugin for Psi
Requires: %{name} = %{version}-%{release}

%description plugins-watcherplugin
This plugin is designed to monitor the status of specific roster contacts, as
well as for substitution of standard sounds of incoming messages.

%package plugins-attentionplugin
Group: Productivity/Networking/Talk/Clients
Summary: Plugin for Psi
Requires: %{name} = %{version}-%{release}

%description plugins-attentionplugin
This plugin is designed to send and receive special messages such as Attentions.

%package plugins-extendedoptionsplugin
Group: Productivity/Networking/Talk/Clients
Summary: Plugin for Psi
Requires: %{name} = %{version}-%{release}

%description plugins-extendedoptionsplugin
This plugin is designed to allow easy configuration of some advanced options in
Psi+.

%package plugins-storagenotesplugin
Group: Productivity/Networking/Talk/Clients
Summary: Plugin for Psi
Requires: %{name} = %{version}-%{release}

%description plugins-storagenotesplugin
This plugin is an implementation of XEP-0049: Private XML Storage.

%package plugins-historykeeperplugin
Group: Productivity/Networking/Talk/Clients
Summary: Plugin for Psi
Requires: %{name} = %{version}-%{release}

%description plugins-historykeeperplugin
This plugin is designed to remove the history of selected contacts when the Psi+
is closed.

%package plugins-skinsplugin
Group: Productivity/Networking/Talk/Clients
Summary: Plugin for Psi
Requires: %{name} = %{version}-%{release}

%description plugins-skinsplugin
This plugin is designed to create, store and apply skins to Psi+.

%package plugins-qipxstatusesplugin
Group: Productivity/Networking/Talk/Clients
Summary: Plugin for Psi
Requires: %{name} = %{version}-%{release}

%description plugins-qipxstatusesplugin
This plugin is designed to display x-statuses of contacts using the QIP Infium
jabber client.

%package plugins-videostatusplugin
Group: Productivity/Networking/Talk/Clients
Summary: Plugin for Psi
Requires: %{name} = %{version}-%{release}

%description plugins-videostatusplugin
This plugin is designed to set the custom status when you see the video in
selected video player.

%package plugins-captchaformsplugin
Group: Productivity/Networking/Talk/Clients
Summary: Plugin for Psi
Requires: %{name} = %{version}-%{release}

%description plugins-captchaformsplugin
This plugin is designed to pass of captcha directly from the Psi+.

%package plugins-contentdownloaderplugin
Group: Productivity/Networking/Talk/Clients
Summary: Plugin for Psi
Requires: %{name} = %{version}-%{release}

%description plugins-contentdownloaderplugin
This plugin is designed to make it easy to download and install iconsets and
other resources for Psi+.

%prep
%setup -q
%patch0 -p1
%patch1 -p1

%define plugins attentionplugin autoreplyplugin birthdayreminderplugin captchaformsplugin cleanerplugin conferenceloggerplugin contentdownloaderplugin extendedoptionsplugin gmailserviceplugin historykeeperplugin icqdieplugin imageplugin juickplugin qipxstatusesplugin skinsplugin translateplugin videostatusplugin watcherplugin screenshotplugin stopspamplugin storagenotesplugin

%build
# do not use %%configure - not real configure script
export QMAKE_CXXFLAGS="%{optflags}"
./configure --prefix=%{_prefix} --libdir=%{_libdir} --disable-bundled-qca --enable-plugins --enable-webkit --debug --no-separate-debug-info
make %{?jobs:-j%jobs}

for i in %plugins; do
  cd %{_builddir}/%{name}-%{version}/src/plugins/generic/$i/
  qmake
  make %{?jobs:-j%jobs}
done

%install
make INSTALL_ROOT=%{buildroot} install
rm -f %{buildroot}%{_datadir}/psi/{COPYING,README}
rm -f %{buildroot}%{_datadir}/psi/iconsets/emoticons/utils/smiles_conv.zip
%suse_update_desktop_file psi
install -m 0644 -t %{buildroot}%{_datadir}/psi $RPM_SOURCE_DIR/*.qm
mkdir -p %{buildroot}%{_libdir}/psi/plugins
for i in %plugins; do
  cp %{_builddir}/%{name}-%{version}/src/plugins/generic/$i/lib$i.so %{buildroot}%{pluginspath}
done

%fdupes $RPM_BUILD_ROOT/%{_datadir}

%files iconsets
%defattr(-,root,root)
%{iconspath}/roster/*.jisp
%{iconspath}/system/*.jisp
%{iconspath}/emoticons/*.jisp
# included in main package
%exclude %{iconspath}/roster/crystal-aim.jisp
%exclude %{iconspath}/roster/crystal-gadu.jisp
%exclude %{iconspath}/roster/crystal-icq.jisp
%exclude %{iconspath}/roster/crystal-msn.jisp
%exclude %{iconspath}/roster/crystal-roster.jisp
%exclude %{iconspath}/roster/crystal-service.jisp
%exclude %{iconspath}/roster/crystal-sms.jisp
%exclude %{iconspath}/roster/crystal-yahoo.jisp
%exclude %{iconspath}/roster/stellar-1.jisp

%files plugins-juickplugin
%defattr(-,root,root)
%{pluginspath}/libjuickplugin.so

%files plugins-autoreplyplugin
%defattr(-,root,root)
%{pluginspath}/libautoreplyplugin.so

%files plugins-captchaformsplugin
%defattr(-,root,root)
%{pluginspath}/libcaptchaformsplugin.so

%files plugins-contentdownloaderplugin
%defattr(-,root,root)
%{pluginspath}/libcontentdownloaderplugin.so

%files plugins-translateplugin
%defattr(-,root,root)
%{pluginspath}/libtranslateplugin.so

%files plugins-screenshotplugin
%defattr(-,root,root)
%{pluginspath}/libscreenshotplugin.so

%files plugins-birthdayreminderplugin
%defattr(-,root,root)
%{pluginspath}/libbirthdayreminderplugin.so

%files plugins-stopspamplugin
%defattr(-,root,root)
%{pluginspath}/libstopspamplugin.so

%files plugins-conferenceloggerplugin
%defattr(-,root,root)
%{pluginspath}/libconferenceloggerplugin.so

%files plugins-gmailserviceplugin
%defattr(-,root,root)
%{pluginspath}/libgmailserviceplugin.so

%files plugins-imageplugin
%defattr(-,root,root)
%{pluginspath}/libimageplugin.so

%files plugins-icqdieplugin
%defattr(-,root,root)
%{pluginspath}/libicqdieplugin.so

%files plugins-cleanerplugin
%defattr(-,root,root)
%{pluginspath}/libcleanerplugin.so

%files plugins-watcherplugin
%defattr(-,root,root)
%{pluginspath}/libwatcherplugin.so

%files plugins-attentionplugin
%defattr(-,root,root)
%{pluginspath}/libattentionplugin.so

%files plugins-extendedoptionsplugin
%defattr(-,root,root)
%{pluginspath}/libextendedoptionsplugin.so

%files plugins-storagenotesplugin
%defattr(-,root,root)
%{pluginspath}/libstoragenotesplugin.so

%files plugins-historykeeperplugin
%defattr(-,root,root)
%{pluginspath}/libhistorykeeperplugin.so

%files plugins-skinsplugin
%defattr(-,root,root)
%{pluginspath}/libskinsplugin.so

%files plugins-qipxstatusesplugin
%defattr(-,root,root)
%{pluginspath}/libqipxstatusesplugin.so

%files plugins-videostatusplugin
%defattr(-,root,root)
%{pluginspath}/libvideostatusplugin.so

%files
%defattr(-,root,root)
%doc COPYING README TODO
%{_bindir}/psi
%{_datadir}/applications/psi.desktop
%dir %{_datadir}/icons/hicolor/
%dir %{_datadir}/icons/hicolor/16x16
%dir %{_datadir}/icons/hicolor/16x16/apps
%dir %{_datadir}/icons/hicolor/32x32
%dir %{_datadir}/icons/hicolor/32x32/apps
%dir %{_datadir}/icons/hicolor/48x48
%dir %{_datadir}/icons/hicolor/48x48/apps
%dir %{_datadir}/icons/hicolor/64x64
%dir %{_datadir}/icons/hicolor/64x64/apps
%dir %{_datadir}/icons/hicolor/128x128
%dir %{_datadir}/icons/hicolor/128x128/apps
%{_datadir}/icons/hicolor/*/apps/psi.png
%dir %{_datadir}/psi/
%{_datadir}/psi/certs
%dir %{iconspath}/
%{iconspath}/moods
%{iconspath}/activities
%{iconspath}/affiliations
%dir %{iconspath}/roster
%{iconspath}/roster/default
%{iconspath}/roster/crystal-aim.jisp
%{iconspath}/roster/crystal-gadu.jisp
%{iconspath}/roster/crystal-icq.jisp
%{iconspath}/roster/crystal-msn.jisp
%{iconspath}/roster/crystal-roster.jisp
%{iconspath}/roster/crystal-service.jisp
%{iconspath}/roster/crystal-sms.jisp
%{iconspath}/roster/crystal-yahoo.jisp
%{iconspath}/roster/stellar-1.jisp
%{iconspath}/roster/README
%dir %{iconspath}/system
%{iconspath}/system/default
%{iconspath}/system/README
%dir %{iconspath}/emoticons
%{iconspath}/emoticons/default
%{iconspath}/clients
%{_datadir}/psi/themes
%{_datadir}/psi/sound
%{_datadir}/psi/*.qm
%dir %{_libdir}/psi
%dir %{_libdir}/psi/plugins

%changelog
openSUSE Build Service is sponsored by