unofficial mirror of guix-patches@gnu.org 
 help / color / mirror / code / Atom feed
* [bug#44957] Pidgin
@ 2020-11-30  0:54 Raghav Gururajan
  2020-11-30  3:46 ` [bug#44957] [PIDGIN]: v2 Raghav Gururajan
                   ` (2 more replies)
  0 siblings, 3 replies; 11+ messages in thread
From: Raghav Gururajan @ 2020-11-30  0:54 UTC (permalink / raw)
  To: 44957


[-- Attachment #1.1.1: Type: text/plain, Size: 281 bytes --]

Hello Guix!

This patch series is to make Pidgin awesome again for users.

Objectives:
[1] Clean up package-definition.
[2] Package missing inputs to Guix and add them to pidgin.
[3] Enable missing features.
[4] Upgrade to 2.14.X
[5] Enable A/V support.

Regards,
RG.

[-- Attachment #1.1.2: 0001-gnu-pidgin-Make-some-cosmetic-changes.patch --]
[-- Type: text/x-patch, Size: 4551 bytes --]

From e4ab6260d80ef23b4f06fa37a0ad7e3fdf69e440 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <raghavgururajan@disroot.org>
Date: Mon, 23 Nov 2020 23:41:21 -0500
Subject: [PATCH 1/9] gnu: pidgin: Make some cosmetic changes.

* gnu/packages/messaging.scm (pidgin): Make some cosmetic changes.
---
 gnu/packages/messaging.scm | 58 +++++++++++++++++++++-----------------
 1 file changed, 32 insertions(+), 26 deletions(-)

diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm
index cb1cdc4b5c..dcafd2435b 100644
--- a/gnu/packages/messaging.scm
+++ b/gnu/packages/messaging.scm
@@ -526,14 +526,17 @@ authentication.")
     (source
      (origin
        (method url-fetch)
-       (uri (string-append "mirror://sourceforge/pidgin/Pidgin/"
-                           version "/pidgin-" version ".tar.bz2"))
+       (uri
+        (string-append "mirror://sourceforge/pidgin/Pidgin/"
+                       version "/pidgin-" version ".tar.bz2"))
        (sha256
         (base32 "13vdqj70315p9rzgnbxjp9c51mdzf1l4jg1kvnylc4bidw61air7"))
-       (patches (search-patches "pidgin-add-search-path.patch"
-                                ;; Remove the snippet and bootstrapping
-                                ;; native-inputs together with this patch.
-                                "pidgin-libnm.patch"))
+       (patches
+        (search-patches
+         "pidgin-add-search-path.patch"
+         ;; Remove the snippet and bootstrapping
+         ;; native-inputs together with this patch.
+         "pidgin-libnm.patch"))
        (modules '((guix build utils)))
        (snippet
         '(begin
@@ -541,6 +544,18 @@ authentication.")
            (delete-file "configure")
            #t))))
     (build-system glib-or-gtk-build-system)
+    (arguments
+     `(#:configure-flags
+       (list
+        "--disable-gtkspell"
+        "--disable-tcl"
+        "--disable-meanwhile"
+        "--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-inputs
      `(("pkg-config" ,pkg-config)
        ("check" ,check)
@@ -548,7 +563,6 @@ authentication.")
        ("gconf" ,gconf)
        ("python" ,python-2)
        ("doxygen" ,doxygen)
-
        ;; For bootstrapping after applying pidgin-libnm.patch.
        ("autoconf" ,autoconf)
        ("automake" ,automake)
@@ -579,32 +593,24 @@ authentication.")
        ("libsm" ,libsm)
        ("libxscrnsaver" ,libxscrnsaver)
        ("startup-notification" ,startup-notification)))
-    (arguments
-     `(#:configure-flags
-       (list "--disable-gtkspell"
-             "--disable-tcl"
-             "--disable-meanwhile"
-             "--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-major version))
-                         "lib/pidgin")))))
-    (home-page "https://www.pidgin.im/")
+     (list
+      (search-path-specification
+       (variable "PURPLE_PLUGIN_PATH")
+       (files
+        (list
+         (string-append "lib/purple-"
+                        (version-major version))
+         "lib/pidgin")))))
     (synopsis "Graphical multi-protocol instant messaging client")
     (description
      "Pidgin is a modular instant messaging client that supports many popular
 chat protocols.")
+    (home-page "https://www.pidgin.im/")
     (license
      (list
-      license:gpl2+    ; Most of the code
-      license:lgpl2.1  ; GG protocol plugin (libpurple/protocols/gg/lib)
+      license:gpl2+   ; Most of the code
+      license:lgpl2.1 ; GG protocol plugin (libpurple/protocols/gg/lib)
       license:lgpl2.0+ ; OSCAR protocol plugin (libpurple/protocols/oscar)
       ;; The following licenses cover the zephyr protocol plugin:
       (license:non-copyleft
-- 
2.29.2


[-- Attachment #1.1.3: 0002-gnu-pidgin-Re-arrange-inputs-in-alphabetical-order.patch --]
[-- Type: text/x-patch, Size: 2699 bytes --]

From 2f1af105a621398145a3a91a71292e28ac08f83a Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <raghavgururajan@disroot.org>
Date: Mon, 23 Nov 2020 23:58:08 -0500
Subject: [PATCH 2/9] gnu: pidgin: Re-arrange inputs in alphabetical order.

* gnu/packages/messaging.scm (pidgin) [native-inputs]: Re-order.
[inputs]: Re-order.
---
 gnu/packages/messaging.scm | 43 +++++++++++++++++++-------------------
 1 file changed, 21 insertions(+), 22 deletions(-)

diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm
index dcafd2435b..c3e1f029fc 100644
--- a/gnu/packages/messaging.scm
+++ b/gnu/packages/messaging.scm
@@ -557,41 +557,40 @@ authentication.")
                        (assoc-ref %build-inputs "ncurses")
                        "/include"))))
     (native-inputs
-     `(("pkg-config" ,pkg-config)
+     `(("autoconf" ,autoconf) ;; For bootstrap
+       ("automake" ,automake) ;; For bootstrap
        ("check" ,check)
-       ("intltool" ,intltool)
-       ("gconf" ,gconf)
-       ("python" ,python-2)
        ("doxygen" ,doxygen)
-       ;; For bootstrapping after applying pidgin-libnm.patch.
-       ("autoconf" ,autoconf)
-       ("automake" ,automake)
-       ("libtool" ,libtool)))
+       ("gconf" ,gconf)
+       ("intltool" ,intltool)
+       ("libtool" ,libtool) ;; For bootstrap
+       ("pkg-config" ,pkg-config)
+       ("python" ,python-2)))
     (inputs
-     `(("gtk+" ,gtk+-2)
-       ("libgcrypt" ,libgcrypt)
-       ("gnutls" ,gnutls)
+     `(("avahi" ,avahi)
        ("cyrus-sasl" ,cyrus-sasl)
        ("dbus" ,dbus)
        ("dbus-glib" ,dbus-glib)
-       ("python2-dbus" ,python2-dbus)
+       ;; farstream
+       ("gnutls" ,gnutls)
+       ;; gstreamer
+       ("gtk+" ,gtk+-2)
+       ;; gtkspell
+       ;; libgadu
+       ("libgcrypt" ,libgcrypt)
+       ("libice" ,libice)
        ("libidn" ,libidn)
        ("libltdl" ,libltdl)
+       ("libsm" ,libsm)
+       ;; libxephyr
        ("libxml2" ,libxml2)
-       ;; TODO: gstreamer: patches needed to support gstreamer-1.0 or later
-       ;; TODO: farstream
-       ;; TODO: meanwhile
-       ;; TODO: gtkspell
-       ;; TODO: libxephyr
-       ;; TODO: libgadu
+       ("libxscrnsaver" ,libxscrnsaver)
        ("libxslt" ,libxslt)
-       ("avahi" ,avahi)
+       ;; meanwhile
        ("ncurses" ,ncurses)
        ("network-manager" ,network-manager)
+       ("python2-dbus" ,python2-dbus)
        ("sqlite" ,sqlite)
-       ("libice" ,libice)
-       ("libsm" ,libsm)
-       ("libxscrnsaver" ,libxscrnsaver)
        ("startup-notification" ,startup-notification)))
     (native-search-paths
      (list
-- 
2.29.2


[-- Attachment #1.1.4: 0003-gnu-Add-meanwhile.patch --]
[-- Type: text/x-patch, Size: 1885 bytes --]

From 431e6802aa1fd5533db7b7fb695b5c840ba4e289 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <raghavgururajan@disroot.org>
Date: Sat, 28 Nov 2020 00:17:22 -0500
Subject: [PATCH 3/9] gnu: Add meanwhile.

* gnu/packages/messaging.scm (meanwhile): New variable.
---
 gnu/packages/messaging.scm | 33 +++++++++++++++++++++++++++++++++
 1 file changed, 33 insertions(+)

diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm
index c3e1f029fc..93afe7f933 100644
--- a/gnu/packages/messaging.scm
+++ b/gnu/packages/messaging.scm
@@ -125,6 +125,39 @@
   #:use-module (guix packages)
   #:use-module (guix utils))
 
+(define-public meanwhile
+  (package
+    (name "meanwhile")
+    (version "1.1.1")
+    (source
+     (origin
+       (method git-fetch)
+       (uri
+        (git-reference
+         (url "https://github.com/obriencj/meanwhile.git")
+         (commit
+          (string-append "v" version))))
+       (file-name
+        (git-file-name name version))
+       (sha256
+        (base32 "1k1gvmx1ikm0y1mdmm495rzkb00pl170jfaf2dy0n5aiiknkk7q3"))))
+    (build-system glib-or-gtk-build-system)
+    (native-inputs
+     `(("autoconf" ,autoconf)
+       ("automake" ,automake)
+       ("doxygen" ,doxygen)
+       ("libtool" ,libtool)
+       ("pkg-config" ,pkg-config)))
+    (propagated-inputs
+     `(("glib" ,glib)))
+    (synopsis "Library for Lotus Instant Messaging")
+    (description "Meanwhile is a library for connecting to a LIM (Lotus Instant
+Messaging, formerly Lotus Sametime, formerly VPBuddy) community.  It uses a
+protocol based in part off of the IMPP draft(*1), and in part off of traces of
+TCP sessions from existing clients.")
+    (home-page "https://github.com/obriencj/meanwhile")
+    (license license:lgpl3)))
+
 (define-public poezio
   (package
     (name "poezio")
-- 
2.29.2


[-- Attachment #1.1.5: 0004-gnu-Add-silc-toolkit.patch --]
[-- Type: text/x-patch, Size: 2170 bytes --]

From df0cd86a37aee77b91ca38c1fb79deef14303a6d Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <raghavgururajan@disroot.org>
Date: Sat, 28 Nov 2020 03:27:30 -0500
Subject: [PATCH 4/9] gnu: Add silc-toolkit.

* gnu/packages/messaging.scm (silc-toolkit): New variable.
---
 gnu/packages/messaging.scm | 44 ++++++++++++++++++++++++++++++++++++++
 1 file changed, 44 insertions(+)

diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm
index 93afe7f933..c4ffd39f50 100644
--- a/gnu/packages/messaging.scm
+++ b/gnu/packages/messaging.scm
@@ -125,6 +125,50 @@
   #:use-module (guix packages)
   #:use-module (guix utils))
 
+(define-public silc-toolkit
+  (package
+    (name "silc-toolkit")
+    (version "1.1.12")
+    (source
+     (origin
+       (method url-fetch)
+       (uri
+        (string-append "mirror://sourceforge/silc/silc/toolkit/sources/silc-toolkit-"
+                       version ".tar.gz"))
+       (sha256
+        (base32 "0mnvf9n7qriadg0p7a8qmvcayhnns2g9fhmcymavlm0v8xrky33y"))))
+    (build-system gnu-build-system)
+    (arguments
+     `(#:configure-flags
+       (list
+        "--disable-static"
+        "--enable-ipv6"
+        "--enable-stack-trace")
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'trigger-bootstrap
+           (lambda _
+             (delete-file "configure")
+             (delete-file "Makefile.in")
+             #t)))))
+    (native-inputs
+     `(("autoconf" ,autoconf)
+       ("automake" ,automake)
+       ("libtool" ,libtool)
+       ("perl" ,perl)
+       ("pkg-config" ,pkg-config)))
+    (synopsis "SILC ToolKit")
+    (description "SILC (Secure Internet Live Conferencing) is a modern and secure
+conferencing protocol.  It provides all the common conferencing services like
+private messages, instant messages, channels and groups, and video and audio
+conferencing.")
+    (home-page "https://silc.github.io/info")
+    (license
+     ;; Dual-licensed
+     (list
+      license:gpl2+
+      license:bsd-2))))
+
 (define-public meanwhile
   (package
     (name "meanwhile")
-- 
2.29.2


[-- Attachment #1.1.6: 0005-gnu-Add-libgadu.patch --]
[-- Type: text/x-patch, Size: 2461 bytes --]

From 577a476e8c947ff14a49f6b00d49034100ba91c4 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <raghavgururajan@disroot.org>
Date: Sat, 28 Nov 2020 21:39:15 -0500
Subject: [PATCH 5/9] gnu: Add libgadu.

* gnu/packages/messaging.scm (libgadu): New variable.
---
 gnu/packages/messaging.scm | 53 ++++++++++++++++++++++++++++++++++++++
 1 file changed, 53 insertions(+)

diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm
index c4ffd39f50..6f57a537d5 100644
--- a/gnu/packages/messaging.scm
+++ b/gnu/packages/messaging.scm
@@ -125,6 +125,59 @@
   #:use-module (guix packages)
   #:use-module (guix utils))
 
+(define-public libgadu
+  (package
+    (name "libgadu")
+    (version "1.12.2")
+    (source
+     (origin
+       (method git-fetch)
+       (uri
+        (git-reference
+         (url "https://github.com/wojtekka/libgadu.git")
+         (commit version)))
+       (file-name
+        (git-file-name name version))
+       (sha256
+        (base32 "1s16cripy5w9k12534qb012iwc5m9qcjyrywgsziyn3kl3i0aa8h"))))
+    (build-system gnu-build-system)
+    (arguments
+     `(#:configure-flags
+       (list
+        "--disable-static")
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'patch-shebangs
+           (lambda* (#:key inputs #:allow-other-keys)
+             (substitute* "protobufgen.sh"
+               (("/bin/sh")
+                (string-append (assoc-ref inputs "bash")
+                               "/bin/sh")))
+             #t)))))
+    (native-inputs
+     `(("autoconf" ,autoconf)
+       ("automake" ,automake)
+       ("bash" ,bash)
+       ("doxygen" ,doxygen)
+       ("libtool" ,libtool)
+       ("perl" ,perl)
+       ("pkg-config" ,pkg-config)))
+    (inputs
+     `(("curl" ,curl)
+       ("expat" ,expat)
+       ("libprotobuf-c" ,protobuf-c)
+       ("libxml" ,libxml2)
+       ("openssl" ,openssl)
+       ("zlib" ,zlib)))
+    (propagated-inputs
+     `(("gnutls" ,gnutls)))
+    (synopsis "Library for handling the protocol of Gadu-Gadu")
+    (description "LibGadu is library for handling Gadu-Gadu instant messenger
+protocol.  The library is written in C and aims to be operating system and
+environment independent.")
+    (home-page "https://libgadu.net/index.en.html")
+    (license license:lgpl2.1+)))
+
 (define-public silc-toolkit
   (package
     (name "silc-toolkit")
-- 
2.29.2


[-- Attachment #1.1.7: 0006-gnu-Add-libgnt.patch --]
[-- Type: text/x-patch, Size: 3480 bytes --]

From 3880462f5dbd1c43b8d717926e9a1ba77d645022 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <raghavgururajan@disroot.org>
Date: Sat, 28 Nov 2020 22:57:11 -0500
Subject: [PATCH 6/9] gnu: Add libgnt.

* gnu/packages/messaging.scm (libgnt): New variable.
---
 gnu/packages/messaging.scm | 62 ++++++++++++++++++++++++++++++++++++++
 1 file changed, 62 insertions(+)

diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm
index 6f57a537d5..695fca5f45 100644
--- a/gnu/packages/messaging.scm
+++ b/gnu/packages/messaging.scm
@@ -61,6 +61,7 @@
   #:use-module (gnu packages curl)
   #:use-module (gnu packages cyrus-sasl)
   #:use-module (gnu packages databases)
+  #:use-module (gnu packages docbook)
   #:use-module (gnu packages documentation)
   #:use-module (gnu packages enchant)
   #:use-module (gnu packages fontutils)
@@ -125,6 +126,67 @@
   #:use-module (guix packages)
   #:use-module (guix utils))
 
+(define-public libgnt
+  (package
+    (name "libgnt")
+    (version "2.14.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri
+        (string-append "mirror://sourceforge/pidgin/libgnt/"
+                       version "/libgnt-" version ".tar.xz"))
+       (sha256
+        (base32 "1grs9fxl404rscscxk1ff55fzjnwjqrisjxbasbssmcp1h1s4zkb"))))
+    (build-system meson-build-system)
+    (outputs '("out" "doc"))
+    (arguments
+     `(#:glib-or-gtk? #t     ; To wrap binaries and/or compile schemas
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'patch-ncurses-path
+           (lambda* (#:key inputs #:allow-other-keys)
+             (substitute* "meson.build"
+               (("'/usr'")
+                (string-append "'"
+                               (assoc-ref inputs "ncurses")
+                               "'")))
+             #t))
+         (add-before 'configure 'patch-docbook-xml
+           (lambda* (#:key inputs #:allow-other-keys)
+             (with-directory-excursion "doc"
+               (substitute* "libgnt-docs.xml"
+                 (("http://www.oasis-open.org/docbook/xml/4.1.2/")
+                  (string-append (assoc-ref inputs "docbook-xml")
+                                 "/xml/dtd/docbook/"))))
+             #t))
+         (add-after 'install 'move-doc
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let* ((out (assoc-ref outputs "out"))
+                    (doc (assoc-ref outputs "doc")))
+               (mkdir-p (string-append doc "/share"))
+               (rename-file
+                (string-append out "/share/gtk-doc")
+                (string-append doc "/share/gtk-doc"))
+               #t))))))
+    (native-inputs
+     `(("docbook-xml" ,docbook-xml-4.1.2)
+       ("glib:bin" ,glib "bin")
+       ("gobject-introspection" ,gobject-introspection)
+       ("gtk-doc" ,gtk-doc)
+       ("pkg-config" ,pkg-config)))
+    (inputs
+     `(("ncurses" ,ncurses)))
+    (propagated-inputs
+     `(("glib" ,glib)
+       ("libxml" ,libxml2)
+       ("python" ,python-2)))
+    (synopsis "GLib Ncurses Toolkit")
+    (description "GNT is an ncurses toolkit for creating text-mode graphical
+user interfaces in a fast and easy way.  It is based on GLib and ncurses.")
+    (home-page "https://keep.imfreedom.org/libgnt/libgnt")
+    (license license:gpl2+)))
+
 (define-public libgadu
   (package
     (name "libgadu")
-- 
2.29.2


[-- Attachment #1.1.8: 0007-gnu-pidgin-Enable-some-features.patch --]
[-- Type: text/x-patch, Size: 4465 bytes --]

From 1bd47c8d21bc1070186d638bdb884a06a0ab95d6 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <raghavgururajan@disroot.org>
Date: Tue, 24 Nov 2020 01:43:09 -0500
Subject: [PATCH 7/9] gnu: pidgin: Enable some features.

* gnu/packages/messaging.scm (pidgin) [arguments]<#:configure-flags>
[--enable-cap]: New flag.
[--enable-mono]: New flag.
[--with-tclconfig=]: New flag.
[--with-tkconfig=]: New flag.
[native-inputs]: Add graphviz. Remove python-2.
[inputs]: Add libgadu, libgnt, libx11, libxext, meanwhile, mono,
nspr, nss, pango, perl, python-2, silc-toolkit, tcl and tk.
[propagated-inputs]: Add glib.
---
 gnu/packages/messaging.scm | 47 +++++++++++++++++++++++++++++---------
 1 file changed, 36 insertions(+), 11 deletions(-)

diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm
index 695fca5f45..69e33a3e69 100644
--- a/gnu/packages/messaging.scm
+++ b/gnu/packages/messaging.scm
@@ -71,6 +71,7 @@
   #:use-module (gnu packages gnome)
   #:use-module (gnu packages gnupg)
   #:use-module (gnu packages gperf)
+  #:use-module (gnu packages graphviz)
   #:use-module (gnu packages gstreamer)
   #:use-module (gnu packages gtk)
   #:use-module (gnu packages guile)
@@ -84,9 +85,11 @@
   #:use-module (gnu packages lua)
   #:use-module (gnu packages man)
   #:use-module (gnu packages markup)
+  #:use-module (gnu packages mono)
   #:use-module (gnu packages mpd)
   #:use-module (gnu packages ncurses)
   #:use-module (gnu packages networking)
+  #:use-module (gnu packages nss)
   #:use-module (gnu packages pcre)
   #:use-module (gnu packages perl)
   #:use-module (gnu packages photo)
@@ -740,50 +743,72 @@ authentication.")
      `(#:configure-flags
        (list
         "--disable-gtkspell"
-        "--disable-tcl"
-        "--disable-meanwhile"
+        ;; "--enable-gevolution"
+        "--enable-cap"
+        "--enable-mono"
         "--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"))))
+                       "/include")
+        (string-append "--with-tclconfig="
+                       (assoc-ref %build-inputs "tcl")
+                       "/lib")
+        (string-append "--with-tkconfig="
+                       (assoc-ref %build-inputs "tk")
+                       "/lib"))))
     (native-inputs
      `(("autoconf" ,autoconf) ;; For bootstrap
        ("automake" ,automake) ;; For bootstrap
        ("check" ,check)
+       ("dot" ,graphviz)
        ("doxygen" ,doxygen)
        ("gconf" ,gconf)
        ("intltool" ,intltool)
        ("libtool" ,libtool) ;; For bootstrap
-       ("pkg-config" ,pkg-config)
-       ("python" ,python-2)))
+       ("pkg-config" ,pkg-config)))
     (inputs
      `(("avahi" ,avahi)
        ("cyrus-sasl" ,cyrus-sasl)
        ("dbus" ,dbus)
        ("dbus-glib" ,dbus-glib)
-       ;; farstream
+       ;; ("evolution-data-server" ,evolution-data-server)
+       ;; ("farstream" ,farstream)
        ("gnutls" ,gnutls)
-       ;; gstreamer
+       ;; ("gstreamer" ,gstreamer)
        ("gtk+" ,gtk+-2)
        ;; gtkspell
-       ;; libgadu
+       ("libgadu" ,libgadu)
        ("libgcrypt" ,libgcrypt)
+       ("libgnt" ,libgnt)
        ("libice" ,libice)
        ("libidn" ,libidn)
        ("libltdl" ,libltdl)
        ("libsm" ,libsm)
-       ;; libxephyr
+       ("libx11" ,libx11)
+       ("libxext" ,libxext)
        ("libxml2" ,libxml2)
        ("libxscrnsaver" ,libxscrnsaver)
        ("libxslt" ,libxslt)
-       ;; meanwhile
+       ;; libzephyr
+       ("meanwhile" ,meanwhile)
+       ("mono" ,mono)
        ("ncurses" ,ncurses)
        ("network-manager" ,network-manager)
+       ("nspr" ,nspr)
+       ("nss" ,nss)
+       ("pango" ,pango)
+       ("perl" ,perl)
+       ("python" ,python-2)
        ("python2-dbus" ,python2-dbus)
+       ("silc" ,silc-toolkit)
        ("sqlite" ,sqlite)
-       ("startup-notification" ,startup-notification)))
+       ("startup-notification" ,startup-notification)
+       ("tcl" ,tcl)
+       ("tk" ,tk)))
+    (propagated-inputs
+     `(("glib" ,glib)))
     (native-search-paths
      (list
       (search-path-specification
-- 
2.29.2


[-- Attachment #1.1.9: 0008-gnu-pidgin-Upgrade-to-2.14.1.patch --]
[-- Type: text/x-patch, Size: 4997 bytes --]

From 1a11875402c5abb066a32143ef55a6a011d73b3e Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <raghavgururajan@disroot.org>
Date: Sun, 29 Nov 2020 17:30:04 -0500
Subject: [PATCH 8/9] gnu: pidgin: Upgrade to 2.14.1.

* gnu/packages/messaging.scm (pidgin) [version]: Modify.
[source]<origin>[sha256]: Modify base32.
[patches]<search-patches>[pidgin-libnm.patch]: Remove obsolete patch.
* gnu/packages/patches/pidgin-libnm.patch: Remove file.
* gnu/local.mk (dist_patch_DATA): Remove entry.
---
 gnu/local.mk                            |  1 -
 gnu/packages/messaging.scm              | 13 +++---
 gnu/packages/patches/pidgin-libnm.patch | 60 -------------------------
 3 files changed, 5 insertions(+), 69 deletions(-)
 delete mode 100644 gnu/packages/patches/pidgin-libnm.patch

diff --git a/gnu/local.mk b/gnu/local.mk
index 14b626c600..5f118874f1 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1461,7 +1461,6 @@ dist_patch_DATA =						\
   %D%/packages/patches/picard-fix-id3-rename-test.patch		\
   %D%/packages/patches/picprog-non-intel-support.patch		\
   %D%/packages/patches/pidgin-add-search-path.patch		\
-  %D%/packages/patches/pidgin-libnm.patch			\
   %D%/packages/patches/pinball-const-fix.patch			\
   %D%/packages/patches/pinball-cstddef.patch			\
   %D%/packages/patches/pinball-missing-separators.patch		\
diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm
index 69e33a3e69..0d5ab911d4 100644
--- a/gnu/packages/messaging.scm
+++ b/gnu/packages/messaging.scm
@@ -717,25 +717,22 @@ authentication.")
 (define-public pidgin
   (package
     (name "pidgin")
-    (version "2.13.0")
+    (version "2.14.1")
     (source
      (origin
        (method url-fetch)
        (uri
         (string-append "mirror://sourceforge/pidgin/Pidgin/"
-                       version "/pidgin-" version ".tar.bz2"))
+                       version "/pidgin-" version ".tar.gz"))
        (sha256
-        (base32 "13vdqj70315p9rzgnbxjp9c51mdzf1l4jg1kvnylc4bidw61air7"))
+        (base32 "1c4dzxg9c3d9zfqqa7jwijj9rv9fm6w95igmpljwy88lxq7v5w11"))
        (patches
         (search-patches
-         "pidgin-add-search-path.patch"
-         ;; Remove the snippet and bootstrapping
-         ;; native-inputs together with this patch.
-         "pidgin-libnm.patch"))
+         "pidgin-add-search-path.patch"))
        (modules '((guix build utils)))
        (snippet
         '(begin
-           ;; Remove stale generated file after applying pidgin-libnm.patch.
+           ;; Remove stale generated file after applying patches.
            (delete-file "configure")
            #t))))
     (build-system glib-or-gtk-build-system)
diff --git a/gnu/packages/patches/pidgin-libnm.patch b/gnu/packages/patches/pidgin-libnm.patch
deleted file mode 100644
index d34af749af..0000000000
--- a/gnu/packages/patches/pidgin-libnm.patch
+++ /dev/null
@@ -1,60 +0,0 @@
-From: Tobias Geerinckx-Rice <me@tobias.gr>
-Date: Sun, 24 May 2020 16:11:01 +0200
-Subject: [PATCH] gnu: pidgin: Find libnm.
-
-Copied verbatim from[0].
-
-[0]: https://git.archlinux.org/svntogit/packages.git/plain/trunk/pidgin-nm-1.0.patch?h=packages/pidgin
-
-diff --git a/configure.ac b/configure.ac
-index 04836fa..0a2d451 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -1423,18 +1423,24 @@ fi
- dnl Check for NetworkManager.h; if we don't have it, oh well
- if test "x$enable_dbus" = "xyes" ; then
- 	if test "x$enable_nm" = "xyes" ; then
--		PKG_CHECK_MODULES(NETWORKMANAGER, [NetworkManager >= 0.5.0], [
-+		PKG_CHECK_MODULES(NETWORKMANAGER, [libnm], [
- 			AC_SUBST(NETWORKMANAGER_CFLAGS)
- 			AC_SUBST(NETWORKMANAGER_LIBS)
- 			AC_DEFINE(HAVE_NETWORKMANAGER, 1, [Define if we have NetworkManager.])
- 		], [
--			enable_nm=no
--			if test "x$force_deps" = "xyes" ; then
--				AC_MSG_ERROR([
-+			PKG_CHECK_MODULES(NETWORKMANAGER, [NetworkManager >= 0.5.0], [
-+				AC_SUBST(NETWORKMANAGER_CFLAGS)
-+				AC_SUBST(NETWORKMANAGER_LIBS)
-+				AC_DEFINE(HAVE_NETWORKMANAGER, 1, [Define if we have NetworkManager.])
-+			], [
-+				enable_nm=no
-+				if test "x$force_deps" = "xyes" ; then
-+					AC_MSG_ERROR([
- NetworkManager development headers not found.
- Use --disable-nm if you do not need NetworkManager support.
- ])
--			fi])
-+				fi])
-+		])
- 	fi
- else
- 	enable_nm=no
-diff --git a/libpurple/network.c b/libpurple/network.c
-index c43e3c7..b17e439 100644
---- a/libpurple/network.c
-+++ b/libpurple/network.c
-@@ -939,8 +939,13 @@ nm_update_state(NMState state)
- #if NM_CHECK_VERSION(0,8,992)
- 		case NM_STATE_DISCONNECTING:
- #endif
-+#if NM_CHECK_VERSION(1,0,0)
-+			if (prev != NM_STATE_CONNECTED_GLOBAL && prev != NM_STATE_UNKNOWN)
-+				break;
-+#else
- 			if (prev != NM_STATE_CONNECTED && prev != NM_STATE_UNKNOWN)
- 				break;
-+#endif
- 			if (ui_ops != NULL && ui_ops->network_disconnected != NULL)
- 				ui_ops->network_disconnected();
- 			break;
-- 
2.29.2


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 236 bytes --]

^ permalink raw reply related	[flat|nested] 11+ messages in thread

* [bug#44957] [PIDGIN]: v2
  2020-11-30  0:54 [bug#44957] Pidgin Raghav Gururajan
@ 2020-11-30  3:46 ` Raghav Gururajan
  2020-11-30  6:22 ` [bug#44957] [PIDGIN]: v3 Raghav Gururajan
  2020-12-01 22:42 ` [bug#44957] [PIDGIN]: v4 Raghav Gururajan
  2 siblings, 0 replies; 11+ messages in thread
From: Raghav Gururajan @ 2020-11-30  3:46 UTC (permalink / raw)
  To: 44957


[-- Attachment #1.1.1: Type: text/plain, Size: 20 bytes --]

Revised patch-set.

[-- Attachment #1.1.2: 0001-gnu-pidgin-Make-some-cosmetic-changes.patch --]
[-- Type: text/x-patch, Size: 4551 bytes --]

From e4ab6260d80ef23b4f06fa37a0ad7e3fdf69e440 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <raghavgururajan@disroot.org>
Date: Mon, 23 Nov 2020 23:41:21 -0500
Subject: [PATCH 1/9] gnu: pidgin: Make some cosmetic changes.

* gnu/packages/messaging.scm (pidgin): Make some cosmetic changes.
---
 gnu/packages/messaging.scm | 58 +++++++++++++++++++++-----------------
 1 file changed, 32 insertions(+), 26 deletions(-)

diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm
index cb1cdc4b5c..dcafd2435b 100644
--- a/gnu/packages/messaging.scm
+++ b/gnu/packages/messaging.scm
@@ -526,14 +526,17 @@ authentication.")
     (source
      (origin
        (method url-fetch)
-       (uri (string-append "mirror://sourceforge/pidgin/Pidgin/"
-                           version "/pidgin-" version ".tar.bz2"))
+       (uri
+        (string-append "mirror://sourceforge/pidgin/Pidgin/"
+                       version "/pidgin-" version ".tar.bz2"))
        (sha256
         (base32 "13vdqj70315p9rzgnbxjp9c51mdzf1l4jg1kvnylc4bidw61air7"))
-       (patches (search-patches "pidgin-add-search-path.patch"
-                                ;; Remove the snippet and bootstrapping
-                                ;; native-inputs together with this patch.
-                                "pidgin-libnm.patch"))
+       (patches
+        (search-patches
+         "pidgin-add-search-path.patch"
+         ;; Remove the snippet and bootstrapping
+         ;; native-inputs together with this patch.
+         "pidgin-libnm.patch"))
        (modules '((guix build utils)))
        (snippet
         '(begin
@@ -541,6 +544,18 @@ authentication.")
            (delete-file "configure")
            #t))))
     (build-system glib-or-gtk-build-system)
+    (arguments
+     `(#:configure-flags
+       (list
+        "--disable-gtkspell"
+        "--disable-tcl"
+        "--disable-meanwhile"
+        "--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-inputs
      `(("pkg-config" ,pkg-config)
        ("check" ,check)
@@ -548,7 +563,6 @@ authentication.")
        ("gconf" ,gconf)
        ("python" ,python-2)
        ("doxygen" ,doxygen)
-
        ;; For bootstrapping after applying pidgin-libnm.patch.
        ("autoconf" ,autoconf)
        ("automake" ,automake)
@@ -579,32 +593,24 @@ authentication.")
        ("libsm" ,libsm)
        ("libxscrnsaver" ,libxscrnsaver)
        ("startup-notification" ,startup-notification)))
-    (arguments
-     `(#:configure-flags
-       (list "--disable-gtkspell"
-             "--disable-tcl"
-             "--disable-meanwhile"
-             "--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-major version))
-                         "lib/pidgin")))))
-    (home-page "https://www.pidgin.im/")
+     (list
+      (search-path-specification
+       (variable "PURPLE_PLUGIN_PATH")
+       (files
+        (list
+         (string-append "lib/purple-"
+                        (version-major version))
+         "lib/pidgin")))))
     (synopsis "Graphical multi-protocol instant messaging client")
     (description
      "Pidgin is a modular instant messaging client that supports many popular
 chat protocols.")
+    (home-page "https://www.pidgin.im/")
     (license
      (list
-      license:gpl2+    ; Most of the code
-      license:lgpl2.1  ; GG protocol plugin (libpurple/protocols/gg/lib)
+      license:gpl2+   ; Most of the code
+      license:lgpl2.1 ; GG protocol plugin (libpurple/protocols/gg/lib)
       license:lgpl2.0+ ; OSCAR protocol plugin (libpurple/protocols/oscar)
       ;; The following licenses cover the zephyr protocol plugin:
       (license:non-copyleft
-- 
2.29.2


[-- Attachment #1.1.3: 0002-gnu-pidgin-Re-arrange-inputs-in-alphabetical-order.patch --]
[-- Type: text/x-patch, Size: 2699 bytes --]

From 2f1af105a621398145a3a91a71292e28ac08f83a Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <raghavgururajan@disroot.org>
Date: Mon, 23 Nov 2020 23:58:08 -0500
Subject: [PATCH 2/9] gnu: pidgin: Re-arrange inputs in alphabetical order.

* gnu/packages/messaging.scm (pidgin) [native-inputs]: Re-order.
[inputs]: Re-order.
---
 gnu/packages/messaging.scm | 43 +++++++++++++++++++-------------------
 1 file changed, 21 insertions(+), 22 deletions(-)

diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm
index dcafd2435b..c3e1f029fc 100644
--- a/gnu/packages/messaging.scm
+++ b/gnu/packages/messaging.scm
@@ -557,41 +557,40 @@ authentication.")
                        (assoc-ref %build-inputs "ncurses")
                        "/include"))))
     (native-inputs
-     `(("pkg-config" ,pkg-config)
+     `(("autoconf" ,autoconf) ;; For bootstrap
+       ("automake" ,automake) ;; For bootstrap
        ("check" ,check)
-       ("intltool" ,intltool)
-       ("gconf" ,gconf)
-       ("python" ,python-2)
        ("doxygen" ,doxygen)
-       ;; For bootstrapping after applying pidgin-libnm.patch.
-       ("autoconf" ,autoconf)
-       ("automake" ,automake)
-       ("libtool" ,libtool)))
+       ("gconf" ,gconf)
+       ("intltool" ,intltool)
+       ("libtool" ,libtool) ;; For bootstrap
+       ("pkg-config" ,pkg-config)
+       ("python" ,python-2)))
     (inputs
-     `(("gtk+" ,gtk+-2)
-       ("libgcrypt" ,libgcrypt)
-       ("gnutls" ,gnutls)
+     `(("avahi" ,avahi)
        ("cyrus-sasl" ,cyrus-sasl)
        ("dbus" ,dbus)
        ("dbus-glib" ,dbus-glib)
-       ("python2-dbus" ,python2-dbus)
+       ;; farstream
+       ("gnutls" ,gnutls)
+       ;; gstreamer
+       ("gtk+" ,gtk+-2)
+       ;; gtkspell
+       ;; libgadu
+       ("libgcrypt" ,libgcrypt)
+       ("libice" ,libice)
        ("libidn" ,libidn)
        ("libltdl" ,libltdl)
+       ("libsm" ,libsm)
+       ;; libxephyr
        ("libxml2" ,libxml2)
-       ;; TODO: gstreamer: patches needed to support gstreamer-1.0 or later
-       ;; TODO: farstream
-       ;; TODO: meanwhile
-       ;; TODO: gtkspell
-       ;; TODO: libxephyr
-       ;; TODO: libgadu
+       ("libxscrnsaver" ,libxscrnsaver)
        ("libxslt" ,libxslt)
-       ("avahi" ,avahi)
+       ;; meanwhile
        ("ncurses" ,ncurses)
        ("network-manager" ,network-manager)
+       ("python2-dbus" ,python2-dbus)
        ("sqlite" ,sqlite)
-       ("libice" ,libice)
-       ("libsm" ,libsm)
-       ("libxscrnsaver" ,libxscrnsaver)
        ("startup-notification" ,startup-notification)))
     (native-search-paths
      (list
-- 
2.29.2


[-- Attachment #1.1.4: 0003-gnu-Add-meanwhile.patch --]
[-- Type: text/x-patch, Size: 1885 bytes --]

From 431e6802aa1fd5533db7b7fb695b5c840ba4e289 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <raghavgururajan@disroot.org>
Date: Sat, 28 Nov 2020 00:17:22 -0500
Subject: [PATCH 3/9] gnu: Add meanwhile.

* gnu/packages/messaging.scm (meanwhile): New variable.
---
 gnu/packages/messaging.scm | 33 +++++++++++++++++++++++++++++++++
 1 file changed, 33 insertions(+)

diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm
index c3e1f029fc..93afe7f933 100644
--- a/gnu/packages/messaging.scm
+++ b/gnu/packages/messaging.scm
@@ -125,6 +125,39 @@
   #:use-module (guix packages)
   #:use-module (guix utils))
 
+(define-public meanwhile
+  (package
+    (name "meanwhile")
+    (version "1.1.1")
+    (source
+     (origin
+       (method git-fetch)
+       (uri
+        (git-reference
+         (url "https://github.com/obriencj/meanwhile.git")
+         (commit
+          (string-append "v" version))))
+       (file-name
+        (git-file-name name version))
+       (sha256
+        (base32 "1k1gvmx1ikm0y1mdmm495rzkb00pl170jfaf2dy0n5aiiknkk7q3"))))
+    (build-system glib-or-gtk-build-system)
+    (native-inputs
+     `(("autoconf" ,autoconf)
+       ("automake" ,automake)
+       ("doxygen" ,doxygen)
+       ("libtool" ,libtool)
+       ("pkg-config" ,pkg-config)))
+    (propagated-inputs
+     `(("glib" ,glib)))
+    (synopsis "Library for Lotus Instant Messaging")
+    (description "Meanwhile is a library for connecting to a LIM (Lotus Instant
+Messaging, formerly Lotus Sametime, formerly VPBuddy) community.  It uses a
+protocol based in part off of the IMPP draft(*1), and in part off of traces of
+TCP sessions from existing clients.")
+    (home-page "https://github.com/obriencj/meanwhile")
+    (license license:lgpl3)))
+
 (define-public poezio
   (package
     (name "poezio")
-- 
2.29.2


[-- Attachment #1.1.5: 0004-gnu-Add-silc-toolkit.patch --]
[-- Type: text/x-patch, Size: 2170 bytes --]

From df0cd86a37aee77b91ca38c1fb79deef14303a6d Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <raghavgururajan@disroot.org>
Date: Sat, 28 Nov 2020 03:27:30 -0500
Subject: [PATCH 4/9] gnu: Add silc-toolkit.

* gnu/packages/messaging.scm (silc-toolkit): New variable.
---
 gnu/packages/messaging.scm | 44 ++++++++++++++++++++++++++++++++++++++
 1 file changed, 44 insertions(+)

diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm
index 93afe7f933..c4ffd39f50 100644
--- a/gnu/packages/messaging.scm
+++ b/gnu/packages/messaging.scm
@@ -125,6 +125,50 @@
   #:use-module (guix packages)
   #:use-module (guix utils))
 
+(define-public silc-toolkit
+  (package
+    (name "silc-toolkit")
+    (version "1.1.12")
+    (source
+     (origin
+       (method url-fetch)
+       (uri
+        (string-append "mirror://sourceforge/silc/silc/toolkit/sources/silc-toolkit-"
+                       version ".tar.gz"))
+       (sha256
+        (base32 "0mnvf9n7qriadg0p7a8qmvcayhnns2g9fhmcymavlm0v8xrky33y"))))
+    (build-system gnu-build-system)
+    (arguments
+     `(#:configure-flags
+       (list
+        "--disable-static"
+        "--enable-ipv6"
+        "--enable-stack-trace")
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'trigger-bootstrap
+           (lambda _
+             (delete-file "configure")
+             (delete-file "Makefile.in")
+             #t)))))
+    (native-inputs
+     `(("autoconf" ,autoconf)
+       ("automake" ,automake)
+       ("libtool" ,libtool)
+       ("perl" ,perl)
+       ("pkg-config" ,pkg-config)))
+    (synopsis "SILC ToolKit")
+    (description "SILC (Secure Internet Live Conferencing) is a modern and secure
+conferencing protocol.  It provides all the common conferencing services like
+private messages, instant messages, channels and groups, and video and audio
+conferencing.")
+    (home-page "https://silc.github.io/info")
+    (license
+     ;; Dual-licensed
+     (list
+      license:gpl2+
+      license:bsd-2))))
+
 (define-public meanwhile
   (package
     (name "meanwhile")
-- 
2.29.2


[-- Attachment #1.1.6: 0005-gnu-Add-libgadu.patch --]
[-- Type: text/x-patch, Size: 2461 bytes --]

From 577a476e8c947ff14a49f6b00d49034100ba91c4 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <raghavgururajan@disroot.org>
Date: Sat, 28 Nov 2020 21:39:15 -0500
Subject: [PATCH 5/9] gnu: Add libgadu.

* gnu/packages/messaging.scm (libgadu): New variable.
---
 gnu/packages/messaging.scm | 53 ++++++++++++++++++++++++++++++++++++++
 1 file changed, 53 insertions(+)

diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm
index c4ffd39f50..6f57a537d5 100644
--- a/gnu/packages/messaging.scm
+++ b/gnu/packages/messaging.scm
@@ -125,6 +125,59 @@
   #:use-module (guix packages)
   #:use-module (guix utils))
 
+(define-public libgadu
+  (package
+    (name "libgadu")
+    (version "1.12.2")
+    (source
+     (origin
+       (method git-fetch)
+       (uri
+        (git-reference
+         (url "https://github.com/wojtekka/libgadu.git")
+         (commit version)))
+       (file-name
+        (git-file-name name version))
+       (sha256
+        (base32 "1s16cripy5w9k12534qb012iwc5m9qcjyrywgsziyn3kl3i0aa8h"))))
+    (build-system gnu-build-system)
+    (arguments
+     `(#:configure-flags
+       (list
+        "--disable-static")
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'patch-shebangs
+           (lambda* (#:key inputs #:allow-other-keys)
+             (substitute* "protobufgen.sh"
+               (("/bin/sh")
+                (string-append (assoc-ref inputs "bash")
+                               "/bin/sh")))
+             #t)))))
+    (native-inputs
+     `(("autoconf" ,autoconf)
+       ("automake" ,automake)
+       ("bash" ,bash)
+       ("doxygen" ,doxygen)
+       ("libtool" ,libtool)
+       ("perl" ,perl)
+       ("pkg-config" ,pkg-config)))
+    (inputs
+     `(("curl" ,curl)
+       ("expat" ,expat)
+       ("libprotobuf-c" ,protobuf-c)
+       ("libxml" ,libxml2)
+       ("openssl" ,openssl)
+       ("zlib" ,zlib)))
+    (propagated-inputs
+     `(("gnutls" ,gnutls)))
+    (synopsis "Library for handling the protocol of Gadu-Gadu")
+    (description "LibGadu is library for handling Gadu-Gadu instant messenger
+protocol.  The library is written in C and aims to be operating system and
+environment independent.")
+    (home-page "https://libgadu.net/index.en.html")
+    (license license:lgpl2.1+)))
+
 (define-public silc-toolkit
   (package
     (name "silc-toolkit")
-- 
2.29.2


[-- Attachment #1.1.7: 0006-gnu-Add-libgnt.patch --]
[-- Type: text/x-patch, Size: 3480 bytes --]

From 3880462f5dbd1c43b8d717926e9a1ba77d645022 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <raghavgururajan@disroot.org>
Date: Sat, 28 Nov 2020 22:57:11 -0500
Subject: [PATCH 6/9] gnu: Add libgnt.

* gnu/packages/messaging.scm (libgnt): New variable.
---
 gnu/packages/messaging.scm | 62 ++++++++++++++++++++++++++++++++++++++
 1 file changed, 62 insertions(+)

diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm
index 6f57a537d5..695fca5f45 100644
--- a/gnu/packages/messaging.scm
+++ b/gnu/packages/messaging.scm
@@ -61,6 +61,7 @@
   #:use-module (gnu packages curl)
   #:use-module (gnu packages cyrus-sasl)
   #:use-module (gnu packages databases)
+  #:use-module (gnu packages docbook)
   #:use-module (gnu packages documentation)
   #:use-module (gnu packages enchant)
   #:use-module (gnu packages fontutils)
@@ -125,6 +126,67 @@
   #:use-module (guix packages)
   #:use-module (guix utils))
 
+(define-public libgnt
+  (package
+    (name "libgnt")
+    (version "2.14.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri
+        (string-append "mirror://sourceforge/pidgin/libgnt/"
+                       version "/libgnt-" version ".tar.xz"))
+       (sha256
+        (base32 "1grs9fxl404rscscxk1ff55fzjnwjqrisjxbasbssmcp1h1s4zkb"))))
+    (build-system meson-build-system)
+    (outputs '("out" "doc"))
+    (arguments
+     `(#:glib-or-gtk? #t     ; To wrap binaries and/or compile schemas
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'patch-ncurses-path
+           (lambda* (#:key inputs #:allow-other-keys)
+             (substitute* "meson.build"
+               (("'/usr'")
+                (string-append "'"
+                               (assoc-ref inputs "ncurses")
+                               "'")))
+             #t))
+         (add-before 'configure 'patch-docbook-xml
+           (lambda* (#:key inputs #:allow-other-keys)
+             (with-directory-excursion "doc"
+               (substitute* "libgnt-docs.xml"
+                 (("http://www.oasis-open.org/docbook/xml/4.1.2/")
+                  (string-append (assoc-ref inputs "docbook-xml")
+                                 "/xml/dtd/docbook/"))))
+             #t))
+         (add-after 'install 'move-doc
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let* ((out (assoc-ref outputs "out"))
+                    (doc (assoc-ref outputs "doc")))
+               (mkdir-p (string-append doc "/share"))
+               (rename-file
+                (string-append out "/share/gtk-doc")
+                (string-append doc "/share/gtk-doc"))
+               #t))))))
+    (native-inputs
+     `(("docbook-xml" ,docbook-xml-4.1.2)
+       ("glib:bin" ,glib "bin")
+       ("gobject-introspection" ,gobject-introspection)
+       ("gtk-doc" ,gtk-doc)
+       ("pkg-config" ,pkg-config)))
+    (inputs
+     `(("ncurses" ,ncurses)))
+    (propagated-inputs
+     `(("glib" ,glib)
+       ("libxml" ,libxml2)
+       ("python" ,python-2)))
+    (synopsis "GLib Ncurses Toolkit")
+    (description "GNT is an ncurses toolkit for creating text-mode graphical
+user interfaces in a fast and easy way.  It is based on GLib and ncurses.")
+    (home-page "https://keep.imfreedom.org/libgnt/libgnt")
+    (license license:gpl2+)))
+
 (define-public libgadu
   (package
     (name "libgadu")
-- 
2.29.2


[-- Attachment #1.1.8: 0007-gnu-pidgin-Enable-some-features.patch --]
[-- Type: text/x-patch, Size: 4465 bytes --]

From 1bd47c8d21bc1070186d638bdb884a06a0ab95d6 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <raghavgururajan@disroot.org>
Date: Tue, 24 Nov 2020 01:43:09 -0500
Subject: [PATCH 7/9] gnu: pidgin: Enable some features.

* gnu/packages/messaging.scm (pidgin) [arguments]<#:configure-flags>
[--enable-cap]: New flag.
[--enable-mono]: New flag.
[--with-tclconfig=]: New flag.
[--with-tkconfig=]: New flag.
[native-inputs]: Add graphviz. Remove python-2.
[inputs]: Add libgadu, libgnt, libx11, libxext, meanwhile, mono,
nspr, nss, pango, perl, python-2, silc-toolkit, tcl and tk.
[propagated-inputs]: Add glib.
---
 gnu/packages/messaging.scm | 47 +++++++++++++++++++++++++++++---------
 1 file changed, 36 insertions(+), 11 deletions(-)

diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm
index 695fca5f45..69e33a3e69 100644
--- a/gnu/packages/messaging.scm
+++ b/gnu/packages/messaging.scm
@@ -71,6 +71,7 @@
   #:use-module (gnu packages gnome)
   #:use-module (gnu packages gnupg)
   #:use-module (gnu packages gperf)
+  #:use-module (gnu packages graphviz)
   #:use-module (gnu packages gstreamer)
   #:use-module (gnu packages gtk)
   #:use-module (gnu packages guile)
@@ -84,9 +85,11 @@
   #:use-module (gnu packages lua)
   #:use-module (gnu packages man)
   #:use-module (gnu packages markup)
+  #:use-module (gnu packages mono)
   #:use-module (gnu packages mpd)
   #:use-module (gnu packages ncurses)
   #:use-module (gnu packages networking)
+  #:use-module (gnu packages nss)
   #:use-module (gnu packages pcre)
   #:use-module (gnu packages perl)
   #:use-module (gnu packages photo)
@@ -740,50 +743,72 @@ authentication.")
      `(#:configure-flags
        (list
         "--disable-gtkspell"
-        "--disable-tcl"
-        "--disable-meanwhile"
+        ;; "--enable-gevolution"
+        "--enable-cap"
+        "--enable-mono"
         "--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"))))
+                       "/include")
+        (string-append "--with-tclconfig="
+                       (assoc-ref %build-inputs "tcl")
+                       "/lib")
+        (string-append "--with-tkconfig="
+                       (assoc-ref %build-inputs "tk")
+                       "/lib"))))
     (native-inputs
      `(("autoconf" ,autoconf) ;; For bootstrap
        ("automake" ,automake) ;; For bootstrap
        ("check" ,check)
+       ("dot" ,graphviz)
        ("doxygen" ,doxygen)
        ("gconf" ,gconf)
        ("intltool" ,intltool)
        ("libtool" ,libtool) ;; For bootstrap
-       ("pkg-config" ,pkg-config)
-       ("python" ,python-2)))
+       ("pkg-config" ,pkg-config)))
     (inputs
      `(("avahi" ,avahi)
        ("cyrus-sasl" ,cyrus-sasl)
        ("dbus" ,dbus)
        ("dbus-glib" ,dbus-glib)
-       ;; farstream
+       ;; ("evolution-data-server" ,evolution-data-server)
+       ;; ("farstream" ,farstream)
        ("gnutls" ,gnutls)
-       ;; gstreamer
+       ;; ("gstreamer" ,gstreamer)
        ("gtk+" ,gtk+-2)
        ;; gtkspell
-       ;; libgadu
+       ("libgadu" ,libgadu)
        ("libgcrypt" ,libgcrypt)
+       ("libgnt" ,libgnt)
        ("libice" ,libice)
        ("libidn" ,libidn)
        ("libltdl" ,libltdl)
        ("libsm" ,libsm)
-       ;; libxephyr
+       ("libx11" ,libx11)
+       ("libxext" ,libxext)
        ("libxml2" ,libxml2)
        ("libxscrnsaver" ,libxscrnsaver)
        ("libxslt" ,libxslt)
-       ;; meanwhile
+       ;; libzephyr
+       ("meanwhile" ,meanwhile)
+       ("mono" ,mono)
        ("ncurses" ,ncurses)
        ("network-manager" ,network-manager)
+       ("nspr" ,nspr)
+       ("nss" ,nss)
+       ("pango" ,pango)
+       ("perl" ,perl)
+       ("python" ,python-2)
        ("python2-dbus" ,python2-dbus)
+       ("silc" ,silc-toolkit)
        ("sqlite" ,sqlite)
-       ("startup-notification" ,startup-notification)))
+       ("startup-notification" ,startup-notification)
+       ("tcl" ,tcl)
+       ("tk" ,tk)))
+    (propagated-inputs
+     `(("glib" ,glib)))
     (native-search-paths
      (list
       (search-path-specification
-- 
2.29.2


[-- Attachment #1.1.9: 0008-gnu-pidgin-Upgrade-to-2.14.1.patch --]
[-- Type: text/x-patch, Size: 4997 bytes --]

From 1a11875402c5abb066a32143ef55a6a011d73b3e Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <raghavgururajan@disroot.org>
Date: Sun, 29 Nov 2020 17:30:04 -0500
Subject: [PATCH 8/9] gnu: pidgin: Upgrade to 2.14.1.

* gnu/packages/messaging.scm (pidgin) [version]: Modify.
[source]<origin>[sha256]: Modify base32.
[patches]<search-patches>[pidgin-libnm.patch]: Remove obsolete patch.
* gnu/packages/patches/pidgin-libnm.patch: Remove file.
* gnu/local.mk (dist_patch_DATA): Remove entry.
---
 gnu/local.mk                            |  1 -
 gnu/packages/messaging.scm              | 13 +++---
 gnu/packages/patches/pidgin-libnm.patch | 60 -------------------------
 3 files changed, 5 insertions(+), 69 deletions(-)
 delete mode 100644 gnu/packages/patches/pidgin-libnm.patch

diff --git a/gnu/local.mk b/gnu/local.mk
index 14b626c600..5f118874f1 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1461,7 +1461,6 @@ dist_patch_DATA =						\
   %D%/packages/patches/picard-fix-id3-rename-test.patch		\
   %D%/packages/patches/picprog-non-intel-support.patch		\
   %D%/packages/patches/pidgin-add-search-path.patch		\
-  %D%/packages/patches/pidgin-libnm.patch			\
   %D%/packages/patches/pinball-const-fix.patch			\
   %D%/packages/patches/pinball-cstddef.patch			\
   %D%/packages/patches/pinball-missing-separators.patch		\
diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm
index 69e33a3e69..0d5ab911d4 100644
--- a/gnu/packages/messaging.scm
+++ b/gnu/packages/messaging.scm
@@ -717,25 +717,22 @@ authentication.")
 (define-public pidgin
   (package
     (name "pidgin")
-    (version "2.13.0")
+    (version "2.14.1")
     (source
      (origin
        (method url-fetch)
        (uri
         (string-append "mirror://sourceforge/pidgin/Pidgin/"
-                       version "/pidgin-" version ".tar.bz2"))
+                       version "/pidgin-" version ".tar.gz"))
        (sha256
-        (base32 "13vdqj70315p9rzgnbxjp9c51mdzf1l4jg1kvnylc4bidw61air7"))
+        (base32 "1c4dzxg9c3d9zfqqa7jwijj9rv9fm6w95igmpljwy88lxq7v5w11"))
        (patches
         (search-patches
-         "pidgin-add-search-path.patch"
-         ;; Remove the snippet and bootstrapping
-         ;; native-inputs together with this patch.
-         "pidgin-libnm.patch"))
+         "pidgin-add-search-path.patch"))
        (modules '((guix build utils)))
        (snippet
         '(begin
-           ;; Remove stale generated file after applying pidgin-libnm.patch.
+           ;; Remove stale generated file after applying patches.
            (delete-file "configure")
            #t))))
     (build-system glib-or-gtk-build-system)
diff --git a/gnu/packages/patches/pidgin-libnm.patch b/gnu/packages/patches/pidgin-libnm.patch
deleted file mode 100644
index d34af749af..0000000000
--- a/gnu/packages/patches/pidgin-libnm.patch
+++ /dev/null
@@ -1,60 +0,0 @@
-From: Tobias Geerinckx-Rice <me@tobias.gr>
-Date: Sun, 24 May 2020 16:11:01 +0200
-Subject: [PATCH] gnu: pidgin: Find libnm.
-
-Copied verbatim from[0].
-
-[0]: https://git.archlinux.org/svntogit/packages.git/plain/trunk/pidgin-nm-1.0.patch?h=packages/pidgin
-
-diff --git a/configure.ac b/configure.ac
-index 04836fa..0a2d451 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -1423,18 +1423,24 @@ fi
- dnl Check for NetworkManager.h; if we don't have it, oh well
- if test "x$enable_dbus" = "xyes" ; then
- 	if test "x$enable_nm" = "xyes" ; then
--		PKG_CHECK_MODULES(NETWORKMANAGER, [NetworkManager >= 0.5.0], [
-+		PKG_CHECK_MODULES(NETWORKMANAGER, [libnm], [
- 			AC_SUBST(NETWORKMANAGER_CFLAGS)
- 			AC_SUBST(NETWORKMANAGER_LIBS)
- 			AC_DEFINE(HAVE_NETWORKMANAGER, 1, [Define if we have NetworkManager.])
- 		], [
--			enable_nm=no
--			if test "x$force_deps" = "xyes" ; then
--				AC_MSG_ERROR([
-+			PKG_CHECK_MODULES(NETWORKMANAGER, [NetworkManager >= 0.5.0], [
-+				AC_SUBST(NETWORKMANAGER_CFLAGS)
-+				AC_SUBST(NETWORKMANAGER_LIBS)
-+				AC_DEFINE(HAVE_NETWORKMANAGER, 1, [Define if we have NetworkManager.])
-+			], [
-+				enable_nm=no
-+				if test "x$force_deps" = "xyes" ; then
-+					AC_MSG_ERROR([
- NetworkManager development headers not found.
- Use --disable-nm if you do not need NetworkManager support.
- ])
--			fi])
-+				fi])
-+		])
- 	fi
- else
- 	enable_nm=no
-diff --git a/libpurple/network.c b/libpurple/network.c
-index c43e3c7..b17e439 100644
---- a/libpurple/network.c
-+++ b/libpurple/network.c
-@@ -939,8 +939,13 @@ nm_update_state(NMState state)
- #if NM_CHECK_VERSION(0,8,992)
- 		case NM_STATE_DISCONNECTING:
- #endif
-+#if NM_CHECK_VERSION(1,0,0)
-+			if (prev != NM_STATE_CONNECTED_GLOBAL && prev != NM_STATE_UNKNOWN)
-+				break;
-+#else
- 			if (prev != NM_STATE_CONNECTED && prev != NM_STATE_UNKNOWN)
- 				break;
-+#endif
- 			if (ui_ops != NULL && ui_ops->network_disconnected != NULL)
- 				ui_ops->network_disconnected();
- 			break;
-- 
2.29.2


[-- Attachment #1.1.10: 0009-gnu-pidgin-Enable-MultiMedia-and-A-V-support.patch --]
[-- Type: text/x-patch, Size: 4655 bytes --]

From 6e3a0f648f4ce427187d20cc7e52c4723056df1d Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <raghavgururajan@disroot.org>
Date: Sun, 29 Nov 2020 17:45:19 -0500
Subject: [PATCH 9/9] gnu: pidgin: Enable MultiMedia and A/V support.

* gnu/packages/messaging.scm (pidgin) [patches]<search-patches>
[pidgin-vv-gst.patch]: New patch.
[arguments]<#:configure-flags>[--diable-vv]: Remove flag.
[--disable-gstreamer]: Remove flag.
[CFLAGS]: New flag.
[inputs]: Add farstream, gstreamer and gst-plugins-base.
* gnu/packages/patches/pidgin-vv-gst.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add entry.
---
 gnu/local.mk                             |  1 +
 gnu/packages/messaging.scm               | 16 +++++----
 gnu/packages/patches/pidgin-vv-gst.patch | 44 ++++++++++++++++++++++++
 3 files changed, 54 insertions(+), 7 deletions(-)
 create mode 100644 gnu/packages/patches/pidgin-vv-gst.patch

diff --git a/gnu/local.mk b/gnu/local.mk
index 5f118874f1..45a396368f 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1461,6 +1461,7 @@ dist_patch_DATA =						\
   %D%/packages/patches/picard-fix-id3-rename-test.patch		\
   %D%/packages/patches/picprog-non-intel-support.patch		\
   %D%/packages/patches/pidgin-add-search-path.patch		\
+  %D%/packages/patches/pidgin-vv-gst.patch                        \
   %D%/packages/patches/pinball-const-fix.patch			\
   %D%/packages/patches/pinball-cstddef.patch			\
   %D%/packages/patches/pinball-missing-separators.patch		\
diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm
index 0d5ab911d4..f1a44eb596 100644
--- a/gnu/packages/messaging.scm
+++ b/gnu/packages/messaging.scm
@@ -728,7 +728,8 @@ authentication.")
         (base32 "1c4dzxg9c3d9zfqqa7jwijj9rv9fm6w95igmpljwy88lxq7v5w11"))
        (patches
         (search-patches
-         "pidgin-add-search-path.patch"))
+         "pidgin-add-search-path.patch"
+         "pidgin-vv-gst.patch"))
        (modules '((guix build utils)))
        (snippet
         '(begin
@@ -739,12 +740,13 @@ authentication.")
     (arguments
      `(#:configure-flags
        (list
+        (string-append "CFLAGS=-I"
+                       (assoc-ref %build-inputs "gst-plugins-base")
+                       "/include/gstreamer-1.0")
         "--disable-gtkspell"
         ;; "--enable-gevolution"
         "--enable-cap"
         "--enable-mono"
-        "--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")
@@ -771,10 +773,9 @@ authentication.")
        ("dbus" ,dbus)
        ("dbus-glib" ,dbus-glib)
        ;; ("evolution-data-server" ,evolution-data-server)
-       ;; ("farstream" ,farstream)
+       ("farstream" ,farstream)
        ("gnutls" ,gnutls)
-       ;; ("gstreamer" ,gstreamer)
-       ("gtk+" ,gtk+-2)
+       ("gstreamer" ,gstreamer)
        ;; gtkspell
        ("libgadu" ,libgadu)
        ("libgcrypt" ,libgcrypt)
@@ -805,7 +806,8 @@ authentication.")
        ("tcl" ,tcl)
        ("tk" ,tk)))
     (propagated-inputs
-     `(("glib" ,glib)))
+     `(("glib" ,glib)
+        ("gtk+" ,gtk+-2)))
     (native-search-paths
      (list
       (search-path-specification
diff --git a/gnu/packages/patches/pidgin-vv-gst.patch b/gnu/packages/patches/pidgin-vv-gst.patch
new file mode 100644
index 0000000000..c30f1f9b6c
--- /dev/null
+++ b/gnu/packages/patches/pidgin-vv-gst.patch
@@ -0,0 +1,44 @@
+diff --git a/libpurple/mediamanager.c b/libpurple/mediamanager.c
+--- a/libpurple/mediamanager.c
++++ b/libpurple/mediamanager.c
+@@ -2231,6 +2231,7 @@
+ purple_media_manager_unregister_gst_device(PurpleMediaManager *manager,
+ 		GstDevice *device)
+ {
++#ifdef USE_VV
+ 	GList *i;
+ 	gchar *name;
+ 	gchar *device_class;
+@@ -2277,6 +2278,7 @@
+ 
+ 	g_free(name);
+ 	g_free(device_class);
++#endif /* USE_VV */
+ }
+ 
+ static gboolean
+@@ -2304,7 +2306,7 @@
+ static void
+ purple_media_manager_init_device_monitor(PurpleMediaManager *manager)
+ {
+-#if GST_CHECK_VERSION(1, 4, 0)
++#if GST_CHECK_VERSION(1, 4, 0) && defined(USE_VV)
+ 	GstBus *bus;
+ 	GList *i;
+ 
+@@ -2334,6 +2336,7 @@
+ 		PurpleMediaElementType type)
+ {
+ 	GList *result = NULL;
++#ifdef USE_VV
+ 	GList *i;
+ 
+ 	for (i = manager->priv->elements; i; i = i->next) {
+@@ -2347,6 +2350,7 @@
+ 			result = g_list_prepend(result, info);
+ 		}
+ 	}
++#endif /* USE_VV */
+ 
+ 	return result;
+ }
-- 
2.29.2


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 236 bytes --]

^ permalink raw reply related	[flat|nested] 11+ messages in thread

* [bug#44957] [PIDGIN]: v3
  2020-11-30  0:54 [bug#44957] Pidgin Raghav Gururajan
  2020-11-30  3:46 ` [bug#44957] [PIDGIN]: v2 Raghav Gururajan
@ 2020-11-30  6:22 ` Raghav Gururajan
  2020-11-30  9:16   ` Danny Milosavljevic
  2020-12-01 22:42 ` [bug#44957] [PIDGIN]: v4 Raghav Gururajan
  2 siblings, 1 reply; 11+ messages in thread
From: Raghav Gururajan @ 2020-11-30  6:22 UTC (permalink / raw)
  To: 44957


[-- Attachment #1.1.1: Type: text/plain, Size: 14 bytes --]

Patch-set v3

[-- Attachment #1.1.2: 0001-gnu-pidgin-Make-some-cosmetic-changes.patch --]
[-- Type: text/x-patch, Size: 4553 bytes --]

From e4ab6260d80ef23b4f06fa37a0ad7e3fdf69e440 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <raghavgururajan@disroot.org>
Date: Mon, 23 Nov 2020 23:41:21 -0500
Subject: [PATCH 01/14] gnu: pidgin: Make some cosmetic changes.

* gnu/packages/messaging.scm (pidgin): Make some cosmetic changes.
---
 gnu/packages/messaging.scm | 58 +++++++++++++++++++++-----------------
 1 file changed, 32 insertions(+), 26 deletions(-)

diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm
index cb1cdc4b5c..dcafd2435b 100644
--- a/gnu/packages/messaging.scm
+++ b/gnu/packages/messaging.scm
@@ -526,14 +526,17 @@ authentication.")
     (source
      (origin
        (method url-fetch)
-       (uri (string-append "mirror://sourceforge/pidgin/Pidgin/"
-                           version "/pidgin-" version ".tar.bz2"))
+       (uri
+        (string-append "mirror://sourceforge/pidgin/Pidgin/"
+                       version "/pidgin-" version ".tar.bz2"))
        (sha256
         (base32 "13vdqj70315p9rzgnbxjp9c51mdzf1l4jg1kvnylc4bidw61air7"))
-       (patches (search-patches "pidgin-add-search-path.patch"
-                                ;; Remove the snippet and bootstrapping
-                                ;; native-inputs together with this patch.
-                                "pidgin-libnm.patch"))
+       (patches
+        (search-patches
+         "pidgin-add-search-path.patch"
+         ;; Remove the snippet and bootstrapping
+         ;; native-inputs together with this patch.
+         "pidgin-libnm.patch"))
        (modules '((guix build utils)))
        (snippet
         '(begin
@@ -541,6 +544,18 @@ authentication.")
            (delete-file "configure")
            #t))))
     (build-system glib-or-gtk-build-system)
+    (arguments
+     `(#:configure-flags
+       (list
+        "--disable-gtkspell"
+        "--disable-tcl"
+        "--disable-meanwhile"
+        "--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-inputs
      `(("pkg-config" ,pkg-config)
        ("check" ,check)
@@ -548,7 +563,6 @@ authentication.")
        ("gconf" ,gconf)
        ("python" ,python-2)
        ("doxygen" ,doxygen)
-
        ;; For bootstrapping after applying pidgin-libnm.patch.
        ("autoconf" ,autoconf)
        ("automake" ,automake)
@@ -579,32 +593,24 @@ authentication.")
        ("libsm" ,libsm)
        ("libxscrnsaver" ,libxscrnsaver)
        ("startup-notification" ,startup-notification)))
-    (arguments
-     `(#:configure-flags
-       (list "--disable-gtkspell"
-             "--disable-tcl"
-             "--disable-meanwhile"
-             "--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-major version))
-                         "lib/pidgin")))))
-    (home-page "https://www.pidgin.im/")
+     (list
+      (search-path-specification
+       (variable "PURPLE_PLUGIN_PATH")
+       (files
+        (list
+         (string-append "lib/purple-"
+                        (version-major version))
+         "lib/pidgin")))))
     (synopsis "Graphical multi-protocol instant messaging client")
     (description
      "Pidgin is a modular instant messaging client that supports many popular
 chat protocols.")
+    (home-page "https://www.pidgin.im/")
     (license
      (list
-      license:gpl2+    ; Most of the code
-      license:lgpl2.1  ; GG protocol plugin (libpurple/protocols/gg/lib)
+      license:gpl2+   ; Most of the code
+      license:lgpl2.1 ; GG protocol plugin (libpurple/protocols/gg/lib)
       license:lgpl2.0+ ; OSCAR protocol plugin (libpurple/protocols/oscar)
       ;; The following licenses cover the zephyr protocol plugin:
       (license:non-copyleft
-- 
2.29.2


[-- Attachment #1.1.3: 0002-gnu-pidgin-Re-arrange-inputs-in-alphabetical-order.patch --]
[-- Type: text/x-patch, Size: 2701 bytes --]

From 2f1af105a621398145a3a91a71292e28ac08f83a Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <raghavgururajan@disroot.org>
Date: Mon, 23 Nov 2020 23:58:08 -0500
Subject: [PATCH 02/14] gnu: pidgin: Re-arrange inputs in alphabetical order.

* gnu/packages/messaging.scm (pidgin) [native-inputs]: Re-order.
[inputs]: Re-order.
---
 gnu/packages/messaging.scm | 43 +++++++++++++++++++-------------------
 1 file changed, 21 insertions(+), 22 deletions(-)

diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm
index dcafd2435b..c3e1f029fc 100644
--- a/gnu/packages/messaging.scm
+++ b/gnu/packages/messaging.scm
@@ -557,41 +557,40 @@ authentication.")
                        (assoc-ref %build-inputs "ncurses")
                        "/include"))))
     (native-inputs
-     `(("pkg-config" ,pkg-config)
+     `(("autoconf" ,autoconf) ;; For bootstrap
+       ("automake" ,automake) ;; For bootstrap
        ("check" ,check)
-       ("intltool" ,intltool)
-       ("gconf" ,gconf)
-       ("python" ,python-2)
        ("doxygen" ,doxygen)
-       ;; For bootstrapping after applying pidgin-libnm.patch.
-       ("autoconf" ,autoconf)
-       ("automake" ,automake)
-       ("libtool" ,libtool)))
+       ("gconf" ,gconf)
+       ("intltool" ,intltool)
+       ("libtool" ,libtool) ;; For bootstrap
+       ("pkg-config" ,pkg-config)
+       ("python" ,python-2)))
     (inputs
-     `(("gtk+" ,gtk+-2)
-       ("libgcrypt" ,libgcrypt)
-       ("gnutls" ,gnutls)
+     `(("avahi" ,avahi)
        ("cyrus-sasl" ,cyrus-sasl)
        ("dbus" ,dbus)
        ("dbus-glib" ,dbus-glib)
-       ("python2-dbus" ,python2-dbus)
+       ;; farstream
+       ("gnutls" ,gnutls)
+       ;; gstreamer
+       ("gtk+" ,gtk+-2)
+       ;; gtkspell
+       ;; libgadu
+       ("libgcrypt" ,libgcrypt)
+       ("libice" ,libice)
        ("libidn" ,libidn)
        ("libltdl" ,libltdl)
+       ("libsm" ,libsm)
+       ;; libxephyr
        ("libxml2" ,libxml2)
-       ;; TODO: gstreamer: patches needed to support gstreamer-1.0 or later
-       ;; TODO: farstream
-       ;; TODO: meanwhile
-       ;; TODO: gtkspell
-       ;; TODO: libxephyr
-       ;; TODO: libgadu
+       ("libxscrnsaver" ,libxscrnsaver)
        ("libxslt" ,libxslt)
-       ("avahi" ,avahi)
+       ;; meanwhile
        ("ncurses" ,ncurses)
        ("network-manager" ,network-manager)
+       ("python2-dbus" ,python2-dbus)
        ("sqlite" ,sqlite)
-       ("libice" ,libice)
-       ("libsm" ,libsm)
-       ("libxscrnsaver" ,libxscrnsaver)
        ("startup-notification" ,startup-notification)))
     (native-search-paths
      (list
-- 
2.29.2


[-- Attachment #1.1.4: 0003-gnu-Add-meanwhile.patch --]
[-- Type: text/x-patch, Size: 1887 bytes --]

From 431e6802aa1fd5533db7b7fb695b5c840ba4e289 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <raghavgururajan@disroot.org>
Date: Sat, 28 Nov 2020 00:17:22 -0500
Subject: [PATCH 03/14] gnu: Add meanwhile.

* gnu/packages/messaging.scm (meanwhile): New variable.
---
 gnu/packages/messaging.scm | 33 +++++++++++++++++++++++++++++++++
 1 file changed, 33 insertions(+)

diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm
index c3e1f029fc..93afe7f933 100644
--- a/gnu/packages/messaging.scm
+++ b/gnu/packages/messaging.scm
@@ -125,6 +125,39 @@
   #:use-module (guix packages)
   #:use-module (guix utils))
 
+(define-public meanwhile
+  (package
+    (name "meanwhile")
+    (version "1.1.1")
+    (source
+     (origin
+       (method git-fetch)
+       (uri
+        (git-reference
+         (url "https://github.com/obriencj/meanwhile.git")
+         (commit
+          (string-append "v" version))))
+       (file-name
+        (git-file-name name version))
+       (sha256
+        (base32 "1k1gvmx1ikm0y1mdmm495rzkb00pl170jfaf2dy0n5aiiknkk7q3"))))
+    (build-system glib-or-gtk-build-system)
+    (native-inputs
+     `(("autoconf" ,autoconf)
+       ("automake" ,automake)
+       ("doxygen" ,doxygen)
+       ("libtool" ,libtool)
+       ("pkg-config" ,pkg-config)))
+    (propagated-inputs
+     `(("glib" ,glib)))
+    (synopsis "Library for Lotus Instant Messaging")
+    (description "Meanwhile is a library for connecting to a LIM (Lotus Instant
+Messaging, formerly Lotus Sametime, formerly VPBuddy) community.  It uses a
+protocol based in part off of the IMPP draft(*1), and in part off of traces of
+TCP sessions from existing clients.")
+    (home-page "https://github.com/obriencj/meanwhile")
+    (license license:lgpl3)))
+
 (define-public poezio
   (package
     (name "poezio")
-- 
2.29.2


[-- Attachment #1.1.5: 0004-gnu-Add-silc-toolkit.patch --]
[-- Type: text/x-patch, Size: 2172 bytes --]

From df0cd86a37aee77b91ca38c1fb79deef14303a6d Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <raghavgururajan@disroot.org>
Date: Sat, 28 Nov 2020 03:27:30 -0500
Subject: [PATCH 04/14] gnu: Add silc-toolkit.

* gnu/packages/messaging.scm (silc-toolkit): New variable.
---
 gnu/packages/messaging.scm | 44 ++++++++++++++++++++++++++++++++++++++
 1 file changed, 44 insertions(+)

diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm
index 93afe7f933..c4ffd39f50 100644
--- a/gnu/packages/messaging.scm
+++ b/gnu/packages/messaging.scm
@@ -125,6 +125,50 @@
   #:use-module (guix packages)
   #:use-module (guix utils))
 
+(define-public silc-toolkit
+  (package
+    (name "silc-toolkit")
+    (version "1.1.12")
+    (source
+     (origin
+       (method url-fetch)
+       (uri
+        (string-append "mirror://sourceforge/silc/silc/toolkit/sources/silc-toolkit-"
+                       version ".tar.gz"))
+       (sha256
+        (base32 "0mnvf9n7qriadg0p7a8qmvcayhnns2g9fhmcymavlm0v8xrky33y"))))
+    (build-system gnu-build-system)
+    (arguments
+     `(#:configure-flags
+       (list
+        "--disable-static"
+        "--enable-ipv6"
+        "--enable-stack-trace")
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'trigger-bootstrap
+           (lambda _
+             (delete-file "configure")
+             (delete-file "Makefile.in")
+             #t)))))
+    (native-inputs
+     `(("autoconf" ,autoconf)
+       ("automake" ,automake)
+       ("libtool" ,libtool)
+       ("perl" ,perl)
+       ("pkg-config" ,pkg-config)))
+    (synopsis "SILC ToolKit")
+    (description "SILC (Secure Internet Live Conferencing) is a modern and secure
+conferencing protocol.  It provides all the common conferencing services like
+private messages, instant messages, channels and groups, and video and audio
+conferencing.")
+    (home-page "https://silc.github.io/info")
+    (license
+     ;; Dual-licensed
+     (list
+      license:gpl2+
+      license:bsd-2))))
+
 (define-public meanwhile
   (package
     (name "meanwhile")
-- 
2.29.2


[-- Attachment #1.1.6: 0005-gnu-Add-libgadu.patch --]
[-- Type: text/x-patch, Size: 2463 bytes --]

From 577a476e8c947ff14a49f6b00d49034100ba91c4 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <raghavgururajan@disroot.org>
Date: Sat, 28 Nov 2020 21:39:15 -0500
Subject: [PATCH 05/14] gnu: Add libgadu.

* gnu/packages/messaging.scm (libgadu): New variable.
---
 gnu/packages/messaging.scm | 53 ++++++++++++++++++++++++++++++++++++++
 1 file changed, 53 insertions(+)

diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm
index c4ffd39f50..6f57a537d5 100644
--- a/gnu/packages/messaging.scm
+++ b/gnu/packages/messaging.scm
@@ -125,6 +125,59 @@
   #:use-module (guix packages)
   #:use-module (guix utils))
 
+(define-public libgadu
+  (package
+    (name "libgadu")
+    (version "1.12.2")
+    (source
+     (origin
+       (method git-fetch)
+       (uri
+        (git-reference
+         (url "https://github.com/wojtekka/libgadu.git")
+         (commit version)))
+       (file-name
+        (git-file-name name version))
+       (sha256
+        (base32 "1s16cripy5w9k12534qb012iwc5m9qcjyrywgsziyn3kl3i0aa8h"))))
+    (build-system gnu-build-system)
+    (arguments
+     `(#:configure-flags
+       (list
+        "--disable-static")
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'patch-shebangs
+           (lambda* (#:key inputs #:allow-other-keys)
+             (substitute* "protobufgen.sh"
+               (("/bin/sh")
+                (string-append (assoc-ref inputs "bash")
+                               "/bin/sh")))
+             #t)))))
+    (native-inputs
+     `(("autoconf" ,autoconf)
+       ("automake" ,automake)
+       ("bash" ,bash)
+       ("doxygen" ,doxygen)
+       ("libtool" ,libtool)
+       ("perl" ,perl)
+       ("pkg-config" ,pkg-config)))
+    (inputs
+     `(("curl" ,curl)
+       ("expat" ,expat)
+       ("libprotobuf-c" ,protobuf-c)
+       ("libxml" ,libxml2)
+       ("openssl" ,openssl)
+       ("zlib" ,zlib)))
+    (propagated-inputs
+     `(("gnutls" ,gnutls)))
+    (synopsis "Library for handling the protocol of Gadu-Gadu")
+    (description "LibGadu is library for handling Gadu-Gadu instant messenger
+protocol.  The library is written in C and aims to be operating system and
+environment independent.")
+    (home-page "https://libgadu.net/index.en.html")
+    (license license:lgpl2.1+)))
+
 (define-public silc-toolkit
   (package
     (name "silc-toolkit")
-- 
2.29.2


[-- Attachment #1.1.7: 0006-gnu-Add-libgnt.patch --]
[-- Type: text/x-patch, Size: 3482 bytes --]

From 3880462f5dbd1c43b8d717926e9a1ba77d645022 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <raghavgururajan@disroot.org>
Date: Sat, 28 Nov 2020 22:57:11 -0500
Subject: [PATCH 06/14] gnu: Add libgnt.

* gnu/packages/messaging.scm (libgnt): New variable.
---
 gnu/packages/messaging.scm | 62 ++++++++++++++++++++++++++++++++++++++
 1 file changed, 62 insertions(+)

diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm
index 6f57a537d5..695fca5f45 100644
--- a/gnu/packages/messaging.scm
+++ b/gnu/packages/messaging.scm
@@ -61,6 +61,7 @@
   #:use-module (gnu packages curl)
   #:use-module (gnu packages cyrus-sasl)
   #:use-module (gnu packages databases)
+  #:use-module (gnu packages docbook)
   #:use-module (gnu packages documentation)
   #:use-module (gnu packages enchant)
   #:use-module (gnu packages fontutils)
@@ -125,6 +126,67 @@
   #:use-module (guix packages)
   #:use-module (guix utils))
 
+(define-public libgnt
+  (package
+    (name "libgnt")
+    (version "2.14.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri
+        (string-append "mirror://sourceforge/pidgin/libgnt/"
+                       version "/libgnt-" version ".tar.xz"))
+       (sha256
+        (base32 "1grs9fxl404rscscxk1ff55fzjnwjqrisjxbasbssmcp1h1s4zkb"))))
+    (build-system meson-build-system)
+    (outputs '("out" "doc"))
+    (arguments
+     `(#:glib-or-gtk? #t     ; To wrap binaries and/or compile schemas
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'patch-ncurses-path
+           (lambda* (#:key inputs #:allow-other-keys)
+             (substitute* "meson.build"
+               (("'/usr'")
+                (string-append "'"
+                               (assoc-ref inputs "ncurses")
+                               "'")))
+             #t))
+         (add-before 'configure 'patch-docbook-xml
+           (lambda* (#:key inputs #:allow-other-keys)
+             (with-directory-excursion "doc"
+               (substitute* "libgnt-docs.xml"
+                 (("http://www.oasis-open.org/docbook/xml/4.1.2/")
+                  (string-append (assoc-ref inputs "docbook-xml")
+                                 "/xml/dtd/docbook/"))))
+             #t))
+         (add-after 'install 'move-doc
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let* ((out (assoc-ref outputs "out"))
+                    (doc (assoc-ref outputs "doc")))
+               (mkdir-p (string-append doc "/share"))
+               (rename-file
+                (string-append out "/share/gtk-doc")
+                (string-append doc "/share/gtk-doc"))
+               #t))))))
+    (native-inputs
+     `(("docbook-xml" ,docbook-xml-4.1.2)
+       ("glib:bin" ,glib "bin")
+       ("gobject-introspection" ,gobject-introspection)
+       ("gtk-doc" ,gtk-doc)
+       ("pkg-config" ,pkg-config)))
+    (inputs
+     `(("ncurses" ,ncurses)))
+    (propagated-inputs
+     `(("glib" ,glib)
+       ("libxml" ,libxml2)
+       ("python" ,python-2)))
+    (synopsis "GLib Ncurses Toolkit")
+    (description "GNT is an ncurses toolkit for creating text-mode graphical
+user interfaces in a fast and easy way.  It is based on GLib and ncurses.")
+    (home-page "https://keep.imfreedom.org/libgnt/libgnt")
+    (license license:gpl2+)))
+
 (define-public libgadu
   (package
     (name "libgadu")
-- 
2.29.2


[-- Attachment #1.1.8: 0007-gnu-pidgin-Enable-some-features.patch --]
[-- Type: text/x-patch, Size: 4467 bytes --]

From 1bd47c8d21bc1070186d638bdb884a06a0ab95d6 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <raghavgururajan@disroot.org>
Date: Tue, 24 Nov 2020 01:43:09 -0500
Subject: [PATCH 07/14] gnu: pidgin: Enable some features.

* gnu/packages/messaging.scm (pidgin) [arguments]<#:configure-flags>
[--enable-cap]: New flag.
[--enable-mono]: New flag.
[--with-tclconfig=]: New flag.
[--with-tkconfig=]: New flag.
[native-inputs]: Add graphviz. Remove python-2.
[inputs]: Add libgadu, libgnt, libx11, libxext, meanwhile, mono,
nspr, nss, pango, perl, python-2, silc-toolkit, tcl and tk.
[propagated-inputs]: Add glib.
---
 gnu/packages/messaging.scm | 47 +++++++++++++++++++++++++++++---------
 1 file changed, 36 insertions(+), 11 deletions(-)

diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm
index 695fca5f45..69e33a3e69 100644
--- a/gnu/packages/messaging.scm
+++ b/gnu/packages/messaging.scm
@@ -71,6 +71,7 @@
   #:use-module (gnu packages gnome)
   #:use-module (gnu packages gnupg)
   #:use-module (gnu packages gperf)
+  #:use-module (gnu packages graphviz)
   #:use-module (gnu packages gstreamer)
   #:use-module (gnu packages gtk)
   #:use-module (gnu packages guile)
@@ -84,9 +85,11 @@
   #:use-module (gnu packages lua)
   #:use-module (gnu packages man)
   #:use-module (gnu packages markup)
+  #:use-module (gnu packages mono)
   #:use-module (gnu packages mpd)
   #:use-module (gnu packages ncurses)
   #:use-module (gnu packages networking)
+  #:use-module (gnu packages nss)
   #:use-module (gnu packages pcre)
   #:use-module (gnu packages perl)
   #:use-module (gnu packages photo)
@@ -740,50 +743,72 @@ authentication.")
      `(#:configure-flags
        (list
         "--disable-gtkspell"
-        "--disable-tcl"
-        "--disable-meanwhile"
+        ;; "--enable-gevolution"
+        "--enable-cap"
+        "--enable-mono"
         "--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"))))
+                       "/include")
+        (string-append "--with-tclconfig="
+                       (assoc-ref %build-inputs "tcl")
+                       "/lib")
+        (string-append "--with-tkconfig="
+                       (assoc-ref %build-inputs "tk")
+                       "/lib"))))
     (native-inputs
      `(("autoconf" ,autoconf) ;; For bootstrap
        ("automake" ,automake) ;; For bootstrap
        ("check" ,check)
+       ("dot" ,graphviz)
        ("doxygen" ,doxygen)
        ("gconf" ,gconf)
        ("intltool" ,intltool)
        ("libtool" ,libtool) ;; For bootstrap
-       ("pkg-config" ,pkg-config)
-       ("python" ,python-2)))
+       ("pkg-config" ,pkg-config)))
     (inputs
      `(("avahi" ,avahi)
        ("cyrus-sasl" ,cyrus-sasl)
        ("dbus" ,dbus)
        ("dbus-glib" ,dbus-glib)
-       ;; farstream
+       ;; ("evolution-data-server" ,evolution-data-server)
+       ;; ("farstream" ,farstream)
        ("gnutls" ,gnutls)
-       ;; gstreamer
+       ;; ("gstreamer" ,gstreamer)
        ("gtk+" ,gtk+-2)
        ;; gtkspell
-       ;; libgadu
+       ("libgadu" ,libgadu)
        ("libgcrypt" ,libgcrypt)
+       ("libgnt" ,libgnt)
        ("libice" ,libice)
        ("libidn" ,libidn)
        ("libltdl" ,libltdl)
        ("libsm" ,libsm)
-       ;; libxephyr
+       ("libx11" ,libx11)
+       ("libxext" ,libxext)
        ("libxml2" ,libxml2)
        ("libxscrnsaver" ,libxscrnsaver)
        ("libxslt" ,libxslt)
-       ;; meanwhile
+       ;; libzephyr
+       ("meanwhile" ,meanwhile)
+       ("mono" ,mono)
        ("ncurses" ,ncurses)
        ("network-manager" ,network-manager)
+       ("nspr" ,nspr)
+       ("nss" ,nss)
+       ("pango" ,pango)
+       ("perl" ,perl)
+       ("python" ,python-2)
        ("python2-dbus" ,python2-dbus)
+       ("silc" ,silc-toolkit)
        ("sqlite" ,sqlite)
-       ("startup-notification" ,startup-notification)))
+       ("startup-notification" ,startup-notification)
+       ("tcl" ,tcl)
+       ("tk" ,tk)))
+    (propagated-inputs
+     `(("glib" ,glib)))
     (native-search-paths
      (list
       (search-path-specification
-- 
2.29.2


[-- Attachment #1.1.9: 0008-gnu-pidgin-Upgrade-to-2.14.1.patch --]
[-- Type: text/x-patch, Size: 4999 bytes --]

From 1a11875402c5abb066a32143ef55a6a011d73b3e Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <raghavgururajan@disroot.org>
Date: Sun, 29 Nov 2020 17:30:04 -0500
Subject: [PATCH 08/14] gnu: pidgin: Upgrade to 2.14.1.

* gnu/packages/messaging.scm (pidgin) [version]: Modify.
[source]<origin>[sha256]: Modify base32.
[patches]<search-patches>[pidgin-libnm.patch]: Remove obsolete patch.
* gnu/packages/patches/pidgin-libnm.patch: Remove file.
* gnu/local.mk (dist_patch_DATA): Remove entry.
---
 gnu/local.mk                            |  1 -
 gnu/packages/messaging.scm              | 13 +++---
 gnu/packages/patches/pidgin-libnm.patch | 60 -------------------------
 3 files changed, 5 insertions(+), 69 deletions(-)
 delete mode 100644 gnu/packages/patches/pidgin-libnm.patch

diff --git a/gnu/local.mk b/gnu/local.mk
index 14b626c600..5f118874f1 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1461,7 +1461,6 @@ dist_patch_DATA =						\
   %D%/packages/patches/picard-fix-id3-rename-test.patch		\
   %D%/packages/patches/picprog-non-intel-support.patch		\
   %D%/packages/patches/pidgin-add-search-path.patch		\
-  %D%/packages/patches/pidgin-libnm.patch			\
   %D%/packages/patches/pinball-const-fix.patch			\
   %D%/packages/patches/pinball-cstddef.patch			\
   %D%/packages/patches/pinball-missing-separators.patch		\
diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm
index 69e33a3e69..0d5ab911d4 100644
--- a/gnu/packages/messaging.scm
+++ b/gnu/packages/messaging.scm
@@ -717,25 +717,22 @@ authentication.")
 (define-public pidgin
   (package
     (name "pidgin")
-    (version "2.13.0")
+    (version "2.14.1")
     (source
      (origin
        (method url-fetch)
        (uri
         (string-append "mirror://sourceforge/pidgin/Pidgin/"
-                       version "/pidgin-" version ".tar.bz2"))
+                       version "/pidgin-" version ".tar.gz"))
        (sha256
-        (base32 "13vdqj70315p9rzgnbxjp9c51mdzf1l4jg1kvnylc4bidw61air7"))
+        (base32 "1c4dzxg9c3d9zfqqa7jwijj9rv9fm6w95igmpljwy88lxq7v5w11"))
        (patches
         (search-patches
-         "pidgin-add-search-path.patch"
-         ;; Remove the snippet and bootstrapping
-         ;; native-inputs together with this patch.
-         "pidgin-libnm.patch"))
+         "pidgin-add-search-path.patch"))
        (modules '((guix build utils)))
        (snippet
         '(begin
-           ;; Remove stale generated file after applying pidgin-libnm.patch.
+           ;; Remove stale generated file after applying patches.
            (delete-file "configure")
            #t))))
     (build-system glib-or-gtk-build-system)
diff --git a/gnu/packages/patches/pidgin-libnm.patch b/gnu/packages/patches/pidgin-libnm.patch
deleted file mode 100644
index d34af749af..0000000000
--- a/gnu/packages/patches/pidgin-libnm.patch
+++ /dev/null
@@ -1,60 +0,0 @@
-From: Tobias Geerinckx-Rice <me@tobias.gr>
-Date: Sun, 24 May 2020 16:11:01 +0200
-Subject: [PATCH] gnu: pidgin: Find libnm.
-
-Copied verbatim from[0].
-
-[0]: https://git.archlinux.org/svntogit/packages.git/plain/trunk/pidgin-nm-1.0.patch?h=packages/pidgin
-
-diff --git a/configure.ac b/configure.ac
-index 04836fa..0a2d451 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -1423,18 +1423,24 @@ fi
- dnl Check for NetworkManager.h; if we don't have it, oh well
- if test "x$enable_dbus" = "xyes" ; then
- 	if test "x$enable_nm" = "xyes" ; then
--		PKG_CHECK_MODULES(NETWORKMANAGER, [NetworkManager >= 0.5.0], [
-+		PKG_CHECK_MODULES(NETWORKMANAGER, [libnm], [
- 			AC_SUBST(NETWORKMANAGER_CFLAGS)
- 			AC_SUBST(NETWORKMANAGER_LIBS)
- 			AC_DEFINE(HAVE_NETWORKMANAGER, 1, [Define if we have NetworkManager.])
- 		], [
--			enable_nm=no
--			if test "x$force_deps" = "xyes" ; then
--				AC_MSG_ERROR([
-+			PKG_CHECK_MODULES(NETWORKMANAGER, [NetworkManager >= 0.5.0], [
-+				AC_SUBST(NETWORKMANAGER_CFLAGS)
-+				AC_SUBST(NETWORKMANAGER_LIBS)
-+				AC_DEFINE(HAVE_NETWORKMANAGER, 1, [Define if we have NetworkManager.])
-+			], [
-+				enable_nm=no
-+				if test "x$force_deps" = "xyes" ; then
-+					AC_MSG_ERROR([
- NetworkManager development headers not found.
- Use --disable-nm if you do not need NetworkManager support.
- ])
--			fi])
-+				fi])
-+		])
- 	fi
- else
- 	enable_nm=no
-diff --git a/libpurple/network.c b/libpurple/network.c
-index c43e3c7..b17e439 100644
---- a/libpurple/network.c
-+++ b/libpurple/network.c
-@@ -939,8 +939,13 @@ nm_update_state(NMState state)
- #if NM_CHECK_VERSION(0,8,992)
- 		case NM_STATE_DISCONNECTING:
- #endif
-+#if NM_CHECK_VERSION(1,0,0)
-+			if (prev != NM_STATE_CONNECTED_GLOBAL && prev != NM_STATE_UNKNOWN)
-+				break;
-+#else
- 			if (prev != NM_STATE_CONNECTED && prev != NM_STATE_UNKNOWN)
- 				break;
-+#endif
- 			if (ui_ops != NULL && ui_ops->network_disconnected != NULL)
- 				ui_ops->network_disconnected();
- 			break;
-- 
2.29.2


[-- Attachment #1.1.10: 0009-gnu-pidgin-Enable-MultiMedia-and-A-V-support.patch --]
[-- Type: text/x-patch, Size: 4657 bytes --]

From 6e3a0f648f4ce427187d20cc7e52c4723056df1d Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <raghavgururajan@disroot.org>
Date: Sun, 29 Nov 2020 17:45:19 -0500
Subject: [PATCH 09/14] gnu: pidgin: Enable MultiMedia and A/V support.

* gnu/packages/messaging.scm (pidgin) [patches]<search-patches>
[pidgin-vv-gst.patch]: New patch.
[arguments]<#:configure-flags>[--diable-vv]: Remove flag.
[--disable-gstreamer]: Remove flag.
[CFLAGS]: New flag.
[inputs]: Add farstream, gstreamer and gst-plugins-base.
* gnu/packages/patches/pidgin-vv-gst.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add entry.
---
 gnu/local.mk                             |  1 +
 gnu/packages/messaging.scm               | 16 +++++----
 gnu/packages/patches/pidgin-vv-gst.patch | 44 ++++++++++++++++++++++++
 3 files changed, 54 insertions(+), 7 deletions(-)
 create mode 100644 gnu/packages/patches/pidgin-vv-gst.patch

diff --git a/gnu/local.mk b/gnu/local.mk
index 5f118874f1..45a396368f 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1461,6 +1461,7 @@ dist_patch_DATA =						\
   %D%/packages/patches/picard-fix-id3-rename-test.patch		\
   %D%/packages/patches/picprog-non-intel-support.patch		\
   %D%/packages/patches/pidgin-add-search-path.patch		\
+  %D%/packages/patches/pidgin-vv-gst.patch                        \
   %D%/packages/patches/pinball-const-fix.patch			\
   %D%/packages/patches/pinball-cstddef.patch			\
   %D%/packages/patches/pinball-missing-separators.patch		\
diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm
index 0d5ab911d4..f1a44eb596 100644
--- a/gnu/packages/messaging.scm
+++ b/gnu/packages/messaging.scm
@@ -728,7 +728,8 @@ authentication.")
         (base32 "1c4dzxg9c3d9zfqqa7jwijj9rv9fm6w95igmpljwy88lxq7v5w11"))
        (patches
         (search-patches
-         "pidgin-add-search-path.patch"))
+         "pidgin-add-search-path.patch"
+         "pidgin-vv-gst.patch"))
        (modules '((guix build utils)))
        (snippet
         '(begin
@@ -739,12 +740,13 @@ authentication.")
     (arguments
      `(#:configure-flags
        (list
+        (string-append "CFLAGS=-I"
+                       (assoc-ref %build-inputs "gst-plugins-base")
+                       "/include/gstreamer-1.0")
         "--disable-gtkspell"
         ;; "--enable-gevolution"
         "--enable-cap"
         "--enable-mono"
-        "--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")
@@ -771,10 +773,9 @@ authentication.")
        ("dbus" ,dbus)
        ("dbus-glib" ,dbus-glib)
        ;; ("evolution-data-server" ,evolution-data-server)
-       ;; ("farstream" ,farstream)
+       ("farstream" ,farstream)
        ("gnutls" ,gnutls)
-       ;; ("gstreamer" ,gstreamer)
-       ("gtk+" ,gtk+-2)
+       ("gstreamer" ,gstreamer)
        ;; gtkspell
        ("libgadu" ,libgadu)
        ("libgcrypt" ,libgcrypt)
@@ -805,7 +806,8 @@ authentication.")
        ("tcl" ,tcl)
        ("tk" ,tk)))
     (propagated-inputs
-     `(("glib" ,glib)))
+     `(("glib" ,glib)
+        ("gtk+" ,gtk+-2)))
     (native-search-paths
      (list
       (search-path-specification
diff --git a/gnu/packages/patches/pidgin-vv-gst.patch b/gnu/packages/patches/pidgin-vv-gst.patch
new file mode 100644
index 0000000000..c30f1f9b6c
--- /dev/null
+++ b/gnu/packages/patches/pidgin-vv-gst.patch
@@ -0,0 +1,44 @@
+diff --git a/libpurple/mediamanager.c b/libpurple/mediamanager.c
+--- a/libpurple/mediamanager.c
++++ b/libpurple/mediamanager.c
+@@ -2231,6 +2231,7 @@
+ purple_media_manager_unregister_gst_device(PurpleMediaManager *manager,
+ 		GstDevice *device)
+ {
++#ifdef USE_VV
+ 	GList *i;
+ 	gchar *name;
+ 	gchar *device_class;
+@@ -2277,6 +2278,7 @@
+ 
+ 	g_free(name);
+ 	g_free(device_class);
++#endif /* USE_VV */
+ }
+ 
+ static gboolean
+@@ -2304,7 +2306,7 @@
+ static void
+ purple_media_manager_init_device_monitor(PurpleMediaManager *manager)
+ {
+-#if GST_CHECK_VERSION(1, 4, 0)
++#if GST_CHECK_VERSION(1, 4, 0) && defined(USE_VV)
+ 	GstBus *bus;
+ 	GList *i;
+ 
+@@ -2334,6 +2336,7 @@
+ 		PurpleMediaElementType type)
+ {
+ 	GList *result = NULL;
++#ifdef USE_VV
+ 	GList *i;
+ 
+ 	for (i = manager->priv->elements; i; i = i->next) {
+@@ -2347,6 +2350,7 @@
+ 			result = g_list_prepend(result, info);
+ 		}
+ 	}
++#endif /* USE_VV */
+ 
+ 	return result;
+ }
-- 
2.29.2


[-- Attachment #1.1.11: 0010-gnu-libotr-Make-some-cosmetic-changes.patch --]
[-- Type: text/x-patch, Size: 3606 bytes --]

From db49addd88a3f2352df75d7a12a51e6d174c83e8 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <raghavgururajan@disroot.org>
Date: Mon, 30 Nov 2020 00:48:09 -0500
Subject: [PATCH 10/14] gnu: libotr: Make some cosmetic changes.

* gnu/packages/messaging.scm (libotr): Make some cosmetic changes.
---
 gnu/packages/messaging.scm | 49 +++++++++++++++++++++-----------------
 1 file changed, 27 insertions(+), 22 deletions(-)

diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm
index f1a44eb596..214379882e 100644
--- a/gnu/packages/messaging.scm
+++ b/gnu/packages/messaging.scm
@@ -377,32 +377,37 @@ powerful, standard and open protocol.")
   (package
     (name "libotr")
     (version "4.1.1")
-    (source (origin
-              (method url-fetch)
-              (uri (string-append "https://otr.cypherpunks.ca/libotr-"
-                                  version ".tar.gz"))
-              (sha256
-               (base32
-                "1x8rliydhbibmzwdbyr7pd7n87m2jmxnqkpvaalnf4154hj1hfwb"))
-              (patches (search-patches "libotr-test-auth-fix.patch"))))
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "https://otr.cypherpunks.ca/libotr-"
+                           version ".tar.gz"))
+       (sha256
+        (base32 "1x8rliydhbibmzwdbyr7pd7n87m2jmxnqkpvaalnf4154hj1hfwb"))
+       (patches
+        (search-patches "libotr-test-auth-fix.patch"))))
     (build-system gnu-build-system)
+    (native-inputs
+     `(("perl" ,perl)))                 ; for the test suite
+    (inputs
+     `(("libgpg-error" ,libgpg-error)))
     (propagated-inputs
-     `(("libgcrypt" ,libgcrypt)))  ; libotr headers include gcrypt.h
-    (inputs `(("libgpg-error" ,libgpg-error)))
-    (native-inputs `(("perl" ,perl))) ; for the test suite
+     `(("libgcrypt" ,libgcrypt)))    ; libotr headers include gcrypt.h
     (synopsis "Off-the-Record (OTR) Messaging Library and Toolkit")
-    (description
-     "OTR allows you to have private conversations over instant messaging by
-providing: (1) Encryption: No one else can read your instant messages.  (2)
-Authentication: You are assured the correspondent is who you think it is.  (3)
-Deniability: The messages you send do not have digital signatures that are
-checkable by a third party.  Anyone can forge messages after a conversation to
-make them look like they came from you.  However, during a conversation, your
-correspondent is assured the messages he sees are authentic and
-unmodified.  (4) Perfect forward secrecy: If you lose control of your private
-keys, no previous conversation is compromised.")
+    (description "OTR allows you to have private conversations over instant
+messaging by providing: (1) Encryption: No one else can read your instant
+messages.  (2) Authentication: You are assured the correspondent is who you
+think it is.  (3) Deniability: The messages you send do not have digital
+signatures that are checkable by a third party.  Anyone can forge messages
+after a conversation to make them look like they came from you.  However,
+during a conversation, your correspondent is assured the messages he sees are
+authentic and unmodified.  (4) Perfect forward secrecy: If you lose control of
+your private keys, no previous conversation is compromised.")
     (home-page "https://otr.cypherpunks.ca/")
-    (license (list license:lgpl2.1 license:gpl2))))
+    (license
+     (list
+      license:lgpl2.1
+      license:gpl2))))
 
 (define-public libsignal-protocol-c
   (package
-- 
2.29.2


[-- Attachment #1.1.12: 0011-gnu-libotr-Update-license.patch --]
[-- Type: text/x-patch, Size: 916 bytes --]

From c3b7d2497f24bc29dc3fe0210def2ff99577510a Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <raghavgururajan@disroot.org>
Date: Mon, 30 Nov 2020 00:49:38 -0500
Subject: [PATCH 11/14] gnu: libotr: Update license.

* gnu/packages/messaging.scm (libotr) [license]: Modify.
---
 gnu/packages/messaging.scm | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm
index 214379882e..a5e394a0df 100644
--- a/gnu/packages/messaging.scm
+++ b/gnu/packages/messaging.scm
@@ -406,8 +406,10 @@ your private keys, no previous conversation is compromised.")
     (home-page "https://otr.cypherpunks.ca/")
     (license
      (list
-      license:lgpl2.1
-      license:gpl2))))
+      ;; Library
+      license:lgpl2.1+
+      ;; Others
+      license:gpl2+))))
 
 (define-public libsignal-protocol-c
   (package
-- 
2.29.2


[-- Attachment #1.1.13: 0012-gnu-pidgin-otr-Make-some-cosmetic-changes.patch --]
[-- Type: text/x-patch, Size: 3615 bytes --]

From 83d9d39952d1bfc9fb5f83b065f3838d76968696 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <raghavgururajan@disroot.org>
Date: Mon, 30 Nov 2020 01:12:11 -0500
Subject: [PATCH 12/14] gnu: pidgin-otr: Make some cosmetic changes.

* gnu/packages/messaging.scm (pidgin-otr): Make some cosmetic changes.
---
 gnu/packages/messaging.scm | 51 +++++++++++++++++++-------------------
 1 file changed, 25 insertions(+), 26 deletions(-)

diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm
index a5e394a0df..61796471d9 100644
--- a/gnu/packages/messaging.scm
+++ b/gnu/packages/messaging.scm
@@ -846,38 +846,37 @@ chat protocols.")
   (package
     (name "pidgin-otr")
     (version "4.0.2")
-    (source (origin
-              (method url-fetch)
-              (uri (string-append "https://otr.cypherpunks.ca/"
-                                  name "-" version ".tar.gz"))
-              (sha256
-               (base32
-                "1i5s9rrgbyss9rszq6c6y53hwqyw1k86s40cpsfx5ccl9bprxdgl"))))
+    (source
+     (origin
+       (method url-fetch)
+       (uri
+        (string-append "https://otr.cypherpunks.ca/"
+                       name "-" version ".tar.gz"))
+       (sha256
+        (base32 "1i5s9rrgbyss9rszq6c6y53hwqyw1k86s40cpsfx5ccl9bprxdgl"))))
     (build-system gnu-build-system)
     (native-inputs
-     `(("pkg-config" ,pkg-config)
-       ("intltool" ,intltool)))
+     `(("intltool" ,intltool)
+       ("pkg-config" ,pkg-config)))
     (inputs
-     `(("pidgin" ,pidgin)
-       ("libotr" ,libotr)
-       ("libgpg-error" ,libgpg-error)
+     `(("glib" ,glib)
+       ("gtk+" ,gtk+-2)
        ("libgcrypt" ,libgcrypt)
-       ("glib" ,glib)
-       ("gtk+" ,gtk+-2)))
-    (home-page "https://otr.cypherpunks.ca/")
+       ("libgpg-error" ,libgpg-error)
+       ("libotr" ,libotr)
+       ("pidgin" ,pidgin)))
     (synopsis "Off-the-Record Messaging plugin for Pidgin")
-    (description
-     "Pidgin-OTR is a plugin that adds support for OTR to the Pidgin instant
-messaging client.  OTR (Off-the-Record) Messaging allows you to have private
-conversations over instant messaging by providing: (1) Encryption: No one else
-can read your instant messages.  (2) Authentication: You are assured the
-correspondent is who you think it is.  (3) Deniability: The messages you send
-do not have digital signatures that are checkable by a third party.  Anyone
+    (description "Pidgin-OTR is a plugin that adds support for OTR to the Pidgin
+instant messaging client.  OTR (Off-the-Record) Messaging allows you to have
+private conversations over instant messaging by providing: (1) Encryption: No
+one else can read your instant messages.  (2) Authentication: You are assured
+the correspondent is who you think it is.  (3) Deniability: The messages you
+send do not have digital signatures that are checkable by a third party.  Anyone
 can forge messages after a conversation to make them look like they came from
-you.  However, during a conversation, your correspondent is assured the
-messages he sees are authentic and unmodified.  (4) Perfect forward secrecy:
-If you lose control of your private keys, no previous conversation is
-compromised.")
+you.  However, during a conversation, your correspondent is assured the messages
+he sees are authentic and unmodified.  (4) Perfect forward secrecy: If you lose
+control of your private keys, no previous conversation is compromised.")
+    (home-page "https://otr.cypherpunks.ca/")
     (license license:gpl2)))
 
 (define-public znc
-- 
2.29.2


[-- Attachment #1.1.14: 0013-gnu-pidgin-otr-Update-license.patch --]
[-- Type: text/x-patch, Size: 974 bytes --]

From 5951e01fc258a7153fc649b3adaa8e4e77da47dc Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <raghavgururajan@disroot.org>
Date: Mon, 30 Nov 2020 01:13:46 -0500
Subject: [PATCH 13/14] gnu: pidgin-otr: Update license.

* gnu/packages/messaging.scm (pidgin-otr) [license]: Modify.
---
 gnu/packages/messaging.scm | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm
index 61796471d9..2e405fb082 100644
--- a/gnu/packages/messaging.scm
+++ b/gnu/packages/messaging.scm
@@ -877,7 +877,7 @@ you.  However, during a conversation, your correspondent is assured the messages
 he sees are authentic and unmodified.  (4) Perfect forward secrecy: If you lose
 control of your private keys, no previous conversation is compromised.")
     (home-page "https://otr.cypherpunks.ca/")
-    (license license:gpl2)))
+    (license license:gpl2+)))
 
 (define-public znc
   (package
-- 
2.29.2


[-- Attachment #1.1.15: 0014-gnu-pidgin-otr-Add-some-inputs.patch --]
[-- Type: text/x-patch, Size: 1296 bytes --]

From f5de9c69d385a75b7f4c6c311dccc2af7f3a0023 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <raghavgururajan@disroot.org>
Date: Mon, 30 Nov 2020 01:18:51 -0500
Subject: [PATCH 14/14] gnu: pidgin-otr: Add some inputs.

* gnu/packages/messaging.scm (pidgin-otr) [native-inputs]: Add
gettext-minimal.
[inputs]: Add perl.
---
 gnu/packages/messaging.scm | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm
index 2e405fb082..ee9ccd2cad 100644
--- a/gnu/packages/messaging.scm
+++ b/gnu/packages/messaging.scm
@@ -856,14 +856,15 @@ chat protocols.")
         (base32 "1i5s9rrgbyss9rszq6c6y53hwqyw1k86s40cpsfx5ccl9bprxdgl"))))
     (build-system gnu-build-system)
     (native-inputs
-     `(("intltool" ,intltool)
+     `(("gettext" ,gettext-minimal)
+       ("intltool" ,intltool)
        ("pkg-config" ,pkg-config)))
     (inputs
      `(("glib" ,glib)
        ("gtk+" ,gtk+-2)
        ("libgcrypt" ,libgcrypt)
-       ("libgpg-error" ,libgpg-error)
        ("libotr" ,libotr)
+       ("perl" ,perl)
        ("pidgin" ,pidgin)))
     (synopsis "Off-the-Record Messaging plugin for Pidgin")
     (description "Pidgin-OTR is a plugin that adds support for OTR to the Pidgin
-- 
2.29.2


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 236 bytes --]

^ permalink raw reply related	[flat|nested] 11+ messages in thread

* [bug#44957] [PIDGIN]: v3
  2020-11-30  6:22 ` [bug#44957] [PIDGIN]: v3 Raghav Gururajan
@ 2020-11-30  9:16   ` Danny Milosavljevic
  2020-11-30 23:45     ` Raghav Gururajan
  0 siblings, 1 reply; 11+ messages in thread
From: Danny Milosavljevic @ 2020-11-30  9:16 UTC (permalink / raw)
  To: Raghav Gururajan; +Cc: 44957

[-- Attachment #1: Type: text/plain, Size: 80 bytes --]

Could you add author, date etc to b/gnu/packages/patches/pidgin-vv-gst.patch ?

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

^ permalink raw reply	[flat|nested] 11+ messages in thread

* [bug#44957] [PIDGIN]: v3
  2020-11-30  9:16   ` Danny Milosavljevic
@ 2020-11-30 23:45     ` Raghav Gururajan
  0 siblings, 0 replies; 11+ messages in thread
From: Raghav Gururajan @ 2020-11-30 23:45 UTC (permalink / raw)
  To: Danny Milosavljevic; +Cc: 44957


[-- Attachment #1.1: Type: text/plain, Size: 433 bytes --]

Hi Danny!

> Could you add author, date etc to b/gnu/packages/patches/pidgin-vv-gst.patch ?

I used the upstream patch 
(https://keep.imfreedom.org/pidgin/pidgin/rev/39ac50435cfb). But the 
upstream does not use git. So I was unable to get the patch in 
'format-patch' way and only in 'diff' way. Is it okay if mention the 
author and date in commit message and/or as comment inside package 
definition?

Regards,
RG.


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 236 bytes --]

^ permalink raw reply	[flat|nested] 11+ messages in thread

* [bug#44957] [PIDGIN]: v4
  2020-11-30  0:54 [bug#44957] Pidgin Raghav Gururajan
  2020-11-30  3:46 ` [bug#44957] [PIDGIN]: v2 Raghav Gururajan
  2020-11-30  6:22 ` [bug#44957] [PIDGIN]: v3 Raghav Gururajan
@ 2020-12-01 22:42 ` Raghav Gururajan
  2020-12-28 17:50   ` Danny Milosavljevic
  2 siblings, 1 reply; 11+ messages in thread
From: Raghav Gururajan @ 2020-12-01 22:42 UTC (permalink / raw)
  To: 44957; +Cc: Danny Milosavljevic


[-- Attachment #1.1.1: Type: text/plain, Size: 90 bytes --]

@Danny

I have include the author, date and url inside the patch. :-)

Regards,
RG.

[-- Attachment #1.1.2: 0001-gnu-pidgin-Make-some-cosmetic-changes.patch --]
[-- Type: text/x-patch, Size: 4553 bytes --]

From e4ab6260d80ef23b4f06fa37a0ad7e3fdf69e440 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <raghavgururajan@disroot.org>
Date: Mon, 23 Nov 2020 23:41:21 -0500
Subject: [PATCH 01/14] gnu: pidgin: Make some cosmetic changes.

* gnu/packages/messaging.scm (pidgin): Make some cosmetic changes.
---
 gnu/packages/messaging.scm | 58 +++++++++++++++++++++-----------------
 1 file changed, 32 insertions(+), 26 deletions(-)

diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm
index cb1cdc4b5c..dcafd2435b 100644
--- a/gnu/packages/messaging.scm
+++ b/gnu/packages/messaging.scm
@@ -526,14 +526,17 @@ authentication.")
     (source
      (origin
        (method url-fetch)
-       (uri (string-append "mirror://sourceforge/pidgin/Pidgin/"
-                           version "/pidgin-" version ".tar.bz2"))
+       (uri
+        (string-append "mirror://sourceforge/pidgin/Pidgin/"
+                       version "/pidgin-" version ".tar.bz2"))
        (sha256
         (base32 "13vdqj70315p9rzgnbxjp9c51mdzf1l4jg1kvnylc4bidw61air7"))
-       (patches (search-patches "pidgin-add-search-path.patch"
-                                ;; Remove the snippet and bootstrapping
-                                ;; native-inputs together with this patch.
-                                "pidgin-libnm.patch"))
+       (patches
+        (search-patches
+         "pidgin-add-search-path.patch"
+         ;; Remove the snippet and bootstrapping
+         ;; native-inputs together with this patch.
+         "pidgin-libnm.patch"))
        (modules '((guix build utils)))
        (snippet
         '(begin
@@ -541,6 +544,18 @@ authentication.")
            (delete-file "configure")
            #t))))
     (build-system glib-or-gtk-build-system)
+    (arguments
+     `(#:configure-flags
+       (list
+        "--disable-gtkspell"
+        "--disable-tcl"
+        "--disable-meanwhile"
+        "--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-inputs
      `(("pkg-config" ,pkg-config)
        ("check" ,check)
@@ -548,7 +563,6 @@ authentication.")
        ("gconf" ,gconf)
        ("python" ,python-2)
        ("doxygen" ,doxygen)
-
        ;; For bootstrapping after applying pidgin-libnm.patch.
        ("autoconf" ,autoconf)
        ("automake" ,automake)
@@ -579,32 +593,24 @@ authentication.")
        ("libsm" ,libsm)
        ("libxscrnsaver" ,libxscrnsaver)
        ("startup-notification" ,startup-notification)))
-    (arguments
-     `(#:configure-flags
-       (list "--disable-gtkspell"
-             "--disable-tcl"
-             "--disable-meanwhile"
-             "--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-major version))
-                         "lib/pidgin")))))
-    (home-page "https://www.pidgin.im/")
+     (list
+      (search-path-specification
+       (variable "PURPLE_PLUGIN_PATH")
+       (files
+        (list
+         (string-append "lib/purple-"
+                        (version-major version))
+         "lib/pidgin")))))
     (synopsis "Graphical multi-protocol instant messaging client")
     (description
      "Pidgin is a modular instant messaging client that supports many popular
 chat protocols.")
+    (home-page "https://www.pidgin.im/")
     (license
      (list
-      license:gpl2+    ; Most of the code
-      license:lgpl2.1  ; GG protocol plugin (libpurple/protocols/gg/lib)
+      license:gpl2+   ; Most of the code
+      license:lgpl2.1 ; GG protocol plugin (libpurple/protocols/gg/lib)
       license:lgpl2.0+ ; OSCAR protocol plugin (libpurple/protocols/oscar)
       ;; The following licenses cover the zephyr protocol plugin:
       (license:non-copyleft
-- 
2.29.2


[-- Attachment #1.1.3: 0002-gnu-pidgin-Re-arrange-inputs-in-alphabetical-order.patch --]
[-- Type: text/x-patch, Size: 2701 bytes --]

From 2f1af105a621398145a3a91a71292e28ac08f83a Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <raghavgururajan@disroot.org>
Date: Mon, 23 Nov 2020 23:58:08 -0500
Subject: [PATCH 02/14] gnu: pidgin: Re-arrange inputs in alphabetical order.

* gnu/packages/messaging.scm (pidgin) [native-inputs]: Re-order.
[inputs]: Re-order.
---
 gnu/packages/messaging.scm | 43 +++++++++++++++++++-------------------
 1 file changed, 21 insertions(+), 22 deletions(-)

diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm
index dcafd2435b..c3e1f029fc 100644
--- a/gnu/packages/messaging.scm
+++ b/gnu/packages/messaging.scm
@@ -557,41 +557,40 @@ authentication.")
                        (assoc-ref %build-inputs "ncurses")
                        "/include"))))
     (native-inputs
-     `(("pkg-config" ,pkg-config)
+     `(("autoconf" ,autoconf) ;; For bootstrap
+       ("automake" ,automake) ;; For bootstrap
        ("check" ,check)
-       ("intltool" ,intltool)
-       ("gconf" ,gconf)
-       ("python" ,python-2)
        ("doxygen" ,doxygen)
-       ;; For bootstrapping after applying pidgin-libnm.patch.
-       ("autoconf" ,autoconf)
-       ("automake" ,automake)
-       ("libtool" ,libtool)))
+       ("gconf" ,gconf)
+       ("intltool" ,intltool)
+       ("libtool" ,libtool) ;; For bootstrap
+       ("pkg-config" ,pkg-config)
+       ("python" ,python-2)))
     (inputs
-     `(("gtk+" ,gtk+-2)
-       ("libgcrypt" ,libgcrypt)
-       ("gnutls" ,gnutls)
+     `(("avahi" ,avahi)
        ("cyrus-sasl" ,cyrus-sasl)
        ("dbus" ,dbus)
        ("dbus-glib" ,dbus-glib)
-       ("python2-dbus" ,python2-dbus)
+       ;; farstream
+       ("gnutls" ,gnutls)
+       ;; gstreamer
+       ("gtk+" ,gtk+-2)
+       ;; gtkspell
+       ;; libgadu
+       ("libgcrypt" ,libgcrypt)
+       ("libice" ,libice)
        ("libidn" ,libidn)
        ("libltdl" ,libltdl)
+       ("libsm" ,libsm)
+       ;; libxephyr
        ("libxml2" ,libxml2)
-       ;; TODO: gstreamer: patches needed to support gstreamer-1.0 or later
-       ;; TODO: farstream
-       ;; TODO: meanwhile
-       ;; TODO: gtkspell
-       ;; TODO: libxephyr
-       ;; TODO: libgadu
+       ("libxscrnsaver" ,libxscrnsaver)
        ("libxslt" ,libxslt)
-       ("avahi" ,avahi)
+       ;; meanwhile
        ("ncurses" ,ncurses)
        ("network-manager" ,network-manager)
+       ("python2-dbus" ,python2-dbus)
        ("sqlite" ,sqlite)
-       ("libice" ,libice)
-       ("libsm" ,libsm)
-       ("libxscrnsaver" ,libxscrnsaver)
        ("startup-notification" ,startup-notification)))
     (native-search-paths
      (list
-- 
2.29.2


[-- Attachment #1.1.4: 0003-gnu-Add-meanwhile.patch --]
[-- Type: text/x-patch, Size: 1887 bytes --]

From 431e6802aa1fd5533db7b7fb695b5c840ba4e289 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <raghavgururajan@disroot.org>
Date: Sat, 28 Nov 2020 00:17:22 -0500
Subject: [PATCH 03/14] gnu: Add meanwhile.

* gnu/packages/messaging.scm (meanwhile): New variable.
---
 gnu/packages/messaging.scm | 33 +++++++++++++++++++++++++++++++++
 1 file changed, 33 insertions(+)

diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm
index c3e1f029fc..93afe7f933 100644
--- a/gnu/packages/messaging.scm
+++ b/gnu/packages/messaging.scm
@@ -125,6 +125,39 @@
   #:use-module (guix packages)
   #:use-module (guix utils))
 
+(define-public meanwhile
+  (package
+    (name "meanwhile")
+    (version "1.1.1")
+    (source
+     (origin
+       (method git-fetch)
+       (uri
+        (git-reference
+         (url "https://github.com/obriencj/meanwhile.git")
+         (commit
+          (string-append "v" version))))
+       (file-name
+        (git-file-name name version))
+       (sha256
+        (base32 "1k1gvmx1ikm0y1mdmm495rzkb00pl170jfaf2dy0n5aiiknkk7q3"))))
+    (build-system glib-or-gtk-build-system)
+    (native-inputs
+     `(("autoconf" ,autoconf)
+       ("automake" ,automake)
+       ("doxygen" ,doxygen)
+       ("libtool" ,libtool)
+       ("pkg-config" ,pkg-config)))
+    (propagated-inputs
+     `(("glib" ,glib)))
+    (synopsis "Library for Lotus Instant Messaging")
+    (description "Meanwhile is a library for connecting to a LIM (Lotus Instant
+Messaging, formerly Lotus Sametime, formerly VPBuddy) community.  It uses a
+protocol based in part off of the IMPP draft(*1), and in part off of traces of
+TCP sessions from existing clients.")
+    (home-page "https://github.com/obriencj/meanwhile")
+    (license license:lgpl3)))
+
 (define-public poezio
   (package
     (name "poezio")
-- 
2.29.2


[-- Attachment #1.1.5: 0004-gnu-Add-silc-toolkit.patch --]
[-- Type: text/x-patch, Size: 2172 bytes --]

From df0cd86a37aee77b91ca38c1fb79deef14303a6d Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <raghavgururajan@disroot.org>
Date: Sat, 28 Nov 2020 03:27:30 -0500
Subject: [PATCH 04/14] gnu: Add silc-toolkit.

* gnu/packages/messaging.scm (silc-toolkit): New variable.
---
 gnu/packages/messaging.scm | 44 ++++++++++++++++++++++++++++++++++++++
 1 file changed, 44 insertions(+)

diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm
index 93afe7f933..c4ffd39f50 100644
--- a/gnu/packages/messaging.scm
+++ b/gnu/packages/messaging.scm
@@ -125,6 +125,50 @@
   #:use-module (guix packages)
   #:use-module (guix utils))
 
+(define-public silc-toolkit
+  (package
+    (name "silc-toolkit")
+    (version "1.1.12")
+    (source
+     (origin
+       (method url-fetch)
+       (uri
+        (string-append "mirror://sourceforge/silc/silc/toolkit/sources/silc-toolkit-"
+                       version ".tar.gz"))
+       (sha256
+        (base32 "0mnvf9n7qriadg0p7a8qmvcayhnns2g9fhmcymavlm0v8xrky33y"))))
+    (build-system gnu-build-system)
+    (arguments
+     `(#:configure-flags
+       (list
+        "--disable-static"
+        "--enable-ipv6"
+        "--enable-stack-trace")
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'trigger-bootstrap
+           (lambda _
+             (delete-file "configure")
+             (delete-file "Makefile.in")
+             #t)))))
+    (native-inputs
+     `(("autoconf" ,autoconf)
+       ("automake" ,automake)
+       ("libtool" ,libtool)
+       ("perl" ,perl)
+       ("pkg-config" ,pkg-config)))
+    (synopsis "SILC ToolKit")
+    (description "SILC (Secure Internet Live Conferencing) is a modern and secure
+conferencing protocol.  It provides all the common conferencing services like
+private messages, instant messages, channels and groups, and video and audio
+conferencing.")
+    (home-page "https://silc.github.io/info")
+    (license
+     ;; Dual-licensed
+     (list
+      license:gpl2+
+      license:bsd-2))))
+
 (define-public meanwhile
   (package
     (name "meanwhile")
-- 
2.29.2


[-- Attachment #1.1.6: 0005-gnu-Add-libgadu.patch --]
[-- Type: text/x-patch, Size: 2463 bytes --]

From 577a476e8c947ff14a49f6b00d49034100ba91c4 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <raghavgururajan@disroot.org>
Date: Sat, 28 Nov 2020 21:39:15 -0500
Subject: [PATCH 05/14] gnu: Add libgadu.

* gnu/packages/messaging.scm (libgadu): New variable.
---
 gnu/packages/messaging.scm | 53 ++++++++++++++++++++++++++++++++++++++
 1 file changed, 53 insertions(+)

diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm
index c4ffd39f50..6f57a537d5 100644
--- a/gnu/packages/messaging.scm
+++ b/gnu/packages/messaging.scm
@@ -125,6 +125,59 @@
   #:use-module (guix packages)
   #:use-module (guix utils))
 
+(define-public libgadu
+  (package
+    (name "libgadu")
+    (version "1.12.2")
+    (source
+     (origin
+       (method git-fetch)
+       (uri
+        (git-reference
+         (url "https://github.com/wojtekka/libgadu.git")
+         (commit version)))
+       (file-name
+        (git-file-name name version))
+       (sha256
+        (base32 "1s16cripy5w9k12534qb012iwc5m9qcjyrywgsziyn3kl3i0aa8h"))))
+    (build-system gnu-build-system)
+    (arguments
+     `(#:configure-flags
+       (list
+        "--disable-static")
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'patch-shebangs
+           (lambda* (#:key inputs #:allow-other-keys)
+             (substitute* "protobufgen.sh"
+               (("/bin/sh")
+                (string-append (assoc-ref inputs "bash")
+                               "/bin/sh")))
+             #t)))))
+    (native-inputs
+     `(("autoconf" ,autoconf)
+       ("automake" ,automake)
+       ("bash" ,bash)
+       ("doxygen" ,doxygen)
+       ("libtool" ,libtool)
+       ("perl" ,perl)
+       ("pkg-config" ,pkg-config)))
+    (inputs
+     `(("curl" ,curl)
+       ("expat" ,expat)
+       ("libprotobuf-c" ,protobuf-c)
+       ("libxml" ,libxml2)
+       ("openssl" ,openssl)
+       ("zlib" ,zlib)))
+    (propagated-inputs
+     `(("gnutls" ,gnutls)))
+    (synopsis "Library for handling the protocol of Gadu-Gadu")
+    (description "LibGadu is library for handling Gadu-Gadu instant messenger
+protocol.  The library is written in C and aims to be operating system and
+environment independent.")
+    (home-page "https://libgadu.net/index.en.html")
+    (license license:lgpl2.1+)))
+
 (define-public silc-toolkit
   (package
     (name "silc-toolkit")
-- 
2.29.2


[-- Attachment #1.1.7: 0006-gnu-Add-libgnt.patch --]
[-- Type: text/x-patch, Size: 3482 bytes --]

From 3880462f5dbd1c43b8d717926e9a1ba77d645022 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <raghavgururajan@disroot.org>
Date: Sat, 28 Nov 2020 22:57:11 -0500
Subject: [PATCH 06/14] gnu: Add libgnt.

* gnu/packages/messaging.scm (libgnt): New variable.
---
 gnu/packages/messaging.scm | 62 ++++++++++++++++++++++++++++++++++++++
 1 file changed, 62 insertions(+)

diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm
index 6f57a537d5..695fca5f45 100644
--- a/gnu/packages/messaging.scm
+++ b/gnu/packages/messaging.scm
@@ -61,6 +61,7 @@
   #:use-module (gnu packages curl)
   #:use-module (gnu packages cyrus-sasl)
   #:use-module (gnu packages databases)
+  #:use-module (gnu packages docbook)
   #:use-module (gnu packages documentation)
   #:use-module (gnu packages enchant)
   #:use-module (gnu packages fontutils)
@@ -125,6 +126,67 @@
   #:use-module (guix packages)
   #:use-module (guix utils))
 
+(define-public libgnt
+  (package
+    (name "libgnt")
+    (version "2.14.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri
+        (string-append "mirror://sourceforge/pidgin/libgnt/"
+                       version "/libgnt-" version ".tar.xz"))
+       (sha256
+        (base32 "1grs9fxl404rscscxk1ff55fzjnwjqrisjxbasbssmcp1h1s4zkb"))))
+    (build-system meson-build-system)
+    (outputs '("out" "doc"))
+    (arguments
+     `(#:glib-or-gtk? #t     ; To wrap binaries and/or compile schemas
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'patch-ncurses-path
+           (lambda* (#:key inputs #:allow-other-keys)
+             (substitute* "meson.build"
+               (("'/usr'")
+                (string-append "'"
+                               (assoc-ref inputs "ncurses")
+                               "'")))
+             #t))
+         (add-before 'configure 'patch-docbook-xml
+           (lambda* (#:key inputs #:allow-other-keys)
+             (with-directory-excursion "doc"
+               (substitute* "libgnt-docs.xml"
+                 (("http://www.oasis-open.org/docbook/xml/4.1.2/")
+                  (string-append (assoc-ref inputs "docbook-xml")
+                                 "/xml/dtd/docbook/"))))
+             #t))
+         (add-after 'install 'move-doc
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let* ((out (assoc-ref outputs "out"))
+                    (doc (assoc-ref outputs "doc")))
+               (mkdir-p (string-append doc "/share"))
+               (rename-file
+                (string-append out "/share/gtk-doc")
+                (string-append doc "/share/gtk-doc"))
+               #t))))))
+    (native-inputs
+     `(("docbook-xml" ,docbook-xml-4.1.2)
+       ("glib:bin" ,glib "bin")
+       ("gobject-introspection" ,gobject-introspection)
+       ("gtk-doc" ,gtk-doc)
+       ("pkg-config" ,pkg-config)))
+    (inputs
+     `(("ncurses" ,ncurses)))
+    (propagated-inputs
+     `(("glib" ,glib)
+       ("libxml" ,libxml2)
+       ("python" ,python-2)))
+    (synopsis "GLib Ncurses Toolkit")
+    (description "GNT is an ncurses toolkit for creating text-mode graphical
+user interfaces in a fast and easy way.  It is based on GLib and ncurses.")
+    (home-page "https://keep.imfreedom.org/libgnt/libgnt")
+    (license license:gpl2+)))
+
 (define-public libgadu
   (package
     (name "libgadu")
-- 
2.29.2


[-- Attachment #1.1.8: 0007-gnu-pidgin-Enable-some-features.patch --]
[-- Type: text/x-patch, Size: 4467 bytes --]

From 1bd47c8d21bc1070186d638bdb884a06a0ab95d6 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <raghavgururajan@disroot.org>
Date: Tue, 24 Nov 2020 01:43:09 -0500
Subject: [PATCH 07/14] gnu: pidgin: Enable some features.

* gnu/packages/messaging.scm (pidgin) [arguments]<#:configure-flags>
[--enable-cap]: New flag.
[--enable-mono]: New flag.
[--with-tclconfig=]: New flag.
[--with-tkconfig=]: New flag.
[native-inputs]: Add graphviz. Remove python-2.
[inputs]: Add libgadu, libgnt, libx11, libxext, meanwhile, mono,
nspr, nss, pango, perl, python-2, silc-toolkit, tcl and tk.
[propagated-inputs]: Add glib.
---
 gnu/packages/messaging.scm | 47 +++++++++++++++++++++++++++++---------
 1 file changed, 36 insertions(+), 11 deletions(-)

diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm
index 695fca5f45..69e33a3e69 100644
--- a/gnu/packages/messaging.scm
+++ b/gnu/packages/messaging.scm
@@ -71,6 +71,7 @@
   #:use-module (gnu packages gnome)
   #:use-module (gnu packages gnupg)
   #:use-module (gnu packages gperf)
+  #:use-module (gnu packages graphviz)
   #:use-module (gnu packages gstreamer)
   #:use-module (gnu packages gtk)
   #:use-module (gnu packages guile)
@@ -84,9 +85,11 @@
   #:use-module (gnu packages lua)
   #:use-module (gnu packages man)
   #:use-module (gnu packages markup)
+  #:use-module (gnu packages mono)
   #:use-module (gnu packages mpd)
   #:use-module (gnu packages ncurses)
   #:use-module (gnu packages networking)
+  #:use-module (gnu packages nss)
   #:use-module (gnu packages pcre)
   #:use-module (gnu packages perl)
   #:use-module (gnu packages photo)
@@ -740,50 +743,72 @@ authentication.")
      `(#:configure-flags
        (list
         "--disable-gtkspell"
-        "--disable-tcl"
-        "--disable-meanwhile"
+        ;; "--enable-gevolution"
+        "--enable-cap"
+        "--enable-mono"
         "--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"))))
+                       "/include")
+        (string-append "--with-tclconfig="
+                       (assoc-ref %build-inputs "tcl")
+                       "/lib")
+        (string-append "--with-tkconfig="
+                       (assoc-ref %build-inputs "tk")
+                       "/lib"))))
     (native-inputs
      `(("autoconf" ,autoconf) ;; For bootstrap
        ("automake" ,automake) ;; For bootstrap
        ("check" ,check)
+       ("dot" ,graphviz)
        ("doxygen" ,doxygen)
        ("gconf" ,gconf)
        ("intltool" ,intltool)
        ("libtool" ,libtool) ;; For bootstrap
-       ("pkg-config" ,pkg-config)
-       ("python" ,python-2)))
+       ("pkg-config" ,pkg-config)))
     (inputs
      `(("avahi" ,avahi)
        ("cyrus-sasl" ,cyrus-sasl)
        ("dbus" ,dbus)
        ("dbus-glib" ,dbus-glib)
-       ;; farstream
+       ;; ("evolution-data-server" ,evolution-data-server)
+       ;; ("farstream" ,farstream)
        ("gnutls" ,gnutls)
-       ;; gstreamer
+       ;; ("gstreamer" ,gstreamer)
        ("gtk+" ,gtk+-2)
        ;; gtkspell
-       ;; libgadu
+       ("libgadu" ,libgadu)
        ("libgcrypt" ,libgcrypt)
+       ("libgnt" ,libgnt)
        ("libice" ,libice)
        ("libidn" ,libidn)
        ("libltdl" ,libltdl)
        ("libsm" ,libsm)
-       ;; libxephyr
+       ("libx11" ,libx11)
+       ("libxext" ,libxext)
        ("libxml2" ,libxml2)
        ("libxscrnsaver" ,libxscrnsaver)
        ("libxslt" ,libxslt)
-       ;; meanwhile
+       ;; libzephyr
+       ("meanwhile" ,meanwhile)
+       ("mono" ,mono)
        ("ncurses" ,ncurses)
        ("network-manager" ,network-manager)
+       ("nspr" ,nspr)
+       ("nss" ,nss)
+       ("pango" ,pango)
+       ("perl" ,perl)
+       ("python" ,python-2)
        ("python2-dbus" ,python2-dbus)
+       ("silc" ,silc-toolkit)
        ("sqlite" ,sqlite)
-       ("startup-notification" ,startup-notification)))
+       ("startup-notification" ,startup-notification)
+       ("tcl" ,tcl)
+       ("tk" ,tk)))
+    (propagated-inputs
+     `(("glib" ,glib)))
     (native-search-paths
      (list
       (search-path-specification
-- 
2.29.2


[-- Attachment #1.1.9: 0008-gnu-pidgin-Upgrade-to-2.14.1.patch --]
[-- Type: text/x-patch, Size: 4999 bytes --]

From 1a11875402c5abb066a32143ef55a6a011d73b3e Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <raghavgururajan@disroot.org>
Date: Sun, 29 Nov 2020 17:30:04 -0500
Subject: [PATCH 08/14] gnu: pidgin: Upgrade to 2.14.1.

* gnu/packages/messaging.scm (pidgin) [version]: Modify.
[source]<origin>[sha256]: Modify base32.
[patches]<search-patches>[pidgin-libnm.patch]: Remove obsolete patch.
* gnu/packages/patches/pidgin-libnm.patch: Remove file.
* gnu/local.mk (dist_patch_DATA): Remove entry.
---
 gnu/local.mk                            |  1 -
 gnu/packages/messaging.scm              | 13 +++---
 gnu/packages/patches/pidgin-libnm.patch | 60 -------------------------
 3 files changed, 5 insertions(+), 69 deletions(-)
 delete mode 100644 gnu/packages/patches/pidgin-libnm.patch

diff --git a/gnu/local.mk b/gnu/local.mk
index 14b626c600..5f118874f1 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1461,7 +1461,6 @@ dist_patch_DATA =						\
   %D%/packages/patches/picard-fix-id3-rename-test.patch		\
   %D%/packages/patches/picprog-non-intel-support.patch		\
   %D%/packages/patches/pidgin-add-search-path.patch		\
-  %D%/packages/patches/pidgin-libnm.patch			\
   %D%/packages/patches/pinball-const-fix.patch			\
   %D%/packages/patches/pinball-cstddef.patch			\
   %D%/packages/patches/pinball-missing-separators.patch		\
diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm
index 69e33a3e69..0d5ab911d4 100644
--- a/gnu/packages/messaging.scm
+++ b/gnu/packages/messaging.scm
@@ -717,25 +717,22 @@ authentication.")
 (define-public pidgin
   (package
     (name "pidgin")
-    (version "2.13.0")
+    (version "2.14.1")
     (source
      (origin
        (method url-fetch)
        (uri
         (string-append "mirror://sourceforge/pidgin/Pidgin/"
-                       version "/pidgin-" version ".tar.bz2"))
+                       version "/pidgin-" version ".tar.gz"))
        (sha256
-        (base32 "13vdqj70315p9rzgnbxjp9c51mdzf1l4jg1kvnylc4bidw61air7"))
+        (base32 "1c4dzxg9c3d9zfqqa7jwijj9rv9fm6w95igmpljwy88lxq7v5w11"))
        (patches
         (search-patches
-         "pidgin-add-search-path.patch"
-         ;; Remove the snippet and bootstrapping
-         ;; native-inputs together with this patch.
-         "pidgin-libnm.patch"))
+         "pidgin-add-search-path.patch"))
        (modules '((guix build utils)))
        (snippet
         '(begin
-           ;; Remove stale generated file after applying pidgin-libnm.patch.
+           ;; Remove stale generated file after applying patches.
            (delete-file "configure")
            #t))))
     (build-system glib-or-gtk-build-system)
diff --git a/gnu/packages/patches/pidgin-libnm.patch b/gnu/packages/patches/pidgin-libnm.patch
deleted file mode 100644
index d34af749af..0000000000
--- a/gnu/packages/patches/pidgin-libnm.patch
+++ /dev/null
@@ -1,60 +0,0 @@
-From: Tobias Geerinckx-Rice <me@tobias.gr>
-Date: Sun, 24 May 2020 16:11:01 +0200
-Subject: [PATCH] gnu: pidgin: Find libnm.
-
-Copied verbatim from[0].
-
-[0]: https://git.archlinux.org/svntogit/packages.git/plain/trunk/pidgin-nm-1.0.patch?h=packages/pidgin
-
-diff --git a/configure.ac b/configure.ac
-index 04836fa..0a2d451 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -1423,18 +1423,24 @@ fi
- dnl Check for NetworkManager.h; if we don't have it, oh well
- if test "x$enable_dbus" = "xyes" ; then
- 	if test "x$enable_nm" = "xyes" ; then
--		PKG_CHECK_MODULES(NETWORKMANAGER, [NetworkManager >= 0.5.0], [
-+		PKG_CHECK_MODULES(NETWORKMANAGER, [libnm], [
- 			AC_SUBST(NETWORKMANAGER_CFLAGS)
- 			AC_SUBST(NETWORKMANAGER_LIBS)
- 			AC_DEFINE(HAVE_NETWORKMANAGER, 1, [Define if we have NetworkManager.])
- 		], [
--			enable_nm=no
--			if test "x$force_deps" = "xyes" ; then
--				AC_MSG_ERROR([
-+			PKG_CHECK_MODULES(NETWORKMANAGER, [NetworkManager >= 0.5.0], [
-+				AC_SUBST(NETWORKMANAGER_CFLAGS)
-+				AC_SUBST(NETWORKMANAGER_LIBS)
-+				AC_DEFINE(HAVE_NETWORKMANAGER, 1, [Define if we have NetworkManager.])
-+			], [
-+				enable_nm=no
-+				if test "x$force_deps" = "xyes" ; then
-+					AC_MSG_ERROR([
- NetworkManager development headers not found.
- Use --disable-nm if you do not need NetworkManager support.
- ])
--			fi])
-+				fi])
-+		])
- 	fi
- else
- 	enable_nm=no
-diff --git a/libpurple/network.c b/libpurple/network.c
-index c43e3c7..b17e439 100644
---- a/libpurple/network.c
-+++ b/libpurple/network.c
-@@ -939,8 +939,13 @@ nm_update_state(NMState state)
- #if NM_CHECK_VERSION(0,8,992)
- 		case NM_STATE_DISCONNECTING:
- #endif
-+#if NM_CHECK_VERSION(1,0,0)
-+			if (prev != NM_STATE_CONNECTED_GLOBAL && prev != NM_STATE_UNKNOWN)
-+				break;
-+#else
- 			if (prev != NM_STATE_CONNECTED && prev != NM_STATE_UNKNOWN)
- 				break;
-+#endif
- 			if (ui_ops != NULL && ui_ops->network_disconnected != NULL)
- 				ui_ops->network_disconnected();
- 			break;
-- 
2.29.2


[-- Attachment #1.1.10: 0009-gnu-pidgin-Enable-MultiMedia-and-A-V-support.patch --]
[-- Type: text/x-patch, Size: 4768 bytes --]

From 71b1ec48170faeaed8261ee887b6751ab7dde702 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <raghavgururajan@disroot.org>
Date: Sun, 29 Nov 2020 17:45:19 -0500
Subject: [PATCH 09/14] gnu: pidgin: Enable MultiMedia and A/V support.

* gnu/packages/messaging.scm (pidgin) [patches]<search-patches>
[pidgin-vv-gst.patch]: New patch.
[arguments]<#:configure-flags>[--diable-vv]: Remove flag.
[--disable-gstreamer]: Remove flag.
[CFLAGS]: New flag.
[inputs]: Add farstream, gstreamer and gst-plugins-base.
* gnu/packages/patches/pidgin-vv-gst.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add entry.
---
 gnu/local.mk                             |  1 +
 gnu/packages/messaging.scm               | 16 ++++----
 gnu/packages/patches/pidgin-vv-gst.patch | 48 ++++++++++++++++++++++++
 3 files changed, 58 insertions(+), 7 deletions(-)
 create mode 100644 gnu/packages/patches/pidgin-vv-gst.patch

diff --git a/gnu/local.mk b/gnu/local.mk
index 5f118874f1..45a396368f 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1461,6 +1461,7 @@ dist_patch_DATA =						\
   %D%/packages/patches/picard-fix-id3-rename-test.patch		\
   %D%/packages/patches/picprog-non-intel-support.patch		\
   %D%/packages/patches/pidgin-add-search-path.patch		\
+  %D%/packages/patches/pidgin-vv-gst.patch                        \
   %D%/packages/patches/pinball-const-fix.patch			\
   %D%/packages/patches/pinball-cstddef.patch			\
   %D%/packages/patches/pinball-missing-separators.patch		\
diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm
index 0d5ab911d4..f1a44eb596 100644
--- a/gnu/packages/messaging.scm
+++ b/gnu/packages/messaging.scm
@@ -728,7 +728,8 @@ authentication.")
         (base32 "1c4dzxg9c3d9zfqqa7jwijj9rv9fm6w95igmpljwy88lxq7v5w11"))
        (patches
         (search-patches
-         "pidgin-add-search-path.patch"))
+         "pidgin-add-search-path.patch"
+         "pidgin-vv-gst.patch"))
        (modules '((guix build utils)))
        (snippet
         '(begin
@@ -739,12 +740,13 @@ authentication.")
     (arguments
      `(#:configure-flags
        (list
+        (string-append "CFLAGS=-I"
+                       (assoc-ref %build-inputs "gst-plugins-base")
+                       "/include/gstreamer-1.0")
         "--disable-gtkspell"
         ;; "--enable-gevolution"
         "--enable-cap"
         "--enable-mono"
-        "--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")
@@ -771,10 +773,9 @@ authentication.")
        ("dbus" ,dbus)
        ("dbus-glib" ,dbus-glib)
        ;; ("evolution-data-server" ,evolution-data-server)
-       ;; ("farstream" ,farstream)
+       ("farstream" ,farstream)
        ("gnutls" ,gnutls)
-       ;; ("gstreamer" ,gstreamer)
-       ("gtk+" ,gtk+-2)
+       ("gstreamer" ,gstreamer)
        ;; gtkspell
        ("libgadu" ,libgadu)
        ("libgcrypt" ,libgcrypt)
@@ -805,7 +806,8 @@ authentication.")
        ("tcl" ,tcl)
        ("tk" ,tk)))
     (propagated-inputs
-     `(("glib" ,glib)))
+     `(("glib" ,glib)
+        ("gtk+" ,gtk+-2)))
     (native-search-paths
      (list
       (search-path-specification
diff --git a/gnu/packages/patches/pidgin-vv-gst.patch b/gnu/packages/patches/pidgin-vv-gst.patch
new file mode 100644
index 0000000000..e0553dd119
--- /dev/null
+++ b/gnu/packages/patches/pidgin-vv-gst.patch
@@ -0,0 +1,48 @@
+Name: Gary Kramlich
+Date: 2020-07-12
+Source: https://keep.imfreedom.org/pidgin/pidgin/rev/39ac50435cfb
+
+diff --git a/libpurple/mediamanager.c b/libpurple/mediamanager.c
+--- a/libpurple/mediamanager.c
++++ b/libpurple/mediamanager.c
+@@ -2231,6 +2231,7 @@
+ purple_media_manager_unregister_gst_device(PurpleMediaManager *manager,
+ 		GstDevice *device)
+ {
++#ifdef USE_VV
+ 	GList *i;
+ 	gchar *name;
+ 	gchar *device_class;
+@@ -2277,6 +2278,7 @@
+ 
+ 	g_free(name);
+ 	g_free(device_class);
++#endif /* USE_VV */
+ }
+ 
+ static gboolean
+@@ -2304,7 +2306,7 @@
+ static void
+ purple_media_manager_init_device_monitor(PurpleMediaManager *manager)
+ {
+-#if GST_CHECK_VERSION(1, 4, 0)
++#if GST_CHECK_VERSION(1, 4, 0) && defined(USE_VV)
+ 	GstBus *bus;
+ 	GList *i;
+ 
+@@ -2334,6 +2336,7 @@
+ 		PurpleMediaElementType type)
+ {
+ 	GList *result = NULL;
++#ifdef USE_VV
+ 	GList *i;
+ 
+ 	for (i = manager->priv->elements; i; i = i->next) {
+@@ -2347,6 +2350,7 @@
+ 			result = g_list_prepend(result, info);
+ 		}
+ 	}
++#endif /* USE_VV */
+ 
+ 	return result;
+ }
-- 
2.29.2


[-- Attachment #1.1.11: 0010-gnu-libotr-Make-some-cosmetic-changes.patch --]
[-- Type: text/x-patch, Size: 3606 bytes --]

From a0aae0ca3a48de2e1d191ebdd04a28ab4f5baff3 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <raghavgururajan@disroot.org>
Date: Mon, 30 Nov 2020 00:48:09 -0500
Subject: [PATCH 10/14] gnu: libotr: Make some cosmetic changes.

* gnu/packages/messaging.scm (libotr): Make some cosmetic changes.
---
 gnu/packages/messaging.scm | 49 +++++++++++++++++++++-----------------
 1 file changed, 27 insertions(+), 22 deletions(-)

diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm
index f1a44eb596..214379882e 100644
--- a/gnu/packages/messaging.scm
+++ b/gnu/packages/messaging.scm
@@ -377,32 +377,37 @@ powerful, standard and open protocol.")
   (package
     (name "libotr")
     (version "4.1.1")
-    (source (origin
-              (method url-fetch)
-              (uri (string-append "https://otr.cypherpunks.ca/libotr-"
-                                  version ".tar.gz"))
-              (sha256
-               (base32
-                "1x8rliydhbibmzwdbyr7pd7n87m2jmxnqkpvaalnf4154hj1hfwb"))
-              (patches (search-patches "libotr-test-auth-fix.patch"))))
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "https://otr.cypherpunks.ca/libotr-"
+                           version ".tar.gz"))
+       (sha256
+        (base32 "1x8rliydhbibmzwdbyr7pd7n87m2jmxnqkpvaalnf4154hj1hfwb"))
+       (patches
+        (search-patches "libotr-test-auth-fix.patch"))))
     (build-system gnu-build-system)
+    (native-inputs
+     `(("perl" ,perl)))                 ; for the test suite
+    (inputs
+     `(("libgpg-error" ,libgpg-error)))
     (propagated-inputs
-     `(("libgcrypt" ,libgcrypt)))  ; libotr headers include gcrypt.h
-    (inputs `(("libgpg-error" ,libgpg-error)))
-    (native-inputs `(("perl" ,perl))) ; for the test suite
+     `(("libgcrypt" ,libgcrypt)))    ; libotr headers include gcrypt.h
     (synopsis "Off-the-Record (OTR) Messaging Library and Toolkit")
-    (description
-     "OTR allows you to have private conversations over instant messaging by
-providing: (1) Encryption: No one else can read your instant messages.  (2)
-Authentication: You are assured the correspondent is who you think it is.  (3)
-Deniability: The messages you send do not have digital signatures that are
-checkable by a third party.  Anyone can forge messages after a conversation to
-make them look like they came from you.  However, during a conversation, your
-correspondent is assured the messages he sees are authentic and
-unmodified.  (4) Perfect forward secrecy: If you lose control of your private
-keys, no previous conversation is compromised.")
+    (description "OTR allows you to have private conversations over instant
+messaging by providing: (1) Encryption: No one else can read your instant
+messages.  (2) Authentication: You are assured the correspondent is who you
+think it is.  (3) Deniability: The messages you send do not have digital
+signatures that are checkable by a third party.  Anyone can forge messages
+after a conversation to make them look like they came from you.  However,
+during a conversation, your correspondent is assured the messages he sees are
+authentic and unmodified.  (4) Perfect forward secrecy: If you lose control of
+your private keys, no previous conversation is compromised.")
     (home-page "https://otr.cypherpunks.ca/")
-    (license (list license:lgpl2.1 license:gpl2))))
+    (license
+     (list
+      license:lgpl2.1
+      license:gpl2))))
 
 (define-public libsignal-protocol-c
   (package
-- 
2.29.2


[-- Attachment #1.1.12: 0011-gnu-libotr-Update-license.patch --]
[-- Type: text/x-patch, Size: 916 bytes --]

From 55be50deefd0429b8cc6ecd10129c9997e50a016 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <raghavgururajan@disroot.org>
Date: Mon, 30 Nov 2020 00:49:38 -0500
Subject: [PATCH 11/14] gnu: libotr: Update license.

* gnu/packages/messaging.scm (libotr) [license]: Modify.
---
 gnu/packages/messaging.scm | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm
index 214379882e..a5e394a0df 100644
--- a/gnu/packages/messaging.scm
+++ b/gnu/packages/messaging.scm
@@ -406,8 +406,10 @@ your private keys, no previous conversation is compromised.")
     (home-page "https://otr.cypherpunks.ca/")
     (license
      (list
-      license:lgpl2.1
-      license:gpl2))))
+      ;; Library
+      license:lgpl2.1+
+      ;; Others
+      license:gpl2+))))
 
 (define-public libsignal-protocol-c
   (package
-- 
2.29.2


[-- Attachment #1.1.13: 0012-gnu-pidgin-otr-Make-some-cosmetic-changes.patch --]
[-- Type: text/x-patch, Size: 3615 bytes --]

From 41242e77d95e287c1d15144b35715fe4a3765cea Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <raghavgururajan@disroot.org>
Date: Mon, 30 Nov 2020 01:12:11 -0500
Subject: [PATCH 12/14] gnu: pidgin-otr: Make some cosmetic changes.

* gnu/packages/messaging.scm (pidgin-otr): Make some cosmetic changes.
---
 gnu/packages/messaging.scm | 51 +++++++++++++++++++-------------------
 1 file changed, 25 insertions(+), 26 deletions(-)

diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm
index a5e394a0df..61796471d9 100644
--- a/gnu/packages/messaging.scm
+++ b/gnu/packages/messaging.scm
@@ -846,38 +846,37 @@ chat protocols.")
   (package
     (name "pidgin-otr")
     (version "4.0.2")
-    (source (origin
-              (method url-fetch)
-              (uri (string-append "https://otr.cypherpunks.ca/"
-                                  name "-" version ".tar.gz"))
-              (sha256
-               (base32
-                "1i5s9rrgbyss9rszq6c6y53hwqyw1k86s40cpsfx5ccl9bprxdgl"))))
+    (source
+     (origin
+       (method url-fetch)
+       (uri
+        (string-append "https://otr.cypherpunks.ca/"
+                       name "-" version ".tar.gz"))
+       (sha256
+        (base32 "1i5s9rrgbyss9rszq6c6y53hwqyw1k86s40cpsfx5ccl9bprxdgl"))))
     (build-system gnu-build-system)
     (native-inputs
-     `(("pkg-config" ,pkg-config)
-       ("intltool" ,intltool)))
+     `(("intltool" ,intltool)
+       ("pkg-config" ,pkg-config)))
     (inputs
-     `(("pidgin" ,pidgin)
-       ("libotr" ,libotr)
-       ("libgpg-error" ,libgpg-error)
+     `(("glib" ,glib)
+       ("gtk+" ,gtk+-2)
        ("libgcrypt" ,libgcrypt)
-       ("glib" ,glib)
-       ("gtk+" ,gtk+-2)))
-    (home-page "https://otr.cypherpunks.ca/")
+       ("libgpg-error" ,libgpg-error)
+       ("libotr" ,libotr)
+       ("pidgin" ,pidgin)))
     (synopsis "Off-the-Record Messaging plugin for Pidgin")
-    (description
-     "Pidgin-OTR is a plugin that adds support for OTR to the Pidgin instant
-messaging client.  OTR (Off-the-Record) Messaging allows you to have private
-conversations over instant messaging by providing: (1) Encryption: No one else
-can read your instant messages.  (2) Authentication: You are assured the
-correspondent is who you think it is.  (3) Deniability: The messages you send
-do not have digital signatures that are checkable by a third party.  Anyone
+    (description "Pidgin-OTR is a plugin that adds support for OTR to the Pidgin
+instant messaging client.  OTR (Off-the-Record) Messaging allows you to have
+private conversations over instant messaging by providing: (1) Encryption: No
+one else can read your instant messages.  (2) Authentication: You are assured
+the correspondent is who you think it is.  (3) Deniability: The messages you
+send do not have digital signatures that are checkable by a third party.  Anyone
 can forge messages after a conversation to make them look like they came from
-you.  However, during a conversation, your correspondent is assured the
-messages he sees are authentic and unmodified.  (4) Perfect forward secrecy:
-If you lose control of your private keys, no previous conversation is
-compromised.")
+you.  However, during a conversation, your correspondent is assured the messages
+he sees are authentic and unmodified.  (4) Perfect forward secrecy: If you lose
+control of your private keys, no previous conversation is compromised.")
+    (home-page "https://otr.cypherpunks.ca/")
     (license license:gpl2)))
 
 (define-public znc
-- 
2.29.2


[-- Attachment #1.1.14: 0013-gnu-pidgin-otr-Update-license.patch --]
[-- Type: text/x-patch, Size: 974 bytes --]

From 4a53a3f8e52969d9fce581156d90be07b9353f16 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <raghavgururajan@disroot.org>
Date: Mon, 30 Nov 2020 01:13:46 -0500
Subject: [PATCH 13/14] gnu: pidgin-otr: Update license.

* gnu/packages/messaging.scm (pidgin-otr) [license]: Modify.
---
 gnu/packages/messaging.scm | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm
index 61796471d9..2e405fb082 100644
--- a/gnu/packages/messaging.scm
+++ b/gnu/packages/messaging.scm
@@ -877,7 +877,7 @@ you.  However, during a conversation, your correspondent is assured the messages
 he sees are authentic and unmodified.  (4) Perfect forward secrecy: If you lose
 control of your private keys, no previous conversation is compromised.")
     (home-page "https://otr.cypherpunks.ca/")
-    (license license:gpl2)))
+    (license license:gpl2+)))
 
 (define-public znc
   (package
-- 
2.29.2


[-- Attachment #1.1.15: 0014-gnu-pidgin-otr-Add-some-inputs.patch --]
[-- Type: text/x-patch, Size: 1296 bytes --]

From aa7d5298b7d6571bb875e972b1f38e44a2f6f3ad Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <raghavgururajan@disroot.org>
Date: Mon, 30 Nov 2020 01:18:51 -0500
Subject: [PATCH 14/14] gnu: pidgin-otr: Add some inputs.

* gnu/packages/messaging.scm (pidgin-otr) [native-inputs]: Add
gettext-minimal.
[inputs]: Add perl.
---
 gnu/packages/messaging.scm | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm
index 2e405fb082..ee9ccd2cad 100644
--- a/gnu/packages/messaging.scm
+++ b/gnu/packages/messaging.scm
@@ -856,14 +856,15 @@ chat protocols.")
         (base32 "1i5s9rrgbyss9rszq6c6y53hwqyw1k86s40cpsfx5ccl9bprxdgl"))))
     (build-system gnu-build-system)
     (native-inputs
-     `(("intltool" ,intltool)
+     `(("gettext" ,gettext-minimal)
+       ("intltool" ,intltool)
        ("pkg-config" ,pkg-config)))
     (inputs
      `(("glib" ,glib)
        ("gtk+" ,gtk+-2)
        ("libgcrypt" ,libgcrypt)
-       ("libgpg-error" ,libgpg-error)
        ("libotr" ,libotr)
+       ("perl" ,perl)
        ("pidgin" ,pidgin)))
     (synopsis "Off-the-Record Messaging plugin for Pidgin")
     (description "Pidgin-OTR is a plugin that adds support for OTR to the Pidgin
-- 
2.29.2


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 236 bytes --]

^ permalink raw reply related	[flat|nested] 11+ messages in thread

* [bug#44957] [PIDGIN]: v4
  2020-12-01 22:42 ` [bug#44957] [PIDGIN]: v4 Raghav Gururajan
@ 2020-12-28 17:50   ` Danny Milosavljevic
  2020-12-30 21:08     ` Raghav Gururajan
  0 siblings, 1 reply; 11+ messages in thread
From: Danny Milosavljevic @ 2020-12-28 17:50 UTC (permalink / raw)
  To: Raghav Gururajan; +Cc: 44957

[-- Attachment #1: Type: text/plain, Size: 199 bytes --]

Hi RG,

applied patches 4,5,6 (the ones adding packages).

The other patches (especially patch 2) currently do not apply to guix master,
with or without cosmetic changes.  Please update those.

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

^ permalink raw reply	[flat|nested] 11+ messages in thread

* [bug#44957] [PIDGIN]: v4
  2020-12-28 17:50   ` Danny Milosavljevic
@ 2020-12-30 21:08     ` Raghav Gururajan
  2020-12-31  0:54       ` Danny Milosavljevic
  0 siblings, 1 reply; 11+ messages in thread
From: Raghav Gururajan @ 2020-12-30 21:08 UTC (permalink / raw)
  To: Danny Milosavljevic; +Cc: 44957

[-- Attachment #1: Type: text/plain, Size: 284 bytes --]

Hi Danny!

> applied patches 4,5,6 (the ones adding packages).

Thanks!

> The other patches (especially patch 2) currently do not apply to guix master,
> with or without cosmetic changes.  Please update those.

Please find the updated patches attached with this email.

Regards,
RG.

[-- Attachment #2: 0001-gnu-pidgin-Make-some-cosmetic-changes.patch --]
[-- Type: text/x-patch, Size: 4176 bytes --]

From e17531589b5da1b2c8dce1a8fc80644ef7ea2885 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Wed, 30 Dec 2020 14:59:50 -0500
Subject: [PATCH 01/10] gnu: pidgin: Make some cosmetic changes.

* gnu/packages/messaging.scm (pidgin): Make some cosmetic changes.
---
 gnu/packages/messaging.scm | 57 +++++++++++++++++++++-----------------
 1 file changed, 31 insertions(+), 26 deletions(-)

diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm
index 1393843e57..4bee2ded23 100644
--- a/gnu/packages/messaging.scm
+++ b/gnu/packages/messaging.scm
@@ -527,14 +527,17 @@ authentication.")
     (source
      (origin
        (method url-fetch)
-       (uri (string-append "mirror://sourceforge/pidgin/Pidgin/"
-                           version "/pidgin-" version ".tar.bz2"))
+       (uri
+        (string-append "mirror://sourceforge/pidgin/Pidgin/"
+                       version "/pidgin-" version ".tar.bz2"))
        (sha256
         (base32 "13vdqj70315p9rzgnbxjp9c51mdzf1l4jg1kvnylc4bidw61air7"))
-       (patches (search-patches "pidgin-add-search-path.patch"
-                                ;; Remove the snippet and bootstrapping
-                                ;; native-inputs together with this patch.
-                                "pidgin-libnm.patch"))
+       (patches
+        (search-patches
+         "pidgin-add-search-path.patch"
+         ;; Remove the snippet and bootstrapping
+         ;; native-inputs together with this patch.
+         "pidgin-libnm.patch"))
        (modules '((guix build utils)))
        (snippet
         '(begin
@@ -549,7 +552,6 @@ authentication.")
        ("gconf" ,gconf)
        ("python" ,python-2)
        ("doxygen" ,doxygen)
-
        ;; For bootstrapping after applying pidgin-libnm.patch.
        ("autoconf" ,autoconf)
        ("automake" ,automake)
@@ -582,30 +584,33 @@ authentication.")
        ("startup-notification" ,startup-notification)))
     (arguments
      `(#:configure-flags
-       (list "--disable-gtkspell"
-             "--disable-tcl"
-             "--disable-meanwhile"
-             "--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"))))
+       (list
+        "--disable-gtkspell"
+        "--disable-tcl"
+        "--disable-meanwhile"
+        "--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-major version))
-                         "lib/pidgin")))))
+     (list
+      (search-path-specification
+       (variable "PURPLE_PLUGIN_PATH")
+       (files
+        (list
+         (string-append "lib/purple-"
+                        (version-major version))
+         "lib/pidgin")))))
     (home-page "https://www.pidgin.im/")
     (synopsis "Graphical multi-protocol instant messaging client")
-    (description
-     "Pidgin is a modular instant messaging client that supports many popular
-chat protocols.")
+    (description "Pidgin is a modular instant messaging client that supports
+many popular chat protocols.")
     (license
      (list
-      license:gpl2+    ; Most of the code
-      license:lgpl2.1  ; GG protocol plugin (libpurple/protocols/gg/lib)
+      license:gpl2+   ; Most of the code
+      license:lgpl2.1 ; GG protocol plugin (libpurple/protocols/gg/lib)
       license:lgpl2.0+ ; OSCAR protocol plugin (libpurple/protocols/oscar)
       ;; The following licenses cover the zephyr protocol plugin:
       (license:non-copyleft
-- 
2.29.2


[-- Attachment #3: 0002-gnu-pidgin-Re-arrange-inputs-in-alphabetical-order.patch --]
[-- Type: text/x-patch, Size: 2590 bytes --]

From fc7ce2f83d86ac05bc9f8a5c53a39cae0e4c5724 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Wed, 30 Dec 2020 15:08:25 -0500
Subject: [PATCH 02/10] gnu: pidgin: Re-arrange inputs in alphabetical order.

* gnu/packages/messaging.scm (pidgin) [native-inputs]: Re-order.
[inputs]: Re-order.
---
 gnu/packages/messaging.scm | 44 ++++++++++++++++++--------------------
 1 file changed, 21 insertions(+), 23 deletions(-)

diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm
index 4bee2ded23..759a432fb1 100644
--- a/gnu/packages/messaging.scm
+++ b/gnu/packages/messaging.scm
@@ -546,41 +546,39 @@ authentication.")
            #t))))
     (build-system glib-or-gtk-build-system)
     (native-inputs
-     `(("pkg-config" ,pkg-config)
-       ("check" ,check-0.14)
-       ("intltool" ,intltool)
+     `(("autoconf" ,autoconf) ;; For bootstrap
+       ("automake" ,automake) ;; For bootstrap
+       ("check" ,check)
        ("gconf" ,gconf)
-       ("python" ,python-2)
-       ("doxygen" ,doxygen)
-       ;; For bootstrapping after applying pidgin-libnm.patch.
-       ("autoconf" ,autoconf)
-       ("automake" ,automake)
-       ("libtool" ,libtool)))
+       ("intltool" ,intltool)
+       ("libtool" ,libtool) ;; For bootstrap
+       ("pkg-config" ,pkg-config)
+       ("python" ,python-2)))
     (inputs
-     `(("gtk+" ,gtk+-2)
-       ("libgcrypt" ,libgcrypt)
-       ("gnutls" ,gnutls)
+     `(("avahi" ,avahi)
        ("cyrus-sasl" ,cyrus-sasl)
        ("dbus" ,dbus)
        ("dbus-glib" ,dbus-glib)
-       ("python2-dbus" ,python2-dbus)
+       ;; farstream
+       ("gnutls" ,gnutls)
+       ;; gstreamer
+       ("gtk+" ,gtk+-2)
+       ;; gtkspell
+       ;; libgadu
+       ("libgcrypt" ,libgcrypt)
+       ("libice" ,libice)
        ("libidn" ,libidn)
        ("libltdl" ,libltdl)
+       ("libsm" ,libsm)
+       ;; libxephyr
        ("libxml2" ,libxml2)
-       ;; TODO: gstreamer: patches needed to support gstreamer-1.0 or later
-       ;; TODO: farstream
-       ;; TODO: meanwhile
-       ;; TODO: gtkspell
-       ;; TODO: libxephyr
-       ;; TODO: libgadu
+       ("libxscrnsaver" ,libxscrnsaver)
        ("libxslt" ,libxslt)
-       ("avahi" ,avahi)
+       ;; meanwhile
        ("ncurses" ,ncurses)
        ("network-manager" ,network-manager)
+       ("python2-dbus" ,python2-dbus)
        ("sqlite" ,sqlite)
-       ("libice" ,libice)
-       ("libsm" ,libsm)
-       ("libxscrnsaver" ,libxscrnsaver)
        ("startup-notification" ,startup-notification)))
     (arguments
      `(#:configure-flags
-- 
2.29.2


[-- Attachment #4: 0003-gnu-pidgin-Enable-some-features.patch --]
[-- Type: text/x-patch, Size: 4316 bytes --]

From 7b551da2dca1fc6c182580b7d71764b539170477 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Wed, 30 Dec 2020 15:36:00 -0500
Subject: [PATCH 03/10] gnu: pidgin: Enable some features.

* gnu/packages/messaging.scm (pidgin) [arguments]<#:configure-flags>
[--enable-cap]: New flag.
[--enable-mono]: New flag.
[--with-tclconfig=]: New flag.
[--with-tkconfig=]: New flag.
[native-inputs]: Add graphviz. Remove python-2.
[inputs]: Add libgadu, libgnt, libx11, libxext, meanwhile, mono,
nspr, nss, pango, perl, python-2, silc-toolkit, tcl and tk.
[propagated-inputs]: Add glib.
---
 gnu/packages/messaging.scm | 47 +++++++++++++++++++++++++++++---------
 1 file changed, 36 insertions(+), 11 deletions(-)

diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm
index 759a432fb1..e7ad3851ec 100644
--- a/gnu/packages/messaging.scm
+++ b/gnu/packages/messaging.scm
@@ -71,6 +71,7 @@
   #:use-module (gnu packages gnome)
   #:use-module (gnu packages gnupg)
   #:use-module (gnu packages gperf)
+  #:use-module (gnu packages graphviz)
   #:use-module (gnu packages gstreamer)
   #:use-module (gnu packages gtk)
   #:use-module (gnu packages guile)
@@ -84,9 +85,11 @@
   #:use-module (gnu packages lua)
   #:use-module (gnu packages man)
   #:use-module (gnu packages markup)
+  #:use-module (gnu packages mono)
   #:use-module (gnu packages mpd)
   #:use-module (gnu packages ncurses)
   #:use-module (gnu packages networking)
+  #:use-module (gnu packages nss)
   #:use-module (gnu packages pcre)
   #:use-module (gnu packages perl)
   #:use-module (gnu packages photo)
@@ -549,49 +552,71 @@ authentication.")
      `(("autoconf" ,autoconf) ;; For bootstrap
        ("automake" ,automake) ;; For bootstrap
        ("check" ,check)
+       ("dot" ,graphviz)
        ("gconf" ,gconf)
        ("intltool" ,intltool)
        ("libtool" ,libtool) ;; For bootstrap
-       ("pkg-config" ,pkg-config)
-       ("python" ,python-2)))
+       ("pkg-config" ,pkg-config)))
     (inputs
      `(("avahi" ,avahi)
        ("cyrus-sasl" ,cyrus-sasl)
        ("dbus" ,dbus)
        ("dbus-glib" ,dbus-glib)
-       ;; farstream
+       ;; ("evolution-data-server" ,evolution-data-server)
+       ;; ("farstream" ,farstream)
        ("gnutls" ,gnutls)
-       ;; gstreamer
+       ;; ("gstreamer" ,gstreamer)
        ("gtk+" ,gtk+-2)
        ;; gtkspell
-       ;; libgadu
+       ("libgadu" ,libgadu)
        ("libgcrypt" ,libgcrypt)
+       ("libgnt" ,libgnt)
        ("libice" ,libice)
        ("libidn" ,libidn)
        ("libltdl" ,libltdl)
        ("libsm" ,libsm)
-       ;; libxephyr
+       ("libx11" ,libx11)
+       ("libxext" ,libxext)
        ("libxml2" ,libxml2)
        ("libxscrnsaver" ,libxscrnsaver)
        ("libxslt" ,libxslt)
-       ;; meanwhile
+       ;; ("libzephyr" ,libzephyr)
+       ("meanwhile" ,meanwhile)
+       ("mono" ,mono)
        ("ncurses" ,ncurses)
        ("network-manager" ,network-manager)
+       ("nspr" ,nspr)
+       ("nss" ,nss)
+       ("pango" ,pango)
+       ("perl" ,perl)
+       ("python" ,python-2)
        ("python2-dbus" ,python2-dbus)
+       ("silc" ,silc-toolkit)
        ("sqlite" ,sqlite)
-       ("startup-notification" ,startup-notification)))
+       ("startup-notification" ,startup-notification)
+       ("tcl" ,tcl)
+       ("tk" ,tk)))
+    (propagated-inputs
+     `(("glib" ,glib)))
     (arguments
      `(#:configure-flags
        (list
         "--disable-gtkspell"
-        "--disable-tcl"
-        "--disable-meanwhile"
+        ;; "--enable-gevolution"
+        "--enable-cap"
+        "--enable-mono"
         "--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"))))
+                       "/include")
+        (string-append "--with-tclconfig="
+                       (assoc-ref %build-inputs "tcl")
+                       "/lib")
+        (string-append "--with-tkconfig="
+                       (assoc-ref %build-inputs "tk")
+                       "/lib"))))
     (native-search-paths
      (list
       (search-path-specification
-- 
2.29.2


[-- Attachment #5: 0004-gnu-pidgin-Upgrade-to-2.14.1.patch --]
[-- Type: text/x-patch, Size: 4866 bytes --]

From 9cbedf2e7452708cac7253d5a63b81e1b3869230 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <raghavgururajan@disroot.org>
Date: Sun, 29 Nov 2020 17:30:04 -0500
Subject: [PATCH 04/10] gnu: pidgin: Upgrade to 2.14.1.

* gnu/packages/messaging.scm (pidgin) [version]: Modify.
[source]<origin>[sha256]: Modify base32.
[patches]<search-patches>[pidgin-libnm.patch]: Remove obsolete patch.
* gnu/packages/patches/pidgin-libnm.patch: Remove file.
* gnu/local.mk (dist_patch_DATA): Remove entry.
---
 gnu/local.mk                            |  1 -
 gnu/packages/messaging.scm              | 13 +++---
 gnu/packages/patches/pidgin-libnm.patch | 60 -------------------------
 3 files changed, 5 insertions(+), 69 deletions(-)
 delete mode 100644 gnu/packages/patches/pidgin-libnm.patch

diff --git a/gnu/local.mk b/gnu/local.mk
index 204850c4e6..1c61b7a3c1 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1471,7 +1471,6 @@ dist_patch_DATA =						\
   %D%/packages/patches/picard-fix-id3-rename-test.patch		\
   %D%/packages/patches/picprog-non-intel-support.patch		\
   %D%/packages/patches/pidgin-add-search-path.patch		\
-  %D%/packages/patches/pidgin-libnm.patch			\
   %D%/packages/patches/pinball-const-fix.patch			\
   %D%/packages/patches/pinball-cstddef.patch			\
   %D%/packages/patches/pinball-missing-separators.patch		\
diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm
index e7ad3851ec..19346c8b99 100644
--- a/gnu/packages/messaging.scm
+++ b/gnu/packages/messaging.scm
@@ -526,25 +526,22 @@ authentication.")
 (define-public pidgin
   (package
     (name "pidgin")
-    (version "2.13.0")
+    (version "2.14.1")
     (source
      (origin
        (method url-fetch)
        (uri
         (string-append "mirror://sourceforge/pidgin/Pidgin/"
-                       version "/pidgin-" version ".tar.bz2"))
+                       version "/pidgin-" version ".tar.gz"))
        (sha256
-        (base32 "13vdqj70315p9rzgnbxjp9c51mdzf1l4jg1kvnylc4bidw61air7"))
+        (base32 "1c4dzxg9c3d9zfqqa7jwijj9rv9fm6w95igmpljwy88lxq7v5w11"))
        (patches
         (search-patches
-         "pidgin-add-search-path.patch"
-         ;; Remove the snippet and bootstrapping
-         ;; native-inputs together with this patch.
-         "pidgin-libnm.patch"))
+         "pidgin-add-search-path.patch"))
        (modules '((guix build utils)))
        (snippet
         '(begin
-           ;; Remove stale generated file after applying pidgin-libnm.patch.
+           ;; Remove stale generated file after applying patches.
            (delete-file "configure")
            #t))))
     (build-system glib-or-gtk-build-system)
diff --git a/gnu/packages/patches/pidgin-libnm.patch b/gnu/packages/patches/pidgin-libnm.patch
deleted file mode 100644
index d34af749af..0000000000
--- a/gnu/packages/patches/pidgin-libnm.patch
+++ /dev/null
@@ -1,60 +0,0 @@
-From: Tobias Geerinckx-Rice <me@tobias.gr>
-Date: Sun, 24 May 2020 16:11:01 +0200
-Subject: [PATCH] gnu: pidgin: Find libnm.
-
-Copied verbatim from[0].
-
-[0]: https://git.archlinux.org/svntogit/packages.git/plain/trunk/pidgin-nm-1.0.patch?h=packages/pidgin
-
-diff --git a/configure.ac b/configure.ac
-index 04836fa..0a2d451 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -1423,18 +1423,24 @@ fi
- dnl Check for NetworkManager.h; if we don't have it, oh well
- if test "x$enable_dbus" = "xyes" ; then
- 	if test "x$enable_nm" = "xyes" ; then
--		PKG_CHECK_MODULES(NETWORKMANAGER, [NetworkManager >= 0.5.0], [
-+		PKG_CHECK_MODULES(NETWORKMANAGER, [libnm], [
- 			AC_SUBST(NETWORKMANAGER_CFLAGS)
- 			AC_SUBST(NETWORKMANAGER_LIBS)
- 			AC_DEFINE(HAVE_NETWORKMANAGER, 1, [Define if we have NetworkManager.])
- 		], [
--			enable_nm=no
--			if test "x$force_deps" = "xyes" ; then
--				AC_MSG_ERROR([
-+			PKG_CHECK_MODULES(NETWORKMANAGER, [NetworkManager >= 0.5.0], [
-+				AC_SUBST(NETWORKMANAGER_CFLAGS)
-+				AC_SUBST(NETWORKMANAGER_LIBS)
-+				AC_DEFINE(HAVE_NETWORKMANAGER, 1, [Define if we have NetworkManager.])
-+			], [
-+				enable_nm=no
-+				if test "x$force_deps" = "xyes" ; then
-+					AC_MSG_ERROR([
- NetworkManager development headers not found.
- Use --disable-nm if you do not need NetworkManager support.
- ])
--			fi])
-+				fi])
-+		])
- 	fi
- else
- 	enable_nm=no
-diff --git a/libpurple/network.c b/libpurple/network.c
-index c43e3c7..b17e439 100644
---- a/libpurple/network.c
-+++ b/libpurple/network.c
-@@ -939,8 +939,13 @@ nm_update_state(NMState state)
- #if NM_CHECK_VERSION(0,8,992)
- 		case NM_STATE_DISCONNECTING:
- #endif
-+#if NM_CHECK_VERSION(1,0,0)
-+			if (prev != NM_STATE_CONNECTED_GLOBAL && prev != NM_STATE_UNKNOWN)
-+				break;
-+#else
- 			if (prev != NM_STATE_CONNECTED && prev != NM_STATE_UNKNOWN)
- 				break;
-+#endif
- 			if (ui_ops != NULL && ui_ops->network_disconnected != NULL)
- 				ui_ops->network_disconnected();
- 			break;
-- 
2.29.2


[-- Attachment #6: 0005-gnu-pidgin-Enable-MultiMedia-and-A-V-support.patch --]
[-- Type: text/x-patch, Size: 4477 bytes --]

From c954c91e1ff55b6ec7420ea37e95a40349a66228 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Wed, 30 Dec 2020 15:58:42 -0500
Subject: [PATCH 05/10] gnu: pidgin: Enable MultiMedia and A/V support.

* gnu/packages/messaging.scm (pidgin) [patches]<search-patches>
[pidgin-vv-gst.patch]: New patch.
[arguments]<#:configure-flags>[--diable-vv]: Remove flag.
[--disable-gstreamer]: Remove flag.
[CFLAGS]: New flag.
[inputs]: Add farstream, gstreamer and gst-plugins-base.
* gnu/packages/patches/pidgin-vv-gst.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add entry.
---
 gnu/local.mk                             |  1 +
 gnu/packages/messaging.scm               | 15 +++++---
 gnu/packages/patches/pidgin-vv-gst.patch | 48 ++++++++++++++++++++++++
 3 files changed, 58 insertions(+), 6 deletions(-)
 create mode 100644 gnu/packages/patches/pidgin-vv-gst.patch

diff --git a/gnu/local.mk b/gnu/local.mk
index 1c61b7a3c1..8acc74a456 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1471,6 +1471,7 @@ dist_patch_DATA =						\
   %D%/packages/patches/picard-fix-id3-rename-test.patch		\
   %D%/packages/patches/picprog-non-intel-support.patch		\
   %D%/packages/patches/pidgin-add-search-path.patch		\
+  %D%/packages/patches/pidgin-vv-gst.patch                        \
   %D%/packages/patches/pinball-const-fix.patch			\
   %D%/packages/patches/pinball-cstddef.patch			\
   %D%/packages/patches/pinball-missing-separators.patch		\
diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm
index 19346c8b99..678501dc40 100644
--- a/gnu/packages/messaging.scm
+++ b/gnu/packages/messaging.scm
@@ -537,7 +537,8 @@ authentication.")
         (base32 "1c4dzxg9c3d9zfqqa7jwijj9rv9fm6w95igmpljwy88lxq7v5w11"))
        (patches
         (search-patches
-         "pidgin-add-search-path.patch"))
+         "pidgin-add-search-path.patch"
+         "pidgin-vv-gst.patch"))
        (modules '((guix build utils)))
        (snippet
         '(begin
@@ -560,9 +561,9 @@ authentication.")
        ("dbus" ,dbus)
        ("dbus-glib" ,dbus-glib)
        ;; ("evolution-data-server" ,evolution-data-server)
-       ;; ("farstream" ,farstream)
+       ("farstream" ,farstream)
        ("gnutls" ,gnutls)
-       ;; ("gstreamer" ,gstreamer)
+       ("gstreamer" ,gstreamer)
        ("gtk+" ,gtk+-2)
        ;; gtkspell
        ("libgadu" ,libgadu)
@@ -594,16 +595,18 @@ authentication.")
        ("tcl" ,tcl)
        ("tk" ,tk)))
     (propagated-inputs
-     `(("glib" ,glib)))
+     `(("glib" ,glib)
+       ("gtk+" ,gtk+-2)))
     (arguments
      `(#:configure-flags
        (list
+        (string-append "CFLAGS=-I"
+                       (assoc-ref %build-inputs "gst-plugins-base")
+                       "/include/gstreamer-1.0")
         "--disable-gtkspell"
         ;; "--enable-gevolution"
         "--enable-cap"
         "--enable-mono"
-        "--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")
diff --git a/gnu/packages/patches/pidgin-vv-gst.patch b/gnu/packages/patches/pidgin-vv-gst.patch
new file mode 100644
index 0000000000..e0553dd119
--- /dev/null
+++ b/gnu/packages/patches/pidgin-vv-gst.patch
@@ -0,0 +1,48 @@
+Name: Gary Kramlich
+Date: 2020-07-12
+Source: https://keep.imfreedom.org/pidgin/pidgin/rev/39ac50435cfb
+
+diff --git a/libpurple/mediamanager.c b/libpurple/mediamanager.c
+--- a/libpurple/mediamanager.c
++++ b/libpurple/mediamanager.c
+@@ -2231,6 +2231,7 @@
+ purple_media_manager_unregister_gst_device(PurpleMediaManager *manager,
+ 		GstDevice *device)
+ {
++#ifdef USE_VV
+ 	GList *i;
+ 	gchar *name;
+ 	gchar *device_class;
+@@ -2277,6 +2278,7 @@
+ 
+ 	g_free(name);
+ 	g_free(device_class);
++#endif /* USE_VV */
+ }
+ 
+ static gboolean
+@@ -2304,7 +2306,7 @@
+ static void
+ purple_media_manager_init_device_monitor(PurpleMediaManager *manager)
+ {
+-#if GST_CHECK_VERSION(1, 4, 0)
++#if GST_CHECK_VERSION(1, 4, 0) && defined(USE_VV)
+ 	GstBus *bus;
+ 	GList *i;
+ 
+@@ -2334,6 +2336,7 @@
+ 		PurpleMediaElementType type)
+ {
+ 	GList *result = NULL;
++#ifdef USE_VV
+ 	GList *i;
+ 
+ 	for (i = manager->priv->elements; i; i = i->next) {
+@@ -2347,6 +2350,7 @@
+ 			result = g_list_prepend(result, info);
+ 		}
+ 	}
++#endif /* USE_VV */
+ 
+ 	return result;
+ }
-- 
2.29.2


[-- Attachment #7: 0006-gnu-libotr-Make-some-cosmetic-changes.patch --]
[-- Type: text/x-patch, Size: 3529 bytes --]

From 6f4dbf4638553a06f477a6ce59781eb6e6b1877f Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <raghavgururajan@disroot.org>
Date: Mon, 30 Nov 2020 00:48:09 -0500
Subject: [PATCH 06/10] gnu: libotr: Make some cosmetic changes.

* gnu/packages/messaging.scm (libotr): Make some cosmetic changes.
---
 gnu/packages/messaging.scm | 49 +++++++++++++++++++++-----------------
 1 file changed, 27 insertions(+), 22 deletions(-)

diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm
index 678501dc40..b68b21d044 100644
--- a/gnu/packages/messaging.scm
+++ b/gnu/packages/messaging.scm
@@ -186,32 +186,37 @@ powerful, standard and open protocol.")
   (package
     (name "libotr")
     (version "4.1.1")
-    (source (origin
-              (method url-fetch)
-              (uri (string-append "https://otr.cypherpunks.ca/libotr-"
-                                  version ".tar.gz"))
-              (sha256
-               (base32
-                "1x8rliydhbibmzwdbyr7pd7n87m2jmxnqkpvaalnf4154hj1hfwb"))
-              (patches (search-patches "libotr-test-auth-fix.patch"))))
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "https://otr.cypherpunks.ca/libotr-"
+                           version ".tar.gz"))
+       (sha256
+        (base32 "1x8rliydhbibmzwdbyr7pd7n87m2jmxnqkpvaalnf4154hj1hfwb"))
+       (patches
+        (search-patches "libotr-test-auth-fix.patch"))))
     (build-system gnu-build-system)
+    (native-inputs
+     `(("perl" ,perl)))                 ; for the test suite
+    (inputs
+     `(("libgpg-error" ,libgpg-error)))
     (propagated-inputs
-     `(("libgcrypt" ,libgcrypt)))  ; libotr headers include gcrypt.h
-    (inputs `(("libgpg-error" ,libgpg-error)))
-    (native-inputs `(("perl" ,perl))) ; for the test suite
+     `(("libgcrypt" ,libgcrypt)))    ; libotr headers include gcrypt.h
     (synopsis "Off-the-Record (OTR) Messaging Library and Toolkit")
-    (description
-     "OTR allows you to have private conversations over instant messaging by
-providing: (1) Encryption: No one else can read your instant messages.  (2)
-Authentication: You are assured the correspondent is who you think it is.  (3)
-Deniability: The messages you send do not have digital signatures that are
-checkable by a third party.  Anyone can forge messages after a conversation to
-make them look like they came from you.  However, during a conversation, your
-correspondent is assured the messages he sees are authentic and
-unmodified.  (4) Perfect forward secrecy: If you lose control of your private
-keys, no previous conversation is compromised.")
+    (description "OTR allows you to have private conversations over instant
+messaging by providing: (1) Encryption: No one else can read your instant
+messages.  (2) Authentication: You are assured the correspondent is who you
+think it is.  (3) Deniability: The messages you send do not have digital
+signatures that are checkable by a third party.  Anyone can forge messages
+after a conversation to make them look like they came from you.  However,
+during a conversation, your correspondent is assured the messages he sees are
+authentic and unmodified.  (4) Perfect forward secrecy: If you lose control of
+your private keys, no previous conversation is compromised.")
     (home-page "https://otr.cypherpunks.ca/")
-    (license (list license:lgpl2.1 license:gpl2))))
+    (license
+     (list
+      license:lgpl2.1
+      license:gpl2))))
 
 (define-public libsignal-protocol-c
   (package
-- 
2.29.2


[-- Attachment #8: 0007-gnu-libotr-Update-license.patch --]
[-- Type: text/x-patch, Size: 886 bytes --]

From 366c6063922ef4fa1891038e7d2d9260c08092f3 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <raghavgururajan@disroot.org>
Date: Mon, 30 Nov 2020 00:49:38 -0500
Subject: [PATCH 07/10] gnu: libotr: Update license.

* gnu/packages/messaging.scm (libotr) [license]: Modify.
---
 gnu/packages/messaging.scm | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm
index b68b21d044..b16c1a79db 100644
--- a/gnu/packages/messaging.scm
+++ b/gnu/packages/messaging.scm
@@ -215,8 +215,10 @@ your private keys, no previous conversation is compromised.")
     (home-page "https://otr.cypherpunks.ca/")
     (license
      (list
-      license:lgpl2.1
-      license:gpl2))))
+      ;; Library
+      license:lgpl2.1+
+      ;; Others
+      license:gpl2+))))
 
 (define-public libsignal-protocol-c
   (package
-- 
2.29.2


[-- Attachment #9: 0008-gnu-pidgin-otr-Make-some-cosmetic-changes.patch --]
[-- Type: text/x-patch, Size: 3496 bytes --]

From d859d7b6c97e34b73daa698bc1cba58e46a27cc7 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Wed, 30 Dec 2020 16:02:17 -0500
Subject: [PATCH 08/10] gnu: pidgin-otr: Make some cosmetic changes.

* gnu/packages/messaging.scm (pidgin-otr): Make some cosmetic changes.
---
 gnu/packages/messaging.scm | 49 +++++++++++++++++++-------------------
 1 file changed, 24 insertions(+), 25 deletions(-)

diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm
index b16c1a79db..ecbde17568 100644
--- a/gnu/packages/messaging.scm
+++ b/gnu/packages/messaging.scm
@@ -654,38 +654,37 @@ many popular chat protocols.")
   (package
     (name "pidgin-otr")
     (version "4.0.2")
-    (source (origin
-              (method url-fetch)
-              (uri (string-append "https://otr.cypherpunks.ca/"
-                                  name "-" version ".tar.gz"))
-              (sha256
-               (base32
-                "1i5s9rrgbyss9rszq6c6y53hwqyw1k86s40cpsfx5ccl9bprxdgl"))))
+    (source
+     (origin
+       (method url-fetch)
+       (uri
+        (string-append "https://otr.cypherpunks.ca/"
+                       name "-" version ".tar.gz"))
+       (sha256
+        (base32 "1i5s9rrgbyss9rszq6c6y53hwqyw1k86s40cpsfx5ccl9bprxdgl"))))
     (build-system gnu-build-system)
     (native-inputs
-     `(("pkg-config" ,pkg-config)
-       ("intltool" ,intltool)))
+     `(("intltool" ,intltool)
+       ("pkg-config" ,pkg-config)))
     (inputs
-     `(("pidgin" ,pidgin)
-       ("libotr" ,libotr)
-       ("libgpg-error" ,libgpg-error)
+     `(("glib" ,glib)
+       ("gtk+" ,gtk+-2)
        ("libgcrypt" ,libgcrypt)
-       ("glib" ,glib)
-       ("gtk+" ,gtk+-2)))
+       ("libgpg-error" ,libgpg-error)
+       ("libotr" ,libotr)
+       ("pidgin" ,pidgin)))
     (home-page "https://otr.cypherpunks.ca/")
     (synopsis "Off-the-Record Messaging plugin for Pidgin")
-    (description
-     "Pidgin-OTR is a plugin that adds support for OTR to the Pidgin instant
-messaging client.  OTR (Off-the-Record) Messaging allows you to have private
-conversations over instant messaging by providing: (1) Encryption: No one else
-can read your instant messages.  (2) Authentication: You are assured the
-correspondent is who you think it is.  (3) Deniability: The messages you send
-do not have digital signatures that are checkable by a third party.  Anyone
+    (description "Pidgin-OTR is a plugin that adds support for OTR to the Pidgin
+instant messaging client.  OTR (Off-the-Record) Messaging allows you to have
+private conversations over instant messaging by providing: (1) Encryption: No
+one else can read your instant messages.  (2) Authentication: You are assured
+the correspondent is who you think it is.  (3) Deniability: The messages you
+send do not have digital signatures that are checkable by a third party.  Anyone
 can forge messages after a conversation to make them look like they came from
-you.  However, during a conversation, your correspondent is assured the
-messages he sees are authentic and unmodified.  (4) Perfect forward secrecy:
-If you lose control of your private keys, no previous conversation is
-compromised.")
+you.  However, during a conversation, your correspondent is assured the messages
+he sees are authentic and unmodified.  (4) Perfect forward secrecy: If you lose
+control of your private keys, no previous conversation is compromised.")
     (license license:gpl2)))
 
 (define-public znc
-- 
2.29.2


[-- Attachment #10: 0009-gnu-pidgin-otr-Update-license.patch --]
[-- Type: text/x-patch, Size: 976 bytes --]

From c38c89f22e7604e9307697a1290c55dfcd4cf3b6 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Wed, 30 Dec 2020 16:03:35 -0500
Subject: [PATCH 09/10] gnu: pidgin-otr: Update license.

* gnu/packages/messaging.scm (pidgin-otr) [license]: Modify.
---
 gnu/packages/messaging.scm | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm
index ecbde17568..ebc88e5c3d 100644
--- a/gnu/packages/messaging.scm
+++ b/gnu/packages/messaging.scm
@@ -685,7 +685,7 @@ can forge messages after a conversation to make them look like they came from
 you.  However, during a conversation, your correspondent is assured the messages
 he sees are authentic and unmodified.  (4) Perfect forward secrecy: If you lose
 control of your private keys, no previous conversation is compromised.")
-    (license license:gpl2)))
+    (license license:gpl2+)))
 
 (define-public znc
   (package
-- 
2.29.2


[-- Attachment #11: 0010-gnu-pidgin-otr-Add-some-inputs.patch --]
[-- Type: text/x-patch, Size: 1255 bytes --]

From 9da370d9cbad01394dc16f19039503e755c60345 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Wed, 30 Dec 2020 16:05:42 -0500
Subject: [PATCH 10/10] gnu: pidgin-otr: Add some inputs.

* gnu/packages/messaging.scm (pidgin-otr) [native-inputs]: Add
gettext-minimal.
[inputs]: Add perl.
---
 gnu/packages/messaging.scm | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm
index ebc88e5c3d..8b1481513d 100644
--- a/gnu/packages/messaging.scm
+++ b/gnu/packages/messaging.scm
@@ -664,7 +664,8 @@ many popular chat protocols.")
         (base32 "1i5s9rrgbyss9rszq6c6y53hwqyw1k86s40cpsfx5ccl9bprxdgl"))))
     (build-system gnu-build-system)
     (native-inputs
-     `(("intltool" ,intltool)
+     `(("gettext" ,gettext-minimal)
+       ("intltool" ,intltool)
        ("pkg-config" ,pkg-config)))
     (inputs
      `(("glib" ,glib)
@@ -672,6 +673,7 @@ many popular chat protocols.")
        ("libgcrypt" ,libgcrypt)
        ("libgpg-error" ,libgpg-error)
        ("libotr" ,libotr)
+       ("perl" ,perl)
        ("pidgin" ,pidgin)))
     (home-page "https://otr.cypherpunks.ca/")
     (synopsis "Off-the-Record Messaging plugin for Pidgin")
-- 
2.29.2


^ permalink raw reply related	[flat|nested] 11+ messages in thread

* [bug#44957] [PIDGIN]: v4
  2020-12-30 21:08     ` Raghav Gururajan
@ 2020-12-31  0:54       ` Danny Milosavljevic
  2020-12-31  5:37         ` Raghav Gururajan
  0 siblings, 1 reply; 11+ messages in thread
From: Danny Milosavljevic @ 2020-12-31  0:54 UTC (permalink / raw)
  To: Raghav Gururajan; +Cc: 44957

[-- Attachment #1: Type: text/plain, Size: 223 bytes --]

Hi RG,

please, when enabling features, add one feature per patch here and mention the
feature by name per patch.

Also, please keep in mind the issues raised in '"questionable changes" commits'
mailing list thread.

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

^ permalink raw reply	[flat|nested] 11+ messages in thread

* [bug#44957] [PIDGIN]: v4
  2020-12-31  0:54       ` Danny Milosavljevic
@ 2020-12-31  5:37         ` Raghav Gururajan
  2021-01-03 16:30           ` bug#44957: " Danny Milosavljevic
  0 siblings, 1 reply; 11+ messages in thread
From: Raghav Gururajan @ 2020-12-31  5:37 UTC (permalink / raw)
  To: Danny Milosavljevic; +Cc: 44957

[-- Attachment #1: Type: text/plain, Size: 442 bytes --]

Hi Danny!

> please, when enabling features, add one feature per patch here and mention the
> feature by name per patch.

Please find the revised patch attached with this email.

> Also, please keep in mind the issues raised in '"questionable changes" commits'
> mailing list thread.

Yes, I have not removed any comments or moved the fields around. I will 
soon be not doing cosmetic changes at all, as I am working on my OCD.

Regards,
RG.

[-- Attachment #2: 0001-gnu-pidgin-Make-some-cosmetic-changes.patch --]
[-- Type: text/x-patch, Size: 4176 bytes --]

From e9abb81da9753026ed5e9228d91ccded74f3a161 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Wed, 30 Dec 2020 14:59:50 -0500
Subject: [PATCH 01/17] gnu: pidgin: Make some cosmetic changes.

* gnu/packages/messaging.scm (pidgin): Make some cosmetic changes.
---
 gnu/packages/messaging.scm | 57 +++++++++++++++++++++-----------------
 1 file changed, 31 insertions(+), 26 deletions(-)

diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm
index 1393843e57..4bee2ded23 100644
--- a/gnu/packages/messaging.scm
+++ b/gnu/packages/messaging.scm
@@ -527,14 +527,17 @@ authentication.")
     (source
      (origin
        (method url-fetch)
-       (uri (string-append "mirror://sourceforge/pidgin/Pidgin/"
-                           version "/pidgin-" version ".tar.bz2"))
+       (uri
+        (string-append "mirror://sourceforge/pidgin/Pidgin/"
+                       version "/pidgin-" version ".tar.bz2"))
        (sha256
         (base32 "13vdqj70315p9rzgnbxjp9c51mdzf1l4jg1kvnylc4bidw61air7"))
-       (patches (search-patches "pidgin-add-search-path.patch"
-                                ;; Remove the snippet and bootstrapping
-                                ;; native-inputs together with this patch.
-                                "pidgin-libnm.patch"))
+       (patches
+        (search-patches
+         "pidgin-add-search-path.patch"
+         ;; Remove the snippet and bootstrapping
+         ;; native-inputs together with this patch.
+         "pidgin-libnm.patch"))
        (modules '((guix build utils)))
        (snippet
         '(begin
@@ -549,7 +552,6 @@ authentication.")
        ("gconf" ,gconf)
        ("python" ,python-2)
        ("doxygen" ,doxygen)
-
        ;; For bootstrapping after applying pidgin-libnm.patch.
        ("autoconf" ,autoconf)
        ("automake" ,automake)
@@ -582,30 +584,33 @@ authentication.")
        ("startup-notification" ,startup-notification)))
     (arguments
      `(#:configure-flags
-       (list "--disable-gtkspell"
-             "--disable-tcl"
-             "--disable-meanwhile"
-             "--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"))))
+       (list
+        "--disable-gtkspell"
+        "--disable-tcl"
+        "--disable-meanwhile"
+        "--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-major version))
-                         "lib/pidgin")))))
+     (list
+      (search-path-specification
+       (variable "PURPLE_PLUGIN_PATH")
+       (files
+        (list
+         (string-append "lib/purple-"
+                        (version-major version))
+         "lib/pidgin")))))
     (home-page "https://www.pidgin.im/")
     (synopsis "Graphical multi-protocol instant messaging client")
-    (description
-     "Pidgin is a modular instant messaging client that supports many popular
-chat protocols.")
+    (description "Pidgin is a modular instant messaging client that supports
+many popular chat protocols.")
     (license
      (list
-      license:gpl2+    ; Most of the code
-      license:lgpl2.1  ; GG protocol plugin (libpurple/protocols/gg/lib)
+      license:gpl2+   ; Most of the code
+      license:lgpl2.1 ; GG protocol plugin (libpurple/protocols/gg/lib)
       license:lgpl2.0+ ; OSCAR protocol plugin (libpurple/protocols/oscar)
       ;; The following licenses cover the zephyr protocol plugin:
       (license:non-copyleft
-- 
2.29.2


[-- Attachment #3: 0002-gnu-pidgin-Re-arrange-inputs-in-alphabetical-order.patch --]
[-- Type: text/x-patch, Size: 2590 bytes --]

From c15039b7fb7b6a5daa29340f1afd2cf550669134 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Wed, 30 Dec 2020 15:08:25 -0500
Subject: [PATCH 02/17] gnu: pidgin: Re-arrange inputs in alphabetical order.

* gnu/packages/messaging.scm (pidgin) [native-inputs]: Re-order.
[inputs]: Re-order.
---
 gnu/packages/messaging.scm | 44 ++++++++++++++++++--------------------
 1 file changed, 21 insertions(+), 23 deletions(-)

diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm
index 4bee2ded23..759a432fb1 100644
--- a/gnu/packages/messaging.scm
+++ b/gnu/packages/messaging.scm
@@ -546,41 +546,39 @@ authentication.")
            #t))))
     (build-system glib-or-gtk-build-system)
     (native-inputs
-     `(("pkg-config" ,pkg-config)
-       ("check" ,check-0.14)
-       ("intltool" ,intltool)
+     `(("autoconf" ,autoconf) ;; For bootstrap
+       ("automake" ,automake) ;; For bootstrap
+       ("check" ,check)
        ("gconf" ,gconf)
-       ("python" ,python-2)
-       ("doxygen" ,doxygen)
-       ;; For bootstrapping after applying pidgin-libnm.patch.
-       ("autoconf" ,autoconf)
-       ("automake" ,automake)
-       ("libtool" ,libtool)))
+       ("intltool" ,intltool)
+       ("libtool" ,libtool) ;; For bootstrap
+       ("pkg-config" ,pkg-config)
+       ("python" ,python-2)))
     (inputs
-     `(("gtk+" ,gtk+-2)
-       ("libgcrypt" ,libgcrypt)
-       ("gnutls" ,gnutls)
+     `(("avahi" ,avahi)
        ("cyrus-sasl" ,cyrus-sasl)
        ("dbus" ,dbus)
        ("dbus-glib" ,dbus-glib)
-       ("python2-dbus" ,python2-dbus)
+       ;; farstream
+       ("gnutls" ,gnutls)
+       ;; gstreamer
+       ("gtk+" ,gtk+-2)
+       ;; gtkspell
+       ;; libgadu
+       ("libgcrypt" ,libgcrypt)
+       ("libice" ,libice)
        ("libidn" ,libidn)
        ("libltdl" ,libltdl)
+       ("libsm" ,libsm)
+       ;; libxephyr
        ("libxml2" ,libxml2)
-       ;; TODO: gstreamer: patches needed to support gstreamer-1.0 or later
-       ;; TODO: farstream
-       ;; TODO: meanwhile
-       ;; TODO: gtkspell
-       ;; TODO: libxephyr
-       ;; TODO: libgadu
+       ("libxscrnsaver" ,libxscrnsaver)
        ("libxslt" ,libxslt)
-       ("avahi" ,avahi)
+       ;; meanwhile
        ("ncurses" ,ncurses)
        ("network-manager" ,network-manager)
+       ("python2-dbus" ,python2-dbus)
        ("sqlite" ,sqlite)
-       ("libice" ,libice)
-       ("libsm" ,libsm)
-       ("libxscrnsaver" ,libxscrnsaver)
        ("startup-notification" ,startup-notification)))
     (arguments
      `(#:configure-flags
-- 
2.29.2


[-- Attachment #4: 0003-gnu-pidgin-Add-missing-inputs.patch --]
[-- Type: text/x-patch, Size: 3212 bytes --]

From 9d305107a5395a8decae13425f1bea8b80eb489c Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Wed, 30 Dec 2020 23:57:17 -0500
Subject: [PATCH 03/17] gnu: pidgin: Add missing inputs.

These new inputs are referenced by the package but was missing in
the package definition. Some of these inputs might have been used
by the package indirectly via propagation from other inputs.

* gnu/packages/messaging.scm (pidgin) [native-inputs]: Add graphviz.
Move python-2 to ...
[inputs]: ... here. Add libgnt, libx11, libxext, nspr, nss, pango
and perl.
---
 gnu/packages/messaging.scm | 31 +++++++++++++++++++++++--------
 1 file changed, 23 insertions(+), 8 deletions(-)

diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm
index 759a432fb1..8c069c08cf 100644
--- a/gnu/packages/messaging.scm
+++ b/gnu/packages/messaging.scm
@@ -71,6 +71,7 @@
   #:use-module (gnu packages gnome)
   #:use-module (gnu packages gnupg)
   #:use-module (gnu packages gperf)
+  #:use-module (gnu packages graphviz)
   #:use-module (gnu packages gstreamer)
   #:use-module (gnu packages gtk)
   #:use-module (gnu packages guile)
@@ -87,6 +88,7 @@
   #:use-module (gnu packages mpd)
   #:use-module (gnu packages ncurses)
   #:use-module (gnu packages networking)
+  #:use-module (gnu packages nss)
   #:use-module (gnu packages pcre)
   #:use-module (gnu packages perl)
   #:use-module (gnu packages photo)
@@ -549,37 +551,50 @@ authentication.")
      `(("autoconf" ,autoconf) ;; For bootstrap
        ("automake" ,automake) ;; For bootstrap
        ("check" ,check)
+       ("dot" ,graphviz)
        ("gconf" ,gconf)
        ("intltool" ,intltool)
        ("libtool" ,libtool) ;; For bootstrap
-       ("pkg-config" ,pkg-config)
-       ("python" ,python-2)))
+       ("pkg-config" ,pkg-config)))
     (inputs
      `(("avahi" ,avahi)
        ("cyrus-sasl" ,cyrus-sasl)
        ("dbus" ,dbus)
        ("dbus-glib" ,dbus-glib)
-       ;; farstream
+       ;; ("evolution-data-server" ,evolution-data-server)
+       ;; ("farstream" ,farstream)
        ("gnutls" ,gnutls)
-       ;; gstreamer
+       ;; ("gstreamer" ,gstreamer)
        ("gtk+" ,gtk+-2)
-       ;; gtkspell
-       ;; libgadu
+       ;; ("gtkspell2" ,gtkspell2)
+       ;; ("libgadu" ,libgadu)
        ("libgcrypt" ,libgcrypt)
+       ("libgnt" ,libgnt)
        ("libice" ,libice)
        ("libidn" ,libidn)
        ("libltdl" ,libltdl)
        ("libsm" ,libsm)
-       ;; libxephyr
+       ("libx11" ,libx11)
+       ("libxext" ,libxext)
        ("libxml2" ,libxml2)
        ("libxscrnsaver" ,libxscrnsaver)
        ("libxslt" ,libxslt)
-       ;; meanwhile
+       ;; ("libzephyr" ,libzephyr)
+       ;; ("meanwhile" ,meanwhile)
+       ;; ("mono" ,mono)
        ("ncurses" ,ncurses)
        ("network-manager" ,network-manager)
+       ("nspr" ,nspr)
+       ("nss" ,nss)
+       ("pango" ,pango)
+       ("perl" ,perl)
+       ("python" ,python-2)
        ("python2-dbus" ,python2-dbus)
+       ;; ("silc" ,silc-toolkit)
        ("sqlite" ,sqlite)
        ("startup-notification" ,startup-notification)))
+    (propagated-inputs
+     `(("glib" ,glib)))
     (arguments
      `(#:configure-flags
        (list
-- 
2.29.2


[-- Attachment #5: 0004-gnu-pidgin-Enable-support-for-mono.patch --]
[-- Type: text/x-patch, Size: 1502 bytes --]

From 2805e08eed9e3d60af0b0e949c24936cffdaa407 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Thu, 31 Dec 2020 00:03:35 -0500
Subject: [PATCH 04/17] gnu: pidgin: Enable support for mono.

* gnu/packages/messaging.scm (pidgin) [inputs]: Add mono.
[arguments]<#:configure-flags>[--enable-mono]: New flag.
---
 gnu/packages/messaging.scm | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm
index 8c069c08cf..e422f27233 100644
--- a/gnu/packages/messaging.scm
+++ b/gnu/packages/messaging.scm
@@ -85,6 +85,7 @@
   #:use-module (gnu packages lua)
   #:use-module (gnu packages man)
   #:use-module (gnu packages markup)
+  #:use-module (gnu packages mono)
   #:use-module (gnu packages mpd)
   #:use-module (gnu packages ncurses)
   #:use-module (gnu packages networking)
@@ -581,7 +582,7 @@ authentication.")
        ("libxslt" ,libxslt)
        ;; ("libzephyr" ,libzephyr)
        ;; ("meanwhile" ,meanwhile)
-       ;; ("mono" ,mono)
+       ("mono" ,mono)
        ("ncurses" ,ncurses)
        ("network-manager" ,network-manager)
        ("nspr" ,nspr)
@@ -601,6 +602,7 @@ authentication.")
         "--disable-gtkspell"
         "--disable-tcl"
         "--disable-meanwhile"
+        "--enable-mono"
         "--disable-vv" ; XXX remove when we have farstream and gstreamer
         "--disable-gstreamer" ; XXX patches needed to support gstreamer-1.0
         "--enable-cyrus-sasl"
-- 
2.29.2


[-- Attachment #6: 0005-gnu-pidgin-Enable-meanwhile.patch --]
[-- Type: text/x-patch, Size: 1238 bytes --]

From 74e4c033ce86a1ad73d7d4bc59a1f53f5bd08ccf Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Thu, 31 Dec 2020 00:05:14 -0500
Subject: [PATCH 05/17] gnu: pidgin: Enable meanwhile.

* gnu/packages/messaging.scm (pidgin) [inputs]: Add meanwhile.
[arguments]<#:configure-flags>[--disable-meanwhile]: Remove flag.
---
 gnu/packages/messaging.scm | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm
index e422f27233..cd1d992897 100644
--- a/gnu/packages/messaging.scm
+++ b/gnu/packages/messaging.scm
@@ -581,7 +581,7 @@ authentication.")
        ("libxscrnsaver" ,libxscrnsaver)
        ("libxslt" ,libxslt)
        ;; ("libzephyr" ,libzephyr)
-       ;; ("meanwhile" ,meanwhile)
+       ("meanwhile" ,meanwhile)
        ("mono" ,mono)
        ("ncurses" ,ncurses)
        ("network-manager" ,network-manager)
@@ -601,7 +601,6 @@ authentication.")
        (list
         "--disable-gtkspell"
         "--disable-tcl"
-        "--disable-meanwhile"
         "--enable-mono"
         "--disable-vv" ; XXX remove when we have farstream and gstreamer
         "--disable-gstreamer" ; XXX patches needed to support gstreamer-1.0
-- 
2.29.2


[-- Attachment #7: 0006-gnu-pidgin-Enable-CAP.patch --]
[-- Type: text/x-patch, Size: 848 bytes --]

From c02edbd0d1d13b866547c02813aa5a0f4faf13fc Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Thu, 31 Dec 2020 00:07:24 -0500
Subject: [PATCH 06/17] gnu: pidgin: Enable CAP.

* gnu/packages/messaging.scm (pidgin) [arguments]<#:configure-flags>
[--enable-cap]: New flag.
---
 gnu/packages/messaging.scm | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm
index cd1d992897..1fc117273d 100644
--- a/gnu/packages/messaging.scm
+++ b/gnu/packages/messaging.scm
@@ -600,6 +600,8 @@ authentication.")
      `(#:configure-flags
        (list
         "--disable-gtkspell"
+        ;; "--enable-gevolution"
+        "--enable-cap"
         "--disable-tcl"
         "--enable-mono"
         "--disable-vv" ; XXX remove when we have farstream and gstreamer
-- 
2.29.2


[-- Attachment #8: 0007-gnu-pidgin-Enable-SILC-protocol-support.patch --]
[-- Type: text/x-patch, Size: 863 bytes --]

From 6d356e247f922e17efe4b377b9324ee80f8b1ba2 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Thu, 31 Dec 2020 00:09:56 -0500
Subject: [PATCH 07/17] gnu: pidgin: Enable SILC protocol support.

* gnu/packages/messaging.scm (pidgin) [inputs]: Add silc-toolkit.
---
 gnu/packages/messaging.scm | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm
index 1fc117273d..1484ce3c39 100644
--- a/gnu/packages/messaging.scm
+++ b/gnu/packages/messaging.scm
@@ -591,7 +591,7 @@ authentication.")
        ("perl" ,perl)
        ("python" ,python-2)
        ("python2-dbus" ,python2-dbus)
-       ;; ("silc" ,silc-toolkit)
+       ("silc" ,silc-toolkit)
        ("sqlite" ,sqlite)
        ("startup-notification" ,startup-notification)))
     (propagated-inputs
-- 
2.29.2


[-- Attachment #9: 0008-gnu-pidgin-Enable-support-for-Tcl.patch --]
[-- Type: text/x-patch, Size: 1441 bytes --]

From 43921e941819f949c4d04ab3420aa703c234157e Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Thu, 31 Dec 2020 00:11:49 -0500
Subject: [PATCH 08/17] gnu: pidgin: Enable support for Tcl.

* gnu/packages/messaging.scm (pidgin) [inputs]: Add Tcl.
[arguments]<#:configure-flags>[--disable-tcl]: Remove flag.
[--with-tclconfig]: New flag.
---
 gnu/packages/messaging.scm | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm
index 1484ce3c39..b068c9c5d2 100644
--- a/gnu/packages/messaging.scm
+++ b/gnu/packages/messaging.scm
@@ -593,7 +593,8 @@ authentication.")
        ("python2-dbus" ,python2-dbus)
        ("silc" ,silc-toolkit)
        ("sqlite" ,sqlite)
-       ("startup-notification" ,startup-notification)))
+       ("startup-notification" ,startup-notification)
+       ("tcl" ,tcl)))
     (propagated-inputs
      `(("glib" ,glib)))
     (arguments
@@ -609,7 +610,10 @@ authentication.")
         "--enable-cyrus-sasl"
         (string-append "--with-ncurses-headers="
                        (assoc-ref %build-inputs "ncurses")
-                       "/include"))))
+                       "/include")
+        (string-append "--with-tclconfig="
+                       (assoc-ref %build-inputs "tcl")
+                       "/lib"))))
     (native-search-paths
      (list
       (search-path-specification
-- 
2.29.2


[-- Attachment #10: 0009-gnu-pidgin-Enable-support-for-Tk.patch --]
[-- Type: text/x-patch, Size: 1595 bytes --]

From 2d041c74b2288f73a235f4e6b5b629013db96303 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Thu, 31 Dec 2020 00:14:25 -0500
Subject: [PATCH 09/17] gnu: pidgin: Enable support for Tk.

* gnu/packages/messaging.scm (pidgin) [inputs]: Add tk.
[arguments]<#:configure-flags>[--with-tkconfig]: New flag.
---
 gnu/packages/messaging.scm | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm
index b068c9c5d2..b28dcf329c 100644
--- a/gnu/packages/messaging.scm
+++ b/gnu/packages/messaging.scm
@@ -594,7 +594,8 @@ authentication.")
        ("silc" ,silc-toolkit)
        ("sqlite" ,sqlite)
        ("startup-notification" ,startup-notification)
-       ("tcl" ,tcl)))
+       ("tcl" ,tcl)
+       ("tk" ,tk)))
     (propagated-inputs
      `(("glib" ,glib)))
     (arguments
@@ -603,7 +604,6 @@ authentication.")
         "--disable-gtkspell"
         ;; "--enable-gevolution"
         "--enable-cap"
-        "--disable-tcl"
         "--enable-mono"
         "--disable-vv" ; XXX remove when we have farstream and gstreamer
         "--disable-gstreamer" ; XXX patches needed to support gstreamer-1.0
@@ -613,6 +613,9 @@ authentication.")
                        "/include")
         (string-append "--with-tclconfig="
                        (assoc-ref %build-inputs "tcl")
+                       "/lib")
+        (string-append "--with-tkconfig="
+                       (assoc-ref %build-inputs "tk")
                        "/lib"))))
     (native-search-paths
      (list
-- 
2.29.2


[-- Attachment #11: 0010-gnu-pidgin-Upgrade-to-2.14.1.patch --]
[-- Type: text/x-patch, Size: 4866 bytes --]

From 731b277ff17be54cd823898aaf8ac1f21965c606 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <raghavgururajan@disroot.org>
Date: Sun, 29 Nov 2020 17:30:04 -0500
Subject: [PATCH 10/17] gnu: pidgin: Upgrade to 2.14.1.

* gnu/packages/messaging.scm (pidgin) [version]: Modify.
[source]<origin>[sha256]: Modify base32.
[patches]<search-patches>[pidgin-libnm.patch]: Remove obsolete patch.
* gnu/packages/patches/pidgin-libnm.patch: Remove file.
* gnu/local.mk (dist_patch_DATA): Remove entry.
---
 gnu/local.mk                            |  1 -
 gnu/packages/messaging.scm              | 13 +++---
 gnu/packages/patches/pidgin-libnm.patch | 60 -------------------------
 3 files changed, 5 insertions(+), 69 deletions(-)
 delete mode 100644 gnu/packages/patches/pidgin-libnm.patch

diff --git a/gnu/local.mk b/gnu/local.mk
index 204850c4e6..1c61b7a3c1 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1471,7 +1471,6 @@ dist_patch_DATA =						\
   %D%/packages/patches/picard-fix-id3-rename-test.patch		\
   %D%/packages/patches/picprog-non-intel-support.patch		\
   %D%/packages/patches/pidgin-add-search-path.patch		\
-  %D%/packages/patches/pidgin-libnm.patch			\
   %D%/packages/patches/pinball-const-fix.patch			\
   %D%/packages/patches/pinball-cstddef.patch			\
   %D%/packages/patches/pinball-missing-separators.patch		\
diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm
index b28dcf329c..5f50643f45 100644
--- a/gnu/packages/messaging.scm
+++ b/gnu/packages/messaging.scm
@@ -526,25 +526,22 @@ authentication.")
 (define-public pidgin
   (package
     (name "pidgin")
-    (version "2.13.0")
+    (version "2.14.1")
     (source
      (origin
        (method url-fetch)
        (uri
         (string-append "mirror://sourceforge/pidgin/Pidgin/"
-                       version "/pidgin-" version ".tar.bz2"))
+                       version "/pidgin-" version ".tar.gz"))
        (sha256
-        (base32 "13vdqj70315p9rzgnbxjp9c51mdzf1l4jg1kvnylc4bidw61air7"))
+        (base32 "1c4dzxg9c3d9zfqqa7jwijj9rv9fm6w95igmpljwy88lxq7v5w11"))
        (patches
         (search-patches
-         "pidgin-add-search-path.patch"
-         ;; Remove the snippet and bootstrapping
-         ;; native-inputs together with this patch.
-         "pidgin-libnm.patch"))
+         "pidgin-add-search-path.patch"))
        (modules '((guix build utils)))
        (snippet
         '(begin
-           ;; Remove stale generated file after applying pidgin-libnm.patch.
+           ;; Remove stale generated file after applying patches.
            (delete-file "configure")
            #t))))
     (build-system glib-or-gtk-build-system)
diff --git a/gnu/packages/patches/pidgin-libnm.patch b/gnu/packages/patches/pidgin-libnm.patch
deleted file mode 100644
index d34af749af..0000000000
--- a/gnu/packages/patches/pidgin-libnm.patch
+++ /dev/null
@@ -1,60 +0,0 @@
-From: Tobias Geerinckx-Rice <me@tobias.gr>
-Date: Sun, 24 May 2020 16:11:01 +0200
-Subject: [PATCH] gnu: pidgin: Find libnm.
-
-Copied verbatim from[0].
-
-[0]: https://git.archlinux.org/svntogit/packages.git/plain/trunk/pidgin-nm-1.0.patch?h=packages/pidgin
-
-diff --git a/configure.ac b/configure.ac
-index 04836fa..0a2d451 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -1423,18 +1423,24 @@ fi
- dnl Check for NetworkManager.h; if we don't have it, oh well
- if test "x$enable_dbus" = "xyes" ; then
- 	if test "x$enable_nm" = "xyes" ; then
--		PKG_CHECK_MODULES(NETWORKMANAGER, [NetworkManager >= 0.5.0], [
-+		PKG_CHECK_MODULES(NETWORKMANAGER, [libnm], [
- 			AC_SUBST(NETWORKMANAGER_CFLAGS)
- 			AC_SUBST(NETWORKMANAGER_LIBS)
- 			AC_DEFINE(HAVE_NETWORKMANAGER, 1, [Define if we have NetworkManager.])
- 		], [
--			enable_nm=no
--			if test "x$force_deps" = "xyes" ; then
--				AC_MSG_ERROR([
-+			PKG_CHECK_MODULES(NETWORKMANAGER, [NetworkManager >= 0.5.0], [
-+				AC_SUBST(NETWORKMANAGER_CFLAGS)
-+				AC_SUBST(NETWORKMANAGER_LIBS)
-+				AC_DEFINE(HAVE_NETWORKMANAGER, 1, [Define if we have NetworkManager.])
-+			], [
-+				enable_nm=no
-+				if test "x$force_deps" = "xyes" ; then
-+					AC_MSG_ERROR([
- NetworkManager development headers not found.
- Use --disable-nm if you do not need NetworkManager support.
- ])
--			fi])
-+				fi])
-+		])
- 	fi
- else
- 	enable_nm=no
-diff --git a/libpurple/network.c b/libpurple/network.c
-index c43e3c7..b17e439 100644
---- a/libpurple/network.c
-+++ b/libpurple/network.c
-@@ -939,8 +939,13 @@ nm_update_state(NMState state)
- #if NM_CHECK_VERSION(0,8,992)
- 		case NM_STATE_DISCONNECTING:
- #endif
-+#if NM_CHECK_VERSION(1,0,0)
-+			if (prev != NM_STATE_CONNECTED_GLOBAL && prev != NM_STATE_UNKNOWN)
-+				break;
-+#else
- 			if (prev != NM_STATE_CONNECTED && prev != NM_STATE_UNKNOWN)
- 				break;
-+#endif
- 			if (ui_ops != NULL && ui_ops->network_disconnected != NULL)
- 				ui_ops->network_disconnected();
- 			break;
-- 
2.29.2


[-- Attachment #12: 0011-gnu-pidgin-Enable-Gadu-Gadu-protocol-support.patch --]
[-- Type: text/x-patch, Size: 844 bytes --]

From 5024f4c20fa97edbf3d8d7e2c24592c089a9c7af Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Thu, 31 Dec 2020 00:20:56 -0500
Subject: [PATCH 11/17] gnu: pidgin: Enable Gadu-Gadu protocol support.

* gnu/packages/messaging.scm (pidgin) [inputs]: Add libgadu.
---
 gnu/packages/messaging.scm | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm
index 5f50643f45..deecfc6f7e 100644
--- a/gnu/packages/messaging.scm
+++ b/gnu/packages/messaging.scm
@@ -565,7 +565,7 @@ authentication.")
        ;; ("gstreamer" ,gstreamer)
        ("gtk+" ,gtk+-2)
        ;; ("gtkspell2" ,gtkspell2)
-       ;; ("libgadu" ,libgadu)
+       ("libgadu" ,libgadu)
        ("libgcrypt" ,libgcrypt)
        ("libgnt" ,libgnt)
        ("libice" ,libice)
-- 
2.29.2


[-- Attachment #13: 0012-gnu-pidgin-Enable-MultiMedia-and-A-V-support.patch --]
[-- Type: text/x-patch, Size: 4559 bytes --]

From d9355a55ad32ff7a534005bb59c3afe44c990d8f Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Thu, 31 Dec 2020 00:30:09 -0500
Subject: [PATCH 12/17] gnu: pidgin: Enable MultiMedia and A/V support.

* gnu/packages/messaging.scm (pidgin) [patches]<search-patches>
[pidgin-vv-gst.patch]: New patch.
[arguments]<#:configure-flags>[--diable-vv]: Remove flag.
[--disable-gstreamer]: Remove flag.
[CFLAGS]: New flag.
[inputs]: Add farstream and gstreamer. Move gtk+-2 to ...
[propagated-inputs]: ... here.
* gnu/packages/patches/pidgin-vv-gst.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add entry.
---
 gnu/local.mk                             |  1 +
 gnu/packages/messaging.scm               | 16 ++++----
 gnu/packages/patches/pidgin-vv-gst.patch | 48 ++++++++++++++++++++++++
 3 files changed, 58 insertions(+), 7 deletions(-)
 create mode 100644 gnu/packages/patches/pidgin-vv-gst.patch

diff --git a/gnu/local.mk b/gnu/local.mk
index 1c61b7a3c1..8acc74a456 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1471,6 +1471,7 @@ dist_patch_DATA =						\
   %D%/packages/patches/picard-fix-id3-rename-test.patch		\
   %D%/packages/patches/picprog-non-intel-support.patch		\
   %D%/packages/patches/pidgin-add-search-path.patch		\
+  %D%/packages/patches/pidgin-vv-gst.patch                        \
   %D%/packages/patches/pinball-const-fix.patch			\
   %D%/packages/patches/pinball-cstddef.patch			\
   %D%/packages/patches/pinball-missing-separators.patch		\
diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm
index deecfc6f7e..ddd1e87c71 100644
--- a/gnu/packages/messaging.scm
+++ b/gnu/packages/messaging.scm
@@ -537,7 +537,8 @@ authentication.")
         (base32 "1c4dzxg9c3d9zfqqa7jwijj9rv9fm6w95igmpljwy88lxq7v5w11"))
        (patches
         (search-patches
-         "pidgin-add-search-path.patch"))
+         "pidgin-add-search-path.patch"
+         "pidgin-vv-gst.patch"))
        (modules '((guix build utils)))
        (snippet
         '(begin
@@ -560,10 +561,9 @@ authentication.")
        ("dbus" ,dbus)
        ("dbus-glib" ,dbus-glib)
        ;; ("evolution-data-server" ,evolution-data-server)
-       ;; ("farstream" ,farstream)
+       ("farstream" ,farstream)
        ("gnutls" ,gnutls)
-       ;; ("gstreamer" ,gstreamer)
-       ("gtk+" ,gtk+-2)
+       ("gstreamer" ,gstreamer)
        ;; ("gtkspell2" ,gtkspell2)
        ("libgadu" ,libgadu)
        ("libgcrypt" ,libgcrypt)
@@ -594,16 +594,18 @@ authentication.")
        ("tcl" ,tcl)
        ("tk" ,tk)))
     (propagated-inputs
-     `(("glib" ,glib)))
+     `(("glib" ,glib)
+       ("gtk+" ,gtk+-2)))
     (arguments
      `(#:configure-flags
        (list
+        (string-append "CFLAGS=-I"
+                       (assoc-ref %build-inputs "gst-plugins-base")
+                       "/include/gstreamer-1.0")
         "--disable-gtkspell"
         ;; "--enable-gevolution"
         "--enable-cap"
         "--enable-mono"
-        "--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")
diff --git a/gnu/packages/patches/pidgin-vv-gst.patch b/gnu/packages/patches/pidgin-vv-gst.patch
new file mode 100644
index 0000000000..e0553dd119
--- /dev/null
+++ b/gnu/packages/patches/pidgin-vv-gst.patch
@@ -0,0 +1,48 @@
+Name: Gary Kramlich
+Date: 2020-07-12
+Source: https://keep.imfreedom.org/pidgin/pidgin/rev/39ac50435cfb
+
+diff --git a/libpurple/mediamanager.c b/libpurple/mediamanager.c
+--- a/libpurple/mediamanager.c
++++ b/libpurple/mediamanager.c
+@@ -2231,6 +2231,7 @@
+ purple_media_manager_unregister_gst_device(PurpleMediaManager *manager,
+ 		GstDevice *device)
+ {
++#ifdef USE_VV
+ 	GList *i;
+ 	gchar *name;
+ 	gchar *device_class;
+@@ -2277,6 +2278,7 @@
+ 
+ 	g_free(name);
+ 	g_free(device_class);
++#endif /* USE_VV */
+ }
+ 
+ static gboolean
+@@ -2304,7 +2306,7 @@
+ static void
+ purple_media_manager_init_device_monitor(PurpleMediaManager *manager)
+ {
+-#if GST_CHECK_VERSION(1, 4, 0)
++#if GST_CHECK_VERSION(1, 4, 0) && defined(USE_VV)
+ 	GstBus *bus;
+ 	GList *i;
+ 
+@@ -2334,6 +2336,7 @@
+ 		PurpleMediaElementType type)
+ {
+ 	GList *result = NULL;
++#ifdef USE_VV
+ 	GList *i;
+ 
+ 	for (i = manager->priv->elements; i; i = i->next) {
+@@ -2347,6 +2350,7 @@
+ 			result = g_list_prepend(result, info);
+ 		}
+ 	}
++#endif /* USE_VV */
+ 
+ 	return result;
+ }
-- 
2.29.2


[-- Attachment #14: 0013-gnu-libotr-Make-some-cosmetic-changes.patch --]
[-- Type: text/x-patch, Size: 3529 bytes --]

From c3ec0f582abad2b6b40ca16f46f6cfc4947a670a Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <raghavgururajan@disroot.org>
Date: Mon, 30 Nov 2020 00:48:09 -0500
Subject: [PATCH 13/17] gnu: libotr: Make some cosmetic changes.

* gnu/packages/messaging.scm (libotr): Make some cosmetic changes.
---
 gnu/packages/messaging.scm | 49 +++++++++++++++++++++-----------------
 1 file changed, 27 insertions(+), 22 deletions(-)

diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm
index ddd1e87c71..f07ee9da28 100644
--- a/gnu/packages/messaging.scm
+++ b/gnu/packages/messaging.scm
@@ -186,32 +186,37 @@ powerful, standard and open protocol.")
   (package
     (name "libotr")
     (version "4.1.1")
-    (source (origin
-              (method url-fetch)
-              (uri (string-append "https://otr.cypherpunks.ca/libotr-"
-                                  version ".tar.gz"))
-              (sha256
-               (base32
-                "1x8rliydhbibmzwdbyr7pd7n87m2jmxnqkpvaalnf4154hj1hfwb"))
-              (patches (search-patches "libotr-test-auth-fix.patch"))))
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "https://otr.cypherpunks.ca/libotr-"
+                           version ".tar.gz"))
+       (sha256
+        (base32 "1x8rliydhbibmzwdbyr7pd7n87m2jmxnqkpvaalnf4154hj1hfwb"))
+       (patches
+        (search-patches "libotr-test-auth-fix.patch"))))
     (build-system gnu-build-system)
+    (native-inputs
+     `(("perl" ,perl)))                 ; for the test suite
+    (inputs
+     `(("libgpg-error" ,libgpg-error)))
     (propagated-inputs
-     `(("libgcrypt" ,libgcrypt)))  ; libotr headers include gcrypt.h
-    (inputs `(("libgpg-error" ,libgpg-error)))
-    (native-inputs `(("perl" ,perl))) ; for the test suite
+     `(("libgcrypt" ,libgcrypt)))    ; libotr headers include gcrypt.h
     (synopsis "Off-the-Record (OTR) Messaging Library and Toolkit")
-    (description
-     "OTR allows you to have private conversations over instant messaging by
-providing: (1) Encryption: No one else can read your instant messages.  (2)
-Authentication: You are assured the correspondent is who you think it is.  (3)
-Deniability: The messages you send do not have digital signatures that are
-checkable by a third party.  Anyone can forge messages after a conversation to
-make them look like they came from you.  However, during a conversation, your
-correspondent is assured the messages he sees are authentic and
-unmodified.  (4) Perfect forward secrecy: If you lose control of your private
-keys, no previous conversation is compromised.")
+    (description "OTR allows you to have private conversations over instant
+messaging by providing: (1) Encryption: No one else can read your instant
+messages.  (2) Authentication: You are assured the correspondent is who you
+think it is.  (3) Deniability: The messages you send do not have digital
+signatures that are checkable by a third party.  Anyone can forge messages
+after a conversation to make them look like they came from you.  However,
+during a conversation, your correspondent is assured the messages he sees are
+authentic and unmodified.  (4) Perfect forward secrecy: If you lose control of
+your private keys, no previous conversation is compromised.")
     (home-page "https://otr.cypherpunks.ca/")
-    (license (list license:lgpl2.1 license:gpl2))))
+    (license
+     (list
+      license:lgpl2.1
+      license:gpl2))))
 
 (define-public libsignal-protocol-c
   (package
-- 
2.29.2


[-- Attachment #15: 0014-gnu-libotr-Update-license.patch --]
[-- Type: text/x-patch, Size: 886 bytes --]

From 86f2d8a03316491b960c352ef01c7dae4ac2a594 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <raghavgururajan@disroot.org>
Date: Mon, 30 Nov 2020 00:49:38 -0500
Subject: [PATCH 14/17] gnu: libotr: Update license.

* gnu/packages/messaging.scm (libotr) [license]: Modify.
---
 gnu/packages/messaging.scm | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm
index f07ee9da28..33ee8e760f 100644
--- a/gnu/packages/messaging.scm
+++ b/gnu/packages/messaging.scm
@@ -215,8 +215,10 @@ your private keys, no previous conversation is compromised.")
     (home-page "https://otr.cypherpunks.ca/")
     (license
      (list
-      license:lgpl2.1
-      license:gpl2))))
+      ;; Library
+      license:lgpl2.1+
+      ;; Others
+      license:gpl2+))))
 
 (define-public libsignal-protocol-c
   (package
-- 
2.29.2


[-- Attachment #16: 0015-gnu-pidgin-otr-Make-some-cosmetic-changes.patch --]
[-- Type: text/x-patch, Size: 3496 bytes --]

From 21f94ff6148a810479ca6578a1b481f5ad14ef08 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Wed, 30 Dec 2020 16:02:17 -0500
Subject: [PATCH 15/17] gnu: pidgin-otr: Make some cosmetic changes.

* gnu/packages/messaging.scm (pidgin-otr): Make some cosmetic changes.
---
 gnu/packages/messaging.scm | 49 +++++++++++++++++++-------------------
 1 file changed, 24 insertions(+), 25 deletions(-)

diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm
index 33ee8e760f..4018cae5fc 100644
--- a/gnu/packages/messaging.scm
+++ b/gnu/packages/messaging.scm
@@ -653,38 +653,37 @@ many popular chat protocols.")
   (package
     (name "pidgin-otr")
     (version "4.0.2")
-    (source (origin
-              (method url-fetch)
-              (uri (string-append "https://otr.cypherpunks.ca/"
-                                  name "-" version ".tar.gz"))
-              (sha256
-               (base32
-                "1i5s9rrgbyss9rszq6c6y53hwqyw1k86s40cpsfx5ccl9bprxdgl"))))
+    (source
+     (origin
+       (method url-fetch)
+       (uri
+        (string-append "https://otr.cypherpunks.ca/"
+                       name "-" version ".tar.gz"))
+       (sha256
+        (base32 "1i5s9rrgbyss9rszq6c6y53hwqyw1k86s40cpsfx5ccl9bprxdgl"))))
     (build-system gnu-build-system)
     (native-inputs
-     `(("pkg-config" ,pkg-config)
-       ("intltool" ,intltool)))
+     `(("intltool" ,intltool)
+       ("pkg-config" ,pkg-config)))
     (inputs
-     `(("pidgin" ,pidgin)
-       ("libotr" ,libotr)
-       ("libgpg-error" ,libgpg-error)
+     `(("glib" ,glib)
+       ("gtk+" ,gtk+-2)
        ("libgcrypt" ,libgcrypt)
-       ("glib" ,glib)
-       ("gtk+" ,gtk+-2)))
+       ("libgpg-error" ,libgpg-error)
+       ("libotr" ,libotr)
+       ("pidgin" ,pidgin)))
     (home-page "https://otr.cypherpunks.ca/")
     (synopsis "Off-the-Record Messaging plugin for Pidgin")
-    (description
-     "Pidgin-OTR is a plugin that adds support for OTR to the Pidgin instant
-messaging client.  OTR (Off-the-Record) Messaging allows you to have private
-conversations over instant messaging by providing: (1) Encryption: No one else
-can read your instant messages.  (2) Authentication: You are assured the
-correspondent is who you think it is.  (3) Deniability: The messages you send
-do not have digital signatures that are checkable by a third party.  Anyone
+    (description "Pidgin-OTR is a plugin that adds support for OTR to the Pidgin
+instant messaging client.  OTR (Off-the-Record) Messaging allows you to have
+private conversations over instant messaging by providing: (1) Encryption: No
+one else can read your instant messages.  (2) Authentication: You are assured
+the correspondent is who you think it is.  (3) Deniability: The messages you
+send do not have digital signatures that are checkable by a third party.  Anyone
 can forge messages after a conversation to make them look like they came from
-you.  However, during a conversation, your correspondent is assured the
-messages he sees are authentic and unmodified.  (4) Perfect forward secrecy:
-If you lose control of your private keys, no previous conversation is
-compromised.")
+you.  However, during a conversation, your correspondent is assured the messages
+he sees are authentic and unmodified.  (4) Perfect forward secrecy: If you lose
+control of your private keys, no previous conversation is compromised.")
     (license license:gpl2)))
 
 (define-public znc
-- 
2.29.2


[-- Attachment #17: 0016-gnu-pidgin-otr-Update-license.patch --]
[-- Type: text/x-patch, Size: 976 bytes --]

From 8ed7a58bbf7890830126c9d8871024aa8f382a79 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Wed, 30 Dec 2020 16:03:35 -0500
Subject: [PATCH 16/17] gnu: pidgin-otr: Update license.

* gnu/packages/messaging.scm (pidgin-otr) [license]: Modify.
---
 gnu/packages/messaging.scm | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm
index 4018cae5fc..cf63cf76ff 100644
--- a/gnu/packages/messaging.scm
+++ b/gnu/packages/messaging.scm
@@ -684,7 +684,7 @@ can forge messages after a conversation to make them look like they came from
 you.  However, during a conversation, your correspondent is assured the messages
 he sees are authentic and unmodified.  (4) Perfect forward secrecy: If you lose
 control of your private keys, no previous conversation is compromised.")
-    (license license:gpl2)))
+    (license license:gpl2+)))
 
 (define-public znc
   (package
-- 
2.29.2


[-- Attachment #18: 0017-gnu-pidgin-otr-Add-some-inputs.patch --]
[-- Type: text/x-patch, Size: 1255 bytes --]

From 4bdf865574fa41ecb8aee96f7a1283974febd89c Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Wed, 30 Dec 2020 16:05:42 -0500
Subject: [PATCH 17/17] gnu: pidgin-otr: Add some inputs.

* gnu/packages/messaging.scm (pidgin-otr) [native-inputs]: Add
gettext-minimal.
[inputs]: Add perl.
---
 gnu/packages/messaging.scm | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm
index cf63cf76ff..41c45dcf78 100644
--- a/gnu/packages/messaging.scm
+++ b/gnu/packages/messaging.scm
@@ -663,7 +663,8 @@ many popular chat protocols.")
         (base32 "1i5s9rrgbyss9rszq6c6y53hwqyw1k86s40cpsfx5ccl9bprxdgl"))))
     (build-system gnu-build-system)
     (native-inputs
-     `(("intltool" ,intltool)
+     `(("gettext" ,gettext-minimal)
+       ("intltool" ,intltool)
        ("pkg-config" ,pkg-config)))
     (inputs
      `(("glib" ,glib)
@@ -671,6 +672,7 @@ many popular chat protocols.")
        ("libgcrypt" ,libgcrypt)
        ("libgpg-error" ,libgpg-error)
        ("libotr" ,libotr)
+       ("perl" ,perl)
        ("pidgin" ,pidgin)))
     (home-page "https://otr.cypherpunks.ca/")
     (synopsis "Off-the-Record Messaging plugin for Pidgin")
-- 
2.29.2


^ permalink raw reply related	[flat|nested] 11+ messages in thread

* bug#44957: [PIDGIN]: v4
  2020-12-31  5:37         ` Raghav Gururajan
@ 2021-01-03 16:30           ` Danny Milosavljevic
  0 siblings, 0 replies; 11+ messages in thread
From: Danny Milosavljevic @ 2021-01-03 16:30 UTC (permalink / raw)
  To: Raghav Gururajan; +Cc: 44957-done

[-- Attachment #1: Type: text/plain, Size: 45 bytes --]

Hi RG,

pushed to guix master.

Thanks!

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

^ permalink raw reply	[flat|nested] 11+ messages in thread

end of thread, other threads:[~2021-01-03 16:32 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-11-30  0:54 [bug#44957] Pidgin Raghav Gururajan
2020-11-30  3:46 ` [bug#44957] [PIDGIN]: v2 Raghav Gururajan
2020-11-30  6:22 ` [bug#44957] [PIDGIN]: v3 Raghav Gururajan
2020-11-30  9:16   ` Danny Milosavljevic
2020-11-30 23:45     ` Raghav Gururajan
2020-12-01 22:42 ` [bug#44957] [PIDGIN]: v4 Raghav Gururajan
2020-12-28 17:50   ` Danny Milosavljevic
2020-12-30 21:08     ` Raghav Gururajan
2020-12-31  0:54       ` Danny Milosavljevic
2020-12-31  5:37         ` Raghav Gururajan
2021-01-03 16:30           ` bug#44957: " Danny Milosavljevic

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).