SHA256
1
0
forked from pool/pidgin
Alexei Sorokin 2024-07-20 16:55:47 +00:00 committed by Git OBS Bridge
commit b3eb83789f
15 changed files with 4402 additions and 0 deletions

23
.gitattributes vendored Normal file
View File

@ -0,0 +1,23 @@
## Default LFS
*.7z filter=lfs diff=lfs merge=lfs -text
*.bsp filter=lfs diff=lfs merge=lfs -text
*.bz2 filter=lfs diff=lfs merge=lfs -text
*.gem filter=lfs diff=lfs merge=lfs -text
*.gz filter=lfs diff=lfs merge=lfs -text
*.jar filter=lfs diff=lfs merge=lfs -text
*.lz filter=lfs diff=lfs merge=lfs -text
*.lzma filter=lfs diff=lfs merge=lfs -text
*.obscpio filter=lfs diff=lfs merge=lfs -text
*.oxt filter=lfs diff=lfs merge=lfs -text
*.pdf filter=lfs diff=lfs merge=lfs -text
*.png filter=lfs diff=lfs merge=lfs -text
*.rpm filter=lfs diff=lfs merge=lfs -text
*.tbz filter=lfs diff=lfs merge=lfs -text
*.tbz2 filter=lfs diff=lfs merge=lfs -text
*.tgz filter=lfs diff=lfs merge=lfs -text
*.ttf filter=lfs diff=lfs merge=lfs -text
*.txz filter=lfs diff=lfs merge=lfs -text
*.whl filter=lfs diff=lfs merge=lfs -text
*.xz filter=lfs diff=lfs merge=lfs -text
*.zip filter=lfs diff=lfs merge=lfs -text
*.zst filter=lfs diff=lfs merge=lfs -text

1
.gitignore vendored Normal file
View File

@ -0,0 +1 @@
.osc

3
pidgin-2.14.12.tar.bz2 Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:2b05246be208605edbb93ae9edc079583d449e2a9710db6d348d17f59020a4b7
size 8226145

View File

@ -0,0 +1,16 @@
-----BEGIN PGP SIGNATURE-----
iQIzBAABCgAdFiEEQN4dxyiP4/UKuTjFSPZq/9m9tykFAmOxB7wACgkQSPZq/9m9
tynouQ//cFwQ+0sNDveGMt9St2UCOaDzjF6rP2PXB7iOxiacXOz9RfYSwheMDWNV
NL2Fo+CppXiMuxHIxTqDLtpI8zO4c2KDaq++H3B87NnGVhqLVgDNN6NQoIMat9MS
l5uobcqGp5E5GHUSgA1v17nIRu2HYcCNUR6kBfRD0OlzkAAoDfCNHN9ZzbcMMLyI
iFThcI7skXtD/8m7/pArcD99bnifr5ZPgQBexVDH/y5B49JKrPT/OMuaNfCAnUX/
ElDCeFxugTdJk5G5BrHZKha7QiKX4tR6KCn6bD7iUdD5fxmD0D0uOEsQwP4lxOqC
Gydqp4ydnAjq85NTVohgVxeytlzEFS2koAfv94Yt+pLa4nfMdqB4DrpZYZ4p8o2L
ACeZdBmMJ6RupWVrPGih0tesi440xCuOeeX+JPRhDG5Gt3+QSVX0QuJ+KWWyAzoP
xIuwTlO5On7FFpW8JEMh4FqwgZjtOU/LR+rrunJ3HdZo16ryoRrRMlgvsgVcFYdc
vjBayzlZfVmDsSzBxyYmYuu80SAEUmwNwuFEA86ckz22JoXk0hBQoFzCkuQVQI/Y
5H3uZlcuxaVFTjnt4FMQpd7tpRgQPFma6/HO6A9T0tsUAi1uEKThD15viYCnUkSA
H+g5hL7ArNad1OXUdLeTRSSPGbs6lZCwMpSiXUddrbU8x2QrNXs=
=f0Eu
-----END PGP SIGNATURE-----

