commit:     1a07cb8053b4027da699dec13b4b9602bd9340ce
Author:     Patrick McLean <chutzpah <AT> gentoo <DOT> org>
AuthorDate: Thu Oct 23 21:03:03 2014 +0000
Commit:     Patrick McLean <chutzpah <AT> gentoo <DOT> org>
CommitDate: Thu Oct 23 21:03:03 2014 +0000
URL:        
http://sources.gentoo.org/gitweb/?p=dev/chutzpah.git;a=commit;h=1a07cb80

net-im/pidgin: version bump, add 2.10.10 with new gnome-keyring patch

---
 net-im/pidgin/Manifest                             |   4 +
 .../pidgin/files/pidgin-2.10.9-fix-gtkmedia.patch  |  10 +
 net-im/pidgin/files/pidgin-gnome-keyring-3.patch   | 266 +++++++++++++++++++++
 net-im/pidgin/pidgin-2.10.10.ebuild                | 246 +++++++++++++++++++
 4 files changed, 526 insertions(+)

diff --git a/net-im/pidgin/Manifest b/net-im/pidgin/Manifest
index 96b8d9e..e6ddba3 100644
--- a/net-im/pidgin/Manifest
+++ b/net-im/pidgin/Manifest
@@ -3,12 +3,16 @@ AUX pidgin-2.10.0-networkmanager-0.9.patch 1994 SHA256 
d91ce4a7236ea9b0bc730ec07
 AUX pidgin-2.10.0-utf8-validation.patch 908 SHA256 
288acd1f638fa1e21e216d48f308ef5f0397ddea2c1309e767391411ab02fbf4 SHA512 
605f95955a7b813465607966dece36db7b8e91b27c8d73caeb29159f4b3de0b6906be718aab537dbab1f1f9fca8afc7b0ca7b5827122dd30503e19fae02e9bcd
 WHIRLPOOL 
01b1985dd8b9985dd2331c316d74823eb7a0cf2bd7bdbac2a1da232bf96a363f89b2b6ccf0c20d6bd7eb67c9299ed5b27018b23e87154d90a33ebbd6c0ea9242
 AUX pidgin-2.10.7-fix-cap.patch 692 SHA256 
4dbf4e8123d7b7550f99fb5b8fb97e98b44551750436ca5327f8257438400dcd SHA512 
0a1dc0ceaf78416ecd409a4bdcecef83a48cbdea50314d55a6cb1e1cad06775e1e8ac23f069ef4ed8ca8b4f3bb99f184804fddf7812adfcba8c8920a9c6efdbc
 WHIRLPOOL 
8beca2bcb10380034ccd461559e7504922613de19649ca045e88c19de452bc4beb4b47c4b9976cf24854edf502ce11e74de00f5add86025c4bd066e17e85a962
 AUX pidgin-2.10.7-link_sasl_in_irc_plugin.patch 642 SHA256 
8f91df48549004c80d5989bfdcc11f7a7805f3770b6aa2a5676d86eb334cf5b8 SHA512 
3bc39f994473e01ab532e804481a858b0e1ddc3252a27fc29cb32c550e207699ee39da0057b6e86f4a33870b29f44b701a1614e93ff223930208ef0e8061fed1
 WHIRLPOOL 
5d0ce684e06fbe8c507310947696fed1910f631f93b0e71fc44610e06c6b1d93b966af89d4def15d8fcaa1b11001ab7066e94c732f58423046bc9e645816a91e
+AUX pidgin-2.10.9-fix-gtkmedia.patch 267 SHA256 
c0bc25b05a5cfa8583d97533a9c052dc94bb186053ce11cb52b9e79ca3a0b11c SHA512 
e78c95e1e4b86c4e702ed9e184de75940f4b93265cfce73d0d6b2145d4a07c79f41dbaa996cbb76e5ac19d9fd1a606d1dd31982e948ac58376b24c1ab866e6bd
 WHIRLPOOL 
