summary refs log tree commit diff
path: root/gnu/packages/messaging.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/messaging.scm')
-rw-r--r--gnu/packages/messaging.scm183
1 files changed, 148 insertions, 35 deletions
diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm
index 9dc3e58ef9..f8bb673734 100644
--- a/gnu/packages/messaging.scm
+++ b/gnu/packages/messaging.scm
@@ -23,6 +23,7 @@
 ;;; Copyright © 2020 Marius Bakke <mbakke@fastmail.com>
 ;;; Copyright © 2020 Reza Alizadeh Majd <r.majd@pantherx.org>
 ;;; Copyright © 2020 Jonathan Brielmaier <jonathan.brielmaier@web.de>
+;;; Copyright © 2020 Mason Hock <chaosmonk@riseup.net>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -79,6 +80,7 @@
   #:use-module (gnu packages lua)
   #:use-module (gnu packages man)
   #:use-module (gnu packages markup)
+  #:use-module (gnu packages mpd)
   #:use-module (gnu packages ncurses)
   #:use-module (gnu packages networking)
   #:use-module (gnu packages pcre)
@@ -93,6 +95,7 @@
   #:use-module (gnu packages python-xyz)
   #:use-module (gnu packages qt)
   #:use-module (gnu packages readline)
+  #:use-module (gnu packages sphinx)
   #:use-module (gnu packages sqlite)
   #:use-module (gnu packages tcl)
   #:use-module (gnu packages texinfo)
@@ -119,6 +122,59 @@
   #:use-module (guix packages)
   #:use-module (guix utils))
 