3
pidgin-2.14.13.tar.bz2 Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:120049dc8e17e09a2a7d256aff2191ff8491abb840c8c7eb319a161e2df16ba8
size 8230755

View File

@ -0,0 +1,16 @@
-----BEGIN PGP SIGNATURE-----
iQIzBAABCgAdFiEEQN4dxyiP4/UKuTjFSPZq/9m9tykFAmXYgbUACgkQSPZq/9m9
tynScg//eNupqGkSF8JV8vWJEtrrtsQN02N+grNijShBmXnwsDfz7Do6niuglbqa
sVKe3tAUtVhTIA+7x3vsIOf/CrgZnBMUTh7KasuS/iSZW/H7jbsGX09p/IoLfCYs
KvWYb+5mAvU00Ed657rOww7ba/d9zRqokDYXFuzh8EUua9yS/JaoUr0Fb22gZH5Z
MAH3H1Mp42vaK+cP4U1v824PWmR6nvLqeDQpEV9/OZ9rOiPvDXbVHzO0SrrrvCZB
uarWGBb1VJql1DeKkyw3euIaQupoGoLyPe2kFrsvGbmqT2oYHxOE+2jg8X+w6mmt
g+4LD4wpAN2Tuvq/FX7zMslqjl8hLUxwba8dZVR9Vfw2VUr0vIDOj/sluBPkRJI7
VVsiyk5mcmwMPLsfyM3ryaiVmqTsfWCUqSd6iPFhH+7xbx+y0B1e/TrVYPRWlwDF
8EPhwdcOaZAadmUieKebS6KryTmGqzjdGazRFZb01qXVVN9We7ZBicEHlTnPhl6c
T4YbZC1yvlZmw61c5mC3zP5UkCr8X7pRjSkQXJFlASp7s7vQ9WskihybVKyY/zub
hiHdOGMAKwWjBons6T/jmPPCGRhs5oikWkt+f4iJMvmBa3eIRntKQbs+jd0gNv1Z
1xub2WctCwXXqXpCsuQdmijzak5lyxrc2FiTm2hXXuJs6Yr7X3I=
=8npT
-----END PGP SIGNATURE-----

View File

@ -0,0 +1,14 @@
Index: pidgin-2.14.4/configure.ac
===================================================================
--- pidgin-2.14.4.orig/configure.ac
+++ pidgin-2.14.4/configure.ac
@@ -259,8 +259,8 @@ dnl # Disable creation and installation
dnl #######################################################################
AC_ARG_ENABLE(nls, AC_HELP_STRING([--disable-nls], [disable installation of translation files]), enable_i18n="$enableval", enable_i18n=yes)
-if test x$enable_i18n = xyes; then
AC_PROG_INTLTOOL
+if test x$enable_i18n = xyes; then
GETTEXT_PACKAGE=pidgin
AC_SUBST(GETTEXT_PACKAGE)

View File

@ -0,0 +1,24 @@
Index: pidgin-2.7.10/libpurple/plugins/perl/common/Makefile.PL.in
===================================================================
--- pidgin-2.7.10.orig/libpurple/plugins/perl/common/Makefile.PL.in
+++ pidgin-2.7.10/libpurple/plugins/perl/common/Makefile.PL.in
@@ -10,7 +10,6 @@ WriteMakefile(
(ABSTRACT_FROM => '@srcdir@/Purple.pm', # finds $ABSTRACT
AUTHOR => 'Purple <http://pidgin.im/>') : ()),
'DEFINE' => '@DEBUG_CFLAGS@',
- 'dynamic_lib' => { 'OTHERLDFLAGS' => '@LDFLAGS@' },
'INC' => '-I. -I@srcdir@ -I@top_srcdir@ -I@top_srcdir@/libpurple @GLIB_CFLAGS@',
'OBJECT' => '$(O_FILES)', # link all the C files too
# 'OPTIMIZE' => '-g', # For debugging
Index: pidgin-2.7.10/pidgin/plugins/perl/common/Makefile.PL.in
===================================================================
--- pidgin-2.7.10.orig/pidgin/plugins/perl/common/Makefile.PL.in
+++ pidgin-2.7.10/pidgin/plugins/perl/common/Makefile.PL.in
@@ -9,7 +9,6 @@ WriteMakefile(
('ABSTRACT_FROM' => '@srcdir@/Pidgin.pm', # finds $ABSTRACT
'AUTHOR' => 'Pidgin <http://pidgin.im/>') : ()),
'DEFINE' => '@DEBUG_CFLAGS@',
- 'dynamic_lib' => { 'OTHERLDFLAGS' => '@LDFLAGS@' },
'INC' => '-I. -I@srcdir@ -I@top_srcdir@ -I@top_srcdir@/libpurple -I@top_srcdir@/pidgin @GTK_CFLAGS@',
'OBJECT' => '$(O_FILES)', # link all the C files too
'TYPEMAPS' => ["@top_srcdir@/libpurple/plugins/perl/common/typemap"],

