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.scm89
1 files changed, 67 insertions, 22 deletions
diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm
index 5f791ca642..6f2ebe5104 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 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2015, 2018, 2019 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016, 2017 ng0 <ng0@n0.is>
;;; Copyright © 2016 Andy Patterson <ajpatter@uwaterloo.ca>
;;; Copyright © 2016, 2017, 2018, 2019 Clément Lassieur <clement@lassieur.org>
@@ -16,6 +16,8 @@
;;; Copyright © 2018 Leo Famulari <leo@famulari.name>
;;; Copyright © 2018 Pierre-Antoine Rouby <contact@parouby.fr>
;;; Copyright © 2019 Tanguy Le Carrour <tanguy@bioneland.org>
+;;; Copyright © 2019 Brett Gilio <brettg@posteo.net>
+;;; Copyright © 2019 Timotej Lazar <timotej.lazar@araneo.si>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -57,6 +59,7 @@
#:use-module (gnu packages glib)
#:use-module (gnu packages gnome)
#:use-module (gnu packages gnupg)
+ #:use-module (gnu packages gperf)
#:use-module (gnu packages gtk)
#:use-module (gnu packages guile)
#:use-module (gnu packages icu4c)
@@ -72,6 +75,7 @@
#:use-module (gnu packages pcre)
#:use-module (gnu packages perl)
#:use-module (gnu packages photo)
+ #:use-module (gnu packages php)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages protobuf)
#:use-module (gnu packages python)
@@ -97,6 +101,7 @@
#:use-module (guix build-system meson)
#:use-module (guix build-system perl)
#:use-module (guix build-system python)
+ #:use-module (guix build-system qt)
#:use-module (guix build-system trivial)
#:use-module (guix download)
#:use-module (guix git-download)
@@ -181,11 +186,13 @@ end-to-end encryption.")
(inputs `(("glib" ,glib)
("libotr" ,libotr)
("gnutls" ,gnutls)
- ("python" ,python-2)
+ ("python" ,python)
("perl" ,perl)))
(arguments
`(#:phases
(modify-phases %standard-phases
+ (add-before 'configure 'set-python
+ (lambda _ (setenv "PYTHON" (which "python3")) #t))
(add-after 'install 'install-etc
(lambda* (#:key (make-flags '()) #:allow-other-keys)
(apply invoke "make" "install-etc" make-flags)))
@@ -263,15 +270,16 @@ access to servers running the Discord protocol.")
version ".tar.xz"))
(sha256
(base32
- "064nq151nzsljv97dmkifyl162d2738vbgvm1phx7yv04pjvk4kp"))))
+ "064nq151nzsljv97dmkifyl162d2738vbgvm1phx7yv04pjvk4kp"))
+ (patches (search-patches "hexchat-crash-exit.patch"))))
(build-system meson-build-system)
(native-inputs `(("gettext" ,gettext-minimal)
+ ("glib:bin" ,glib "bin") ;need glib-genmarshal
("perl" ,perl)
("pkg-config" ,pkg-config)))
(inputs `(("dbus-glib" ,dbus-glib)
("dbus" ,dbus)
("enchant" ,enchant)
- ("glib:bin" ,glib "bin") ;need glib-genmarshal
("gtk" ,gtk+-2)
("libcanberra" ,libcanberra)
("libnotify" ,libnotify)
@@ -638,12 +646,17 @@ else [])"))
(variable "PYTHONPATH")
(files (list (string-append
"lib/python"
- (version-major+minor (package-version python))
+
+ ;; FIXME: Cannot use this expression as it would
+ ;; introduce a circular dependency at the top level.
+ ;; (version-major+minor (package-version python))
+ "3.7"
+
"/site-packages"))))))
(native-inputs
`(("intltool" ,intltool)
("python-docutils" ,python-docutils)
- ("xorg-server" ,xorg-server)))
+ ("xorg-server" ,xorg-server-for-tests)))
(inputs
`(("adwaita-icon-theme" ,adwaita-icon-theme)
("gnome-keyring" ,gnome-keyring)
@@ -1785,7 +1798,7 @@ QMatrixClient project.")
(file-name (git-file-name name version))
(sha256
(base32 "0gpv6b3nn3lsyym8809kiqkpdszfasldqjpk5s542zyn41gdlql4"))))
- (build-system cmake-build-system)
+ (build-system qt-build-system)
(inputs
`(("libqmatrixclient" ,libqmatrixclient)
("qtbase" ,qtbase)
@@ -1796,19 +1809,7 @@ QMatrixClient project.")
("qtsvg" ,qtsvg)
("qttools" ,qttools)))
(arguments
- `(#:tests? #f ; no tests
- #:modules ((guix build cmake-build-system)
- (guix build qt-utils)
- (guix build utils))
- #:imported-modules (,@%cmake-build-system-modules
- (guix build qt-utils))
- #:phases
- (modify-phases %standard-phases
- (add-after 'install 'wrap-program
- (lambda* (#:key outputs #:allow-other-keys)
- (let ((out (assoc-ref outputs "out")))
- (wrap-qt-program out "quaternion")
- #t))))))
+ `(#:tests? #f)) ; no tests
(home-page "https://matrix.org/docs/projects/client/quaternion.html")
(synopsis "Graphical client for the Matrix instant messaging protocol")
(description "Quaternion is a Qt5 desktop client for the Matrix instant
@@ -1821,13 +1822,13 @@ QMatrixClient project.")
(define-public hangups
(package
(name "hangups")
- (version "0.4.9")
+ (version "0.4.10")
(source
(origin
(method url-fetch)
(uri (pypi-uri "hangups" version))
(sha256
- (base32 "1jw4i58cd4j1ymsnhv9224xsi26w8y0qrj6z4nw50dnbl45b6aaa"))))
+ (base32 "0ww9z9kcb02pwnr8q1ll31wkzspc1fci1ly8ifrwzxysp4rxy3j5"))))
(build-system python-build-system)
(arguments
`(#:phases
@@ -1945,4 +1946,48 @@ Telegram messenger.")
;; itself is GPLv2+.
(license license:gpl2+)))
+(define-public tdlib
+ (let ((commit "afca63a4f43531058a079e91eb5c81f54ad744b5")
+ (revision "1")
+ (version "1.5.0"))
+ (package
+ (name "tdlib")
+ (version (git-version version revision commit))
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/tdlib/td.git")
+ (commit commit)))
+ (sha256
+ (base32
+ "1aa3p4k32mfshgc6fv58gwg8pnaix39rv455hfx6znj7llr8na6k"))
+ (file-name (git-file-name name version))))
+ (build-system cmake-build-system)
+ (arguments
+ `(#:tests? #t
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'remove-failing-tests
+ (lambda _
+ (substitute* "test/CMakeLists.txt"
+ ;; The test cases are compiled into a distinct binary
+ ;; which uses mtproto.cpp to attempt to connect to
+ ;; a remote server. Removing this file from the sources
+ ;; list disables those specific test cases.
+ (("\\$\\{CMAKE_CURRENT_SOURCE_DIR\\}/mtproto.cpp") ""))
+ #t)))))
+ (native-inputs
+ `(("gperf" ,gperf)
+ ("openssl" ,openssl)
+ ("zlib" ,zlib)
+ ("php" ,php)
+ ("doxygen" ,doxygen)))
+ (synopsis "Cross-platform library for building Telegram clients")
+ (description "Tdlib is a cross-platform library for creating custom
+Telegram clients following the official Telegram API. It can be easily used
+from almost any programming language with a C-FFI and features first-class
+support for high performance Telegram Bot creation.")
+ (home-page "https://core.telegram.org/tdlib")
+ (license license:boost1.0))))
+
;;; messaging.scm ends here