summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMaxim Cournoyer <maxim@guixotic.coop>2025-06-26 00:23:32 +0900
committerMaxim Cournoyer <maxim@guixotic.coop>2025-07-26 09:33:12 +0900
commit49ec96dbc6f00176009c3407ae22e1adf37a77da (patch)
tree89f1f3583db7b790f7a6a1fcbe1fee21a6706080
parent49e2bbc6d8019006cd252517a5890962366d1ed4 (diff)
gnu: Add pkcs11-provider.
* gnu/packages/security-token.scm (pkcs11-provider): New variable. Change-Id: Icee9e44b1878b4ca92dd601c4a55fc12258def15
-rw-r--r--gnu/packages/security-token.scm38
1 files changed, 37 insertions, 1 deletions
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 <GNUtoo@cyberdimension.org>
;;; Copyright © 2023 Jake Leporte <jakeleporte@outlook.com>
;;; Copyright © 2023 Timotej Lazar <timotej.lazar@araneo.si>
-;;; Copyright © 2023, 2025 Maxim Cournoyer <maximguixotic@coop>
+;;; Copyright © 2023, 2025 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2023 Pierre Langlois <pierre.langlois@gmx.com>
;;; Copyright © 2024 Janneke Nieuwenhuizen <janneke@gnu.org>
;;;
@@ -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")