Toggle quote (57 lines)
> * gnu/packages/perl.scm (perl-pcsc): New variable.
> ---
> gnu/packages/perl.scm | 36 ++++++++++++++++++++++++++++++++++++
> 1 file changed, 36 insertions(+)
>
> diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm
> index b6fb81e..a1a9983 100644
> --- a/gnu/packages/perl.scm
> +++ b/gnu/packages/perl.scm
> @@ -86,6 +86,7 @@ (define-module (gnu packages perl)
> #:use-module (gnu packages python)
> #:use-module (gnu packages readline)
> #:use-module (gnu packages sdl)
> + #:use-module (gnu packages security-token)
> #:use-module (gnu packages textutils)
> #:use-module (gnu packages video)
> #:use-module (gnu packages web)
> @@ -12269,6 +12270,41 @@ (define-public perl-path-iterator-rule
> arduous to type for one-liners.")
> (license license:asl2.0)))
>
> +(define-public perl-pcsc
> + (package
> + (name "perl-pcsc")
> + (version "1.4.14")
> + (source (origin
> + (method url-fetch)
> + (uri (string-append
> + "mirror://cpan/authors/id/W/WH/WHOM/pcsc-perl-" version
> + ".tar.bz2"))
> + (sha256
> + (base32
> + "17f6i16jv6ci6459vh6y3sz94vgcvykjjszcl4xsykryakjvf8i7"))))
> + (build-system perl-build-system)
> + (arguments
> + (list
> + ;; The tests for this package require access to a
> + ;; card reader with a card inserted, so they won't be
> + ;; possible to run in the build environment
> + #:tests? #f
> + #:phases #~(modify-phases %standard-phases
> + (add-after 'unpack 'patch-dlopen
> + (lambda* (#:key inputs #:allow-other-keys)
> + (substitute* "PCSCperl.h"
> + (("libpcsclite.so.1")
> + (search-input-file inputs
> + "/lib/libpcsclite.so.1"))))))))
> + (native-inputs (list pkg-config))
> + (inputs (list pcsc-lite))
> + (synopsis "Perl library for PC/SC")
> + (description
> + "This library allows communication with a smart card using PC/SC from a Perl
> +script.")
> + (home-page "https://pcsc-perl.apdu.fr/")
> + (license license:gpl2+)))
> +
I've also installed this one with the following changes:
modified gnu/packages/security-token.scm
@@ -17,6 +17,7 @@
;;; Copyright © 2022 John Kehayias <john.kehayias@protonmail.com>
;;; Copyright © 2022 Petr Hodina <phodina@protonmail.com>
;;; Copyright © 2022 Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
+;;; Copyright © 2023 Jake Leporte <jakeleporte@outlook.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -278,13 +279,12 @@ (define-public pcsc-tools
"\"/usr/local/pcsc/smartcard_list.txt\", "
"\"/usr/share/pcsc/smartcard_list.txt\", "
"\"/usr/local/share/pcsc/smartcard_list.txt\""))
- (string-append "\""
- #$output
+ (string-append "\"" #$output
"/share/pcsc/smartcard_list.txt\"")))
(substitute* "ATR_analysis.1p"
- (("^([.]IR [.]/) ,\n$" _ cwd)
+ (("^(\\.IR \\./) ,\n$" _ cwd)
(string-append cwd "\n"))
- (("^[.]I /usr/local/pcsc/\n$")
+ (("^\\.I /usr/local/pcsc/\n$")
"")
Because \\. is more widespread (conventional) than [.] in the guix code
base.
(("/usr/share/pcsc/\n$")
(string-append #$output "/share/pcsc/\n")))))
@@ -292,26 +292,22 @@ (define-public pcsc-tools
(lambda _
(for-each
(lambda (prog)
- (wrap-program (string-append #$output
- "/bin/"
- prog)
- `("PERL5LIB" =
- (,(getenv "PERL5LIB")))))
+ (wrap-program (string-append #$output "/bin/" prog)
+ `("PERL5LIB" = (,(getenv "PERL5LIB")))))
'("ATR_analysis" "gscriptor" "scriptor"))
- (wrap-program (string-append #$output
- "/bin/gscriptor")
- `("GI_TYPELIB_PATH" =
- (,(getenv "GI_TYPELIB_PATH")))))))))
+ (wrap-program (string-append #$output "/bin/gscriptor")
+ `("GI_TYPELIB_PATH" = (,(getenv "GI_TYPELIB_PATH")))))))))
Tightened the indentation a bit (I guess this was 'guix style', which
doesn't always produce perfect results).
(native-inputs (list autoconf automake libtool gnu-gettext pkg-config))
- (inputs (list bash-minimal ;for wrap-program
+ (inputs (list bash-minimal ;for wrap-program
perl
- perl-pcsc
perl-gtk3
- pcsc-lite))
- (synopsis "Tools for use with smart cards and PC/SC")
- (description
- "This package provides @code{pcsc_scan}, @code{ATR_analysis}, @code{scriptor},
-and @code{gscriptor}.")
+ pcsc-lite
+ perl-pcsc))
+ (synopsis "Smart cards and PC/SC tools")
I streamlined the synopsis a bit,
+ (description "This package provides the @command{pcsc_scan},
+@command{ATR_analysis}, @command{scriptor}, and @command{gscriptor} commands,
+which are useful tools to test a PC/SC driver, card or reader or send commands
+in a friendly environment (text or graphical user interface).")
and expounded the description, changing @code to @command.
Thank you!
--
Maxim