From 30c0515c5ec80da84a4e0e7ecbf8dff19fc16066 Mon Sep 17 00:00:00 2001 From: Raghav Gururajan Date: Tue, 16 Mar 2021 23:08:41 -0400 Subject: [PATCH 37/53] gnu: Add lime. * gnu/packages/linphone.scm (lime): New variable. --- gnu/packages/linphone.scm | 57 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 57 insertions(+) diff --git a/gnu/packages/linphone.scm b/gnu/packages/linphone.scm index 79cb35fc07..80349ac426 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) @@ -685,6 +686,62 @@ 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") + (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\"\\)") "")) + #t)) + (add-after 'build 'build-doc + (lambda _ + (invoke "make" "doc") + #t)) + (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)) + #t))))) + (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") -- 2.31.0