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")