;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2018, 2022 Arun Isaac ;;; Copyright © 2020 Tobias Geerinckx-Rice ;;; Copyright © 2021 Brice Waegeneire ;;; ;;; This file is part of GNU Guix. ;;; ;;; GNU Guix is free software; you can redistribute it and/or modify it ;;; under the terms of the GNU General Public License as published by ;;; the Free Software Foundation; either version 3 of the License, or (at ;;; your option) any later version. ;;; ;;; GNU Guix is distributed in the hope that it will be useful, but ;;; WITHOUT ANY WARRANTY; without even the implied warranty of ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;;; GNU General Public License for more details. ;;; ;;; You should have received a copy of the GNU General Public License ;;; along with GNU Guix. If not, see . (define-module (gnu services security-token) #:use-module (gnu services) #:use-module (gnu services shepherd) #:use-module (gnu packages admin) #:use-module (gnu packages base) #:use-module (gnu packages security-token) #:use-module (gnu system shadow) #:use-module (guix gexp) #:use-module (guix modules) #:use-module (guix records) #:use-module (ice-9 match) #:use-module (srfi srfi-26) #:export (pcscd-configuration pcscd-configuration? pcscd-configuration-pcsc-lite pcscd-configuration-usb-drivers pcscd-service-type)) ;;; ;;; PC/SC Smart Card Daemon ;;; (define-record-type* pcscd-configuration make-pcscd-configuration pcscd-configuration? (pcsc-lite pcscd-configuration-pcsc-lite (default pcsc-lite)) (usb-drivers pcscd-configuration-usb-drivers (default (list ccid)))) (define pcscd-shepherd-service (match-lambda (($ pcsc-lite) (shepherd-service (documentation "PC/SC Smart Card Daemon") (provision '(pcscd)) (requirement '(syslogd)) (start #~(lambda _ (let ((socket "/run/pcscd/pcscd.comm")) (when (file-exists? socket) (delete-file socket))) (fork+exec-command (list #$(file-append pcsc-lite "/sbin/pcscd") "--foreground") #:log-file "/var/log/pcscd.log"))) (stop #~(make-kill-destructor)))))) (define pcscd-activation (match-lambda (($ pcsc-lite usb-drivers) (with-imported-modules (source-module-closure '((guix build utils))) #~(begin (use-modules (guix build utils)) (mkdir-p "/var/lib") (switch-symlinks "/var/lib/pcsc" #$(directory-union "pcsc" (map (cut file-append <> "/pcsc") usb-drivers)))))))) (define pcscd-service-type (service-type (name 'pcscd) (description "Run @command{pcscd}, the PC/SC smart card daemon.") (extensions (list (service-extension shepherd-root-service-type (compose list pcscd-shepherd-service)) (service-extension activation-service-type pcscd-activation))) (default-value (pcscd-configuration)))) 5da93721f'>gnu: python-base58: Move to pyproject-build-system....* gnu/packages/python-crypto.scm (python-base58): Move to pyproject-build-system. [build-system]: Use pyproject-build-system. [arguments]: Convert to use the modern gexp style. Change-Id: If95dbaa274b5c430441215a21168ea30808157a9 jgart 2024-07-19gnu: python-pyopenssl: Update to 24.1.0....* gnu/packages/python-crypto.scm (python-pyopenssl): Update to 24.1.0. [arguments]: Adjust custom 'check phase to disable fewer tests and update faketime. [native-inputs]: Add python-pytest-rerunfailures. Remove python-pretend. [properties]: Add package updater helpers updater-extra-inputs, updater-extra-native-inputs. Change-Id: I3a152e6c66d27c912e18e67c114672397426e6e3 Efraim Flashner 2024-07-19gnu: python-cryptography: Update to 42.0.5....* gnu/packages/python-crypto.scm (python-cryptography-vectors): Update to 42.0.5. [native-inputs]: Add python-flit-core. (python-cryptography): Update to 42.0.5. [arguments]: Adjust 'disable-rust-extension-build phase. [native-inputs]: Add python-certifi. Remove python-hypothesis, python-subtests. (python-cryptography-rust)[cargo-inputs]: Add rust-cfg-if-1, rust-self-cell-1. Replace rust-pem-1 with 3, rust-pyo3-0.18 with 0.20. Remove rust-ouroboros-0.15. Change-Id: I1d17ee8ca60eaa65a86b2f6f8054391dda4201c8 Efraim Flashner