summary refs log tree commit diff
path: root/gnu/packages/messaging.scm
diff options
context:
space:
mode:
authorEfraim Flashner <efraim@flashner.co.il>2021-04-16 14:39:48 +0300
committerEfraim Flashner <efraim@flashner.co.il>2021-04-16 14:39:48 +0300
commitfcc39864dba82e14895afbe841091091366c96bc (patch)
tree6e0f05495fd6512051224dc85fd3ab495cbf1a24 /gnu/packages/messaging.scm
parent76fc36d0a7215979bb74c05840f5a4de4ab5ea93 (diff)
parent44f9432705d04c069a8acf9e37e3ad856ac0bf82 (diff)
downloadguix-fcc39864dba82e14895afbe841091091366c96bc.tar.gz
Merge remote-tracking branch 'origin/master' into core-updates
 Conflicts:
	gnu/local.mk
	gnu/packages/boost.scm
	gnu/packages/chez.scm
	gnu/packages/compression.scm
	gnu/packages/crates-io.scm
	gnu/packages/docbook.scm
	gnu/packages/engineering.scm
	gnu/packages/gcc.scm
	gnu/packages/gl.scm
	gnu/packages/gtk.scm
	gnu/packages/nettle.scm
	gnu/packages/python-check.scm
	gnu/packages/python-xyz.scm
	gnu/packages/radio.scm
	gnu/packages/rust.scm
	gnu/packages/sqlite.scm
	guix/build-system/node.scm
Diffstat (limited to 'gnu/packages/messaging.scm')
-rw-r--r--gnu/packages/messaging.scm223
1 files changed, 122 insertions, 101 deletions
diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm
index af8122f1a9..4cf15e5563 100644
--- a/gnu/packages/messaging.scm
+++ b/gnu/packages/messaging.scm
@@ -4,7 +4,7 @@
 ;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com>
 ;;; Copyright © 2015 Andreas Enge <andreas@enge.fr>
 ;;; Copyright © 2015, 2016, 2017, 2018, 2019 Ricardo Wurmus <rekado@elephly.net>
-;;; Copyright © 2015, 2018, 2019, 2020 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2015, 2018, 2019, 2020, 2021 Efraim Flashner <efraim@flashner.co.il>
 ;;; Copyright © 2016, 2017 Nikita <nikita@n0.is>
 ;;; Copyright © 2016 Andy Patterson <ajpatter@uwaterloo.ca>
 ;;; Copyright © 2016, 2017, 2018, 2019 Clément Lassieur <clement@lassieur.org>
@@ -27,6 +27,7 @@
 ;;; Copyright © 2020, 2021 Michael Rohleder <mike@rohleder.de>
 ;;; Copyright © 2020 Raghav Gururajan <raghavgururajan@disroot.org>
 ;;; Copyright © 2020, 2021 Robert Karszniewicz <avoidr@posteo.de>
+;;; Copyright © 2020 Giacomo Leidi <goodoldpaul@autistici.org>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -89,6 +90,7 @@
   #:use-module (gnu packages lua)
   #:use-module (gnu packages man)
   #:use-module (gnu packages markup)
+  #:use-module (gnu packages matrix)
   #:use-module (gnu packages mono)
   #:use-module (gnu packages mpd)
   #:use-module (gnu packages ncurses)
@@ -101,6 +103,7 @@
   #:use-module (gnu packages pkg-config)
   #:use-module (gnu packages protobuf)
   #:use-module (gnu packages python)
+  #:use-module (gnu packages python-check)
   #:use-module (gnu packages python-crypto)
   #:use-module (gnu packages python-web)
   #:use-module (gnu packages python-xyz)