3cb215078dfbed61f3d49ecd3c3fc1f2739fc02787f2ef3fdf41cde371f5c91ade1d4a6fff28db69878f7ba1995eed14aa8c0b8eb4961650d33dfaa88a3cafe1
 AUX pidgin-eds-3.6.patch 9895 SHA256 
f7dcb08b14cbb2320a01afb59a815f8e11890cf9c4134e59f5551d60950b0feb SHA512 
a936ef9c92f90ae6f82b41637bfb5434aaec459b5ebaf679676e1a5035a84ff88edad9a55aa09e8939c47b8634018036a62457b5dee6db821c63aba104b938a0
 WHIRLPOOL 
89b915ca597a44af6775c40a99e0cdd169c3e2737e356d6ecaf1eefb82439062ba2c902650c8fa82efbbce1fb6d14086204bd52abdf6da29de8d11576f1b26dd
 AUX pidgin-gnome-keyring-2.patch 7680 SHA256 
aae63e57a7dc50b1232a606f7824dc655f561ed5ff7ef36607e18a18c98aa221 SHA512 
e6c93e4c5fc0ea283b8e5b9d660cfb5e8ab502ebda115a95d900f8d864d35098658b3b98b79e26e8aa26f60e63a89bc748778c5188d5c1013c861148b786d669
 WHIRLPOOL 
09104c9f2dde20e034272b940a92a9339a3fb5e253d265a489c68f27ccb6d9195835a97aefcb29db3f5f9553e3a230b9daf3c4dfa2be1cfb00787402b3406456
+AUX pidgin-gnome-keyring-3.patch 8966 SHA256 
4cf873682a4e2d7218f14f498a3c38d982b46175ef57fb8022b607528d2d844e SHA512 
5786a0baa9d874fda882a7d9955e0b2c4234fef3db3957130c4b9ebc580412a6217fbb8da538c1451d7d34c3ce1d404eaa4037486e72e091c2bcc22c97bda30f
 WHIRLPOOL 
72c23432a50837d78c9d7dceafe9a069a871e50750f4f7d194bb1818bc0aca99d9634c0c1d5c90a33cb375d48c837781f679b256de169de7018594b492108b80
+DIST pidgin-2.10.10.tar.bz2 9409485 SHA256 
dc6b95512eaec75aef170aabce471491fc70584932599dfead20f1f1c45c822d SHA512 
79c6e0b382b24b1f9208337afaf5a11de8701b7e4b84be94696df8f7d36d8126eba935144e9b764c50d98a2cc9cdcd7d26891f9d9f93924a8a7065b0540c5d37
 WHIRLPOOL 
5351bf6cadb3215c246dbabdc75e5f400600516bfa3864a48b647d280ba2736fb29c86717da229ff2a5fe12e57e9154ca60a3be4edda94481cdc98b0c3ec0647
 DIST pidgin-2.10.7.tar.bz2 10069279 SHA256 
eba32994eca20d1cf24a4261b059b2de71a1ec2dd0926e904074b0db49f7f192 SHA512 
0f0d421f91be3b1577527f3609bff164d7c57a94338e18dca5d8b7d911634a98b9c0e8860f3e62026eba09a6afb3112a8cd6770a90c89afdb9fb40f83dd6f3e4
 WHIRLPOOL 
025a392ab069817e2fea07d0e9e7efeee006eaf4ce2e6571c49b851735309f3346bfdbf34c874f55b440b71fbbba0ac55029da727b1f731175d72efb2e74f3b4
 DIST pidgin-2.10.8.tar.bz2 10050465 SHA256 
b633367e3588ff3e615d68e812302dfdbe32e73693cbe42a0d827b7aed7a8227 SHA512 
68ec93c6f7b5f98519e58796929cc3d7064125cee2ff41ea7582d368fee210a2799eac48ba2caf4faaf21a8932ca62328781c2bfc6a6fe8bd3023b725bacd93b
 WHIRLPOOL 
