aboutsummaryrefslogtreecommitdiff
path: root/gnu/packages/messaging.scm
diff options
context:
space:
mode:
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