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