fbcc978a19a0178527d37cbced468c34e21fcebd7430fdaa89ea8e5d9473f78be42fa255d537d620f2ddbde08729178b366505ec9d0717c281a5ea0cd14f4929
 DIST pidgin-2.10.9.tar.bz2 10093423 SHA256 
dc362ed8577f623eea4554a79e917073aa726825074fea402f2e515f0f51f319 SHA512 
5f85d072997bf0e8c668b5a7dc6c9791f7f1b03504eb7a875472186cc70b45e19c61573d84c002f9653570731ed2119e3eddfb66d7484cc1205d4b1ee696c63b
 WHIRLPOOL 
aa9862ebb8e45ad488049ea27960ddbaa80abe3a535acf09b496b917ae858d799db8f7cc0b1ab034bfabe4b8d3e730cd3d413c18f3552d677f3c563e7482c016
 DIST pidgin-eds-3.6.patch.bz2 2352 SHA256 
321185dd5f44e502f671b17e84fa1ca2e08a3f7c79ed211c0bb92710700bcc41 SHA512 
a0195679ab55ed9c7ea18ace6dbf0fc994698f1f4eea9d8335dfdcdcd6a68975c0191bd22f150bf5a9a0a691ce7e9e73d79598e1e8be541efa1d9824a633d877
 WHIRLPOOL 
5c1d3e933bdfa4b1f20f98dbf8b5c1669eb857b9db60dacae488fa04331300618df2f1265e4fb2e58ed31b24229df0edb8c30970d8172fd65ca7fa03bc0e3805
+EBUILD pidgin-2.10.10.ebuild 7473 SHA256 
c543b6add2542489ae340b4bba354cb81ba6bf50f33c99a5c80258af50252643 SHA512 
3634986cf87379eb3faaac870f96af3eb6ac4676fdc1f7b796804798d67a966a5ba39af4144ad8d76b7906ac2c07f70da5fc7f507599afc50c054a9d939467fd
 WHIRLPOOL 
7fd1641ffc5449a2dc9a84fd5be72afc2cfb4f646427496daeac5fe69a0be7de1b50bebdb13c624c1bbfe4ad4f1d6f064d5deeb49df4efab969fe3988fd7cb02
 EBUILD pidgin-2.10.7-r2.ebuild 7449 SHA256 
b55f944b2ce88ab2e2221a6d13186ca75efe47cee1fb06bc45ea1f519605dfaa SHA512 
fb5a8ecbaae054aa4440156bcc926e27210161cf7cade128664b90bdafb7ede32f17ee191c4348bcba95f9fdf739c015a815ad0ffcdec13af6d9477b577895c9
 WHIRLPOOL 
457bc547c4498b527f05ba17a2c54b5a97c7a99bec45af69d5b813d9e3d98556a6f87a8364365ca2493d2ae8d4fcb8db069a37ded65e6be1f97dc8dd7571f424
 EBUILD pidgin-2.10.7-r3.ebuild 7484 SHA256 
795114bf7178f7892c7e54c7c526ea8838d4b18640df77190754af15b2da5f7d SHA512 
2aaa2040a9797c4d93db9b6a0bf7fba2ab03ad93e1c414361e1021c2043f746b98bb9a2a02128c450e4aacfb7d781792282ae6a39b6396355cce6d737b3638d0
 WHIRLPOOL 
19982016e0d70c007eaa41610e3bd5b8b323ca8b43ee0472bf4179f63f8d21648bea6a3d8e93dc27d874ebae52d39bc2005cf155697ffff767aba6e9bdf4581a
 EBUILD pidgin-2.10.7-r5.ebuild 7488 SHA256 
10161c24d7d991f489087ebd758c4c6d6744017946cb7d3da6a966dda9d1d538 SHA512 
ca16bdd784bc7a34fa05c769a811543c635627f4e6ad012dd6481ecd4a57f383d18ee7b5e435bc24a82ce8d650e7e8b89019cb55b92f826bd50e3fca1ec331b7
 WHIRLPOOL 
