gnu: oath-toolkit: Build libpskc and pskctool.
* gnu/packages/authentication.scm (oath-toolkit)[arguments]: Add "--enable-pskc" and "--with-xmlsec-crypto-engine=openssl" to #:configure-flags. [native-inputs]: Add libltdl. [inputs]: Add openssl and xmlsec-openssl. [description]: Document the two new features. Signed-off-by: Tobias Geerinckx-Rice <me@tobias.gr>
This commit is contained in:
parent
2fd903c7de
commit
37fd82177e
1 changed files with 21 additions and 10 deletions
|
@ -24,6 +24,8 @@
|
||||||
#:use-module (gnu packages linux)
|
#:use-module (gnu packages linux)
|
||||||
#:use-module (gnu packages pkg-config)
|
#:use-module (gnu packages pkg-config)
|
||||||
#:use-module (gnu packages security-token)
|
#:use-module (gnu packages security-token)
|
||||||
|
#:use-module (gnu packages tls)
|
||||||
|
#:use-module (gnu packages xml)
|
||||||
#:use-module (guix build-system gnu)
|
#:use-module (guix build-system gnu)
|
||||||
#:use-module (guix download)
|
#:use-module (guix download)
|
||||||
#:use-module (guix git-download)
|
#:use-module (guix git-download)
|
||||||
|
@ -45,7 +47,9 @@
|
||||||
(arguments
|
(arguments
|
||||||
;; TODO ‘--enable-pskc’ causes xmlsec-related test suite failures.
|
;; TODO ‘--enable-pskc’ causes xmlsec-related test suite failures.
|
||||||
`(#:configure-flags
|
`(#:configure-flags
|
||||||
(list "--enable-pam")
|
(list "--enable-pam"
|
||||||
|
"--enable-pskc"
|
||||||
|
"--with-xmlsec-crypto-engine=openssl")
|
||||||
#:phases
|
#:phases
|
||||||
(modify-phases %standard-phases
|
(modify-phases %standard-phases
|
||||||
(add-after 'install 'delete-static-libraries
|
(add-after 'install 'delete-static-libraries
|
||||||
|
@ -55,16 +59,16 @@
|
||||||
(for-each delete-file (find-files lib "\\.a$"))
|
(for-each delete-file (find-files lib "\\.a$"))
|
||||||
#t))))))
|
#t))))))
|
||||||
(native-inputs
|
(native-inputs
|
||||||
`(("pkg-config" ,pkg-config)))
|
`(("pkg-config" ,pkg-config)
|
||||||
|
|
||||||
|
;; XXX: Perhaps this should be propagated from xmlsec.
|
||||||
|
("libltdl" ,libltdl)))
|
||||||
(inputs
|
(inputs
|
||||||
`(("linux-pam" ,linux-pam))) ; for --enable-pam
|
`(("linux-pam" ,linux-pam)
|
||||||
|
("openssl" ,openssl)
|
||||||
|
("xmlsec-openssl" ,xmlsec-openssl)))
|
||||||
(home-page "https://www.nongnu.org/oath-toolkit/")
|
(home-page "https://www.nongnu.org/oath-toolkit/")
|
||||||
(synopsis "One-time password (OTP) components")
|
(synopsis "One-time password (OTP) components")
|
||||||
;; TODO Add the following items after they've been enabled.
|
|
||||||
;; @item @command{pskctool}, a command-line tool for manipulating secret key
|
|
||||||
;; files in the Portable Symmetric Key Container (@dfn{PSKC}) format
|
|
||||||
;; described in RFC6030.
|
|
||||||
;; @item @code{libpskc}, a shared and static C library for PSKC handling.
|
|
||||||
(description
|
(description
|
||||||
"The @dfn{OATH} (Open AuTHentication) Toolkit provides various components
|
"The @dfn{OATH} (Open AuTHentication) Toolkit provides various components
|
||||||
for building one-time password (@dfn{OTP}) authentication systems:
|
for building one-time password (@dfn{OTP}) authentication systems:
|
||||||
|
@ -72,11 +76,18 @@ for building one-time password (@dfn{OTP}) authentication systems:
|
||||||
@itemize
|
@itemize
|
||||||
@item @command{oathtool}, a command-line tool for generating & validating OTPs.
|
@item @command{oathtool}, a command-line tool for generating & validating OTPs.
|
||||||
@item @code{liboath}, a C library for OATH handling.
|
@item @code{liboath}, a C library for OATH handling.
|
||||||
|
@item @command{pskctool}, a command-line tool for manipulating secret key
|
||||||
|
files in the Portable Symmetric Key Container (@dfn{PSKC}) format
|
||||||
|
described in RFC6030.
|
||||||
|
@item @code{libpskc}, a shared and static C library for PSKC handling.
|
||||||
@item @code{pam_oath}, a PAM module for pluggable login authentication.
|
@item @code{pam_oath}, a PAM module for pluggable login authentication.
|
||||||
@end itemize
|
@end itemize
|
||||||
|
|
||||||
Supported technologies include the event-based @dfn{HOTP} algorithm (RFC4226)
|
Supported technologies include the event-based @acronym{HOTP, Hash-based Message
|
||||||
and the time-based @dfn{TOTP} algorithm (RFC6238).")
|
Authentication Code One-Time Password} algorithm (RFC4226), the time-based
|
||||||
|
@acronym{TOTP, Time-based One-Time Password} algorithm (RFC6238), and
|
||||||
|
@acronym{PSKC, Portable Symmetric Key Container} (RFC6030) to manage secret key
|
||||||
|
data.")
|
||||||
(license (list license:lgpl2.1+ ; the libraries (liboath/ & libpskc/)
|
(license (list license:lgpl2.1+ ; the libraries (liboath/ & libpskc/)
|
||||||
license:gpl3+)))) ; the tools (everything else)
|
license:gpl3+)))) ; the tools (everything else)
|
||||||
|
|
||||||
|
|
Reference in a new issue