summary refs log tree commit diff
path: root/gnu/packages/linphone.scm
diff options
context:
space:
mode:
authorRaghav Gururajan <rg@raghavgururajan.name>2021-03-16 23:08:41 -0400
committerMaxim Cournoyer <maxim.cournoyer@gmail.com>2021-03-29 01:17:14 -0400
commit093c5da74702b90c209c3659913b0736ed002b29 (patch)
treef9cf79d22e39c5c344a248165c40e68f275d3eaa /gnu/packages/linphone.scm
parent3c7ff0be83973ea37a186e1e9d277e8d02e4f785 (diff)
downloadguix-093c5da74702b90c209c3659913b0736ed002b29.tar.gz
gnu: Add lime.
* gnu/packages/linphone.scm (lime): New variable.

Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
Diffstat (limited to 'gnu/packages/linphone.scm')
-rw-r--r--gnu/packages/linphone.scm53
1 files changed, 53 insertions, 0 deletions
diff --git a/gnu/packages/linphone.scm b/gnu/packages/linphone.scm
index 2ca05ac8b9..1c94d49f59 100644
--- a/gnu/packages/linphone.scm
+++ b/gnu/packages/linphone.scm
@@ -27,6 +27,7 @@
   #:use-module (gnu packages base)
   #:use-module (gnu packages compression)
   #:use-module (gnu packages crypto)
+  #:use-module (gnu packages databases)
   #:use-module (gnu packages documentation)
   #:use-module (gnu packages gettext)
   #:use-module (gnu packages gl)
@@ -676,6 +677,58 @@ including media capture, encoding and decoding, and rendering.")
     (home-page "https://linphone.org/technical-corner/mediastreamer2")
     (license license:gpl3+)))
 
+(define-public lime
+  (package
+    (name "lime")
+    (version "4.4.34")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://gitlab.linphone.org/BC/public/lime.git")
+             (commit version)))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32 "14jg1zisjbzflw3scfqdbwy48wq3cp93l867vigb8l40lkc6n26z"))))
+    (build-system cmake-build-system)
+    (outputs '("out" "doc"))
+    (arguments
+     `(#:configure-flags (list "-DENABLE_STATIC=NO"
+                               "-DENABLE_C_INTERFACE=YES")
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'patch-source
+           (lambda _
+             ;; Disable tests that require networking.
+             (substitute* "tester/CMakeLists.txt"
+               (("add_test\\(?.*\"Hello World\"\\)") "")
+               (("add_test\\(?.*\"lime\"\\)") "")
+               (("add_test\\(?.*\"FFI\"\\)") ""))))
+         (add-after 'build 'build-doc
+           (lambda _
+             (invoke "make" "doc")))
+         (add-after 'install 'install-doc
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let* ((doc (assoc-ref outputs "doc"))
+                    (dir (string-append doc "/share/doc"))
+                    (dest (string-append dir "/" ,name "-" ,version)))
+               (mkdir-p dest)
+               (copy-recursively "doc" dest)))))))
+    (native-inputs
+     `(("dot" ,graphviz)
+       ("doxygen" ,doxygen)))
+    (inputs
+     `(("bctoolbox" ,bctoolbox)
+       ("belle-sip" ,belle-sip)
+       ("soci" ,soci)))
+    (synopsis "Belledonne Communications Encryption Library")
+    (description "LIME is an encryption library for one-to-one and group
+instant messaging, allowing users to exchange messages privately and
+asynchronously.  It supports multiple devices per user and multiple users per
+device.")
+    (home-page "https://linphone.org/technical-corner/lime")
+    (license license:gpl3+)))
+
 (define-public liblinphone
   (package
     (name "liblinphone")