- update to 2.14.14:

* Update the date in COPYRIGHT as it was a few years behind
  * Add convey plans for Debian Trixie and Fedora 40
  * Fix incompatible pointer types for GtkItemFactoryCallbacks on gcc-14
  * Update the build image for the docs
  * Fix type mismatch with IOKit usage
  * Use the result of g_string_free(..., FALSE)
  * NSS: Load intermediate certificates from the server
  * Finally add proper support for italics on IRC
  * Fix some type conversion errors
  * Use raw strings for Python regular expressions
  * zephyr: Modernize K&R function prototypes
  * Fix invalid prototypes that will break with C23
  * Add the ability to run a custom command for signing the binaries
- attach a URL to the keyring

OBS-URL: https://build.opensuse.org/package/show/network:pidgin/pidgin?expand=0&rev=69
This commit is contained in:
Richard Rahl 2025-01-31 14:11:32 +00:00 committed by Git OBS Bridge
commit 5fb7f3c681
17 changed files with 4456 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-----

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

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

View File

@ -0,0 +1,16 @@
-----BEGIN PGP SIGNATURE-----
iQIzBAABCgAdFiEEQN4dxyiP4/UKuTjFSPZq/9m9tykFAmeRspEACgkQSPZq/9m9
tykNMQ/8DYysl/ZZrOIWpPLQgv6RwymtP7mtx7S5GaTeLy2pDdcwhPi5pGQpEV4Z
K/2yinMHI4PgBDj543/gp74ln1AxpsZRl8unm2xPIZaV4WHmszBKR5TV7aYHm0q3
NPcSZ4CuHrMF4HsZUb4jwZyb+9O0BXhJ2sMyUJWWtu/TLekdq1KwaPds7XfIz89x
O1m0Och3eDu9CgXSu2hnu/6m6rR5KRLsW5s5VrHIo+6TLxVFlFFL87oCYOjvkAvc
rLKyz6bU9cpn5/1W3yDHINQiutlFazEtWtx1SYQ2Ioxb2A0stHTPWi4/yqqnSX+C
yZbxDM+DkaFGbVJkJTh4a//++N2yw8PzRFYj6MhCGD/8yMjDyGPZ5HN1JWiSjVZ7
JySFwV5T2omhwV39Dj/PjLU0XfjR4Z8apIRquRIXwEaMDVVAdShyYjIEowyakbKw
ApxLPU+4MJVqpc+vYpY6+Wsmv6L0cIkyeHIsYk7om3/CaKZZC7+oX2AB9UZFGRgt
U0zyIXJO7gLOpjxajDz10+ag73HYhhJ7ccbZE44SAFYGHqsVg/y8PouzkYujK8li
XUz8F9CVSunEYGndJuxn0kZhc0tEpTdwi2p3sPi1sFlPWxeNH4Gis9FW8nn5lIdr
X+z4TdotaKuM9z0V54QF+BlKAPvxBWZRKHg81ANo75c7mRTSMzk=
=Y73M
-----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

2775
pidgin.changes Normal file

File diff suppressed because it is too large Load Diff

72
pidgin.keyring Normal file
View File

@ -0,0 +1,72 @@
-----BEGIN PGP PUBLIC KEY BLOCK-----
Comment: Hostname:
Version: Hockeypuck 2.2
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
IlRQoF1QuRbggp+4
=l/Yw
-----END PGP PUBLIC KEY BLOCK-----

361
pidgin.spec Normal file
View File

@ -0,0 +1,361 @@
#
# spec file for package pidgin
#
# Copyright (c) 2025 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.14
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: https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x40de1dc7288fe3f50ab938c548f66affd9bdb729#/%{name}.keyring
Source3: %{name}-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