SHA256
1
0
forked from pool/pidgin

Accepting request 262969 from GNOME:Apps

1

OBS-URL: https://build.opensuse.org/request/show/262969
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/pidgin?expand=0&rev=107
This commit is contained in:
Dominique Leuenberger 2014-11-26 19:57:31 +00:00 committed by Git OBS Bridge
parent 6ab81f5cc0
commit 6baffe9238
8 changed files with 380 additions and 562 deletions

View File

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

3
pidgin-2.10.11.tar.gz Normal file
View File

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

View File

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

View File

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

View File

@ -1,11 +1,10 @@
diff -Naur pidgin-2.10.5.orig/configure.ac pidgin-2.10.5/configure.ac
--- pidgin-2.10.5.orig/configure.ac 2012-07-06 13:14:25.678713118 +0200
+++ pidgin-2.10.5/configure.ac 2012-07-06 13:20:39.253322728 +0200
@@ -1858,6 +1858,20 @@
[AC_HELP_STRING([--with-nss-libs=PREFIX], [specify location of Mozilla nss3 libs.])],
[with_nss_libs="$withval"])
diff -Naur pidgin-2.10.10.orig/configure.ac pidgin-2.10.10/configure.ac
--- pidgin-2.10.10.orig/configure.ac
+++ pidgin-2.10.10/configure.ac
@@ -2124,6 +2124,20 @@
fi
+dnl #######################################################################
dnl #######################################################################
+dnl # Check for gnome-keyring
+dnl #--enable-gnome-keyring=(yes|no)
+dnl #######################################################################
@ -19,13 +18,14 @@ diff -Naur pidgin-2.10.5.orig/configure.ac pidgin-2.10.5/configure.ac
+ AC_DEFINE(PURPLE_ENABLE_KEYRING, [], [Set if we should use gnome-keyring]))
+fi
+
if test -n "$with_nspr_includes" || test -n "$with_nspr_libs" || \
test -n "$with_nss_includes" || test -n "$with_nss_libs" ||
diff -Naur pidgin-2.10.5.orig/libpurple/account.c pidgin-2.10.5/libpurple/account.c
--- pidgin-2.10.5.orig/libpurple/account.c 2012-07-06 13:14:25.678713118 +0200
+++ pidgin-2.10.5/libpurple/account.c 2012-07-06 13:20:39.273323295 +0200
@@ -49,6 +49,13 @@
+dnl #######################################################################
dnl # Check for Tcl
dnl #######################################################################
AC_ARG_ENABLE(tcl, [AC_HELP_STRING([--disable-tcl],
diff -Naur pidgin-2.10.10.orig/libpurple/account.c pidgin-2.10.10/libpurple/account.c
--- pidgin-2.10.10.orig/libpurple/account.c
+++ pidgin-2.10.10/libpurple/account.c
@@ -54,6 +54,13 @@
#define PURPLE_ACCOUNT_GET_PRIVATE(account) \
((PurpleAccountPrivate *) (account->priv))
@ -39,7 +39,7 @@ diff -Naur pidgin-2.10.5.orig/libpurple/account.c pidgin-2.10.5/libpurple/accoun
/* TODO: Should use PurpleValue instead of this? What about "ui"? */
typedef struct
{
@@ -379,8 +386,13 @@
@@ -393,8 +400,13 @@
if (purple_account_get_remember_password(account) &&
((tmp = purple_account_get_password(account)) != NULL))
{
@ -50,38 +50,80 @@ diff -Naur pidgin-2.10.5.orig/libpurple/account.c pidgin-2.10.5/libpurple/accoun
child = xmlnode_new_child(node, "password");
xmlnode_insert_data(child, tmp, -1);
+#endif
}
if ((tmp = purple_account_get_alias(account)) != NULL)
@@ -875,17 +887,30 @@
} else if (_purple_account_is_password_encrypted(account)) {
const char *keyring = NULL;
const char *mode = NULL;
@@ -909,37 +921,51 @@
}
ret = purple_account_new(name, _purple_oscar_convert(name, protocol_id)); /* XXX: */
- g_free(name);
- g_free(protocol_id);
-
- /* Read the password */
/* Read the password */
- child = xmlnode_get_child(node, "password");
- if ((child != NULL) && ((data = xmlnode_get_data(child)) != NULL))
- if (child != NULL) {
- const char *keyring_id = xmlnode_get_attrib(child, "keyring_id");
- const char *mode = xmlnode_get_attrib(child, "mode");
- gboolean is_plaintext;
-
- data = xmlnode_get_data(child);
-
- if (keyring_id == NULL || keyring_id[0] == '\0')
- is_plaintext = TRUE;
- else if (g_strcmp0(keyring_id, "keyring-internal") != 0)
- is_plaintext = FALSE;
- else if (mode == NULL || mode[0] == '\0' || g_strcmp0(mode, "cleartext") == 0)
- is_plaintext = TRUE;
- else
- is_plaintext = FALSE;
-
- if (is_plaintext) {
- purple_account_set_remember_password(ret, TRUE);
- purple_account_set_password(ret, data);
- } else {
- purple_debug_warning("account", "found encrypted password, "
- "but it's not supported in 2.x.y\n");
- _purple_account_set_encrypted_password(ret, keyring_id, mode, data);
- }
+ gboolean got_pwd = FALSE;
+#ifdef PURPLE_ENABLE_KEYRING
+ data = purple_account_get_password_from_keyring(protocol_id, name);
+ if (data)
{
+ {
+ got_pwd = TRUE;
purple_account_set_remember_password(ret, TRUE);
purple_account_set_password(ret, data);
+ purple_account_set_remember_password(ret, TRUE);
+ purple_account_set_password(ret, data);
g_free(data);
}
+#endif
+ if (!got_pwd)
+ {
+ /* Read the password */
+ child = xmlnode_get_child(node, "password");
+ if ((child != NULL) && ((data = xmlnode_get_data(child)) != NULL))
+ {
+ if (child != NULL) {
+ const char *keyring_id = xmlnode_get_attrib(child, "keyring_id");
+ const char *mode = xmlnode_get_attrib(child, "mode");
+ gboolean is_plaintext;
+
+ data = xmlnode_get_data(child);
+
+ if (keyring_id == NULL || keyring_id[0] == '\0')
+ is_plaintext = TRUE;
+ else if (g_strcmp0(keyring_id, "keyring-internal") != 0)
+ is_plaintext = FALSE;
+ else if (mode == NULL || mode[0] == '\0' || g_strcmp0(mode, "cleartext") == 0)
+ is_plaintext = TRUE;
+ else
+ is_plaintext = FALSE;
+
+ if (is_plaintext) {
+ purple_account_set_remember_password(ret, TRUE);
+ purple_account_set_password(ret, data);
+ } else {
+ purple_debug_warning("account", "found encrypted password, "
+ "but it's not supported in 2.x.y\n");
+ _purple_account_set_encrypted_password(ret, keyring_id, mode, data);
+ }
+ g_free(data);
+ }
+ }
@ -90,11 +132,10 @@ diff -Naur pidgin-2.10.5.orig/libpurple/account.c pidgin-2.10.5/libpurple/accoun
/* Read the alias */
child = xmlnode_get_child(node, "alias");
@@ -3245,3 +3270,60 @@
purple_signals_disconnect_by_handle(handle);
@@ -3305,6 +3331,63 @@
purple_signals_unregister_by_instance(handle);
}
+
+#ifdef PURPLE_ENABLE_KEYRING
+static char *
+purple_account_get_password_from_keyring(const char *_prpl, const char *_user)
@ -151,9 +192,13 @@ diff -Naur pidgin-2.10.5.orig/libpurple/account.c pidgin-2.10.5/libpurple/accoun
+ return result == GNOME_KEYRING_RESULT_OK;
+}
+#endif
diff -Naur pidgin-2.10.5.orig/libpurple/Makefile.am pidgin-2.10.5/libpurple/Makefile.am
--- pidgin-2.10.5.orig/libpurple/Makefile.am 2012-07-06 13:14:25.678713118 +0200
+++ pidgin-2.10.5/libpurple/Makefile.am 2012-07-06 13:20:39.257322842 +0200
+
/* libpurple 3.0.0 compatibility */
static void
diff -Naur pidgin-2.10.10.orig/libpurple/Makefile.am pidgin-2.10.10/libpurple/Makefile.am
--- pidgin-2.10.10.orig/libpurple/Makefile.am
+++ pidgin-2.10.10/libpurple/Makefile.am
@@ -305,6 +305,7 @@
$(GLIB_LIBS) \
$(LIBXML_LIBS) \
@ -162,11 +207,13 @@ diff -Naur pidgin-2.10.5.orig/libpurple/Makefile.am pidgin-2.10.5/libpurple/Make
$(INTLLIBS) \
$(FARSTREAM_LIBS) \
$(GSTREAMER_LIBS) \
@@ -321,6 +322,7 @@
$(GLIB_CFLAGS) \
$(DEBUG_CFLAGS) \
$(DBUS_CFLAGS) \
+ $(PURPLE_KEYRING_CFLAGS) \
$(LIBXML_CFLAGS) \
$(FARSTREAM_CFLAGS) \
@@ -326,7 +327,8 @@
$(GSTREAMER_CFLAGS) \
$(GSTINTERFACES_CFLAGS) \
$(IDN_CFLAGS) \
- $(NETWORKMANAGER_CFLAGS)
+ $(NETWORKMANAGER_CFLAGS) \
+ $(PURPLE_KEYRING_CFLAGS)
# INSTALL_SSL_CERTIFICATES is true when SSL_CERTIFICATES_DIR is empty.
# We want to use SSL_CERTIFICATES_DIR when it's not empty.

View File

@ -1,9 +0,0 @@
Index: pidgin-2.7.3/libpurple/plugins/mono/loader/status-glue.c
===================================================================
--- pidgin-2.7.3.orig/libpurple/plugins/mono/loader/status-glue.c
+++ pidgin-2.7.3/libpurple/plugins/mono/loader/status-glue.c
@@ -1,3 +1,4 @@
+#include <glib.h>
#include "status.h"
#include "mono-helper.h"
#include "mono-glue.h"

View File

@ -1,3 +1,36 @@
-------------------------------------------------------------------
Mon Nov 24 10:55:10 UTC 2014 - dimstar@opensuse.org
- Update to version 2.10.11:
+ General:
- Fix handling of Self-Signed SSL/TLS Certificates when using
the NSS plugin (pidgin.im#16412).
- Improve default cipher suites used with the NSS plugin
(pidgin.im#16262).
- Add NSS Preferences plugin which allows the SSL/TLS Versions
and cipher suites to be configured (pidgin.im#8061).
+ Gadu-Gadu:
- Fix a bug that prevented plugin to load when compiled without
GnuTLS (pidgin.im#16431).
- Fix build for platforms without AF_LOCAL definition
(pidgin.im#16404).
+ MSN:
- Fix broken login due to server change (pidgin.im#16451,
pidgin.im#16455).
- Fail early when buddy list is unavailable instead of wasting
bandwidth endlessly re-trying.
-------------------------------------------------------------------
Thu Oct 25 11:12:27 UTC 2014 - sor.alexei@meowr.ru
- Remove pidgin-mono-buildfix.patch: Mono bindings are deprecated
upstream and no plugin exists making use of them.
- Rebase pidgin-gnome-keyring.patch.
- Make openSUSE 11.1 (SLE 11) minimal requirement.
- Remove obsoletions of gaim: incredibly old.
- Move Tango and NLD emoticons to separate packages.
- Spec cleanup.
-------------------------------------------------------------------
Fri Oct 24 10:07:47 UTC 2014 - dimstar@opensuse.org

View File

@ -16,323 +16,159 @@
#
%if 0%{?suse_version} > 1010 && 0%{?suse_version} < 1140
%define with_mono 1
%else
%define with_mono 0
%endif
%define with_evolution 0%{?suse_version} <= 1220
%define _name Pidgin
Name: pidgin
Version: 2.10.11
Release: 0
Summary: Multiprotocol Instant Messaging Client
License: GPL-2.0+
Group: Productivity/Networking/Instant Messenger
Version: 2.10.10
Release: 0
# FIXME: Remove unconditional --disable-vv parameter from configure once pidgin is ported to farstream 0.2
Url: http://www.pidgin.im/
Source: http://downloads.sourceforge.net/project/pidgin/Pidgin/%{version}/%{name}-%{version}.tar.bz2
Source1: pidgin-NLD-smiley-theme.tar.bz2
Source2: pidgin-Tango-smiley-theme.tar.bz2
Source3: pidgin-prefs.xml
Patch1: pidgin-gnome-keyring.patch
Patch3: pidgin-nonblock-common.patch
Patch4: pidgin-nonblock-gwim.patch
Patch5: pidgin-nonblock-common2.patch
# PATCH-FIX-UPSTREAM pidgin-mono-buildfix.patch http://developer.pidgin.im/ticket/12506 dimstar@opensuse.org -- Fix build with mono plugin loader; missing include statements.
Patch14: pidgin-mono-buildfix.patch
Url: http://pidgin.im/
Source: http://downloads.sourceforge.net/project/pidgin/Pidgin/2.10.11/%{name}-%{version}.tar.gz
Source1: %{name}-prefs.xml
Patch0: %{name}-nonblock-common.patch
Patch1: %{name}-nonblock-gwim.patch
Patch2: %{name}-nonblock-common2.patch
Patch3: %{name}-gnome-keyring.patch
# PATCH-FIX-OPENSUSE pidgin-fix-perl-build.patch vuntz@opensuse.org -- Revert http://developer.pidgin.im/viewmtn/revision/info/f32151852a00fb5abd3fdccdd8df2419031666de as it breaks the build
Patch15: pidgin-fix-perl-build.patch
Patch4: %{name}-fix-perl-build.patch
# PATCH-FIX-UPSTREAM pidgin-ssl-cache.patch pidgin.im#11568 tbehrens@suse.com -- Disable caching the SSL Session keys, as some (broken) IRC servers are not willing to re-use them upon a disconnect.
Patch18: pidgin-ssl-cache.patch
# PATCH-FIX-UPSTREAM pidgin-crash-missing-gst-registry.patch bnc#866455 pidgin.im#16224 cxiong@suse.com -- fix crash when GST registry cache file is missing.
Patch19: pidgin-crash-missing-gst-registry.patch
# Can use external libzephyr
Patch5: %{name}-ssl-cache.patch
# PATCH-FIX-UPSTREAM pidgin-crash-missing-gst-registry.patch bnc#866455 pidgin.im#16224 cxiong@suse.com -- Fix crash when GST registry cache file is missing.
Patch6: pidgin-crash-missing-gst-registry.patch
BuildRequires: NetworkManager-devel
# Can use external libzephyr.
BuildRequires: cyrus-sasl-devel
BuildRequires: dbus-1-devel
BuildRequires: dbus-1-glib-devel
BuildRequires: doxygen
%if %{?with_evolution}
BuildRequires: evolution-data-server-devel
%endif
BuildRequires: libtool
%if %suse_version > 1110 && %suse_version <= 1210
BuildRequires: farsight2-devel
%endif
%if %suse_version > 1210
BuildRequires: farstream-devel
%endif
BuildRequires: fdupes
BuildRequires: gconf2-devel
%if %suse_version < 1020
BuildRequires: gnome-icon-theme
%endif
BuildRequires: graphviz
BuildRequires: gstreamer-0_10-devel
BuildRequires: gstreamer-0_10-plugins-base-devel
BuildRequires: gtk-doc
BuildRequires: gtkspell-devel
BuildRequires: intltool
BuildRequires: libidn-devel
%if %{suse_version} > 1030
BuildRequires: libavahi-glib-devel
BuildRequires: libgadu-devel
BuildRequires: libgnutls-devel
BuildRequires: libidn-devel
BuildRequires: libnotify-devel
BuildRequires: libstdc++-devel
BuildRequires: libtool
BuildRequires: libxml2-devel
BuildRequires: libxslt
BuildRequires: meanwhile-devel
BuildRequires: mozilla-nspr-devel
BuildRequires: ncurses-devel
BuildRequires: python-devel
BuildRequires: silc-toolkit-devel
BuildRequires: startup-notification-devel
BuildRequires: tk-devel
BuildRequires: update-desktop-files
Requires: perl-base = %{perl_version}
%if 0%{?suse_version} <= 1110
Recommends: %{name}-emoticons-nld
Recommends: %{name}-emoticons-tango
%endif
# There is no way to discriminate openSUSE 11.1 and SLE11. That is why we recognize openSUSE 11.1 as SLE.
# Ugly, but there is no other way. (bnc#566286#c17).
%if %suse_version == 1110
%define building_for_sle_ge_11 1
%else
%define building_for_sle_ge_11 0
%endif
BuildRoot: %{_tmppath}/%{name}-%{version}-build
%{gconf_schemas_prereq}
# gnome-keyring support summary (bnc#566286):
# SLE10, 11.0, 11.1: patch present and broken (does nothing)
# SLE11: patch present and active (bnc#569025)
# 11.2: patch was present and active removed by an opdate
# 11.3 and above: patch not applied
# 11.1 & SLE11: patch present and active (bnc#569025)
# 11.2 and above: patch not applied
# For openSUSE, it's better to avoid this patch:
# + does not work well outside GNOME
# - passwords are stored in readable form
%if 0%{?suse_version} > 1120
%if 0%{?building_for_sle_ge_11}
BuildRequires: libgnome-keyring-devel
%endif
%else
%if 0%{?building_for_sle_ge_11}
%if 0%{?suse_version} <= 1110
BuildRequires: gnome-keyring-devel
%endif
%if 0%{?suse_version} > 1210
BuildRequires: libSM-devel
BuildRequires: libX11-devel
BuildRequires: libXScrnSaver-devel
BuildRequires: libXext-devel
%endif
BuildRequires: libstdc++-devel
BuildRequires: libxml2-devel
BuildRequires: libxslt
%if %suse_version >= 1030
# Versions in older SUSE products are too old:
BuildRequires: meanwhile-devel
%endif
%if %with_mono
BuildRequires: mono-devel
%endif
BuildRequires: mozilla-nspr-devel
%if 0%{?suse_version} > 1210
BuildRequires: mozilla-nss-devel
BuildRequires: ncurses-devel
%if %suse_version > 1020
%if %suse_version >= 1230
%endif
%if 0%{?suse_version} >= 1230
BuildRequires: ca-certificates-mozilla
%else
BuildRequires: openssl-certs
%endif
%endif
%if %suse_version > 1030
%if %suse_version < 1120
# missing in silc-toolkit-devel:
%if 0%{?suse_version} < 1120
# Missing in silc-toolkit-devel.
BuildRequires: pam-devel
%endif
%endif
BuildRequires: python
BuildRequires: startup-notification-devel
BuildRequires: tk-devel
%if %suse_version > 1110
%if 0%{?suse_version} > 1110
BuildRequires: translation-update-upstream
%endif
BuildRequires: NetworkManager-devel
BuildRequires: gstreamer-0_10-devel
BuildRequires: gstreamer-0_10-plugins-base-devel
BuildRequires: update-desktop-files
%if %suse_version > 1020
BuildRequires: dbus-1-glib-devel
BuildRequires: silc-toolkit-devel
%else
BuildRequires: dbus-1-devel
BuildRequires: dbus-1-glib
%endif
%if %suse_version > 1020
BuildRequires: fdupes
%endif
BuildRequires: libnotify-devel
%if %suse_version > 1030
BuildRequires: libavahi-glib-devel
%else
BuildRequires: avahi-devel
BuildRequires: avahi-glib
%endif
%if %suse_version > 1210
# Explicit BuildRequires needed after big xorg-x11 packaging change in 12.2
BuildRequires: libSM-devel
BuildRequires: libXScrnSaver-devel
BuildRequires: libXext-devel
BuildRequires: pkgconfig(x11)
%endif
%if %suse_version > 1020
%if %suse_version >= 1230
%if 0%{?suse_version} >= 1230
Requires: ca-certificates-mozilla
%else
Requires: openssl-certs
%endif
%endif
Requires: perl-base = %{perl_version}
BuildRoot: %{_tmppath}/%{name}-%{version}-build
# Existed before 10.3 and SLED10 before SP2:
Obsoletes: gaim <= 1.5.0
# Has never been in SuSE:
Obsoletes: gaim-applet
# Was only in the Build Service after 10.2:
Obsoletes: gaim-unstable < 2.0.0
Provides: gaim
%if ! (%{with_evolution})
# If we can't build evolution, let's obsolete it for clean installations.
Obsoletes: %{name}-evolution <= %{version}
%endif
# pidgin=-facebookchat 1.69 was released in 2010 and no longer works. And pidgin
# brings facebook support on its own by now.
Obsoletes: pidgin-facebookchat < 1.70
%if %suse_version <= 1021
%define _prefix /opt/gnome
%define _libdir %{_prefix}/%{_lib}
%define _datadir %{_prefix}/share
%define _sysconfdir /etc%_prefix
BuildRequires: gconf2-rpm-macros
%endif
%gconf_schemas_prereq
%description
Pidgin is a chat program which lets you log in to accounts on multiple
chat networks simultaneously.
Pidgin is compatible with the following chat networks out of the box:
AIM, ICQ, Google Talk, Jabber/XMPP, MSN Messenger, Yahoo!, Bonjour,
Gadu-Gadu, IRC, Novell GroupWise Messenger, QQ, Lotus Sametime, SILC,
SIMPLE, MXit, MySpaceIM, and Zephyr. It can support many more with
plugins.
Jabber/XMPP, AIM, ICQ, Yahoo!, Bonjour, Gadu-Gadu, IRC, SILC, SIMPLE,
Novell GroupWise Messenger, Lotus Sametime, MXit, MySpaceIM,
and Zephyr. It can support many more with plugins.
%package devel
#'
Summary: Development Headers, Documentation, and Libraries for Pidgin
Group: Productivity/Networking/Instant Messenger
Group: Development/Libraries/C and C++
Requires: %{name} = %{version}
Requires: glib2-devel
Requires: gtk2-devel
Requires: libpurple-devel = %{version}
%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
Group: System/Libraries
# Not really required, but standard Jabber accounts require it, if compiled with SASL support.
Requires: cyrus-sasl-digestmd5
Requires: cyrus-sasl-plain
# Needed for purple-url-handler:
# Needed for purple-url-handler.
Requires: dbus-1-python
Requires: perl = %{perl_version}
%if %suse_version > 1020
%if %suse_version >= 1315
Recommends: libpurple-lang = %{version}
%if 0%{?suse_version} >= 1230
Requires: ca-certificates-mozilla
%else
Requires: openssl-certs
%endif
%endif
%if %suse_version > 1030
Recommends: libpurple-lang
%endif
%package -n libpurple-devel
Summary: Development Headers, Documentation, and Libraries for libpurple
Group: Productivity/Networking/Instant Messenger
Requires: NetworkManager-devel
Requires: NetworkManager-glib
Requires: glib2-devel
Requires: libpurple = %{version}
Requires: libxml2-devel
%if 0%{?suse_version} > 1120
%if 0%{?building_for_sle_ge_11}
Requires: libgnome-keyring-devel
%endif
%else
%if 0%{?building_for_sle_ge_11}
Requires: gnome-keyring-devel
%endif
%endif
Requires: pkg-config
Provides: gaim-devel = %{version}
Obsoletes: gaim-devel <= 1.5.0
Provides: gaim-unstable-devel = %{version}
Obsoletes: gaim-unstable-devel < 2.0.0
%if %suse_version >= 1030
%package -n libpurple-meanwhile
Summary: Lotus Sametime Plugin for Pidgin Using the Meanwhile Library
Group: Productivity/Networking/Instant Messenger
Requires: libpurple = %{version}
%endif
%if %with_evolution
%package evolution
Summary: Evolution integration plugin for Pidgin
Group: Productivity/Networking/Instant Messenger
Requires: %{name} = %{version}
Supplements: packageand(%{name}:evolution-data-server)
%endif
%if %with_mono
%package -n libpurple-mono
Summary: Mono .NET Plugin Support for Pidgin
Group: Productivity/Networking/Instant Messenger
Requires: libpurple = %{version}
%endif
%package -n libpurple-tcl
Summary: TCL Plugin Support for Pidgin
Group: Productivity/Networking/Instant Messenger
Requires: libpurple = %{version}
Supplements: packageand(libpurple:tcl)
%package -n finch
Summary: Text-Based User Interface for Pidgin Instant Messaging Client
Group: Productivity/Networking/Instant Messenger
Requires: libpurple = %{version}
Obsoletes: gaim-unstable-text < 2.0.0
Provides: gaim-unstable-text
%package -n finch-devel
Summary: Headers etc. for finch Stuffs
Group: Productivity/Networking/Instant Messenger
Requires: finch = %{version}
Requires: glib2-devel
Requires: glibc-devel
Requires: libpurple-devel = %{version}
Requires: ncurses-devel
Requires: pkg-config
Obsoletes: gaim-unstable-text-devel
%if 0%{?suse_version} > 1140
%package -n libpurple-branding-upstream
Summary: GLib-based Instant Messenger Library -- Upstream default configuration
Group: System/Libraries
Requires: libpurple = %{version}
Provides: libpurple-branding = %{version}
Conflicts: otherproviders(libpurple-branding)
Supplements: packageand(libpurple:branding-upstream)
# It also provides pidgin branding
Provides: pidgin-branding = %{version}
Provides: pidgin-branding-upstream = %{version}
Conflicts: otherproviders(pidgin-branding)
Supplements: packageand(pidgin:branding-upstream)
BuildArch: noarch
#BRAND: Provides /etc/purple/prefs.xml, the default configuration for
#BRAND: libpurple, and libpurple-based clients.
%endif
%description devel
The pidgin-devel package contains the header files, developer
documentation, and libraries required for development of Pidgin scripts
and plugins.
%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:
AIM, ICQ, Google Talk, Jabber/XMPP, MSN Messenger, Yahoo!, Bonjour,
Gadu-Gadu, IRC, Novell GroupWise Messenger, QQ, Lotus Sametime, SILC,
SIMPLE, MXit, MySpaceIM, and Zephyr. It can support many more with
plugins.
Jabber/XMPP, AIM, ICQ, Yahoo!, Bonjour, Gadu-Gadu, IRC, SILC, SIMPLE,
Novell GroupWise Messenger, Lotus Sametime, MXit, MySpaceIM,
and Zephyr. It can support many more with plugins.
%lang_package -n libpurple
%package -n libpurple-devel
Summary: Development Headers, Documentation, and Libraries for libpurple
Group: Development/Libraries/C and C++
Requires: NetworkManager-devel
Requires: NetworkManager-glib
Requires: glib2-devel
Requires: libpurple = %{version}
Requires: libxml2-devel
Requires: pkg-config
%description -n libpurple-devel
The libpurple-devel package contains the header files, developer
@ -340,167 +176,145 @@ documentation, and libraries required for development of libpurple
based instant messaging clients or plugins for any libpurple based
client.
%if %suse_version >= 1030
%package -n libpurple-meanwhile
Summary: Sametime Plugin for Pidgin using the Meanwhile Library
Group: Productivity/Networking/Instant Messenger
Requires: libpurple = %{version}
%description -n libpurple-meanwhile
Lotus Sametime plugin for Pidgin using the Meanwhile library.
%endif
%if %with_evolution
%description evolution
Evolution integration plugin for Pidgin
%endif
%if %with_mono
%description -n libpurple-mono
Mono plugin loader for Pidgin. This package will allow you to write or
use Pidgin plugins written in the .NET programming language.
%endif
%package -n libpurple-tcl
Summary: TCL Plugin Support for Pidgin
Group: Productivity/Networking/Instant Messenger
Requires: libpurple = %{version}
Supplements: packageand(libpurple: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 finch
Summary: Text-Based User Interface for Pidgin Instant Messaging Client
Group: Productivity/Networking/Instant Messenger
Requires: libpurple = %{version}
%description -n finch
A text-based user interface for using libpurple. This can be run from
a standard text console or from a terminal within X Windows. It uses
ncurses and our homegrown gnt library for drawing windows and text.
%package -n finch-devel
Summary: Headers etc. for finch Stuffs
Group: Development/Libraries/C and C++
Requires: finch = %{version}
Requires: glib2-devel
Requires: glibc-devel
Requires: libpurple-devel = %{version}
Requires: ncurses-devel
Requires: pkg-config
%description -n finch-devel
The finch-devel package contains the header files, developer
documentation, and libraries required for development of Finch scripts
and plugins.
%if 0%{?suse_version} > 1140
%package -n libpurple-branding-upstream
Summary: GLib-based Instant Messenger Library -- Upstream default configuration
Group: System/Libraries
Requires: libpurple = %{version}
Supplements: packageand(libpurple:branding-upstream)
Provides: libpurple-branding = %{version}
BuildArch: noarch
Conflicts: otherproviders(libpurple-branding)
#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:
AIM, ICQ, Google Talk, Jabber/XMPP, MSN Messenger, Yahoo!, Bonjour,
Gadu-Gadu, IRC, Novell GroupWise Messenger, QQ, Lotus Sametime, SILC,
SIMPLE, MXit, MySpaceIM, and Zephyr. It can support many more with
plugins.
Jabber/XMPP, AIM, ICQ, Yahoo!, Bonjour, Gadu-Gadu, IRC, SILC, SIMPLE,
Novell GroupWise Messenger, Lotus Sametime, MXit, MySpaceIM,
and Zephyr. It can support many more with plugins.
This package provides the openSUSE default configuration for Pidgin.
%endif
%if %suse_version > 1030
%lang_package -n libpurple
%endif
%prep
%setup -q -a1 -a2
%if %suse_version > 1110
%setup -q
%if 0%{?suse_version} > 1110
translation-update-upstream
%endif
%if 0%{?building_for_sle_ge_11}
%patch0 -p1
%patch1 -p1
%endif
%patch2 -p1
%patch3 -p1
%patch4 -p1
%patch5 -p1
%patch14 -p1
%patch15 -p1
%if 0%{?suse_version} >= 1310
%patch18 -p0
%patch19 -p1
%patch5
%patch6 -p1
%endif
# Change Myanmar/Myanmar to Myanmar:
rename my_MM my po/my_MM.*
%{__sed} -i "/ALL_LINGUAS/s/ my_MM / my /" configure.ac
# Change Myanmar/Myanmar to Myanmar.
mv -f po/my_MM.po po/my.po
sed -i "/ALL_LINGUAS/s/ my_MM / my /" configure.ac
%build
export CFLAGS="$RPM_OPT_FLAGS -fstack-protector -fPIC"
export CXXFLAGS="$RPM_OPT_FLAGS -fstack-protector -fPIC"
export FFLAGS="$RPM_OPT_FLAGS -fstack-protector -fPIC"
export CFLAGS="%{optflags} -fstack-protector -fPIC"
export CXXFLAGS="%{optflags} -fstack-protector -fPIC"
export FFLAGS="%{optflags} -fstack-protector -fPIC"
export LDFLAGS="-pie"
autoreconf -fi
%configure \
--disable-static \
--disable-schemas-install \
%if %suse_version < 1120
--disable-vv\
%endif
--enable-plugins \
--enable-cyrus-sasl \
--enable-dbus \
%if %with_mono
--enable-mono\
%else
--disable-mono\
%endif
%if %with_evolution
--enable-gevolution\
%endif
--enable-gstreamer \
%if 0%{?building_for_sle_ge_11}
%if 0%{?suse_version} <= 1110
--enable-gnome-keyring \
%endif
--enable-nm \
--enable-dbus \
--enable-devhelp \
%if %suse_version < 1030
--disable-meanwhile\
%endif
--disable-vv \
--with-tclconfig=%{_libdir} \
--with-tkconfig=%{_libdir} \
--with-system-ssl-certs=/etc/ssl/certs
# make sure all subprojects are built with verbose output
export V=1
# Mono bindings sometimes fail with parallel build enabled in pidgin-2.5.5:
#%{__make} %{?jobs:-j%jobs}
%{__make}
--with-system-ssl-certs=%{_sysconfdir}/ssl/certs/
make %{?_smp_mflags}
%install
%{makeinstall}
install -d %{buildroot}%{_sysconfdir}/purple
%make_install
mkdir -p %{buildroot}%{_sysconfdir}/purple/
%if 0%{?suse_version} > 1140
cp %{SOURCE3} %{buildroot}%{_sysconfdir}/purple/prefs.xml
%endif
%{perl_process_packlist}
%suse_update_desktop_file -N Pidgin -G "Instant Messenger" %{name}
# Provide only upstream emotes in openSUSE >= 11.2 and SLE > 11 (see bnc#569271#c1):
%if %suse_version < 1120
cp -a NLD $RPM_BUILD_ROOT%{_prefix}/share/pixmaps/pidgin/emotes
cp -a Tango $RPM_BUILD_ROOT%{_prefix}/share/pixmaps/pidgin/emotes
%endif
%{__rm} $RPM_BUILD_ROOT%{_libdir}/*.la $RPM_BUILD_ROOT%{_libdir}/*/*.la
%{__rm} -f $RPM_BUILD_ROOT%{perl_archlib}/perllocal.pod
%{__rm} -f $RPM_BUILD_ROOT%{_prefix}/lib/perl*/*/perllocal.pod
# FIXME: Should be nonversioned name:
test -L $RPM_BUILD_ROOT%{_libdir}/purple-2/liboscar.so && %{__rm} $RPM_BUILD_ROOT%{_libdir}/purple-2/liboscar.so
test -L $RPM_BUILD_ROOT%{_libdir}/purple-2/libjabber.so && %{__rm} $RPM_BUILD_ROOT%{_libdir}/purple-2/libjabber.so
test -L $RPM_BUILD_ROOT%{_libdir}/purple-2/libymsg.so && %{__rm} $RPM_BUILD_ROOT%{_libdir}/purple-2/libymsg.so
find $RPM_BUILD_ROOT -type f -name .packlist -exec %{__rm} {} ';'
find $RPM_BUILD_ROOT -type f -name '*.bs' -empty -exec %{__rm} {} ';'
%find_lang %{name} %{?no_lang_C}
find $RPM_BUILD_ROOT%{_libdir}/purple-2 -xtype f -print | \
%{__sed} "s@^$RPM_BUILD_ROOT@@g" | \
%{__grep} -v /libsametime.so | \
%{__grep} -v /mono.so | \
%{__grep} -v /tcl.so | \
%{__grep} -v ".dll$" > %{name}-%{version}-purpleplugins
find $RPM_BUILD_ROOT%{_libdir}/pidgin -maxdepth 1 -xtype f -print | \
%{__sed} "s@^$RPM_BUILD_ROOT@@g" | \
%{__grep} -v /gevolution.so > %{name}-%{version}-pidginplugins
find $RPM_BUILD_ROOT%{_libdir}/finch -maxdepth 1 -xtype f -print | \
%{__sed} "s@^$RPM_BUILD_ROOT@@g" > %{name}-%{version}-finchplugins
%find_gconf_schemas
%{__cat} %{name}.schemas_list %{name}-%{version}-pidginplugins >%{name}.lst
%if %suse_version <= 1030
%{__cat} %{name}.lang >>%{name}-%{version}-purpleplugins
%endif
%if %suse_version > 1020
%fdupes $RPM_BUILD_ROOT
cp -f %{SOURCE1} %{buildroot}%{_sysconfdir}/purple/prefs.xml
%endif
%perl_process_packlist
%clean
%{__rm} -rf $RPM_BUILD_ROOT
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
# FIXME: Should be nonversioned name.
for im in jabber oscar ymsg; do
if [ -L %{buildroot}%{_libdir}/purple-2/lib$im.so ]; then
rm -f %{buildroot}%{_libdir}/purple-2/lib$im.so
fi
done
find %{buildroot}%{_libdir}/purple-2/ -xtype f -print | \
sed -e "s|^%{buildroot}||g;/\libsametime.so/d;/\/tcl.so/d" \
> %{name}-%{version}-purpleplugins
find %{buildroot}%{_libdir}/finch/ -maxdepth 1 -xtype f -print | \
sed -e "s|^%{buildroot}||g" > %{name}-%{version}-finchplugins
%fdupes %{buildroot}
%suse_update_desktop_file -N %{_name} -G "Instant Messenger" %{name}
%{find_gconf_schemas}
%find_lang %{name} %{?no_lang_C}
%pre -f %{name}.schemas_pre
@ -509,14 +323,12 @@ find $RPM_BUILD_ROOT%{_libdir}/finch -maxdepth 1 -xtype f -print | \
%preun -f %{name}.schemas_preun
%if 0%{?suse_version} > 1130
%post
%desktop_database_post
%icon_theme_cache_post
%endif
%if 0%{?suse_version} > 1130
%postun
%desktop_database_postun
%icon_theme_cache_postun
@ -530,34 +342,24 @@ find $RPM_BUILD_ROOT%{_libdir}/finch -maxdepth 1 -xtype f -print | \
%postun -n finch -p /sbin/ldconfig
%files -f %{name}.lst
%files -f %{name}.schemas_list
%defattr(-,root,root)
%doc AUTHORS COPYING COPYRIGHT ChangeLog NEWS README doc/the_penguin.txt
%dir %{_libdir}/pidgin
%{_libdir}/pidgin/perl
%{_bindir}/pidgin
%{_datadir}/pixmaps/pidgin
%{_datadir}/icons/hicolor/*/apps/pidgin.*
%{_bindir}/%{name}
%{_libdir}/%{name}/
%dir %{_datadir}/appdata
%{_datadir}/appdata/pidgin.appdata.xml
%{_datadir}/pixmaps/%{name}/
%{_datadir}/icons/hicolor/*/apps/*
%{_datadir}/applications/*.desktop
%{_datadir}/sounds/purple
%doc %{_mandir}/man1/pidgin.*
%if %suse_version < 1020
/var/adm/perl-modules/pidgin
# man3 is not part of gnome-filesystem
%doc %dir %{_mandir}/man3
%endif
%{_datadir}/sounds/purple/
%{_mandir}/man1/%{name}.*
%files devel
%defattr(-,root,root)
%{_includedir}/pidgin
%{_libdir}/pkgconfig/pidgin.pc
%doc %{_mandir}/man3/Pidgin.*
%if %with_evolution
%files evolution
%defattr(-, root, root)
%{_libdir}/pidgin/gevolution.so
%endif
%{_includedir}/%{name}
%{_libdir}/pkgconfig/%{name}.pc
%{_mandir}/man3/%{_name}.*
%files -n libpurple -f %{name}-%{version}-purpleplugins
%defattr(-,root,root)
@ -568,70 +370,26 @@ find $RPM_BUILD_ROOT%{_libdir}/finch -maxdepth 1 -xtype f -print | \
%{_bindir}/purple-send
%{_bindir}/purple-send-async
%{_bindir}/purple-url-handler
%{_datadir}/purple
%{_datadir}/purple/
%{_libdir}/libpurple.so.*
%{_libdir}/libpurple-client.so.*
%dir %{_libdir}/purple-2
%{_libdir}/purple-2/perl
%if %suse_version > 1030
%dir %{_libdir}/purple-2/
%dir %{_libdir}/purple-2/perl/
%dir %{_libdir}/purple-2/perl/*/
%dir %{_libdir}/purple-2/perl/*/*
%files -n libpurple-lang -f %{name}.lang
%endif
%defattr(-,root,root)
# These locales are not yet included in respective products:
%if %suse_version < 1140
%if 0%{?suse_version} < 1140
# See https://bugzilla.novell.com/show_bug.cgi?id=659001
%dir %{_datadir}/locale/mhr
%dir %{_datadir}/locale/mhr/LC_MESSAGES
%dir %{_datadir}/locale/mhr/
%dir %{_datadir}/locale/mhr/LC_MESSAGES/
%endif
%if %suse_version <= 1120
%dir %{_datadir}/locale/ms_MY
%dir %{_datadir}/locale/ms_MY/LC_MESSAGES
%endif
%if %suse_version < 1110
%dir %{_datadir}/locale/sr@latin
%dir %{_datadir}/locale/sr@latin/LC_MESSAGES
%endif
%if %suse_version < 1020
%dir %{_datadir}/locale/be@latin
%dir %{_datadir}/locale/be@latin/LC_MESSAGES
%dir %{_datadir}/locale/ca@valencia
%dir %{_datadir}/locale/ca@valencia/LC_MESSAGES
%dir %{_datadir}/locale/my
%dir %{_datadir}/locale/my/LC_MESSAGES
%dir %{_datadir}/locale/oc
%dir %{_datadir}/locale/oc/LC_MESSAGES
%dir %{_datadir}/locale/ps
%dir %{_datadir}/locale/ps/LC_MESSAGES
%dir %{_datadir}/locale/si
%dir %{_datadir}/locale/si/LC_MESSAGES
%dir %{_datadir}/locale/sw
%dir %{_datadir}/locale/sw/LC_MESSAGES
%dir %{_datadir}/locale/ur
%dir %{_datadir}/locale/ur/LC_MESSAGES
%endif
%if %suse_version >= 1030
%files -n libpurple-meanwhile
%defattr(-,root,root)
%{_libdir}/purple-2/libsametime.*
%endif
%ifnarch ppc64
%if %suse_version > 1010
%if %with_mono
%files -n libpurple-mono
%defattr(-, root, root)
%{_libdir}/purple-2/mono.so
%{_libdir}/purple-2/*.dll
%endif
%endif
%endif
%files -n libpurple-tcl
%defattr(-,root,root)
@ -640,38 +398,33 @@ find $RPM_BUILD_ROOT%{_libdir}/finch -maxdepth 1 -xtype f -print | \
%files -n libpurple-devel
%defattr(-,root,root)
%doc ChangeLog.API HACKING PLUGIN_HOWTO
%{_includedir}/libpurple
%{_includedir}/libpurple/
%{_datadir}/aclocal/purple.m4
%{_libdir}/libpurple.so
%{_libdir}/libpurple-client.so
%{_libdir}/pkgconfig/purple.pc
%doc %{_mandir}/man3/Purple.*
%if %suse_version < 1020
# man3 is not part of gnome-filesystem
%doc %dir %{_mandir}/man3
%endif
%files -n finch -f %{name}-%{version}-finchplugins
%defattr(-,root,root)
%{_bindir}/finch
%{_libdir}/libgnt.so.*
%{_libdir}/gnt
%dir %{_libdir}/finch
%doc %{_mandir}/man1/finch.*
%{_libdir}/gnt/
%dir %{_libdir}/finch/
%{_mandir}/man1/finch.*
%files -n finch-devel
%defattr(-,root,root)
%{_includedir}/finch
%{_includedir}/gnt
%{_includedir}/finch/
%{_includedir}/gnt/
%{_libdir}/libgnt.so
%{_libdir}/pkgconfig/finch.pc
%{_libdir}/pkgconfig/gnt.pc
%if 0%{?suse_version} > 1140
%files -n libpurple-branding-upstream
%defattr(-,root,root)
%{_sysconfdir}/purple/prefs.xml
%config %{_sysconfdir}/purple/prefs.xml
%endif
%changelog