diff mbox series

[bug#53815,v2,1/3] gnu: Add libnitrokey

Message ID nXtj4DXcwJB4Dkbq96hfhz4kNRmdwMlmKFEK6umdxgD6IrTTdPtC-ZaPbr-T9GjZTPkxbjC0X11p6PY49TtJPxMQ68YHQL1hlHgCuXj1gdc=@protonmail.com
State Accepted
Headers show
Series [bug#53815,v2,1/3] gnu: Add libnitrokey | expand

Commit Message

phodina Feb. 9, 2022, 9:53 a.m. UTC
Hi Maxime,

> phodina via Guix-patches via schreef op zo 06-02-2022 om 07:46 [+0000]:
>
> > +    (license license:lgpl3)))
>
> Looking at
>
> https://github.com/Nitrokey/libnitrokey/blob/master/NK_C_API.cc, the
>
> license appears to be LGPL3+, even though the README just says LGPL3.
>
> Possibly that's only for NK_C_API.cc though (unverified).
>

I've checked the code and there is only one change in the license recently but the commit itself is little bit misleading as it has different versions in LICENSE and README.md. There is now a ticket with this question. In the meantime I followed the LICENSE file.

https://github.com/Nitrokey/libnitrokey/issues/211

> +              (snippet '(begin
> +                          (delete-file-recursively "hidapi")))

> Does this have any effect? Looking at
> <https://github.com/Nitrokey/libnitrokey>, it looks like 'hidapi' is a
> git submodule, which would normally not be included in the checkout
> because 'recursive?' has not been found.

> If it does have any effect, then wouldn't "tests/catch" in cppcodec
> need to be removed as well?

You are right, I thought to unbundle just in case all the code but here it's just submodule and it's not cloned.

-- Found PkgConfig: /gnu/store/2b3blhwbag1ial0dhxw7wh4zjxl0cqpk-pkg-config-0.29.2/bin/pkg-config (found version "0.29.2")
-- Found system Catch2, not using bundled version

The Guix libraries are used correctly without any need for manual intervention.

> I'm seeing a lot of tests at <https://github.com/Nitrokey/libnitrokey/tree/master/unittest>.

You're right. This is my mistake as I only saw the tests that require HW token. Now I've enabled the offline tests.


> While the information about being header-only is useful for people
> looking to bundle a dependency in their source code, it seems
> irrelevant to people using cppcodec via Guix.

I've removed this information (FIY I'm C++ programmer so I thought it might be useful :-)
Also the tests for ccpcodec are now enabled.

The patches in the attachment have been rebase to latest master.


----
Petr

Comments

Ludovic Courtès Feb. 14, 2022, 2:52 p.m. UTC | #1
Hi,

phodina <phodina@protonmail.com> skribis:

> From 5f01b5d21f688d9725532f35067e92c49ab423b4 Mon Sep 17 00:00:00 2001
> From: Petr Hodina <phodina@protonmail.com>
> Date: Sat, 5 Feb 2022 23:25:44 +0100
> Subject: [PATCH v2 1/3] gnu: Add libnitrokey.
>
> * gnu/packages/security-token.scm (libnitrokey): New variable.

[...]

> From e340d972a40667e693302ddc63354d1ed8b36e6e Mon Sep 17 00:00:00 2001
> From: Petr Hodina <phodina@protonmail.com>
> Date: Sat, 5 Feb 2022 23:27:06 +0100
> Subject: [PATCH v2 3/3] gnu: Add nitrokey-app.
>
> * gnu/packages/crates-io.scm (nitrokey-app): New variable.

[...]

> From d44b13f8c44491a521bfaa73a414586f6f59ca37 Mon Sep 17 00:00:00 2001
> From: Petr Hodina <phodina@protonmail.com>
> Date: Sat, 5 Feb 2022 23:26:36 +0100
> Subject: [PATCH v2 2/3] gnu: Add cppcodec.
>
> * gnu/packages/crates-io.scm (cppcodec): New variable.

I believe this section addresses Maxime’s comments; I applied all three
patches.

Thank you, and thanks Maxime for reviewing!

Ludo’.
diff mbox series

Patch

From d44b13f8c44491a521bfaa73a414586f6f59ca37 Mon Sep 17 00:00:00 2001
From: Petr Hodina <phodina@protonmail.com>
Date: Sat, 5 Feb 2022 23:26:36 +0100
Subject: [PATCH v2 2/3] gnu: Add cppcodec.

* gnu/packages/crates-io.scm (cppcodec): New variable.

diff --git a/gnu/packages/security-token.scm b/gnu/packages/security-token.scm
index 7ea19b13a2..998b9ae36e 100644
--- a/gnu/packages/security-token.scm
+++ b/gnu/packages/security-token.scm
@@ -748,6 +748,30 @@  (define-public libnitrokey
     (description "This packate provides communication library for Nitrokey.")
     (license license:lgpl3+)))
 
+(define-public cppcodec
+  (package
+    (name "cppcodec")
+    (version "0.2")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/tplgy/cppcodec")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "0z39f8w0zvra874az0f67ck1al9kbpaidpilggbl8jnfs05010ck"))))
+    (build-system cmake-build-system)
+    (arguments
+     '(#:configure-flags (list "-DBUILD_TESTING=on")))
+    (native-inputs (list pkg-config qttools))
+    (inputs (list catch-framework2))
+    (home-page "https://github.com/tplgy/cppcodec")
+    (synopsis "Header library to encode/decode base64, base64url, etc.")
+    (description "This package provides library to encode/decode base64,
+base64url, base32, base32hex and hex.")
+    (license license:expat)))
+
 (define-public nitrocli
   (package
     (name "nitrocli")
-- 
2.34.0