guix-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

02/03: gnu: Add pidgin.


From: Mark H. Weaver
Subject: 02/03: gnu: Add pidgin.
Date: Tue, 04 Aug 2015 20:21:25 +0000

mhw pushed a commit to branch master
in repository guix.

commit b1a2bc895a3c12a4a668a04aec3e0e32c5ec0857
Author: Mark H Weaver <address@hidden>
Date:   Tue Aug 4 00:12:16 2015 -0400

    gnu: Add pidgin.
    
    * gnu/packages/patches/pidgin-add-search-path.patch: New file.
    * gnu-system.am (dist_patch_DATA): Add it.
    * gnu/packages/messaging.scm (pidgin): New variable.
---
 gnu-system.am                                     |    1 +
 gnu/packages/messaging.scm                        |   97 ++++++++++++++++++++-
 gnu/packages/patches/pidgin-add-search-path.patch |   25 ++++++
 3 files changed, 122 insertions(+), 1 deletions(-)

diff --git a/gnu-system.am b/gnu-system.am
index 4b1486e..372edc1 100644
--- a/gnu-system.am
+++ b/gnu-system.am
@@ -578,6 +578,7 @@ dist_patch_DATA =                                           
\
   gnu/packages/patches/perl-net-ssleay-disable-ede-test.patch  \
   gnu/packages/patches/perl-no-sys-dirs.patch                  \
   gnu/packages/patches/perl-tk-x11-discover.patch              \
+  gnu/packages/patches/pidgin-add-search-path.patch            \
   gnu/packages/patches/pingus-sdl-libs-config.patch            \
   gnu/packages/patches/plotutils-libpng-jmpbuf.patch           \
   gnu/packages/patches/polkit-drop-test.patch                  \
diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm
index 9477b25..bb75dd4 100644
--- a/gnu/packages/messaging.scm
+++ b/gnu/packages/messaging.scm
@@ -21,17 +21,29 @@
 
 (define-module (gnu packages messaging)
   #:use-module ((guix licenses)
-                #:select (gpl2+ gpl2 lgpl2.1 bsd-2))
+                #:select (gpl2+ gpl2 lgpl2.1 lgpl2.0+ bsd-2 non-copyleft))
+  #:use-module (guix utils)
   #:use-module (guix packages)
   #:use-module (guix download)
   #:use-module (guix build-system gnu)
+  #:use-module (guix build-system glib-or-gtk)
   #:use-module (gnu packages)
+  #:use-module (gnu packages autotools)
+  #:use-module (gnu packages avahi)
+  #:use-module (gnu packages check)
+  #:use-module (gnu packages cyrus-sasl)
+  #:use-module (gnu packages databases)
+  #:use-module (gnu packages doxygen)
   #:use-module (gnu packages enchant)
   #:use-module (gnu packages gnome)
   #:use-module (gnu packages gtk)
+  #:use-module (gnu packages xorg)
+  #:use-module (gnu packages xdisorg)
   #:use-module (gnu packages libcanberra)
+  #:use-module (gnu packages libidn)
   #:use-module (gnu packages xml)
   #:use-module (gnu packages gnupg)
+  #:use-module (gnu packages ncurses)
   #:use-module (gnu packages pkg-config)
   #:use-module (gnu packages glib)
   #:use-module (gnu packages python)
@@ -224,4 +236,87 @@ networks.  It is easy to configure, can cope with dynamic 
IP addresses, and
 supports IPv6, SSL-protected connections as well as PAM for authentication.")
     (license gpl2+)))
 
