Merge branch 'staging' into core-updates
[jackhill/guix/guix.git] / gnu / packages / gsasl.scm
1 ;;; GNU Guix --- Functional package management for GNU
2 ;;; Copyright © 2012 Andreas Enge <andreas@enge.fr>
3 ;;; Copyright © 2017 Ricardo Wurmus <rekado@elephly.net>
4 ;;; Copyright © 2017 Eric Bavier <bavier@member.fsf.org>
5 ;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
6 ;;;
7 ;;; This file is part of GNU Guix.
8 ;;;
9 ;;; GNU Guix is free software; you can redistribute it and/or modify it
10 ;;; under the terms of the GNU General Public License as published by
11 ;;; the Free Software Foundation; either version 3 of the License, or (at
12 ;;; your option) any later version.
13 ;;;
14 ;;; GNU Guix is distributed in the hope that it will be useful, but
15 ;;; WITHOUT ANY WARRANTY; without even the implied warranty of
16 ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17 ;;; GNU General Public License for more details.
18 ;;;
19 ;;; You should have received a copy of the GNU General Public License
20 ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
21
22 (define-module (gnu packages gsasl)
23 #:use-module (gnu packages)
24 #:use-module (gnu packages compression)
25 #:use-module (gnu packages libidn)
26 #:use-module (gnu packages nettle)
27 #:use-module (gnu packages kerberos)
28 #:use-module (gnu packages tls)
29 #:use-module ((guix licenses) #:prefix license:)
30 #:use-module (guix packages)
31 #:use-module (guix download)
32 #:use-module (guix build-system gnu))
33
34 (define-public libntlm
35 (package
36 (name "libntlm")
37 (version "1.5")
38 (source (origin
39 (method url-fetch)
40 (uri (string-append "https://www.nongnu.org/libntlm/releases/"
41 "libntlm-" version ".tar.gz"))
42 (sha256
43 (base32
44 "1gcvv7f9rggpxay81qv6kw5hr6gd4qiyzkbwhzz02fx9jvv9kmsk"))))
45 (build-system gnu-build-system)
46 (synopsis "Library that implements NTLM authentication")
47 (description
48 "Libntlm is a library that implements NTLM authentication.")
49 (license license:lgpl2.1+)
50 (home-page "https://www.nongnu.org/libntlm/")))
51
52 (define-public gss
53 (package
54 (name "gss")
55 (version "1.0.3")
56 (source (origin
57 (method url-fetch)
58 (uri (string-append "mirror://gnu/gss/gss-" version
59 ".tar.gz"))
60 (sha256 (base32
61 "1syyvh3k659xf1hdv9pilnnhbbhs6vfapayp4xgdcc8mfgf9v4gz"))))
62 (build-system gnu-build-system)
63 (inputs `(("nettle" ,nettle)
64 ("shishi" ,shishi)
65 ("zlib" ,zlib)))
66 (synopsis "Generic Security Service library")
67 (description
68 "The GNU Generic Security Service provides a free implementation of the
69 GSS-API specification. It provides a generic application programming
70 interface for programs to access security services. Security services present
71 a generic, GSS interface, with which the calling application interacts via
72 this library, freeing the application developer from needing to know about
73 the underlying security implementation.")
74 (license license:gpl3+)
75 (home-page "https://www.gnu.org/software/gss/")))
76
77 (define-public gsasl
78 (package
79 (name "gsasl")
80 (version "1.8.0")
81 (source (origin
82 (method url-fetch)
83 (uri (string-append "mirror://gnu/gsasl/gsasl-" version
84 ".tar.gz"))
85 (sha256 (base32
86 "1rci64cxvcfr8xcjpqc4inpfq7aw4snnsbf5xz7d30nhvv8n40ii"))
87 (modules '((guix build utils)))
88 (snippet
89 '(begin
90 ;; The gnulib test-lock test is prone to writer starvation
91 ;; with our glibc@2.25, which prefers readers, so disable it.
92 ;; The gnulib commit b20e8afb0b2 should fix this once
93 ;; incorporated here.
94 (substitute* "tests/Makefile.in"
95 (("test-lock\\$\\(EXEEXT\\) ") ""))
96 #t))))
97 (build-system gnu-build-system)
98 (arguments
99 `(#:configure-flags '("--with-gssapi-impl=mit")))
100 (inputs `(("libidn" ,libidn)
101 ("libntlm" ,libntlm)
102 ("mit-krb5" ,mit-krb5)
103 ("zlib" ,zlib)))
104 (propagated-inputs
105 ;; Propagate GnuTLS because libgnutls.la reads `-lnettle', and Nettle is a
106 ;; propagated input of GnuTLS.
107 `(("gnutls" ,gnutls)))
108 (synopsis "Simple Authentication and Security Layer library")
109 (description
110 "GNU SASL is an implementation of the Simple Authentication and
111 Security Layer framework. On network servers such as IMAP or SMTP servers,
112 SASL is used to handle client/server authentication. This package contains
113 both a library and a command-line tool to access the library.")
114 (license license:gpl3+)
115 (home-page "https://www.gnu.org/software/gsasl/")))