Subject: [PATCH] gnu: Add libolm.

From: [email-masked] (Nicolò Balzarotti)
Date: Tue, 07 Jan 2020 13:53:19 +0100

Hello guix!
This library is used by matrix and its use is suggested to clients wanting to
implement encryption.

Thanks, Nicolò

>From c6d662517bfa876ca470b9e45e0206bd75b5840a Mon Sep 17 00:00:00 2001
From: nixo <[email-masked]>
Date: Sun, 5 Jan 2020 16:46:01 +0100
Subject: [PATCH] gnu: Add libolm.

* gnu/packages/messaging.scm (libolm): New variable.
---
 gnu/packages/crypto.scm | 28 +++++++++++++++++++++++++++-
 1 file changed, 27 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/crypto.scm b/gnu/packages/crypto.scm
index dd49c12e5b..7709775a59 100644
--- a/gnu/packages/crypto.scm
+++ b/gnu/packages/crypto.scm
@@ -10,7 +10,7 @@
 ;;; Copyright © 2018 Efraim Flashner <[email-masked]>
 ;;; Copyright © 2018 Arun Isaac <[email-masked]>
 ;;; Copyright © 2018 Nicolas Goaziou <[email-masked]>
-;;; Copyright © 2018 Nicolò Balzarotti <[email-masked]>
+;;; Copyright © 2018, 2020 Nicolò Balzarotti <[email-masked]>
 ;;; Copyright © 2018 Tim Gesthuizen <[email-masked]>
 ;;; Copyright © 2019 Pierre Neidhardt <[email-masked]>
 ;;; Copyright © 2019 Tanguy Le Carrour <[email-masked]>
@@ -1040,3 +1040,29 @@ minisign uses a slightly different format to store secret keys.  Minisign
 signatures include trusted comments in addition to untrusted comments.
 Trusted comments are signed, thus verified, before being displayed.")
     (license license:isc)))
+
+(define-public libolm
+  (package
+    (name "libolm")
+    (version "3.1.4")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://git.matrix.org/git/olm")
+                    (commit version)))
+              (sha256
+               (base32
+                "06s7rw4a9vn35wzz7chxn54mp0sjgbpv2bzz9lq0g4hnzw33cjbi"))
+              (file-name (git-file-name name version))))
+    (arguments
+     `(#:phases
+       (modify-phases %standard-phases
+         (replace 'check
+           (lambda _
+             (invoke "ctest" "build/tests"))))))
+    (build-system cmake-build-system)
+    (synopsis "Implementation of the olm and megolm cryptographic ratchets")
+    (description "An implementation of the Double Ratchet cryptographic
+ratchet written in @code{C} and @code{C++11} and exposed as a @code{C API}.")
+    (home-page "https://matrix.org/docs/projects/other/olm/")
+    (license license:asl2.0)))
-- 
2.24.1