Subject: [bug#51219] gnu: Add libcbor

From: "Ahmad Jarara" <[email-masked]>
Date: Thu, 14 Oct 2021 19:59:35 -0400

A follow up patch adds libfido2, which is dependent on libcbor. Then, guix users may tweak their ssh packages to use the internal security key provider as described in the release notes for openssh 8.2: https://www.openssh.com/txt/release-8.2

Running lint on this package with `guix-devel-mode` shows an error: 
```
gnu/packages/compression.scm:2739:5: [email-masked]: the source file name should contain the package name
```

Any idea how to fix/suppress this lint?

From 8b895dd18f1ac4f821a3b9e498620c1b4380280c Mon Sep 17 00:00:00 2001
From: Ahmad Jarara <[email-masked]>
Date: Thu, 14 Oct 2021 19:43:58 -0400
Subject: [PATCH] gnu: Add libcbor

---
 gnu/packages/compression.scm | 32 ++++++++++++++++++++++++++++++++
 1 file changed, 32 insertions(+)

diff --git a/gnu/packages/compression.scm b/gnu/packages/compression.scm
index 3098230bd5..fbe5a5c391 100644
--- a/gnu/packages/compression.scm
+++ b/gnu/packages/compression.scm
@@ -2730,3 +2730,35 @@ (define-public tarlz
 tar tools like GNU tar, which treat it like any other tar.lz archive.  Tarlz
 can append files to the end of such compressed archives.")
     (license license:gpl2+)))
+
+(define-public libcbor
+  (package
+    (name "libcbor")
+    (version "0.8.0")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/PJK/libcbor")
+             (commit (string-append "v" version))))
+       (sha256 (base32 "03gv6qn09kj7glq96rwc2g88j80xkykc95jnclfxb7iffxzkw4xd"))))
+    (build-system cmake-build-system)
+    (arguments
+     '(#:configure-flags
+       (let* ((out (assoc-ref %outputs "out"))
+              (lib (string-append out "/lib")))
+         (list
+          "-DCMAKE_BUILD_TYPE=Release"
+          "-DBUILD_SHARED_LIBS=ON"
+          "-DCBOR_CUSTOM_ALLOC=ON"
+          (string-append "-DCMAKE_INSTALL_LIBDIR=" lib)
+          (string-append "-DCMAKE_INSTALL_RPATH=" lib)))))
+    (synopsis "The C library for parsing and generating CBOR")
+    (description
+     "The Concise Binary Object Representation (CBOR) is a data format whose
+design goals include the possibility of extremely small code size, fairly
+small message size, and extensibility without the need for version
+negotiation.  These design goals make it different from earlier binary
+serializations such as ASN.1 and MessagePack.")
+    (license license:expat)
+    (home-page "https://github.com/PJK/libcbor")))

base-commit: cf25ba2d773435af7af2cd315185acb16dcc6b58
-- 
2.33.0