aboutsummaryrefslogtreecommitdiff
path: root/gnu/packages/authentication.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/authentication.scm')
-rw-r--r--gnu/packages/authentication.scm56
1 files changed, 53 insertions, 3 deletions
diff --git a/gnu/packages/authentication.scm b/gnu/packages/authentication.scm
index 68a6459828..d995ef7e85 100644
--- a/gnu/packages/authentication.scm
+++ b/gnu/packages/authentication.scm
@@ -1,5 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
+;;; Copyright © 2019 Ricardo Wurmus <rekado@elephly.net>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -18,16 +19,18 @@
(define-module (gnu packages authentication)
#:use-module (gnu packages)
+ #:use-module (gnu packages autotools)
+ #:use-module (gnu packages documentation)
#:use-module (gnu packages linux)
#:use-module (gnu packages pkg-config)
+ #:use-module (gnu packages security-token)
#:use-module (guix build-system gnu)
#:use-module (guix download)
+ #:use-module (guix git-download)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages))
(define-public oath-toolkit
- ;; If gcc@7 breaks this package before its next release, try patching it:
- ;; <https://gitlab.com/oath-toolkit/oath-toolkit/issues/2#note_52958748>.
(package
(name "oath-toolkit")
(version "2.6.2")
@@ -36,7 +39,18 @@
(method url-fetch)
(uri (string-append "https://download.savannah.nongnu.org/releases/"
name "/" name "-" version ".tar.gz"))
- (patches (search-patches "oath-toolkit-glibc-compat.patch"))
+ (patches
+ (append (search-patches "oath-toolkit-glibc-compat.patch")
+ (list (origin
+ ;; This huge commit updates gnulib for GCC 7 compatibility.
+ (method url-fetch)
+ (uri (string-append
+ "https://gitlab.com/oath-toolkit/oath-toolkit/commit/"
+ "2fffce2a471f74a585939c84cce16ef3015e5d3d.diff"))
+ (file-name "oath-toolkit-update-gnulib.patch")
+ (sha256
+ (base32
+ "088c9s4ay1b54bjqc4mwfs5l3f6357zj5vpw771zlq5g4addd4s0"))))))
(sha256
(base32 "182ah8vfbg0yhv6mh1b6ap944d0na6x7lpfkwkmzb6jl9gx4cd5h"))))
(build-system gnu-build-system)
@@ -77,3 +91,39 @@ Supported technologies include the event-based @dfn{HOTP} algorithm (RFC4226)
and the time-based @dfn{TOTP} algorithm (RFC6238).")
(license (list license:lgpl2.1+ ; the libraries (liboath/ & libpskc/)
license:gpl3+)))) ; the tools (everything else)
+
+(define-public yubico-pam
+ (let ((commit "b5bd00db81e0e0e0ecced65c684080bb56ddc35b")
+ (revision "0"))
+ (package
+ (name "yubico-pam")
+ (version (git-version "2.26" revision commit))
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/Yubico/yubico-pam.git")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "10dq8dqi3jldllj6p8r9hldx9sank9n82c44w8akxrs1vli6nj3m"))))
+ (build-system gnu-build-system)
+ (arguments
+ ;; The pam_test fails because ykclient fails to build a Curl handle.
+ '(#:make-flags '("TESTS=util_test")))
+ (inputs
+ `(("linux-pam" ,linux-pam)
+ ("libyubikey" ,libyubikey)
+ ("ykclient" ,ykclient)
+ ("yubikey-personalization" ,yubikey-personalization)))
+ (native-inputs
+ `(("autoconf" ,autoconf)
+ ("automake" ,automake)
+ ("libtool" ,libtool)
+ ("asciidoc" ,asciidoc)
+ ("pkg-config" ,pkg-config)))
+ (home-page "https://developers.yubico.com/yubico-pam")
+ (synopsis "Yubico pluggable authentication module")
+ (description "The Yubico PAM module provides an easy way to integrate the
+YubiKey into your existing user authentication infrastructure.")
+ (license license:bsd-2))))