1018
pidgin-nonblock-common.patch Normal file

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,90 @@
Index: pidgin-2.7.6/libpurple/protocols/novell/nmconn.c
===================================================================
--- pidgin-2.7.6.orig/libpurple/protocols/novell/nmconn.c
+++ pidgin-2.7.6/libpurple/protocols/novell/nmconn.c
@@ -191,6 +191,12 @@ void nm_release_conn(NMConn *conn)
g_free(conn->ssl_conn);
conn->ssl_conn = NULL;
}
+
+ if (conn->io) {
+ purple_io_destroy (conn->io);
+ conn->io = NULL;
+ }
+
g_free(conn->addr);
conn->addr = NULL;
g_free(conn);
@@ -203,11 +209,23 @@ nm_tcp_write(NMConn * conn, const void *
if (conn == NULL || buff == NULL)
return -1;
- if (!conn->use_ssl)
- return (write(conn->fd, buff, len));
- else if (conn->ssl_conn && conn->ssl_conn->write)
- return (conn->ssl_conn->write(conn->ssl_conn->data, buff, len));
- else
+ if (!conn->use_ssl) {
+ if (!conn->io || purple_io_get_fd (conn->io) != conn->fd) {
+ if (conn->io)
+ purple_io_destroy (conn->io);
+ conn->io = purple_io_new (conn->fd);
+ }
+
+ return purple_io_write_bytes (conn->io, buff, len);
+ } else if (conn->ssl_conn && conn->ssl_conn->data && conn->ssl_conn->write) {
+ if (!conn->io || purple_io_get_ssl_connection (conn->io) != conn->ssl_conn->data) {
+ if (conn->io)
+ purple_io_destroy (conn->io);
+ conn->io = purple_io_new_ssl (conn->ssl_conn->data);
+ }
+
+ return purple_io_write_bytes (conn->io, buff, len);
+ } else
return -1;
}
Index: pidgin-2.7.6/libpurple/protocols/novell/nmconn.h
===================================================================
--- pidgin-2.7.6.orig/libpurple/protocols/novell/nmconn.h
+++ pidgin-2.7.6/libpurple/protocols/novell/nmconn.h
@@ -24,6 +24,7 @@
typedef struct _NMConn NMConn;
typedef struct _NMSSLConn NMSSLConn;
+#include "purple-io.h"
#include "nmfield.h"
#include "nmuser.h"
@@ -42,6 +43,9 @@ struct _NMConn
/* The file descriptor of the socket for the connection. */
int fd;
+ /* The buffering I/O wrapper. */
+ PurpleIO *io;
+
/* The transaction counter. */
int trans_id;
Index: pidgin-2.7.6/libpurple/protocols/novell/novell.c
===================================================================
--- pidgin-2.7.6.orig/libpurple/protocols/novell/novell.c
+++ pidgin-2.7.6/libpurple/protocols/novell/novell.c
@@ -2223,17 +2223,12 @@ static void
novell_close(PurpleConnection * gc)
{
NMUser *user;
- NMConn *conn;
if (gc == NULL)
return;
user = gc->proto_data;
if (user) {
- conn = user->conn;
- if (conn && conn->ssl_conn) {
- purple_ssl_close(user->conn->ssl_conn->data);
- }
nm_deinitialize_user(user);
}
gc->proto_data = NULL;

6
pidgin-prefs.xml Normal file
View File

@ -0,0 +1,6 @@
<?xml version='1.0' encoding='UTF-8' ?>
<!--
This is the file that will be used to create the default configuration for
users. The easy way to edit it is to change options in a client like
pidgin, and copy the relevant parts of ~/.purple/prefs.xml here
-->

View File

@ -0,0 +1,15 @@
---
pidgin/gtksound.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
--- a/pidgin/gtksound.c
+++ b/pidgin/gtksound.c
@@ -314,7 +314,7 @@ pidgin_sound_init(void)
purple_prefs_add_bool(PIDGIN_PREFS_ROOT "/sound/conv_focus", TRUE);
purple_prefs_add_bool(PIDGIN_PREFS_ROOT "/sound/mute", FALSE);
purple_prefs_add_path(PIDGIN_PREFS_ROOT "/sound/command", "");
- purple_prefs_add_string(PIDGIN_PREFS_ROOT "/sound/method", "automatic");
+ purple_prefs_add_string(PIDGIN_PREFS_ROOT "/sound/method", "alsa");
purple_prefs_add_int(PIDGIN_PREFS_ROOT "/sound/volume", 50);
#ifdef USE_GSTREAMER

2756
pidgin.changes Normal file

File diff suppressed because it is too large Load Diff

56
pidgin.keyring Normal file
View File

@ -0,0 +1,56 @@
pub rsa4096 2019-07-25 [SC]
40DE 1DC7 288F E3F5 0AB9 38C5 48F6 6AFF D9BD B729
uid [ unknown] Gary Kramlich (grim) <grim@reaperworld.com>
sub rsa4096 2019-07-25 [E]
-----BEGIN PGP PUBLIC KEY BLOCK-----
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
=1LcS
-----END PGP PUBLIC KEY BLOCK-----

361
pidgin.spec Normal file
View File

@ -0,0 +1,361 @@
#
# spec file for package pidgin
#
# Copyright (c) 2024 SUSE LLC
#
# 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 https://bugs.opensuse.org/
#
%define _name Pidgin
%define sover 0
Name: pidgin
Version: 2.14.13
Release: 0
Summary: Multiprotocol Instant Messaging Client
License: GPL-2.0-only
URL: https://pidgin.im/
Source: https://downloads.sf.net/%{name}/%{name}-%{version}.tar.bz2
Source1: https://downloads.sf.net/%{name}/%{name}-%{version}.tar.bz2.asc
Source2: pidgin.keyring
Source3: pidgin-prefs.xml
# PATCH-FIX-OPENSUSE pidgin-nonblock-common.patch
Patch0: pidgin-nonblock-common.patch
# PATCH-FIX-OPENSUSE pidgin-nonblock-gwim.patch
Patch1: pidgin-nonblock-gwim.patch
# PATCH-FIX-OPENSUSE pidgin-fix-perl-build.patch vuntz@opensuse.org -- Revert https://bitbucket.org/pidgin/main/commits/a083625 as it breaks the build.
Patch2: pidgin-fix-perl-build.patch
# PATCH-FIX-SLE pidgin-use-default-alsa.patch bsc#886670 tiwai@suse.de -- Use ALSA as a default for avoiding broken volume control.
Patch3: pidgin-use-default-alsa.patch
# PATCH-FIX-OPENSUSE pidgin-always-enable-intltool.patch mgorse@suse.com -- always enable intltool, needed for autoconf 2.71.
Patch4: pidgin-always-enable-intltool.patch
BuildRequires: ca-certificates-mozilla
BuildRequires: doxygen
BuildRequires: fdupes
BuildRequires: graphviz
BuildRequires: gtk-doc
BuildRequires: intltool
BuildRequires: libstdc++-devel
BuildRequires: libtool
BuildRequires: libxslt
BuildRequires: ncurses-devel
BuildRequires: pkgconfig
BuildRequires: update-desktop-files
BuildRequires: pkgconfig(avahi-glib)
BuildRequires: pkgconfig(dbus-1)
BuildRequires: pkgconfig(dbus-glib-1)
BuildRequires: pkgconfig(farstream-0.2) >= 0.2.7
BuildRequires: pkgconfig(glib-2.0)
BuildRequires: pkgconfig(gnt) >= 2.14.0
BuildRequires: pkgconfig(gnutls)
BuildRequires: pkgconfig(gstreamer-1.0)
BuildRequires: pkgconfig(gstreamer-app-1.0)
BuildRequires: pkgconfig(gstreamer-video-1.0)
BuildRequires: pkgconfig(gtk+-2.0)
BuildRequires: pkgconfig(gtkspell-2.0)
BuildRequires: pkgconfig(libgadu)
BuildRequires: pkgconfig(libidn)
BuildRequires: pkgconfig(libnotify)
# Can use external libzephyr.
BuildRequires: pkgconfig(libsasl2)
BuildRequires: pkgconfig(libstartup-notification-1.0)
BuildRequires: pkgconfig(libxml-2.0)
BuildRequires: pkgconfig(meanwhile)
BuildRequires: pkgconfig(nspr)
BuildRequires: pkgconfig(nss)
BuildRequires: pkgconfig(python3)
BuildRequires: pkgconfig(sm)
BuildRequires: pkgconfig(tk)
BuildRequires: pkgconfig(x11)
BuildRequires: pkgconfig(xext)
BuildRequires: pkgconfig(xscrnsaver)
Requires: ca-certificates-mozilla
Requires: libpurple = %{version}
Requires: perl-base >= %{perl_version}
Recommends: gstreamer-plugins-good
%if 0%{?suse_version} >= 1500 && !0%{?is_opensuse}
Recommends: purple-import-empathy
%endif
%description
Pidgin is a messaging application which lets you log in to accounts
on multiple chat networks simultaneously.
Pidgin is compatible with the following chat networks out of the
box: Jabber/XMPP, AIM, ICQ, Bonjour, Gadu-Gadu, IRC, SILC, SIMPLE,
Novell GroupWise Messenger, IBM Sametime, and Zephyr. It can
support many more with plugins.
%package devel
Summary: Development Headers, Documentation, and Libraries for Pidgin
Requires: %{name} = %{version}
Requires: libpurple-devel = %{version}
Requires: pkgconfig(glib-2.0)
Requires: pkgconfig(gtk+-2.0)
%description devel
The pidgin-devel package contains the header files, developer
documentation, and libraries required for development of Pidgin scripts
and plugins.
%package -n libpurple
Summary: GLib-based Instant Messenger Library
Requires: ca-certificates-mozilla
# Not really required, but standard XMPP accounts require it, if compiled with SASL support.
Requires: cyrus-sasl-digestmd5
Requires: cyrus-sasl-plain
Requires: libpurple%{sover} = %{version}
Requires: libpurple-branding
Requires: libpurple-client%{sover} = %{version}
Requires: perl >= %{perl_version}
# Needed for purple-url-handler.
Requires: python3-dbus-python
%description -n libpurple
libpurple is a library intended to be used by programmers seeking
to write an IM client that connects to many IM networks.
libpurple is compatible with the following chat networks out of the
box: Jabber/XMPP, AIM, ICQ, Bonjour, Gadu-Gadu, IRC, SILC, SIMPLE,
Novell GroupWise Messenger, IBM Sametime, and Zephyr. It can
support many more with plugins.
%lang_package -n libpurple
%package -n libpurple%{sover}
Summary: GLib-based Instant Messenger Library
%description -n libpurple%{sover}
libpurple is a library intended to be used by programmers seeking
to write an IM client that connects to many IM networks.
This package provides the core libpurple library.
%package -n libpurple-client%{sover}
Summary: GLib-based Instant Messenger Library
%description -n libpurple-client%{sover}
libpurple is a library intended to be used by programmers seeking
to write an IM client that connects to many IM networks.
This package provides the core libpurple client library.
%package -n libpurple-branding-upstream
Summary: GLib-based Instant Messenger Library -- Upstream default configuration
Requires: libpurple = %{version}
Supplements: (libpurple and branding-upstream)
Conflicts: libpurple-branding
Provides: libpurple-branding = %{version}
BuildArch: noarch
#BRAND: Provides /etc/purple/prefs.xml, the default configuration for
#BRAND: libpurple, and libpurple-based clients.
%description -n libpurple-branding-upstream
libpurple is a library intended to be used by programmers seeking
to write an IM client that connects to many IM networks.
libpurple is compatible with the following chat networks out of the
box: Jabber/XMPP, AIM, ICQ, Bonjour, Gadu-Gadu, IRC, SILC, SIMPLE,
Novell GroupWise Messenger, IBM Sametime, and Zephyr. It can
support many more with plugins.
This package provides the upstream default configuration for Pidgin.
%package -n libpurple-devel
Summary: Development Headers, Documentation, and Libraries for libpurple
Requires: libpurple = %{version}
Requires: pkgconfig(glib-2.0)
Requires: pkgconfig(libxml-2.0)
%description -n libpurple-devel
The libpurple-devel package contains the header files, developer
documentation, and libraries required for development of libpurple
based instant messaging clients or plugins for any libpurple based
client.
%package -n libpurple-tcl
Summary: TCL Plugin Support for Pidgin
Requires: libpurple = %{version}
Supplements: (libpurple and tcl)
%description -n libpurple-tcl
TCL plugin loader for Pidgin. This package will allow you to write
or use Pidgin plugins written in the TCL programming language.
%package -n libpurple-plugin-sametime
Summary: Sametime Plugin for Pidgin using the Meanwhile Library
Requires: libpurple = %{version}
# libpurple-meanwhile was last used in openSUSE Leap 42.2.
Provides: libpurple-meanwhile = %{version}
Obsoletes: libpurple-meanwhile < %{version}
%description -n libpurple-plugin-sametime
IBM Sametime plugin for Pidgin using the Meanwhile library.
%package -n finch
Summary: Text-Based User Interface for Pidgin Instant Messaging Client
Requires: libpurple = %{version}
%description -n finch
A text-based user interface to use with libpurple. This can be run
from a standard text console or from a graphical terminal emulator.
It uses ncurses and our homegrown gnt library for drawing windows
and text.
%package -n finch-devel
Summary: Headers etc. for finch Stuffs
Requires: finch = %{version}
Requires: glibc-devel
Requires: libpurple-devel = %{version}
Requires: ncurses-devel
Requires: pkgconfig(glib-2.0)
%description -n finch-devel
The finch-devel package contains the header files, developer
documentation, and libraries required for development of Finch
scripts and plugins.
%prep
%setup -q
%patch -P 0 -p1
%patch -P 1 -p1
%patch -P 2 -p1
%if 0%{?sle_version} >= 120000 && !0%{?is_opensuse}
%patch -P 3 -p1
%endif
%patch -P 4 -p1
cp -f %{SOURCE3} %{name}-prefs.xml
# Change Myanmar/Myanmar to Myanmar.
mv po/my_MM.po po/my.po
sed -i "/ALL_LINGUAS/s/ my_MM / my /" configure.ac
# Do not use env for python sripts.
sed -i '/^#!/s|env python$|python3|' libpurple/purple-*
%build
export CFLAGS="%{optflags} -fstack-protector -fPIC"
export CXXFLAGS="%{optflags} -fstack-protector -fPIC"
export FFLAGS="%{optflags} -fstack-protector -fPIC"
export LDFLAGS="-pie"
export PYTHON=python3
autoreconf -fi
%configure \
--disable-static \
--disable-gevolution \
--enable-plugins \
--enable-cyrus-sasl \
--enable-dbus \
--enable-gstreamer \
--with-gstreamer=1.0 \
--enable-vv \
--disable-nm \
--enable-dbus \
--enable-devhelp \
--with-tclconfig=%{_libdir} \
--with-tkconfig=%{_libdir} \
--with-system-ssl-certs=%{_sysconfdir}/ssl/certs/
%make_build
%install
%make_install
install -Dpm 0644 %{name}-prefs.xml %{buildroot}%{_sysconfdir}/purple/prefs.xml
%perl_process_packlist
find %{buildroot} -type f -name "perllocal.pod" -delete -print
find %{buildroot} -type f -name ".packlist" -delete -print
find %{buildroot} -type f -name "*.bs" -empty -delete -print
find %{buildroot} -type f -name "*.la" -delete -print
%fdupes %{buildroot}
%suse_update_desktop_file -N %{_name} -G "Instant Messenger" %{name}
%find_lang %{name} %{?no_lang_C}
%post -n libpurple -p /sbin/ldconfig
%postun -n libpurple -p /sbin/ldconfig
%post -n libpurple%{sover} -p /sbin/ldconfig
%postun -n libpurple%{sover} -p /sbin/ldconfig
%post -n libpurple-client%{sover} -p /sbin/ldconfig
%postun -n libpurple-client%{sover} -p /sbin/ldconfig
%post -n finch -p /sbin/ldconfig
%postun -n finch -p /sbin/ldconfig
%files
%license COPYING
%doc AUTHORS COPYRIGHT ChangeLog README doc/the_penguin.txt
%{_bindir}/%{name}
%{_libdir}/%{name}/
%{_datadir}/sounds/purple/
%{_datadir}/applications/*.desktop
%{_datadir}/icons/hicolor/*/apps/*
%{_datadir}/pixmaps/%{name}/
%{_mandir}/man1/%{name}.1%{?ext_man}
%{_datadir}/metainfo/pidgin.appdata.xml
%files devel
%{_includedir}/%{name}/
%{_libdir}/pkgconfig/%{name}.pc
%{_mandir}/man3/%{_name}.3*%{?ext_man}
%files -n libpurple
%dir %{_sysconfdir}/purple/
%{_bindir}/purple-client-example
%{_bindir}/purple-remote
%{_bindir}/purple-send
%{_bindir}/purple-send-async
%{_bindir}/purple-url-handler
%{_libdir}/purple-2/
%exclude %{_libdir}/purple-2/libjabber.so
%exclude %{_libdir}/purple-2/libsametime.so
%exclude %{_libdir}/purple-2/tcl.so
%files -n libpurple0
%{_libdir}/libpurple.so.*
%files -n libpurple-client0
%{_libdir}/libpurple-client.so.*
%files -n libpurple-lang -f %{name}.lang
%files -n libpurple-branding-upstream
%config %{_sysconfdir}/purple/prefs.xml
%files -n libpurple-tcl
%{_libdir}/purple-2/tcl.so
%files -n libpurple-plugin-sametime
%{_libdir}/purple-2/libsametime.so
%files -n libpurple-devel
%doc ChangeLog.API HACKING PLUGIN_HOWTO
%doc libpurple/purple-notifications-example
%{_includedir}/libpurple/
%{_datadir}/aclocal/purple.m4
%{_libdir}/libpurple.so
%{_libdir}/libpurple-client.so
%{_libdir}/purple-2/libjabber.so
%{_libdir}/pkgconfig/purple.pc
%{_mandir}/man3/Purple.3pm%{?ext_man}
%files -n finch
%{_bindir}/finch
%{_libdir}/finch/
%dir %{_libdir}/finch/
%{_mandir}/man1/finch.1%{?ext_man}
%files -n finch-devel
%{_includedir}/finch/
%{_libdir}/pkgconfig/finch.pc
%changelog