+(define-public poezio
+  (package
+    (name "poezio")
+    (version "0.13.1")
+    (source
+     (origin
+       (method git-fetch)
+       (uri
+        (git-reference
+         (url "https://lab.louiz.org/poezio/poezio.git")
+         (commit
+          (string-append "v" version))))
+       (file-name
+        (git-file-name name version))
+       (sha256
+        (base32 "041y61pcbdb86s04qwp8s1g6bp84yskc7vdizwpi2hz18y01x5fy"))))
+    (build-system python-build-system)
+    (arguments
+     `(#:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'patch
+           (lambda _
+             (substitute* "setup.py"
+               (("'CC', 'cc'")
+                "'CC', 'gcc'"))
+             #t)))))
+    (native-inputs
+     `(("pkg-config" ,pkg-config)
+       ("python-setuptools" ,python-setuptools)
+       ("python-sphinx" ,python-sphinx)))
+    (inputs
+     `(("python-mpd2" ,python-mpd2)
+       ("python-potr" ,python-potr)
+       ("python-pyasn1" ,python-pyasn1)
+       ("python-pyasn1-modules" ,python-pyasn1-modules)
+       ("python-pygments" ,python-pygments)
+       ("python-pyinotify" ,python-pyinotify)
+       ;("python" ,python)
+       ("python-qrcode" ,python-qrcode)
+       ("python-slixmpp" ,python-slixmpp)))
+    (synopsis "Console Jabber/XMPP Client")
+    (description "Poezio is a free console XMPP client (the protocol on which
+the Jabber IM network is built).
+Its goal is to let you connect very easily (no account creation needed) to the
+network and join various chatrooms, immediately.  It tries to look like the
+most famous IRC clients (weechat, irssi, etc).  Many commands are identical and
+you won't be lost if you already know these clients.  Configuration can be
+made in a configuration file or directly from the client.
+You'll find the light, fast, geeky and anonymous spirit of IRC while using a
+powerful, standard and open protocol.")
+    (home-page "https://poez.io/en/")
+    (license license:zlib)))
+
 (define-public libotr
   (package
     (name "libotr")
@@ -227,6 +283,29 @@ identi.ca and status.net).")
     (home-page "https://www.bitlbee.org/")
     (license (list license:gpl2+ license:bsd-2))))
 
+(define-public bitlbee-purple
+  ;; This variant uses libpurple, which provides support for more protocols at
+  ;; the expense of a much bigger closure.
+  (package/inherit bitlbee
+    (name "bitlbee-purple")
+    (synopsis "IRC to instant messaging gateway (using Pidgin's libpurple)")
+    (inputs `(("purple" ,pidgin)
+              ,@(package-inputs bitlbee)))
+    (arguments
+     (substitute-keyword-arguments (package-arguments bitlbee)
+       ((#:phases phases '%standard-phases)
+        `(modify-phases ,phases
+           (replace 'configure                    ;add "--purple=1"
+             (lambda* (#:key outputs #:allow-other-keys)
+               (invoke "./configure"
+                       (string-append "--prefix="
+                                      (assoc-ref outputs "out"))
+                       "--otr=1" "--purple=1")))))
+       ((#:tests? _ #t)
+        ;; XXX: Tests fail to link, and ./configure says that it's "supported
+        ;; on a best-effort basis" anyway.
+        #f)))))
+
 (define-public bitlbee-discord
   (package
     (name "bitlbee-discord")
@@ -569,14 +648,14 @@ compromised.")
 (define-public znc
   (package
     (name "znc")
-    (version "1.8.1")
+    (version "1.8.2")
     (source (origin
               (method url-fetch)
               (uri (string-append "https://znc.in/releases/archive/znc-"
                                   version ".tar.gz"))
               (sha256
                (base32
-                "0hb1v167aa6gv5bcwz352l6b8gnd74ymjw92y4x882l099hzg59i"))))
+                "03fyi0j44zcanj1rsdx93hkdskwfvhbywjiwd17f9q1a7yp8l8zz"))))
     (build-system cmake-build-system)
     (arguments
      `(#:configure-flags
@@ -759,7 +838,7 @@ end-to-end encryption support; XML console.")
 (define-public gajim-omemo
   (package
     (name "gajim-omemo")
-    (version "2.7.4")
+    (version "2.7.7")
     (source (origin
               (method url-fetch/zipbomb)
               (uri (string-append
@@ -767,7 +846,7 @@ end-to-end encryption support; XML console.")
                     version ".zip"))
               (sha256
                (base32
-                "00zrj57n86c2m99n0swmmaws4f8zccbgbi8fknv6f9b1vif9jc8p"))))
+                "17jl4blkq04ag3g0har6z1bmk36523d29s51g260wb1pywfb536h"))))
     (build-system trivial-build-system)
     (arguments
      `(#:modules ((guix build utils))
@@ -1551,15 +1630,14 @@ protocol allows.")
 (define-public mcabber
   (package
     (name "mcabber")
-    (version "1.1.0")
+    (version "1.1.1")
     (source
      (origin
        (method url-fetch)
        (uri (string-append "https://mcabber.com/files/"
                            name "-" version ".tar.bz2"))
        (sha256
-        (base32
-         "1ggh865p1rf10ffsnf4g6qv9i8bls36dxdb1nzs5r9vdqci2rz04"))))
+        (base32 "0ngrcc8nzpzk4vw36ni3w073149zsi0yjh922xy9cy5a7srwx2fp"))))
     (build-system gnu-build-system)
     (arguments
      '(#:configure-flags (list "--enable-otr"
@@ -1696,43 +1774,49 @@ are both supported).")
   (package
     (name "profanity")
     (version "0.9.5")
-    (source (origin
-              (method url-fetch)
-              (uri (string-append "https://profanity-im.github.io/profanity-"
-                                  version ".tar.gz"))
-              (sha256
-               (base32
-                "00j9l9v62rz9hprgiy1vrz8v3v59ph18h8kskqxr31fgqvjv5xr3"))))
-    (build-system gnu-build-system)
+    (source
+     (origin
+       (method url-fetch)
+       (uri
+        (string-append "https://profanity-im.github.io/profanity-"
+                       version ".tar.gz"))
+       (sha256
+        (base32
+         "00j9l9v62rz9hprgiy1vrz8v3v59ph18h8kskqxr31fgqvjv5xr3"))))
+    (build-system glib-or-gtk-build-system)
     (arguments
-     '(#:configure-flags
-       (list "--enable-c-plugins"
-             "--enable-otr"
-             "--enable-omemo"
-             "--enable-pgp"
-             "--enable-icons"
-             "--enable-notifications")))
+     `(#:configure-flags
+       (list
+        "--enable-notifications"
+        "--enable-python-plugins"
+        "--enable-c-plugins"
+        "--enable-plugins"
+        "--enable-otr"
+        "--enable-pgp"
+        "--enable-omemo"
+        "--enable-icons-and-clipboard")))
+    (native-inputs
+     `(("autoconf" ,autoconf)
+       ("autoconf-archive" ,autoconf-archive)
+       ("automake" ,automake)
+       ("cmocka" ,cmocka)
+       ("libtool" ,libtool)
+       ("pkg-config" ,pkg-config)))
     (inputs
      `(("curl" ,curl)
        ("expat" ,expat)
        ("glib" ,glib)
        ("gpgme" ,gpgme)
+       ("gtk+" ,gtk+-2)
        ("libmesode" ,libmesode)
+       ("libnotify" ,libnotify)
        ("libotr" ,libotr)
+       ("libsignal-protocol-c" ,libsignal-protocol-c)
        ("ncurses" ,ncurses)
        ("openssl" ,openssl)
+       ("python" ,python-wrapper)
        ("readline" ,readline)
        ("sqlite" ,sqlite)))
-    (native-inputs
-     `(("autoconf" ,autoconf)
-       ("autoconf-archive" ,autoconf-archive)
-       ("automake" ,automake)
-       ("cmocka" ,cmocka)
-       ("gtk+" ,gtk+-2)
-       ("libnotify" ,libnotify)
-       ("libtool" ,libtool)
-       ("libsignal-protocol-c" ,libsignal-protocol-c)
-       ("pkg-config" ,pkg-config)))
     (synopsis "Console-based XMPP client")
     (description "Profanity is a console based XMPP client written in C
 using ncurses and libmesode, inspired by Irssi.")
@@ -2019,13 +2103,13 @@ QMatrixClient project.")
 (define-public hangups
   (package
     (name "hangups")
-    (version "0.4.10")
+    (version "0.4.11")
     (source
      (origin
        (method url-fetch)
        (uri (pypi-uri "hangups" version))
        (sha256
-        (base32 "0ww9z9kcb02pwnr8q1ll31wkzspc1fci1ly8ifrwzxysp4rxy3j5"))))
+        (base32 "165lravvlsgkv6pp3vgg785ihycvs43qzqxw2d2yygrc6pbhqlyv"))))
     (build-system python-build-system)
     (arguments
      `(#:phases
@@ -2257,7 +2341,7 @@ support for high performance Telegram Bot creation.")
       ("folks" ,folks)
       ("libgcrypt" ,libgcrypt)
       ("libgee" ,libgee)
-      ("libhandy" ,libhandy)
+      ("libhandy" ,libhandy-0.0)
       ("pidgin" ,pidgin)
       ("purple-mm-sms" ,purple-mm-sms)
       ("sqlite" ,sqlite)))
@@ -2270,4 +2354,33 @@ as well as on desktop platforms.  It's based on libpurple and ModemManager.")
    (home-page "https://source.puri.sm/Librem5/chatty")
    (license license:gpl3+)))
 
+(define-public mosquitto
+  (package
+    (name "mosquitto")
+    (version "1.6.12")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "https://mosquitto.org/files/source/mosquitto-"
+                           version ".tar.gz"))
+       (sha256
+        (base32
+         "1yq7y329baa1ly488rw125c3mvsnsa7kjkik602xv1xpkz8p73al"))))
+    (build-system cmake-build-system)
+    (inputs
+     `(("openssl" ,openssl)))
+    (synopsis "Message broker")
+    (description "This package provides Eclipse Mosquitto, a message broker
+that implements the MQTT protocol versions 5.0, 3.1.1 and 3.1.  Mosquitto
+is lightweight and is suitable for use on all devices from low power single
+board computers to full servers.
+
+The MQTT protocol provides a lightweight method of carrying out messaging
+using a publish/subscribe model. This makes it suitable for Internet of
+Things messaging such as with low power sensors or mobile devices such
+as phones, embedded computers or microcontrollers.")
+    (home-page "https://mosquitto.org/")
+    ;; Dual licensed.
+    (license (list license:epl1.0 license:edl1.0))))
+
 ;;; messaging.scm ends here