;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2012 Andreas Enge ;;; Copyright © 2017 Ricardo Wurmus ;;; Copyright © 2017 Eric Bavier ;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice ;;; ;;; This file is part of GNU Guix. ;;; ;;; GNU Guix is free software; you can redistribute it and/or modify it ;;; under the terms of the GNU General Public License as published by ;;; the Free Software Foundation; either version 3 of the License, or (at ;;; your option) any later version. ;;; ;;; GNU Guix is distributed in the hope that it will be useful, but ;;; WITHOUT ANY WARRANTY; without even the implied warranty of ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;;; GNU General Public License for more details. ;;; ;;; You should have received a copy of the GNU General Public License ;;; along with GNU Guix. If not, see . (define-module (gnu packages gsasl) #:use-module (gnu packages) #:use-module (gnu packages compression) #:use-module (gnu packages libidn) #:use-module (gnu packages gnupg) #:use-module (gnu packages nettle) #:use-module (gnu packages kerberos) #:use-module (gnu packages tls) #:use-module ((guix licenses) #:prefix license:) #:use-module (guix packages) #:use-module (guix download) #:use-module (guix build-system gnu)) (define-public libntlm (package (name "libntlm") (version "1.6") (source (origin (method url-fetch) (uri (string-append "https://www.nongnu.org/libntlm/releases/" "libntlm-" version ".tar.gz")) (sha256 (base32 "08b83nss16jsn213j326yhn1vnrz10k15fwq6jm5b1vdn23nndzj")))) (build-system gnu-build-system) (synopsis "Library that implements NTLM authentication") (description "Libntlm is a library that implements NTLM authentication.") (license license:lgpl2.1+) (home-page "https://www.nongnu.org/libntlm/"))) (define-public gss (package (name "gss") (version "1.0.3") (source (origin (method url-fetch) (uri (string-append "mirror://gnu/gss/gss-" version ".tar.gz")) (sha256 (base32 "1syyvh3k659xf1hdv9pilnnhbbhs6vfapayp4xgdcc8mfgf9v4gz")))) (build-system gnu-build-system) (inputs `(("nettle" ,nettle) ("shishi" ,shishi) ("zlib" ,zlib))) (synopsis "Generic Security Service library") (description "The GNU Generic Security Service provides a free implementation of the GSS-API specification. It provides a generic application programming interface for programs to access security services. Security services present a generic, GSS interface, with which the calling application interacts via this library, freeing the application developer from needing to know about the underlying security implementation.") (license license:gpl3+) (home-page "https://www.gnu.org/software/gss/"))) (define-public gsasl (package (name "gsasl") (version "1.8.1") (source (origin (method url-fetch) (uri (string-append "mirror://gnu/gsasl/gsasl-" version ".tar.gz")) (sha256 (base32 "1lnqfbaajkj1r2fx1db1qgcxy69pfgbyq7xd2kpvyxhra4m1dnjd")))) (build-system gnu-build-system) (arguments `(#:configure-flags '("--with-gssapi-impl=mit" "--disable-static"))) (inputs `(("libgcrypt" ,libgcrypt) ("libidn" ,libidn) ("libntlm" ,libntlm) ("mit-krb5" ,mit-krb5) ("zlib" ,zlib))) (propagated-inputs ;; Propagate GnuTLS because libgnutls.la reads `-lnettle', and Nettle is a ;; propagated input of GnuTLS. `(("gnutls" ,gnutls))) (synopsis "Simple Authentication and Security Layer library") (description "GNU SASL is an implementation of the Simple Authentication and Security Layer framework. On network servers such as IMAP or SMTP servers, SASL is used to handle client/server authentication. This package contains both a library and a command-line tool to access the library.") (license license:gpl3+) (home-page "https://www.gnu.org/software/gsasl/"))) > 2021-03-06tests: do not hard code HTTP ports...Previously, test cases could fail if some process was listening at a hard-coded port. This patch eliminates most of these potential failures, by automatically assigning an unbound port. This should allow for building multiple guix trees in parallel outside a build container, though this is currently untested. The test "home-page: Connection refused" in tests/lint.scm still hardcodes port 9999, however. * guix/tests/http.scm (http-server-can-listen?): remove now unused procedure. (%http-server-port): default to port 0, meaning the OS will automatically choose a port. (open-http-server-socket): remove the false statement claiming this procedure is exported and also return the allocated port number. (%local-url): raise an error if the port is obviously unbound. (call-with-http-server): set %http-server-port to the allocated port while the thunk is called. * tests/derivations.scm: adjust test cases to use automatically assign a port. As there is no risk of a port conflict now, do not make any tests conditional upon 'http-server-can-listen?' anymore. * tests/elpa.scm: likewise. * tests/lint.scm: likewise, and add a TODO comment about a port that is still hard-coded. * tests/texlive.scm: likewise. Signed-off-by: Ludovic Courtès <ludo@gnu.org> Maxime Devos