be73a7a9a98a981da9ee1f02c7e974f99cc00d6ca1ef74b7a0ea641ab2b60b7c23530618ee559a2a51436a96f461f886cda1fb2130ea69bb1949b6192aba1d9f

diff --git a/net-im/pidgin/files/pidgin-2.10.9-fix-gtkmedia.patch 
b/net-im/pidgin/files/pidgin-2.10.9-fix-gtkmedia.patch
new file mode 100644
index 0000000..4cec326
--- /dev/null
+++ b/net-im/pidgin/files/pidgin-2.10.9-fix-gtkmedia.patch
@@ -0,0 +1,10 @@
+--- a/pidgin/Makefile.am       2014-02-02 22:29:20.000000000 +0100
++++ b/pidgin/Makefile.am       2014-02-14 19:35:24.347547795 +0100
+@@ -154,6 +154,7 @@
+       $(GSTREAMER_LIBS) \
+       $(XSS_LIBS) \
+       $(SM_LIBS) \
++      $(X11_LIBS) \
+       $(INTLLIBS) \
+       $(GTKSPELL_LIBS) \
+       $(LIBXML_LIBS) \

diff --git a/net-im/pidgin/files/pidgin-gnome-keyring-3.patch 
b/net-im/pidgin/files/pidgin-gnome-keyring-3.patch
new file mode 100644
index 0000000..854bc7d
--- /dev/null
+++ b/net-im/pidgin/files/pidgin-gnome-keyring-3.patch
@@ -0,0 +1,266 @@
+diff -ur pidgin-2.10.10.orig/configure.ac pidgin-2.10.10/configure.ac
+--- pidgin-2.10.10.orig/configure.ac   2014-10-16 17:19:33.000000000 -0700
++++ pidgin-2.10.10/configure.ac        2014-10-23 13:58:35.020155686 -0700
+@@ -2371,6 +2371,20 @@
+       LDFLAGS="$orig_LDFLAGS"
+ 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(PIDGIN_KEYRING,
++                      gnome-keyring-1,
++                      AC_DEFINE(PIDGIN_ENABLE_KEYRING, [], [Set if we should 
use gnome-keyring]))
++fi
++
+ AC_MSG_CHECKING(for me pot o' gold)
+ AC_MSG_RESULT(no)
+ AC_CHECK_FUNCS(gethostid lrand48 timegm)
+Only in pidgin-2.10.10: configure.ac.orig
+diff -ur pidgin-2.10.10.orig/libpurple/account.c 
pidgin-2.10.10/libpurple/account.c
+--- pidgin-2.10.10.orig/libpurple/account.c    2014-10-16 17:19:33.000000000 
-0700
++++ pidgin-2.10.10/libpurple/account.c 2014-10-23 13:58:35.043155894 -0700
+@@ -54,6 +54,13 @@
+ #define PURPLE_ACCOUNT_GET_PRIVATE(account) \
+       ((PurpleAccountPrivate *) (account->priv))
+ 
++#ifdef PIDGIN_ENABLE_KEYRING
++#include <gnome-keyring.h>
++
++static char * pidgin_account_get_password_from_keyring (const char *_prpl, 
const char *_user);
++static gboolean pidgin_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
+ {
+@@ -393,8 +400,13 @@
+       if (purple_account_get_remember_password(account) &&
+               ((tmp = purple_account_get_password(account)) != NULL))
+       {
++#ifdef PIDGIN_ENABLE_KEYRING
++                
pidgin_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;
+@@ -909,36 +921,50 @@
+       }
+ 
+       ret = purple_account_new(name, _purple_oscar_convert(name, 
protocol_id)); /* XXX: */
++    gboolean got_pwd = FALSE;
++#ifdef PIDGIN_ENABLE_KEYRING
++      data = pidgin_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)
++      {
++              /* 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);
++                      }
++                      g_free(data);
+               }
+-              g_free(data);
+       }
+ 
+       /* Read the alias */
+@@ -3349,3 +3375,61 @@
+ 
+       return (priv->password_keyring != NULL);
+ }
++
++#ifdef PIDGIN_ENABLE_KEYRING
++static char *
++pidgin_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;
++
++  if (matches == NULL || matches->data == NULL)
++    return NULL;
++
++  found_item = (GnomeKeyringNetworkPasswordData *) matches->data;
++
++  password = g_strdup (found_item->password);
++
++  gnome_keyring_network_password_list_free (matches);
++
++  return password;
++}
++
++static gboolean
++pidgin_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
+Only in pidgin-2.10.10/libpurple: account.c.orig
+Only in pidgin-2.10.10/libpurple: account.c.rej
+Only in pidgin-2.10.10/libpurple: .account.c.un~
+diff -ur pidgin-2.10.10.orig/libpurple/Makefile.am 
pidgin-2.10.10/libpurple/Makefile.am
+--- pidgin-2.10.10.orig/libpurple/Makefile.am  2014-10-16 17:19:33.000000000 
-0700
++++ pidgin-2.10.10/libpurple/Makefile.am       2014-10-23 13:58:35.042155885 
-0700
+@@ -304,6 +304,7 @@
+       $(DBUS_LIBS) \
+       $(GLIB_LIBS) \
+       $(LIBXML_LIBS) \
++      $(PIDGIN_KEYRING_LIBS) \
+       $(NETWORKMANAGER_LIBS) \
+       $(INTLLIBS) \
+       $(FARSTREAM_LIBS) \
+@@ -321,6 +322,7 @@
+       $(GLIB_CFLAGS) \
+       $(DEBUG_CFLAGS) \
+       $(DBUS_CFLAGS) \
++      $(PIDGIN_KEYRING_CFLAGS) \
+       $(LIBXML_CFLAGS) \
+       $(FARSTREAM_CFLAGS) \
+       $(GSTREAMER_CFLAGS) \
+Only in pidgin-2.10.10/libpurple: Makefile.am.orig
+diff -ur pidgin-2.10.10.orig/pidgin/gtkmain.c pidgin-2.10.10/pidgin/gtkmain.c
+--- pidgin-2.10.10.orig/pidgin/gtkmain.c       2014-10-16 17:19:33.000000000 
-0700
++++ pidgin-2.10.10/pidgin/gtkmain.c    2014-10-23 13:58:35.179157129 -0700
+@@ -70,6 +70,10 @@
+ #include "pidginstock.h"
+ #include "gtkwhiteboard.h"
+ 
++#ifdef PIDGIN_ENABLE_KEYRING
++#include <gnome-keyring.h>
++#endif
++
+ #ifdef HAVE_SIGNAL_H
+ # include <signal.h>
+ #endif
+@@ -747,6 +751,12 @@
+       gtk_rc_add_default_file(search_path);
+       g_free(search_path);
+ 
++#ifdef  PIDGIN_ENABLE_KEYRING
++      GnomeKeyringResult rtn = gnome_keyring_unlock_sync(NULL, NULL);
++      // if (rtn == GNOME_KEYRING_RESULT_DENIED)
++      //   return 0;
++#endif
++
+       gui_check = gtk_init_check(&argc, &argv);
+       if (!gui_check) {
+               char *display = gdk_get_display();
+Only in pidgin-2.10.10/pidgin: gtkmain.c.orig
+diff -ur pidgin-2.10.10.orig/pidgin/Makefile.am 
pidgin-2.10.10/pidgin/Makefile.am
+--- pidgin-2.10.10.orig/pidgin/Makefile.am     2014-10-23 13:58:15.016974112 
-0700
++++ pidgin-2.10.10/pidgin/Makefile.am  2014-10-23 13:58:35.179157129 -0700
+@@ -158,6 +158,7 @@
+       $(INTLLIBS) \
+       $(GTKSPELL_LIBS) \
+       $(LIBXML_LIBS) \
++      $(PIDGIN_KEYRING_LIBS) \
+       $(GTK_LIBS) \
+       $(top_builddir)/libpurple/libpurple.la -lm
+ 
+@@ -174,6 +175,7 @@
+       $(GSTREAMER_CFLAGS) \
+       $(DEBUG_CFLAGS) \
+       $(GTK_CFLAGS) \
++      $(PIDGIN_KEYRING_CFLAGS) \
+       $(DBUS_CFLAGS) \
+       $(GTKSPELL_CFLAGS) \
+       $(LIBXML_CFLAGS) \
+Only in pidgin-2.10.10/pidgin: Makefile.am.orig

diff --git a/net-im/pidgin/pidgin-2.10.10.ebuild 
b/net-im/pidgin/pidgin-2.10.10.ebuild
new file mode 100644
index 0000000..1b235ba
--- /dev/null
+++ b/net-im/pidgin/pidgin-2.10.10.ebuild
@@ -0,0 +1,246 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/net-im/pidgin/pidgin-2.10.10.ebuild,v 1.1 
2014/10/22 20:40:25 polynomial-c Exp $
+
+EAPI=5
+
+GENTOO_DEPEND_ON_PERL=no
+PYTHON_COMPAT=( python2_7 python3_2 python3_3 )
+inherit autotools flag-o-matic eutils toolchain-funcs multilib perl-app gnome2 
python-single-r1
+
+DESCRIPTION="GTK Instant Messenger client"
+HOMEPAGE="http://pidgin.im/";
+SRC_URI="mirror://sourceforge/${PN}/${P}.tar.bz2
+       http://dev.gentoo.org/~polynomial-c/${PN}-eds-3.6.patch.bz2";
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~x86-freebsd 
~amd64-linux ~x86-linux ~x86-macos"
+IUSE="dbus debug doc eds gadu gnutls +gstreamer +gtk idn meanwhile mxit"
+IUSE+=" networkmanager nls perl silc tcl tk spell sasl ncurses"
+IUSE+=" groupwise prediction python +xscreensaver zephyr zeroconf" # mono"
+IUSE+=" aqua"
+IUSE+=" gnome-keyring"
+
+# dbus requires python to generate C code for dbus bindings (thus DEPEND only).
+# finch uses libgnt that links with libpython - {R,}DEPEND. But still there is
+# no way to build dbus and avoid libgnt linkage with python. If you want this
+# send patch upstream.
+# purple-url-handler and purple-remote require dbus-python thus in reality we
+# rdepend on python if dbus enabled. But it is possible to separate this dep.
+RDEPEND="
+       >=dev-libs/glib-2.16
+       >=dev-libs/libxml2-2.6.18
+       ncurses? ( sys-libs/ncurses[unicode]
+               dbus? ( ${PYTHON_DEPS} )
+               python? ( ${PYTHON_DEPS} ) )
+       gtk? (
+               >=x11-libs/gtk+-2.10:2[aqua=]
+               x11-libs/libSM
+               xscreensaver? ( x11-libs/libXScrnSaver )
+               spell? ( >=app-text/gtkspell-2.0.2:2 )
+               eds? ( >=gnome-extra/evolution-data-server-3.6:= )
+               prediction? ( >=dev-db/sqlite-3.3:3 ) )
+       gstreamer? ( =media-libs/gstreamer-0.10*
+               =media-libs/gst-plugins-good-0.10*
+               net-libs/farstream:0.1
+               media-plugins/gst-plugins-meta:0.10
+               media-plugins/gst-plugins-gconf:0.10 )
+       zeroconf? ( net-dns/avahi[dbus] )
+       dbus? ( >=dev-libs/dbus-glib-0.71
+               >=sys-apps/dbus-0.90
+               dev-python/dbus-python )
+       perl? ( >=dev-lang/perl-5.16 )
+       gadu? ( || ( >=net-libs/libgadu-1.11.0[ssl,gnutls]
+               >=net-libs/libgadu-1.11.0[-ssl] ) )
+       gnutls? ( net-libs/gnutls )
+       !gnutls? ( >=dev-libs/nss-3.15.4 )
+       meanwhile? ( net-libs/meanwhile )
+       silc? ( >=net-im/silc-toolkit-1.0.1 )
+       tcl? ( dev-lang/tcl )
+       tk? ( dev-lang/tk )
+       sasl? ( dev-libs/cyrus-sasl:2 )
+       networkmanager? ( net-misc/networkmanager )
+       idn? ( net-dns/libidn )
+       !<x11-plugins/pidgin-facebookchat-1.69-r1"
+       # Mono support crashes pidgin
+       #mono? ( dev-lang/mono )"
+
+# We want nls in case gtk is enabled, bug #
+NLS_DEPEND=">=dev-util/intltool-0.41.1 sys-devel/gettext"
+
+DEPEND="$RDEPEND
+       dev-lang/perl
+       dev-perl/XML-Parser
+       virtual/pkgconfig
+       gtk? ( x11-proto/scrnsaverproto
+               ${NLS_DEPEND} )
+       dbus? ( ${PYTHON_DEPS} )
+       doc? ( app-doc/doxygen )
+       !gtk? ( nls? ( ${NLS_DEPEND} ) )"
+
+DOCS="AUTHORS HACKING NEWS README ChangeLog"
+
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )
+               dbus? ( ${PYTHON_REQUIRED_USE} )"
+
+# Enable Default protocols
+DYNAMIC_PRPLS="irc,jabber,oscar,yahoo,simple,msn,myspace"
+
+# List of plugins
+#   app-accessibility/pidgin-festival
+#   net-im/librvp
+#   x11-plugins/guifications
+#      x11-plugins/msn-pecan
+#   x11-plugins/pidgin-encryption
+#   x11-plugins/pidgin-extprefs
+#   x11-plugins/pidgin-hotkeys
+#   x11-plugins/pidgin-latex
+#   x11-plugins/pidgintex
+#   x11-plugins/pidgin-libnotify
+#      x11-plugins/pidgin-mbpurple
+#      x11-plugins/pidgin-bot-sentry
+#   x11-plugins/pidgin-otr
+#   x11-plugins/pidgin-rhythmbox
+#   x11-plugins/purple-plugin_pack
+#   x11-themes/pidgin-smileys
+#      x11-plugins/pidgin-knotify
+# Plugins in Sunrise:
+#      x11-plugins/pidgin-audacious-remote
+#      x11-plugins/pidgin-autoanswer
+#      x11-plugins/pidgin-birthday-reminder
+#      x11-plugins/pidgin-blinklight
+#      x11-plugins/pidgin-convreverse
+#      x11-plugins/pidgin-embeddedvideo
+#      x11-plugins/pidgin-extended-blist-sort
+#      x11-plugins/pidgin-gfire
+#      x11-plugins/pidgin-lastfm
+#      x11-plugins/pidgin-sendscreenshot
+#      x11-plugins/pidgimpd
+
+pkg_setup() {
+       if ! use gtk && ! use ncurses ; then
+               elog "You did not pick the ncurses or gtk use flags, only 
libpurple"
+               elog "will be built."
+       fi
+       if use python || use dbus ; then
+               python-single-r1_pkg_setup
+       fi
+
+       # dbus is enabled, no way to disable linkage with python => python is 
enabled
+       #REQUIRED_USE="gtk? ( nls ) dbus? ( python )"
+       if use gtk && ! use nls; then
+               ewarn "gtk build => nls is enabled!"
+       fi
+       if use dbus && ! use python; then
+               elog "dbus is enabled, no way to disable linkage with python => 
python is enabled"
+       fi
+}
+
+src_prepare() {
+       epatch "${FILESDIR}/${PN}-2.10.0-gold.patch" \
+               "${WORKDIR}/${PN}-eds-3.6.patch" \
+               "${FILESDIR}/${PN}-2.10.9-fix-gtkmedia.patch"
+       epatch_user
+       epatch "${FILESDIR}/pidgin-gnome-keyring-3.patch"
+
+       eautoreconf
+}
+
+src_configure() {
+       # Stabilize things, for your own good
+       strip-flags
+       replace-flags -O? -O2
+
+       local myconf
+
+       if use gadu; then
+               DYNAMIC_PRPLS="${DYNAMIC_PRPLS},gg"
+                       myconf="${myconf} --with-gadu-includes=."
+                       myconf="${myconf} --with-gadu-libs=."
+       fi
+
+       use groupwise && DYNAMIC_PRPLS+=",novell"
+       use silc && DYNAMIC_PRPLS+=",silc"
+       use meanwhile && DYNAMIC_PRPLS+=",sametime"
+       use mxit && DYNAMIC_PRPLS+=",mxit"
+       use zephyr && DYNAMIC_PRPLS+=",zephyr"
+       use zeroconf && DYNAMIC_PRPLS+=",bonjour"
+
+       if use gnutls; then
+               einfo "Disabling NSS, using GnuTLS"
+               myconf+=" --enable-nss=no --enable-gnutls=yes"
+               myconf+=" --with-gnutls-includes=${EPREFIX}/usr/include/gnutls"
+               myconf+=" --with-gnutls-libs=${EPREFIX}/usr/$(get_libdir)"
+       else
+               einfo "Disabling GnuTLS, using NSS"
+               myconf+=" --enable-gnutls=no --enable-nss=yes"
+       fi
+
+       if use dbus || { use ncurses && use python; }; then
+               myconf+=" --with-python=${PYTHON}"
+       else
+               myconf+=" --without-python"
+       fi
+
+       econf \
+               $(use_enable ncurses consoleui) \
+               $(use_enable gtk gtkui) \
+               $(use_enable gtk sm) \
+               $(use gtk || use_enable nls) \
+               $(use gtk && echo "--enable-nls") \
+               $(use gtk && use_enable xscreensaver screensaver) \
+               $(use gtk && use_enable prediction cap) \
+               $(use gtk && use_enable eds gevolution) \
+               $(use gtk && use_enable spell gtkspell) \
+               $(use_enable perl) \
+               $(use_enable tk) \
+               $(use_enable tcl) \
+               $(use_enable debug) \
+               $(use_enable dbus) \
+               $(use_enable meanwhile) \
+               $(use_enable gstreamer) \
+               $(use_enable gnome-keyring) \
+               $(use_enable gstreamer farstream) \
+               $(use_enable gstreamer vv) \
+               $(use_enable sasl cyrus-sasl ) \
+               $(use_enable doc doxygen) \
+               $(use_enable networkmanager nm) \
+               $(use_enable zeroconf avahi) \
+               $(use_enable idn) \
+               --with-system-ssl-certs="${EPREFIX}/etc/ssl/certs/" \
+               --with-dynamic-prpls="${DYNAMIC_PRPLS}" \
+               --disable-mono \
+               --x-includes="${EPREFIX}"/usr/include/X11 \
+               ${myconf}
+               #$(use_enable mono) \
+}
+
+src_install() {
+       gnome2_src_install
+       if use gtk; then
+               # Fix tray pathes for kde-3.5, e16 (x11-wm/enlightenment) and 
other
+               # implementations that are not complient with new hicolor theme 
yet, #323355
+               local pixmapdir
+               for d in 16 22 32 48; do
+                       
pixmapdir=${ED}/usr/share/pixmaps/pidgin/tray/hicolor/${d}x${d}/actions
+                       mkdir "${pixmapdir}" || die
+                       pushd "${pixmapdir}" >/dev/null || die
+                       for f in ../status/*; do
+                               ln -s ${f} || die
+                       done
+                       popd >/dev/null
+               done
+       fi
+       use perl && fixlocalpod
+
+       if use python || use dbus ; then
+               python_fix_shebang "${D}"
+               python_optimize
+       fi
+
+       dodoc finch/plugins/pietray.py
+       docompress -x /usr/share/doc/${PF}/pietray.py
+
+       prune_libtool_files --all
+}

Reply via email to