@@ -785,7 +788,7 @@ authentication.")
 (define-public pidgin
   (package
     (name "pidgin")
-    (version "2.14.1")
+    (version "2.14.3")
     (source
      (origin
        (method url-fetch)
@@ -793,11 +796,9 @@ authentication.")
         (string-append "mirror://sourceforge/pidgin/Pidgin/"
                        version "/pidgin-" version ".tar.gz"))
        (sha256
-        (base32 "1c4dzxg9c3d9zfqqa7jwijj9rv9fm6w95igmpljwy88lxq7v5w11"))
+        (base32 "0vdfnm96m1kh4gm6xn6i7s9c5zjh1p18jg4595k4p5bplvd6fmm8"))
        (patches
-        (search-patches
-         "pidgin-add-search-path.patch"
-         "pidgin-vv-gst.patch"))
+        (search-patches "pidgin-add-search-path.patch"))
        (modules '((guix build utils)))
        (snippet
         '(begin
@@ -874,7 +875,16 @@ authentication.")
                        "/lib")
         (string-append "--with-tkconfig="
                        (assoc-ref %build-inputs "tk")
-                       "/lib"))))
+                       "/lib"))
+       #:phases
+       (modify-phases %standard-phases
+         (add-before 'check 'eat-leftovers
+           ;; XXX Remove when updating beyond 2.14.3.  Equivalent to
+           ;; <https://keep.imfreedom.org/pidgin/pidgin/rev/d4d72fde60c2>.
+           (lambda _
+             ;; Remove a lingering [broken] oscar reference.
+             (substitute* "libpurple/tests/check_libpurple.c"
+               ((".*oscar_util_suite.*") "")))))))
     (native-search-paths
      (list
       (search-path-specification
@@ -1616,99 +1626,6 @@ guidelines.  It provides an easy to use application that allows you to
 connect with friends and family without anyone else listening in.")
     (license license:gpl3+)))
 
-(define-public pybitmessage
-  (package
-    (name "pybitmessage")
-    (version "0.6.3.2")
-    (source
-     (origin
-       (method git-fetch)
-       (uri (git-reference
-             (url "https://github.com/Bitmessage/PyBitmessage")
-             (commit version)))
-       (file-name (string-append name "-" version "-checkout"))
-       (sha256
-        (base32
-         "1lmhbpwsqh1v93krlqqhafw2pc3y0qp8zby186yllbph6s8kdp35"))))
-    (propagated-inputs
-     ;; TODO:
-     ;; Package "pyopencl", required in addition to numpy for OpenCL support.
-     ;; Package "gst123", required in addition to alsa-utils and
-     ;; mpg123 for sound support.
-     `(("python2-msgpack" ,python2-msgpack)
-       ("python2-pythondialog" ,python2-pythondialog)
-       ("python2-pyqt-4" ,python2-pyqt-4)
-       ("python2-sip" ,python2-sip)
-       ("python2-pysqlite" ,python2-pysqlite)
-       ("python2-pyopenssl" ,python2-pyopenssl)))
-    (native-inputs
-     `(("openssl" ,openssl)))
-    (build-system python-build-system)
-    (arguments
-     `(#:modules ((guix build python-build-system)
-                  (guix build utils))
-       #:tests? #f ;no test target
-       #:python ,python-2
-       #:phases
-       (modify-phases %standard-phases
-         (add-after 'unpack 'fix-unmatched-python-shebangs
-           (lambda* (#:key inputs #:allow-other-keys)
-             (substitute* "src/bitmessagemain.py"
-               (("#!/usr/bin/env python2.7")
-                (string-append "#!" (which "python"))))
-             (substitute* "src/bitmessagecli.py"
-               (("#!/usr/bin/env python2.7.x")
-                (string-append "#!" (which "python"))))
-             #t))
-         (add-after 'unpack 'fix-depends
-           (lambda* (#:key inputs #:allow-other-keys)
-             (substitute* "src/depends.py"
-               (("libcrypto.so")
-                (string-append (assoc-ref inputs "openssl")
-                               "/lib/libcrypto.so")))
-             #t))
-         (add-after 'unpack 'fix-local-files-in-paths
-           (lambda* (#:key outputs #:allow-other-keys)
-             (substitute* "src/proofofwork.py"
-               (("bitmsghash.so")
-                (string-append (assoc-ref outputs "out")
-                               "/lib/bitmsghash.so")))
-             #t))
-         (add-after 'unpack 'fix-pyelliptic
-           (lambda* (#:key inputs #:allow-other-keys)
-             (substitute* "src/pyelliptic/openssl.py"
-               (("libcrypto.so")
-                (string-append (assoc-ref inputs "openssl")
-                               "/lib/libcrypto.so"))
-               (("libssl.so")
-                (string-append (assoc-ref inputs "openssl")
-                               "/lib/libssl.so")))
-             #t))
-         (add-after 'unpack 'noninteractive-build
-           ;; This applies upstream commit 4c597d3f7cf9f83a763472aa165a1a4292019f20
-           (lambda _
-             (substitute* "setup.py"
-               (("except NameError")
-                "except EOFError, NameError"))
-             #t))
-         ;; XXX: python setup.py does not build and install bitmsghash,
-         ;; without it PyBitmessage tries to compile it at first run
-         ;; in the store, which due to obvious reasons fails. Do it
-         ;; and place it in /lib.
-         (add-after 'unpack 'build-and-install-bitmsghash
-           (lambda* (#:key outputs #:allow-other-keys)
-             (with-directory-excursion "src/bitmsghash"
-               (system* "make")
-               (install-file "bitmsghash.so"
-                             (string-append (assoc-ref outputs "out") "/lib")))
-             #t)))))
-    (license license:expat)
-    (description
-     "Distributed and trustless peer-to-peer communications protocol
-for sending encrypted messages to one person or many subscribers.")
-    (synopsis "Distributed peer-to-peer communication")
-    (home-page "https://bitmessage.org/")))
-
 (define-public ytalk
   (package
     (name "ytalk")
@@ -2511,7 +2428,13 @@ QMatrixClient project.")
            ;; Relax overly strict package version specifications.
            (lambda _
              (substitute* "setup.py"
-               (("==") ">="))
+               (("==") ">=")
+               ((",<.*'") "'"))
+             #t))
+         (replace 'check
+           (lambda* (#:key tests? #:allow-other-keys)
+             (when tests?
+               (invoke "pytest" "hangups"))
              #t)))))
     (propagated-inputs
      `(("python-aiohttp" ,python-aiohttp)
@@ -2952,4 +2875,102 @@ social and chat platform.")
 designed for experienced users.")
     (license license:gpl2+)))
 
+(define-public python-zulip
+  (package
+    (name "python-zulip")
+    (version "0.7.1")
+    (source
+     (origin
+       ;; There is no source on Pypi.
+       (method git-fetch)
+       (uri (git-reference
+              (url "https://github.com/zulip/python-zulip-api")
+              (commit version)))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32
+         "0da1ki1v252avy27j6d7snnc0gyq0xa9fypm3qdmxhw2w79d6q36"))))
+    (build-system python-build-system)
+    (arguments
+     `(#:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'cd-to-zulip-dir
+           (lambda _
+             (chdir "zulip")
+             #t))
+         (replace 'check
+           (lambda* (#:key inputs outputs tests? #:allow-other-keys)
+             (let ((test-zulip "../tools/test-zulip"))
+               (when tests?
+                 (add-installed-pythonpath inputs outputs)
+                 (setenv "PYTHONPATH" (string-append ".:" (getenv "PYTHONPATH")))
+                 (patch-shebang test-zulip)
+                 (invoke test-zulip))
+               #t))))))
+    (propagated-inputs
+     `(("python-matrix-client" ,python-matrix-client)
+       ("python-pyopenssl" ,python-pyopenssl)
+       ("python-requests" ,python-requests)
+       ("python-six" ,python-six)))
+    (native-inputs
+     `(("python-cython" ,python-cython)
+       ("python-distro" ,python-distro)
+       ("python-pytest" ,python-pytest)))
+    (home-page "https://github.com/zulip/python-zulip-api")
+    (synopsis "Zulip's API Python bindings")
+    (description
+     "This package provides Python bindings to Zulip's API.")
+    (license license:asl2.0)))
+
+(define-public zulip-term
+  (package
+    (name "zulip-term")
+    (version "0.5.2")
+    (source
+     (origin
+       ;; Pypi package doesn't ship tests.
+       (method git-fetch)
+       (uri (git-reference
+              (url "https://github.com/zulip/zulip-terminal")
+              (commit version)))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32
+         "1xhhy3v4wck74a83avil0rnmsi2grrh03cww19n5mv80p2q1cjmf"))
+       (modules '((guix build utils)))
+       (snippet
+        '(begin
+           (substitute* "setup.py"
+             (("\\=\\=1\\.7") ">=1.7")  ; pytest-mock
+             (("\\=\\=2\\.5") ">=2.5")  ; pytest-cov
+             (("4\\.5\\.2") "4.4.2"))   ; lxml
+           #t))))
+    (build-system python-build-system)
+    (arguments
+     '(#:phases
+       (modify-phases %standard-phases
+         (replace 'check
+           (lambda* (#:key tests? #:allow-other-keys)
+             (when tests?
+               ;; Delete failing tests.
+               (delete-file "tests/cli/test_run.py")
+               (invoke "pytest"))
+             #t)))))
+    (inputs
+     `(("python-beautifulsoup4" ,python-beautifulsoup4)
+       ("python-lxml" ,python-lxml)
+       ("python-mypy-extensions" ,python-mypy-extensions)
+       ("python-urwid" ,python-urwid)
+       ("python-urwid-readline" ,python-urwid-readline)
+       ("python-zulip" ,python-zulip)))
+    (native-inputs
+     `(("python-distro" ,python-distro)
+       ("python-pytest" ,python-pytest)
+       ("python-pytest-cov" ,python-pytest-cov)
+       ("python-pytest-mock" ,python-pytest-mock)))
+    (home-page "https://github.com/zulip/zulip-terminal")
+    (synopsis "Zulip's official terminal client")
+    (description "This package contains Zulip's official terminal client.")
+    (license license:asl2.0)))
+
 ;;; messaging.scm ends here