forked from pool/pidgin
This commit is contained in:
parent
1ae4a1456c
commit
a40dd48d0e
64
pidgin-2.10.11-purple-remote-python3.patch
Normal file
64
pidgin-2.10.11-purple-remote-python3.patch
Normal file
@ -0,0 +1,64 @@
|
||||
Actually make things work in python3.
|
||||
|
||||
Author: Jan Synacek <jsynacek@redhat.com>
|
||||
|
||||
--- a/libpurple/purple-remote 2015-06-03 09:52:26.324668688 +0200
|
||||
+++ b/libpurple/purple-remote 2015-06-03 09:55:41.287253981 +0200
|
||||
@@ -3,13 +3,13 @@
|
||||
import codecs
|
||||
import dbus
|
||||
import re
|
||||
-import urllib
|
||||
+import urllib.parse
|
||||
import sys
|
||||
|
||||
import xml.dom.minidom
|
||||
|
||||
sys.stdin = codecs.getwriter('utf-8')(sys.stdin);
|
||||
-sys.stdout = codecs.getwriter('utf-8')(sys.stdout);
|
||||
+sys.stdout = codecs.getwriter('utf-8')(sys.stdout.detach());
|
||||
|
||||
xml.dom.minidom.Element.all = xml.dom.minidom.Element.getElementsByTagName
|
||||
|
||||
@@ -41,7 +41,7 @@ class CheckedAttribute:
|
||||
return result
|
||||
|
||||
def show_help(requested=False):
|
||||
- print """This program uses D-Bus to communicate with purple.
|
||||
+ print("""This program uses D-Bus to communicate with purple.
|
||||
|
||||
Usage:
|
||||
|
||||
@@ -72,7 +72,7 @@ Examples of commands:
|
||||
|
||||
PurpleAccountsFindConnected?name=&protocol=prpl-jabber
|
||||
PurpleAccountsFindConnected(,prpl-jabber)
|
||||
-""" % sys.argv[0]
|
||||
+""" % sys.argv[0])
|
||||
if (requested):
|
||||
sys.exit(0)
|
||||
else:
|
||||
@@ -120,7 +120,7 @@ def execute(uri):
|
||||
if paramstring is not None:
|
||||
for param in paramstring.split("&"):
|
||||
key, value = extendlist(param.split("=",1), 2, "")
|
||||
- params[key] = urllib.unquote(value)
|
||||
+ params[key] = urllib.parse.unquote(value)
|
||||
|
||||
accountname = params.get("account", "")
|
||||
|
||||
@@ -233,12 +233,12 @@ if len(sys.argv) == 1:
|
||||
elif (sys.argv[1] == "--help" or sys.argv[1] == "-h"):
|
||||
show_help(True)
|
||||
elif (obj == None):
|
||||
- print "No existing libpurple instance detected."
|
||||
+ print("No existing libpurple instance detected.")
|
||||
sys.exit(1);
|
||||
|
||||
for arg in sys.argv[1:]:
|
||||
output = execute(arg)
|
||||
|
||||
if (output != None):
|
||||
- print output
|
||||
+ print(output)
|
||||
|
@ -1,226 +0,0 @@
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -2222,6 +2222,20 @@ MSN, Yahoo!, Novell Groupwise and Google
|
||||
fi
|
||||
|
||||
dnl #######################################################################
|
||||
+dnl # Check for gnome-keyring
|
||||
+dnl #--enable-gnome-keyring=(yes|no)
|
||||
+dnl #######################################################################
|
||||
+AC_ARG_ENABLE(gnome-keyring,
|
||||
+ AC_HELP_STRING([--enable-gnome-keyring],
|
||||
+ [use gnome keyring for storing password [default=no]]),,
|
||||
+ enable_gnome_keyring=no)
|
||||
+if test "x$enable_gnome_keyring" = "xyes"; then
|
||||
+ PKG_CHECK_MODULES(PURPLE_KEYRING,
|
||||
+ gnome-keyring-1,
|
||||
+ AC_DEFINE(PURPLE_ENABLE_KEYRING, [], [Set if we should use gnome-keyring]))
|
||||
+fi
|
||||
+
|
||||
+dnl #######################################################################
|
||||
dnl # Check for Tcl
|
||||
dnl #######################################################################
|
||||
AC_ARG_ENABLE(tcl, [AC_HELP_STRING([--disable-tcl],
|
||||
--- a/libpurple/account.c
|
||||
+++ b/libpurple/account.c
|
||||
@@ -54,6 +54,16 @@ typedef struct
|
||||
#define PURPLE_ACCOUNT_GET_PRIVATE(account) \
|
||||
((PurpleAccountPrivate *) (account->priv))
|
||||
|
||||
+#ifdef PURPLE_ENABLE_KEYRING
|
||||
+#include <gnome-keyring.h>
|
||||
+
|
||||
+static char *
|
||||
+purple_account_get_password_from_keyring(const char *_prpl, const char *_user);
|
||||
+static gboolean
|
||||
+purple_account_set_password_in_keyring(const char *_prpl, const char *_user,
|
||||
+ const char *password);
|
||||
+#endif
|
||||
+
|
||||
/* TODO: Should use PurpleValue instead of this? What about "ui"? */
|
||||
typedef struct
|
||||
{
|
||||
@@ -394,8 +404,13 @@ account_to_xmlnode(PurpleAccount *accoun
|
||||
if (purple_account_get_remember_password(account) &&
|
||||
((tmp = purple_account_get_password(account)) != NULL))
|
||||
{
|
||||
+#ifdef PURPLE_ENABLE_KEYRING
|
||||
+ purple_account_set_password_in_keyring(purple_account_get_protocol_id(account),
|
||||
+ purple_account_get_username(account), tmp);
|
||||
+#else
|
||||
child = xmlnode_new_child(node, "password");
|
||||
xmlnode_insert_data(child, tmp, -1);
|
||||
+#endif
|
||||
} else if (_purple_account_is_password_encrypted(account)) {
|
||||
const char *keyring = NULL;
|
||||
const char *mode = NULL;
|
||||
@@ -903,6 +918,7 @@ parse_account(xmlnode *node)
|
||||
char *protocol_id = NULL;
|
||||
char *name = NULL;
|
||||
char *data;
|
||||
+ gboolean got_pwd = FALSE;
|
||||
|
||||
child = xmlnode_get_child(node, "protocol");
|
||||
if (child != NULL)
|
||||
@@ -927,36 +943,51 @@ parse_account(xmlnode *node)
|
||||
}
|
||||
|
||||
ret = purple_account_new(name, _purple_oscar_convert(name, protocol_id)); /* XXX: */
|
||||
+#ifdef PURPLE_ENABLE_KEYRING
|
||||
+
|
||||
+ /* Read the password from GNOME 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);
|
||||
+ g_free(data);
|
||||
+ }
|
||||
+#endif
|
||||
g_free(name);
|
||||
g_free(protocol_id);
|
||||
|
||||
/* Read the password */
|
||||
- child = xmlnode_get_child(node, "password");
|
||||
- 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);
|
||||
+ if (!got_pwd)
|
||||
+ {
|
||||
+ child = xmlnode_get_child(node, "password");
|
||||
+ 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);
|
||||
}
|
||||
- g_free(data);
|
||||
}
|
||||
|
||||
/* Read the alias */
|
||||
@@ -3375,6 +3406,64 @@ purple_accounts_uninit(void)
|
||||
purple_signals_unregister_by_instance(handle);
|
||||
}
|
||||
|
||||
+#ifdef PURPLE_ENABLE_KEYRING
|
||||
+static char *
|
||||
+purple_account_get_password_from_keyring(const char *_prpl, const char *_user)
|
||||
+{
|
||||
+ GnomeKeyringNetworkPasswordData *found_item;
|
||||
+ GnomeKeyringResult result;
|
||||
+ GList *matches;
|
||||
+ char *password;
|
||||
+
|
||||
+ matches = NULL;
|
||||
+
|
||||
+ result = gnome_keyring_find_network_password_sync(
|
||||
+ _user, /* user */
|
||||
+ NULL, /* domain */
|
||||
+ "gaim.local", /* server */
|
||||
+ NULL, /* object */
|
||||
+ _prpl, /* protocol */
|
||||
+ NULL, /* authtype */
|
||||
+ 1863, /* port */
|
||||
+ &matches);
|
||||
+
|
||||
+ if (result != GNOME_KEYRING_RESULT_OK)
|
||||
+ return NULL;
|
||||
+
|
||||
+ g_assert(matches != NULL && matches->data != NULL);
|
||||
+
|
||||
+ found_item = (GnomeKeyringNetworkPasswordData *) matches->data;
|
||||
+
|
||||
+ password = g_strdup(found_item->password);
|
||||
+
|
||||
+ gnome_keyring_network_password_list_free(matches);
|
||||
+
|
||||
+ return password;
|
||||
+}
|
||||
+
|
||||
+static gboolean
|
||||
+purple_account_set_password_in_keyring(const char *_prpl, const char *_user,
|
||||
+ const char *_password)
|
||||
+{
|
||||
+ GnomeKeyringResult result;
|
||||
+ guint32 item_id;
|
||||
+
|
||||
+ result = gnome_keyring_set_network_password_sync(
|
||||
+ NULL, /* default keyring */
|
||||
+ _user, /* user */
|
||||
+ NULL, /* domain */
|
||||
+ "gaim.local", /* server */
|
||||
+ NULL, /* object */
|
||||
+ _prpl, /* protocol */
|
||||
+ NULL, /* authtype */
|
||||
+ 1863, /* port */
|
||||
+ _password, /* password */
|
||||
+ &item_id);
|
||||
+
|
||||
+ return (result == GNOME_KEYRING_RESULT_OK);
|
||||
+}
|
||||
+#endif
|
||||
+
|
||||
/* libpurple 3.0.0 compatibility */
|
||||
|
||||
static void
|
||||
--- a/libpurple/Makefile.am
|
||||
+++ b/libpurple/Makefile.am
|
||||
@@ -309,6 +309,7 @@ libpurple_la_LIBADD = \
|
||||
$(GLIB_LIBS) \
|
||||
$(LIBXML_LIBS) \
|
||||
$(NETWORKMANAGER_LIBS) \
|
||||
+ $(PURPLE_KEYRING_LIBS) \
|
||||
$(INTLLIBS) \
|
||||
$(FARSTREAM_LIBS) \
|
||||
$(GSTREAMER_LIBS) \
|
||||
@@ -334,7 +335,8 @@ AM_CPPFLAGS = \
|
||||
$(GSTAPP_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.
|
@ -1,3 +1,17 @@
|
||||
-------------------------------------------------------------------
|
||||
Tue Mar 6 21:35:58 UTC 2018 - mgorse@suse.com
|
||||
|
||||
- Add pidgin-2.10.11-purple-remote-python3.patch: port
|
||||
purple-remote to python 3 (bsc#1084147).
|
||||
- Export PYTHON=python3 in %build.
|
||||
- Adjust scripts to invoke python3, not python2.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Mar 6 20:12:39 UTC 2018 - sor.alexei@meowr.ru
|
||||
|
||||
- Drop support for SLE 11 and openSUSE older than 42.x.
|
||||
- Remove pidgin-gnome-keyring.patch: was only useful for SLE 11.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Mar 6 15:52:11 UTC 2018 - dimstar@opensuse.org
|
||||
|
||||
|
165
pidgin.spec
165
pidgin.spec
@ -23,7 +23,7 @@ Release: 0
|
||||
Summary: Multiprotocol Instant Messaging Client
|
||||
License: GPL-2.0-only
|
||||
Group: Productivity/Networking/Instant Messenger
|
||||
URL: https://pidgin.im/
|
||||
Url: https://pidgin.im/
|
||||
Source: http://downloads.sf.net/%{name}/%{name}-%{version}.tar.bz2
|
||||
Source1: http://downloads.sf.net/%{name}/%{name}-%{version}.tar.bz2.asc
|
||||
Source2: pidgin.keyring
|
||||
@ -32,84 +32,64 @@ Source3: pidgin-prefs.xml
|
||||
Patch0: pidgin-nonblock-common.patch
|
||||
# PATCH-FIX-OPENSUSE pidgin-nonblock-gwim.patch
|
||||
Patch1: pidgin-nonblock-gwim.patch
|
||||
# PATCH-FEATURE-SLE pidgin-gnome-keyring.patch
|
||||
Patch2: pidgin-gnome-keyring.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.
|
||||
Patch3: pidgin-fix-perl-build.patch
|
||||
Patch2: pidgin-fix-perl-build.patch
|
||||
# PATCH-FIX-UPSTREAM pidgin-ncurses-6.0-accessors.patch pidgin.im#16764 dimstar@opensuse.org -- Fix build with NCurses 6.0 with WINDOW_OPAQUE set to 1.
|
||||
Patch4: pidgin-ncurses-6.0-accessors.patch
|
||||
Patch3: pidgin-ncurses-6.0-accessors.patch
|
||||
# PATCH-FIX-UPSTREAM pidgin-2.10.11-purple-remote-python3.patch bsc#1084147 mgorse@suse.com -- Port purple=-remote to Python 3.
|
||||
Patch4: pidgin-2.10.11-purple-remote-python3.patch
|
||||
# PATCH-FIX-SLE pidgin-use-default-alsa.patch bsc#886670 tiwai@suse.de -- Use ALSA as a default for avoiding broken volume control.
|
||||
Patch5: pidgin-use-default-alsa.patch
|
||||
BuildRequires: NetworkManager-devel
|
||||
# Can use external libzephyr.
|
||||
BuildRequires: cyrus-sasl-devel
|
||||
BuildRequires: dbus-1-devel
|
||||
BuildRequires: dbus-1-glib-devel
|
||||
BuildRequires: ca-certificates-mozilla
|
||||
BuildRequires: doxygen
|
||||
BuildRequires: fdupes
|
||||
BuildRequires: graphviz
|
||||
BuildRequires: gtk-doc
|
||||
BuildRequires: gtkspell-devel
|
||||
BuildRequires: intltool
|
||||
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: pkgconfig
|
||||
BuildRequires: startup-notification-devel
|
||||
BuildRequires: tk-devel
|
||||
BuildRequires: update-desktop-files
|
||||
Requires: perl-base >= %{perl_version}
|
||||
%if 0%{?suse_version} >= 1120
|
||||
BuildRequires: translation-update-upstream
|
||||
%else
|
||||
# gnome-keyring support summary (boo#566286):
|
||||
# 11.1 & SLE11: patch present and active (boo#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
|
||||
BuildRequires: gnome-keyring-devel
|
||||
Recommends: %{name}-emoticons-nld
|
||||
Recommends: %{name}-emoticons-tango
|
||||
%endif
|
||||
%if 0%{?suse_version} > 1210
|
||||
BuildRequires: libSM-devel
|
||||
BuildRequires: libX11-devel
|
||||
BuildRequires: libXScrnSaver-devel
|
||||
BuildRequires: libXext-devel
|
||||
BuildRequires: mozilla-nss-devel
|
||||
%endif
|
||||
%if 0%{?suse_version} >= 1230
|
||||
BuildRequires: ca-certificates-mozilla
|
||||
BuildRequires: update-desktop-files
|
||||
BuildRequires: pkgconfig(NetworkManager)
|
||||
BuildRequires: pkgconfig(avahi-glib)
|
||||
BuildRequires: pkgconfig(dbus-1)
|
||||
BuildRequires: pkgconfig(dbus-glib-1)
|
||||
BuildRequires: pkgconfig(glib-2.0)
|
||||
BuildRequires: pkgconfig(gnutls)
|
||||
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
|
||||
%else
|
||||
BuildRequires: openssl-certs
|
||||
Requires: openssl-certs
|
||||
%endif
|
||||
%if 0%{?suse_version} > 1320 || 0%{?sle_version} >= 120200 || (0%{?sle_version} >= 120100 && 0%{?is_opensuse})
|
||||
BuildRequires: farstream-devel >= 0.2.7
|
||||
BuildRequires: gstreamer-devel
|
||||
BuildRequires: gstreamer-plugins-base-devel
|
||||
Requires: perl-base >= %{perl_version}
|
||||
%if 0%{?suse_version} >= 1500 || 0%{?sle_version} >= 120200 || (0%{?sle_version} >= 120100 && 0%{?is_opensuse})
|
||||
BuildRequires: pkgconfig(farstream-0.2) >= 0.2.7
|
||||
BuildRequires: pkgconfig(gstreamer-1.0)
|
||||
BuildRequires: pkgconfig(gstreamer-app-1.0)
|
||||
BuildRequires: pkgconfig(gstreamer-video-1.0)
|
||||
Recommends: gstreamer-plugins-good
|
||||
%else
|
||||
BuildRequires: gstreamer-0_10-devel
|
||||
BuildRequires: gstreamer-0_10-plugins-base-devel
|
||||
BuildRequires: pkgconfig(gstreamer-0.10)
|
||||
BuildRequires: pkgconfig(gstreamer-interfaces-0.10)
|
||||
Recommends: gstreamer-0_10-plugins-good
|
||||
%endif
|
||||
%if 0%{?suse_version} > 1320 || 0%{?sle_version} >= 120300
|
||||
BuildRequires: python2-devel
|
||||
%else
|
||||
BuildRequires: python-devel
|
||||
%endif
|
||||
%if 0%{?suse_version} >= 1500 && !0%{?is_opensuse}
|
||||
Recommends: purple-import-empathy
|
||||
%endif
|
||||
@ -127,9 +107,9 @@ support many more with plugins.
|
||||
Summary: Development Headers, Documentation, and Libraries for Pidgin
|
||||
Group: Development/Libraries/C and C++
|
||||
Requires: %{name} = %{version}
|
||||
Requires: glib2-devel
|
||||
Requires: gtk2-devel
|
||||
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
|
||||
@ -138,19 +118,19 @@ and plugins.
|
||||
|
||||
%package -n libpurple
|
||||
Summary: GLib-based Instant Messenger Library
|
||||
# Not really required, but standard XMPP accounts require it, if compiled with SASL support.
|
||||
Group: System/Libraries
|
||||
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
|
||||
# Needed for purple-url-handler.
|
||||
Requires: dbus-1-python
|
||||
Requires: libpurple-branding
|
||||
Requires: perl >= %{perl_version}
|
||||
Recommends: libpurple-lang
|
||||
%if 0%{?suse_version} >= 1230
|
||||
Requires: ca-certificates-mozilla
|
||||
# Needed for purple-url-handler.
|
||||
%if 0%{?suse_version} >= 1500
|
||||
Requires: python3-dbus-python
|
||||
%else
|
||||
Requires: openssl-certs
|
||||
Requires: dbus-1-python3
|
||||
%endif
|
||||
|
||||
%description -n libpurple
|
||||
@ -169,11 +149,9 @@ Summary: GLib-based Instant Messenger Library -- Upstream default configu
|
||||
Group: System/Libraries
|
||||
Requires: libpurple = %{version}
|
||||
Supplements: packageand(libpurple:branding-upstream)
|
||||
Conflicts: libpurple-branding
|
||||
Conflicts: otherproviders(libpurple-branding)
|
||||
Provides: libpurple-branding = %{version}
|
||||
%if 0%{?suse_version} >= 1210
|
||||
BuildArch: noarch
|
||||
%endif
|
||||
#BRAND: Provides /etc/purple/prefs.xml, the default configuration for
|
||||
#BRAND: libpurple, and libpurple-based clients.
|
||||
|
||||
@ -218,8 +196,8 @@ Summary: Sametime Plugin for Pidgin using the Meanwhile Library
|
||||
Group: Productivity/Networking/Instant Messenger
|
||||
Requires: libpurple = %{version}
|
||||
# libpurple-meanwhile was last used in openSUSE Leap 42.2.
|
||||
Provides: libpurple-meanwhile = %{version}-%{release}
|
||||
Obsoletes: libpurple-meanwhile < %{version}-%{release}
|
||||
Provides: libpurple-meanwhile = %{version}
|
||||
Obsoletes: libpurple-meanwhile < %{version}
|
||||
|
||||
%description -n libpurple-plugin-sametime
|
||||
IBM Sametime plugin for Pidgin using the Meanwhile library.
|
||||
@ -251,9 +229,7 @@ scripts and plugins.
|
||||
|
||||
%prep
|
||||
%setup -q
|
||||
%if 0%{?suse_version} >= 1120
|
||||
translation-update-upstream
|
||||
%endif
|
||||
%patch0 -p1
|
||||
%patch1 -p1
|
||||
%patch2 -p1
|
||||
@ -270,13 +246,14 @@ 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$|python2|' libpurple/purple-*
|
||||
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 \
|
||||
@ -284,15 +261,12 @@ autoreconf -fi
|
||||
--enable-cyrus-sasl \
|
||||
--enable-dbus \
|
||||
--enable-gstreamer \
|
||||
%if 0%{?suse_version} > 1320 || 0%{?sle_version} >= 120200 || (0%{?sle_version} >= 120100 && 0%{?is_opensuse})
|
||||
%if 0%{?suse_version} >= 1500 || 0%{?sle_version} >= 120200
|
||||
--with-gstreamer=1.0 \
|
||||
--enable-vv \
|
||||
%else
|
||||
--with-gstreamer=0.10 \
|
||||
--disable-vv \
|
||||
%endif
|
||||
%if 0%{?suse_version} < 1120
|
||||
--enable-gnome-keyring \
|
||||
%endif
|
||||
--enable-nm \
|
||||
--enable-dbus \
|
||||
@ -305,10 +279,6 @@ make %{?_smp_mflags} V=1
|
||||
%install
|
||||
%make_install
|
||||
|
||||
%if 0%{?suse_version} <= 1140
|
||||
mkdir -p %{buildroot}%{_sysconfdir}/purple/
|
||||
rm -f %{buildroot}%{_sysconfdir}/gconf/schemas/purple.schemas
|
||||
%endif
|
||||
install -Dpm 0644 %{name}-prefs.xml %{buildroot}%{_sysconfdir}/purple/prefs.xml
|
||||
%perl_process_packlist
|
||||
|
||||
@ -328,7 +298,7 @@ done
|
||||
%suse_update_desktop_file -N %{_name} -G "Instant Messenger" %{name}
|
||||
%find_lang %{name} %{?no_lang_C}
|
||||
|
||||
%if 0%{?suse_version} > 1130 && 0%{?suse_version} <= 1320
|
||||
%if 0%{?suse_version} < 1500
|
||||
%post
|
||||
%desktop_database_post
|
||||
%icon_theme_cache_post
|
||||
@ -339,15 +309,11 @@ done
|
||||
%endif
|
||||
|
||||
%post -n libpurple -p /sbin/ldconfig
|
||||
|
||||
%postun -n libpurple -p /sbin/ldconfig
|
||||
|
||||
%post -n finch -p /sbin/ldconfig
|
||||
|
||||
%postun -n finch -p /sbin/ldconfig
|
||||
|
||||
%files
|
||||
%defattr(-,root,root)
|
||||
%license COPYING
|
||||
%doc AUTHORS COPYRIGHT ChangeLog README doc/the_penguin.txt
|
||||
%{_bindir}/%{name}
|
||||
@ -361,13 +327,11 @@ done
|
||||
%{_mandir}/man1/%{name}.1%{?ext_man}
|
||||
|
||||
%files devel
|
||||
%defattr(-,root,root)
|
||||
%{_includedir}/%{name}/
|
||||
%{_libdir}/pkgconfig/%{name}.pc
|
||||
%{_mandir}/man3/%{_name}.3*%{?ext_man}
|
||||
|
||||
%files -n libpurple
|
||||
%defattr(-,root,root)
|
||||
%dir %{_sysconfdir}/purple/
|
||||
%{_bindir}/purple-client-example
|
||||
%{_bindir}/purple-remote
|
||||
@ -381,36 +345,17 @@ done
|
||||
%exclude %{_libdir}/purple-2/tcl.so
|
||||
|
||||
%files -n libpurple-lang -f %{name}.lang
|
||||
%defattr(-,root,root)
|
||||
%if 0%{?suse_version} < 1140
|
||||
# These locales are not included in respective products.
|
||||
# See https://bugzilla.opensuse.org/show_bug.cgi?id=659001
|
||||
%dir %{_datadir}/locale/brx/
|
||||
%dir %{_datadir}/locale/brx/LC_MESSAGES/
|
||||
%dir %{_datadir}/locale/ku_IQ/
|
||||
%dir %{_datadir}/locale/ku_IQ/LC_MESSAGES/
|
||||
%dir %{_datadir}/locale/mhr/
|
||||
%dir %{_datadir}/locale/mhr/LC_MESSAGES/
|
||||
%dir %{_datadir}/locale/ms_MY/
|
||||
%dir %{_datadir}/locale/ms_MY/LC_MESSAGES/
|
||||
%dir %{_datadir}/locale/sd/
|
||||
%dir %{_datadir}/locale/sd/LC_MESSAGES/
|
||||
%endif
|
||||
|
||||
%files -n libpurple-branding-upstream
|
||||
%defattr(-,root,root)
|
||||
%config %{_sysconfdir}/purple/prefs.xml
|
||||
|
||||
%files -n libpurple-tcl
|
||||
%defattr(-,root,root)
|
||||
%{_libdir}/purple-2/tcl.so
|
||||
|
||||
%files -n libpurple-plugin-sametime
|
||||
%defattr(-,root,root)
|
||||
%{_libdir}/purple-2/libsametime.so
|
||||
|
||||
%files -n libpurple-devel
|
||||
%defattr(-,root,root)
|
||||
%doc ChangeLog.API HACKING PLUGIN_HOWTO
|
||||
%doc libpurple/purple-notifications-example
|
||||
%{_includedir}/libpurple/
|
||||
@ -421,7 +366,6 @@ done
|
||||
%{_mandir}/man3/Purple.3*
|
||||
|
||||
%files -n finch
|
||||
%defattr(-,root,root)
|
||||
%{_bindir}/finch
|
||||
%{_libdir}/finch/
|
||||
%{_libdir}/libgnt.so.*
|
||||
@ -430,7 +374,6 @@ done
|
||||
%{_mandir}/man1/finch.1*
|
||||
|
||||
%files -n finch-devel
|
||||
%defattr(-,root,root)
|
||||
%{_includedir}/finch/
|
||||
%{_includedir}/gnt/
|
||||
%{_libdir}/libgnt.so
|
||||
|
Loading…
x
Reference in New Issue
Block a user