1 ;;; GNU Guix --- Functional package management for GNU
2 ;;; Copyright © 2012, 2013 Ludovic Courtès <ludo@gnu.org>
4 ;;; This file is part of GNU Guix.
6 ;;; GNU Guix is free software; you can redistribute it and/or modify it
7 ;;; under the terms of the GNU General Public License as published by
8 ;;; the Free Software Foundation; either version 3 of the License, or (at
9 ;;; your option) any later version.
11 ;;; GNU Guix is distributed in the hope that it will be useful, but
12 ;;; WITHOUT ANY WARRANTY; without even the implied warranty of
13 ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 ;;; GNU General Public License for more details.
16 ;;; You should have received a copy of the GNU General Public License
17 ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
19 (define-module (gnu packages lsh)
20 #:use-module (guix licenses)
21 #:use-module (guix packages)
22 #:use-module (guix download)
23 #:use-module (guix build-system gnu)
25 #:use-module (gnu packages m4)
26 #:use-module (gnu packages linux)
27 #:use-module ((gnu packages compression)
28 #:renamer (symbol-prefix-proc 'guix:))
29 #:use-module (gnu packages multiprecision)
30 #:use-module (gnu packages readline)
31 #:use-module (gnu packages gperf)
32 #:use-module (gnu packages base))
41 (uri (string-append "http://download.ofb.net/liboop/liboop-"
45 "0z6rlalhvfca64jpvksppc9bdhs7jwhiw4y35g5ibvh91xp3rn1l"))))
46 (build-system gnu-build-system)
47 (home-page "http://liboop.ofb.net/")
48 (synopsis "`liboop', an event loop library")
49 (description "liboop is an event loop library.")
59 (uri (string-append "mirror://gnu/lsh/lsh-"
63 "149hf49xcj99wwvi7hcb59igq4vpyv8har1br1if3lrsw5irsjv1"))))
64 (build-system gnu-build-system)
66 `(("linux-pam" ,linux-pam)
68 ("readline" ,readline)
72 ("guile" ,guile-final)
74 ("psmisc" ,psmisc) ; for `killall'
76 ("patch/no-root-login" ,(search-patch "lsh-no-root-login.patch"))
77 ("patch/guile-compat" ,(search-patch "lsh-guile-compat.patch"))
78 ("patch/pam-service-name"
79 ,(search-patch "lsh-pam-service-name.patch"))))
81 '(#:patches (list (assoc-ref %build-inputs "patch/no-root-login")
82 (assoc-ref %build-inputs "patch/pam-service-name")
83 (assoc-ref %build-inputs "patch/guile-compat"))
85 ;; Skip the `configure' test that checks whether /dev/ptmx &
86 ;; co. work as expected, because it relies on impurities (for
87 ;; instance, /dev/pts may be unavailable in chroots.)
88 #:configure-flags '("lsh_cv_sys_unix98_ptys=yes")
90 ;; FIXME: Tests won't run in a chroot, presumably because
91 ;; /etc/profile is missing, and thus clients get an empty $PATH
97 'configure 'fix-test-suite
99 ;; Tests rely on $USER being set.
100 (setenv "USER" "guix")
102 (substitute* "src/testsuite/functions.sh"
104 ;; Avoid host name lookups since they don't work in chroot
108 ;; Make tests more verbose.
111 (substitute* (find-files "src/testsuite" "-test$")
112 (("localhost") "127.0.0.1"))
114 (substitute* "src/testsuite/login-auth-test"
116 ;; Use the right path to `cat'.
119 (home-page "http://www.lysator.liu.se/~nisse/lsh/")
121 "GNU lsh, a GPL'd implementation of the SSH protocol")
123 "lsh is a free implementation (in the GNU sense) of the ssh
124 version 2 protocol, currently being standardised by the IETF
125 SECSH working group.")