guix_mirror_bot pushed a commit to branch master
in repository guix.

commit 49ec96dbc6f00176009c3407ae22e1adf37a77da
Author: Maxim Cournoyer <[email protected]>
AuthorDate: Thu Jun 26 00:23:32 2025 +0900

    gnu: Add pkcs11-provider.
    
    * gnu/packages/security-token.scm (pkcs11-provider): New variable.
    
    Change-Id: Icee9e44b1878b4ca92dd601c4a55fc12258def15
---
 gnu/packages/security-token.scm | 38 +++++++++++++++++++++++++++++++++++++-
 1 file changed, 37 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/security-token.scm b/gnu/packages/security-token.scm
index b74b234ad3..660e170794 100644
--- a/gnu/packages/security-token.scm
+++ b/gnu/packages/security-token.scm
@@ -20,7 +20,7 @@
 ;;; Copyright © 2022 Denis 'GNUtoo' Carikli <[email protected]>
 ;;; Copyright © 2023 Jake Leporte <[email protected]>
 ;;; Copyright © 2023 Timotej Lazar <[email protected]>
-;;; Copyright © 2023, 2025 Maxim Cournoyer <maximguixotic@coop>
+;;; Copyright © 2023, 2025 Maxim Cournoyer <[email protected]>
 ;;; Copyright © 2023 Pierre Langlois <[email protected]>
 ;;; Copyright © 2024 Janneke Nieuwenhuizen <[email protected]>
 ;;;
@@ -52,6 +52,7 @@
   #:use-module (guix build-system cmake)
   #:use-module (guix build-system gnu)
   #:use-module (guix build-system glib-or-gtk)
+  #:use-module (guix build-system meson)
   #:use-module (guix build-system pyproject)
   #:use-module (guix build-system python)
   #:use-module (guix build-system qt)
@@ -391,6 +392,41 @@ semi-transparent way.
 @end table")
     (license license:lgpl2.1+)))
 
+(define-public pkcs11-provider
+  (package
+    (name "pkcs11-provider")
+    (version "1.0")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "https://github.com/latchset/"; name
+                                  "/releases/download/v" version "/"
+                                  name "-" version ".tar.xz"))
+              (sha256
+               (base32
+                "0lzn2wj3pxwb0b2xrx1dk96nkbm2bpl75clhkr1cpnfnc3v02gc4"))))
+    (build-system meson-build-system)
+    (arguments
+     (list #:phases
+           #~(modify-phases %standard-phases
+               (add-after 'unpack 'adjust-provider-path
+                 ;; By default, the modulesdir variable from libcrypto.pc is
+                 ;; used, which points to OpenSSL's installation prefix.
+                 (lambda _
+                   (substitute* "meson.build"
+                     (("provider_path =.*")
+                      (format #f "provider_path = '~a/lib/ossl-modules'~%"
+                              #$output))))))))
+    (native-inputs (list pkg-config))   ;for PKG_CONFIG_PATH
+    (inputs (list openssl p11-kit))
+    (home-page "https://github.com/latchset/pkcs11-provider";)
+    (synopsis "Pkcs#11 provider for OpenSSL")
+    (description "This is an OpenSSL provider to access hardware and software
+tokens using the PKCS#11 cryptographic token interface.  Access to tokens
+depends on loading an appropriate PKCS#11 driver that knows how to talk to the
+specific token.  The PKCS#11 provider is a connector that allows OpenSSL to
+make proper use of such drivers.")
+    (license license:asl2.0)))
+
 (define-public opensc
   (package
     (name "opensc")

Reply via email to