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