gnu: qemu: Update to 2.10.2.
[jackhill/guix/guix.git] / gnu / packages / security-token.scm
CommitLineData
6036453f
LC
1;;; GNU Guix --- Functional package management for GNU
2;;; Copyright © 2014 Ludovic Courtès <ludo@gnu.org>
58c5fb76 3;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
a6b256af 4;;; Copyright © 2016 Mike Gerwitz <mtg@gnu.org>
58fdab1d 5;;; Copyright © 2016 Marius Bakke <mbakke@fastmail.com>
e84eb77a 6;;; Copyright © 2017 Thomas Danckaert <post@thomasdanckaert.be>
74a83085 7;;; Copyright © 2017 Tobias Geerinckx-Rice <me@tobias.gr>
6036453f
LC
8;;;
9;;; This file is part of GNU Guix.
10;;;
11;;; GNU Guix is free software; you can redistribute it and/or modify it
12;;; under the terms of the GNU General Public License as published by
13;;; the Free Software Foundation; either version 3 of the License, or (at
14;;; your option) any later version.
15;;;
16;;; GNU Guix is distributed in the hope that it will be useful, but
17;;; WITHOUT ANY WARRANTY; without even the implied warranty of
18;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19;;; GNU General Public License for more details.
20;;;
21;;; You should have received a copy of the GNU General Public License
22;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
23
f9c33960 24(define-module (gnu packages security-token)
6036453f 25 #:use-module (gnu packages)
07b1fb86 26 #:use-module ((guix licenses) #:prefix license:)
6036453f
LC
27 #:use-module (guix packages)
28 #:use-module (guix download)
29 #:use-module (guix build-system gnu)
e84eb77a
TD
30 #:use-module (guix build-system glib-or-gtk)
31 #:use-module (gnu packages autotools)
a6b256af 32 #:use-module (gnu packages curl)
e84eb77a
TD
33 #:use-module (gnu packages gettext)
34 #:use-module (gnu packages gtk)
58fdab1d 35 #:use-module (gnu packages libusb)
a6b256af 36 #:use-module (gnu packages linux)
6036453f 37 #:use-module (gnu packages man)
e84eb77a
TD
38 #:use-module (gnu packages networking)
39 #:use-module (gnu packages cyrus-sasl)
40 #:use-module (gnu packages tls)
a6b256af 41 #:use-module (gnu packages perl)
e84eb77a
TD
42 #:use-module (gnu packages pkg-config)
43 #:use-module (gnu packages xml))
6036453f 44
58fdab1d
MB
45(define-public ccid
46 (package
47 (name "ccid")
d636fd99 48 (version "1.4.28")
58fdab1d
MB
49 (source (origin
50 (method url-fetch)
51 (uri (string-append
d636fd99 52 "https://alioth.debian.org/frs/download.php/file/4230/"
58fdab1d
MB
53 "ccid-" version ".tar.bz2"))
54 (sha256
55 (base32
d636fd99 56 "1q5dz1l049m3hmr370adhrqicdkldrr3l98svi02p5cxbnn3cn47"))))
58fdab1d
MB
57 (build-system gnu-build-system)
58 (arguments
59 `(#:configure-flags (list (string-append "--enable-usbdropdir=" %output
60 "/pcsc/drivers"))
61 #:phases
62 (modify-phases %standard-phases
63 (add-after 'unpack 'patch-Makefile
64 (lambda _
65 (substitute* "src/Makefile.in"
66 (("/bin/echo") (which "echo")))
67 #t)))))
68 (native-inputs
69 `(("perl" ,perl)
70 ("pkg-config" ,pkg-config)))
71 (inputs
72 `(("libusb" ,libusb)
73 ("pcsc-lite" ,pcsc-lite)))
74 (home-page "https://pcsclite.alioth.debian.org/ccid.html")
75 (synopsis "PC/SC driver for USB smart card devices")
76 (description
77 "This package provides a PC/SC IFD handler implementation for devices
78compliant with the CCID and ICCD protocols. It supports a wide range of
79readers and is needed to communicate with such devices through the
80@command{pcscd} resource manager.")
81 (license license:lgpl2.1+)))
82
e84eb77a
TD
83(define-public eid-mw
84 (package
85 (name "eid-mw")
74a83085 86 (version "4.3.4")
e84eb77a
TD
87 (source (origin
88 (method url-fetch)
89 (uri (string-append
90 "https://github.com/Fedict/eid-mw/archive/v"
91 version ".tar.gz"))
92 (file-name (string-append name "-" version ".tar.gz"))
93 (sha256
94 (base32
74a83085 95 "1ay9znry9dkhhn783paqy8czvv3w5gdpmq8ag8znx9akza8c929z"))))
e84eb77a 96 (build-system glib-or-gtk-build-system)
74a83085 97 (native-inputs
e84eb77a
TD
98 `(("autoconf" ,autoconf)
99 ("automake" ,automake)
100 ("gettext" ,gnu-gettext)
101 ("libtool" ,libtool)
102 ("pkg-config" ,pkg-config)
103 ("perl" ,perl)))
104 (inputs
105 `(("curl" ,curl)
106 ("openssl" ,openssl)
107 ("gtk+" ,gtk+)
108 ("pcsc-lite" ,pcsc-lite)
109 ("p11-kit" ,p11-kit)
110 ("libproxy" ,libproxy)
111 ("libxml2" ,libxml2)
112 ("cyrus-sasl" ,cyrus-sasl)))
113 (arguments
114 `(#:phases
115 (modify-phases %standard-phases
116 ;; The github tarball doesn't contain a configure script.
117 (add-before 'configure 'autoreconf
74a83085 118 (lambda _ (zero? (system* "autoreconf" "-i")))))))
e84eb77a
TD
119 (synopsis "Belgian eID Middleware")
120 (description "The Belgian eID Middleware is required to authenticate with
121online services using the Belgian electronic identity card.")
122 (home-page "https://github.com/Fedict/eid-mw")
123 (license license:lgpl3)))
124
6036453f
LC
125(define-public libyubikey
126 (package
127 (name "libyubikey")
58c5fb76 128 (version "1.13")
6036453f
LC
129 (source (origin
130 (method url-fetch)
131 (uri (string-append
132 "https://developers.yubico.com/yubico-c/Releases/"
133 name "-" version ".tar.gz"))
134 (sha256
135 (base32
58c5fb76 136 "009l3k2zyn06dbrlja2d4p2vfnzjhlcqxi88v02mlrnb17mx1v84"))))
6036453f
LC
137 (build-system gnu-build-system)
138 (synopsis "Development kit for the YubiKey authentication device")
139 (description
140 "This package contains a C library and command-line tools that make up
141the low-level development kit for the Yubico YubiKey authentication device.")
142 (home-page "https://developers.yubico.com/yubico-c/")
07b1fb86 143 (license license:bsd-2)))
6036453f 144
a6b256af
MG
145(define-public pcsc-lite
146 (package
147 (name "pcsc-lite")
1f1b3445 148 (version "1.8.22")
a6b256af
MG
149 (source (origin
150 (method url-fetch)
151 (uri (string-append
1f1b3445 152 "https://alioth.debian.org/frs/download.php/file/4225/"
a6b256af
MG
153 "pcsc-lite-" version ".tar.bz2"))
154 (sha256
155 (base32
1f1b3445 156 "01flkdyqs7kr6c63dv2qg8dwir3v9jlr9rzlw7vafrivxmhqydba"))))
a6b256af
MG
157 (build-system gnu-build-system)
158 (arguments
159 `(#:configure-flags '("--enable-usbdropdir=/var/lib/pcsc/drivers")))
160 (native-inputs
161 `(("perl" ,perl) ; for pod2man
162 ("pkg-config" ,pkg-config)))
163 (inputs
164 `(("libudev" ,eudev)))
165 (home-page "https://pcsclite.alioth.debian.org/pcsclite.html")
166 (synopsis "Middleware to access a smart card using PC/SC")
167 (description
168 "pcsc-lite provides an interface to communicate with smartcards and
169readers using the SCard API. pcsc-lite is used to connect to the PC/SC daemon
170from a client application and provide access to the desired reader.")
171 (license (list license:bsd-3 ; pcsc-lite
172 license:expat ; src/sd-daemon.[ch]
173 license:isc ; src/strlcat.c src/strlcpy.c
174 license:gpl3+)))) ; src/spy/*
175
6036453f
LC
176(define-public ykclient
177 (package
178 (name "ykclient")
f6b1a8f7 179 (version "2.15")
6036453f
LC
180 (source (origin
181 (method url-fetch)
182 (uri (string-append
183 "https://developers.yubico.com/yubico-c-client/Releases/"
184 name "-" version ".tar.gz"))
185 (sha256
186 (base32
f6b1a8f7 187 "05jhx9waj3pl120ddnwap1v3bjrnbfhvf3lxs2xmhpcmwzpwsqgl"))))
6036453f
LC
188 (build-system gnu-build-system)
189
190 ;; There's just one test, and it requires network access to access
191 ;; yubico.com, so skip it.
192 (arguments '(#:tests? #f))
193
194 (native-inputs `(("pkg-config" ,pkg-config)
195 ("help2man" ,help2man)))
196 (inputs `(("curl" ,curl)))
197 (synopsis "C library to validate one-time-password YubiKeys")
198 (description
199 "YubiKey C Client Library (libykclient) is a C library used to validate a
200one-time-password (OTP) YubiKey against Yubico’s servers. See the Yubico
201website for more information about Yubico and the YubiKey.")
202 (home-page "https://developers.yubico.com/yubico-c-client/")
07b1fb86 203 (license license:bsd-2)))