summary refs log tree commit diff
diff options
context:
space:
mode:
authorRicardo Wurmus <rekado@elephly.net>2023-03-04 15:19:21 +0100
committerRicardo Wurmus <rekado@elephly.net>2023-03-04 15:20:04 +0100
commit4acc5e03099c4be6bb7c41515d1dbbcf8b200c6a (patch)
treef1d77b4bab8928c413966cc41466c1e9d2ceec4a
parent1b07f397dc17e31ad55b80a4efd34fdcb5b3c690 (diff)
downloadguix-4acc5e03099c4be6bb7c41515d1dbbcf8b200c6a.tar.gz
gnu: Add telepathy-gabble.
* gnu/packages/freedesktop.scm (telepathy-gabble): New variable.
-rw-r--r--gnu/packages/freedesktop.scm80
1 files changed, 80 insertions, 0 deletions
diff --git a/gnu/packages/freedesktop.scm b/gnu/packages/freedesktop.scm
index 2f2c9442b1..9e0dbdfb71 100644
--- a/gnu/packages/freedesktop.scm
+++ b/gnu/packages/freedesktop.scm
@@ -1842,6 +1842,86 @@ modems and setup connections with them.")
      '((upstream-name . "ModemManager")))
     (license license:gpl2+)))
 
+(define-public telepathy-gabble
+  ;; telepathy-gabble bundles wocky, an unreleased library.  The latest commit
+  ;; includes a more recent version.
+  (let ((commit "f1c762df6328916b811a834047fedac8529cf157")
+        (revision "1"))
+    (package
+      (name "telepathy-gabble")
+      (version (git-version "0.18.4" revision commit))
+      (source
+       (origin
+         (method git-fetch)
+         (uri (git-reference
+               (url "https://github.com/TelepathyIM/telepathy-gabble/")
+               (commit commit)
+               (recursive? #true)))
+         (file-name (git-file-name name version))
+         (sha256
+          (base32
+           "00ss14hf1qwb42648cldghmfjfn1nkjvpy508b7vaz322fj37qa4"))))
+      (build-system gnu-build-system)
+      (arguments
+       (list
+        ;; Parallel tests freeze.
+        #:parallel-tests? #false
+        #:phases
+        '(modify-phases %standard-phases
+           (add-after 'unpack 'delete-autogen
+             (lambda _ (delete-file "autogen.sh")))
+           (add-before 'configure 'configure-wocky
+             (lambda* (#:key configure-flags #:allow-other-keys)
+               (with-directory-excursion "lib/ext/wocky"
+                 (invoke "gtkdocize")
+                 (invoke "bash" "autoreconf" "-vif")
+                 (substitute* "configure"
+                   (("/bin/sh") (which "sh")))
+                 (apply invoke "bash" "configure" configure-flags)))))
+        #:configure-flags
+        #~(list (string-append "--prefix=" #$output)
+                "--disable-avahi-tests"
+                "--disable-dependency-tracking"
+                "--disable-Werror"
+                "--without-ca-certificates")))
+      (native-inputs
+       (list autoconf
+             automake
+             libtool
+             `(,glib "bin")             ;for glib-compile-schemas, etc.
+             gtk-doc
+             pkg-config))
+      (inputs
+       (list dbus
+             glib
+             gnutls
+             gobject-introspection
+             libnice
+             libsoup-minimal-2
+             libxslt
+             python))
+      (propagated-inputs
+       (list telepathy-glib))
+      (home-page "https://telepathy.freedesktop.org/components/telepathy-gabble/")
+      (synopsis "XMPP connection manager for Telepathy")
+      (description
+       "Gabble is a Jabber/XMPP connection manager for the Telepathy
+framework, currently supporting:
+
+@itemize
+@item single-user chats
+@item multi-user chats
+@item voice/video calling
+@item file transfer
+@end itemize
+
+with Jabber/XMPP interoperability.
+
+Telepathy is a D-Bus framework for unifying real time communication, including
+instant messaging, voice calls and video calls.  It abstracts differences
+between protocols to provide a unified interface for applications.")
+      (license license:lgpl2.1))))
+
 (define-public telepathy-logger
   (package
     (name "telepathy-logger")