+(define-public pidgin
+  (package
+    (name "pidgin")
+    (version "2.10.11")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "mirror://sourceforge/pidgin/Pidgin/"
+                           version "/" name "-" version ".tar.bz2"))
+       (sha256
+        (base32
+         "01s0q30qrjlzj7kkz6f8lvrwsdd55a9yjh2xjjwyyxzw849j3bpj"))
+       (patches (list (search-patch "pidgin-add-search-path.patch")))))
+    (build-system glib-or-gtk-build-system)
+    (native-inputs
+     `(("pkg-config" ,pkg-config)
+       ("check" ,check)
+       ("intltool" ,intltool)
+       ("gconf" ,gconf)
+       ("python" ,python-2)
+       ("doxygen" ,doxygen)))
+    (inputs
+     `(("gtk+" ,gtk+-2)
+       ("libgcrypt" ,libgcrypt)
+       ("gnutls" ,gnutls)
+       ("cyrus-sasl" ,cyrus-sasl)
+       ("dbus" ,dbus)
+       ("dbus-glib" ,dbus-glib)
+       ("python2-dbus" ,python2-dbus)
+       ("libidn" ,libidn)
+       ("libltdl" ,libltdl)
+       ("libxml2" ,libxml2)
+       ;; TODO: gstreamer: patches needed to support gstreamer-1.0 or later
+       ;; TODO: farstream
+       ;; TODO: meanwhile
+       ;; TODO: network-manager
+       ;; TODO: gtkspell
+       ;; TODO: libxephyr
+       ;; TODO: libgadu
+       ("libxslt" ,libxslt)
+       ("avahi" ,avahi)
+       ("ncurses" ,ncurses)
+       ("sqlite" ,sqlite)
+       ("libice" ,libice)
+       ("libsm" ,libsm)
+       ("libxscrnsaver" ,libxscrnsaver)
+       ("startup-notification" ,startup-notification)))
+    (arguments
+     `(#:configure-flags
+       (list "--disable-gtkspell"
+             "--disable-tcl"
+             "--disable-meanwhile"
+             "--disable-nm"  ; XXX remove when we have network-manager
+             "--disable-vv"  ; XXX remove when we have farstream and gstreamer
+             "--disable-gstreamer" ; XXX patches needed to support 
gstreamer-1.0
+             "--enable-cyrus-sasl"
+             (string-append "--with-ncurses-headers="
+                            (assoc-ref %build-inputs "ncurses")
+                            "/include"))))
+    (native-search-paths
+     (list (search-path-specification
+            (variable "PURPLE_PLUGIN_PATH")
+            (files (list (string-append "lib/purple-"
+                                        (version-prefix version 1))
+                         "lib/pidgin")))))
+    (home-page "http://www.pidgin.im/";)
+    (synopsis "Graphical multi-protocol instant messaging client")
+    (description
+     "Pidgin is a modular instant messaging client that supports many popular
+chat protocols.")
+    (license
+     (list
+      gpl2+    ; Most of the code
+      lgpl2.1  ; GG protocol plugin (libpurple/protocols/gg/lib)
+      lgpl2.0+ ; OSCAR protocol plugin (libpurple/protocols/oscar)
+      ;; The following licenses cover the zephyr protocol plugin:
+      (non-copyleft
+       "file://libpurple/protocols/zephyr/mit-copyright.h"
+       "See libpurple/protocols/zephyr/mit-copyright.h in the distribution.")
+      (non-copyleft
+       "file://libpurple/protocols/zephyr/mit-sipb-copyright.h"
+       "See libpurple/protocols/zephyr/mit-sipb-copyright.h in the 
distribution.")))))
+
 ;;; messaging.scm ends here
diff --git a/gnu/packages/patches/pidgin-add-search-path.patch 
b/gnu/packages/patches/pidgin-add-search-path.patch
new file mode 100644
index 0000000..00eb9e4
--- /dev/null
+++ b/gnu/packages/patches/pidgin-add-search-path.patch
@@ -0,0 +1,25 @@
+Support the PURPLE_PLUGIN_PATH environment variable.  This patch is based on
+one from Nixpkgs, but properly handles the case where that variable is unset.
+
+--- pidgin-2.10.11/libpurple/plugin.c.orig     2014-11-23 11:41:25.000000000 
-0500
++++ pidgin-2.10.11/libpurple/plugin.c  2015-08-04 14:31:02.257366144 -0400
+@@ -1178,8 +1178,19 @@
+ void
+ purple_plugins_init(void) {
+       void *handle = purple_plugins_get_handle();
++      const gchar *purple_plugin_path;
+ 
+       purple_plugins_add_search_path(LIBDIR);
++      purple_plugin_path = g_getenv("PURPLE_PLUGIN_PATH");
++      if (purple_plugin_path && *purple_plugin_path) {
++              gchar **paths = g_strsplit(purple_plugin_path, ":", -1);
++              if (paths) {
++                      gchar **p;
++                      for (p = paths; *p; ++p)
++                              if (**p) purple_plugins_add_search_path(*p);
++              }
++              g_strfreev(paths);
++      }
+ 
+       purple_signal_register(handle, "plugin-load",
+                                                purple_marshal_VOID__POINTER,



reply via email to

[Prev in Thread] Current Thread [Next in Thread]