summary refs log tree commit diff
path: root/gnu/packages/telephony.scm
diff options
context:
space:
mode:
authorPierre Neidhardt <mail@ambrevar.xyz>2019-01-11 19:37:02 +0100
committerPierre Neidhardt <mail@ambrevar.xyz>2019-03-26 19:17:01 +0100
commitc771b799bdd4c3895469867e5413ec1079f97ab8 (patch)
treeac0e01a8f32e2f1079a07b8ff4ffb37afa29fbad /gnu/packages/telephony.scm
parentb630967247daaba4949a1b69f83344e1ad13e660 (diff)
downloadguix-c771b799bdd4c3895469867e5413ec1079f97ab8.tar.gz
gnu: Add jami-client-gnome.
* gnu/packages/telephony.scm (jami-client-gnome): New variable.
Diffstat (limited to 'gnu/packages/telephony.scm')
-rw-r--r--gnu/packages/telephony.scm68
1 files changed, 68 insertions, 0 deletions
diff --git a/gnu/packages/telephony.scm b/gnu/packages/telephony.scm
index 29ba0f01ee..b5c14143a8 100644
--- a/gnu/packages/telephony.scm
+++ b/gnu/packages/telephony.scm
@@ -30,6 +30,7 @@
 
 (define-module (gnu packages telephony)
   #:use-module (gnu packages)
+  #:use-module (gnu packages aidc)
   #:use-module (gnu packages autotools)
   #:use-module (gnu packages avahi)
   #:use-module (gnu packages audio)
@@ -38,10 +39,15 @@
   #:use-module (gnu packages check)
   #:use-module (gnu packages compression)
   #:use-module (gnu packages crypto)
+  #:use-module (gnu packages documentation)
   #:use-module (gnu packages file)
   #:use-module (gnu packages protobuf)
+  #:use-module (gnu packages gettext)
   #:use-module (gnu packages glib)
+  #:use-module (gnu packages gnome)
   #:use-module (gnu packages gnupg)
+  #:use-module (gnu packages gtk)
+  #:use-module (gnu packages libcanberra)
   #:use-module (gnu packages linux)
   #:use-module (gnu packages multiprecision)
   #:use-module (gnu packages ncurses)
@@ -54,9 +60,11 @@
   #:use-module (gnu packages qt)
   #:use-module (gnu packages serialization)
   #:use-module (gnu packages speech)
+  #:use-module (gnu packages sqlite)
   #:use-module (gnu packages tls)
   #:use-module (gnu packages upnp)
   #:use-module (gnu packages video)
+  #:use-module (gnu packages webkit)
   #:use-module (gnu packages xiph)
   #:use-module (gnu packages xorg)
   #:use-module (gnu packages xml)
@@ -838,3 +846,63 @@ IAX protocols, as well as decentralized calling using P2P-DHT.
 This package provides a library common to all Jami clients.")
     (home-page "https://jami.net")
     (license license:gpl3+)))
+
+(define-public jami-client-gnome
+  (package
+    (inherit libring)
+    (name "jami-client-gnome")
+    (build-system cmake-build-system)
+    (inputs
+     `(("libringclient" ,libringclient)
+       ("gtk+" ,gtk+)
+       ("qrencode" ,qrencode)
+       ("libnotify" ,libnotify)
+       ("clutter" ,clutter)
+       ("clutter-gtk" ,clutter-gtk)
+       ("gettext" ,gnu-gettext)
+       ("libcanberra" ,libcanberra)
+       ("webkitgtk" ,webkitgtk)
+       ;; TODO: We must wrap ring-client-gnome to force using the
+       ;; `sqlite-with-column-metadata' package instead of `sqlite' or else it
+       ;; fails with:
+       ;;
+       ;;   /gnu/store/...-qtbase-5.11.2/lib/qt5/plugins/sqldrivers/libqsqlite.so:
+       ;;   undefined symbol: sqlite3_column_table_name16
+       ;;
+       ;; qtbase is built against sqlite-with-column-metadata but somehow
+       ;; jami-client-gnome ends up with both `sqlite' and
+       ;; `sqlite-with-column-metadata' as inputs and it seems that
+       ;; libqsqlite.so gets confused.
+       ("sqlite" ,sqlite-with-column-metadata)))
+    (native-inputs
+     `(("pkg-config" ,pkg-config)
+       ("glib:bin" ,glib "bin")
+       ("doxygen" ,doxygen)))
+    (propagated-inputs
+     `(("libring" ,libring)             ; Contains `dring', the daemon, which is automatically by d-bus.
+       ("adwaita-icon-theme" ,adwaita-icon-theme)
+       ("evolution-data-server" ,evolution-data-server)))
+    (arguments
+     `(#:tests? #f                      ; There is no testsuite.
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'change-directory
+           (lambda _
+             (chdir "client-gnome")
+             #t))
+         (add-after 'install 'wrap
+           (lambda* (#:key inputs outputs #:allow-other-keys)
+             (let* ((out (assoc-ref outputs "out"))
+                    (path (string-append (assoc-ref inputs "sqlite") "/lib")))
+               (wrap-program (string-append out "/bin/gnome-ring")
+                 `("LD_LIBRARY_PATH" ":" prefix (,path))))
+             #t)))))
+    (synopsis "Distributed multimedia communications platform")
+    (description "Jami (formerly GNU Ring) is a secure and distributed voice,
+video and chat communication platform that requires no centralized server and
+leaves the power of privacy in the hands of the user.  It supports the SIP and
+IAX protocols, as well as decentralized calling using P2P-DHT.
+
+This package provides the Jami client for the GNOME desktop.")
+    (home-page "https://jami.net")
+    (license license:gpl3+)))