gnu: nettle: Set the RUNPATH on 'sexp-conv' and other programs.
[jackhill/guix/guix.git] / gnu / packages / lsh.scm
CommitLineData
233e7676 1;;; GNU Guix --- Functional package management for GNU
cb58dd34 2;;; Copyright © 2012, 2013, 2014 Ludovic Courtès <ludo@gnu.org>
18d50d76 3;;;
233e7676 4;;; This file is part of GNU Guix.
18d50d76 5;;;
233e7676 6;;; GNU Guix is free software; you can redistribute it and/or modify it
18d50d76
LC
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.
10;;;
233e7676 11;;; GNU Guix is distributed in the hope that it will be useful, but
18d50d76
LC
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.
15;;;
16;;; You should have received a copy of the GNU General Public License
233e7676 17;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
18d50d76 18
1ffa7090 19(define-module (gnu packages lsh)
4a44e743 20 #:use-module (guix licenses)
18d50d76
LC
21 #:use-module (guix packages)
22 #:use-module (guix download)
23 #:use-module (guix build-system gnu)
59a43334 24 #:use-module (gnu packages)
1ffa7090
LC
25 #:use-module (gnu packages m4)
26 #:use-module (gnu packages linux)
96a8259a 27 #:use-module (gnu packages nettle)
1ffa7090 28 #:use-module ((gnu packages compression)
4a44e743 29 #:renamer (symbol-prefix-proc 'guix:))
1ffa7090
LC
30 #:use-module (gnu packages multiprecision)
31 #:use-module (gnu packages readline)
32 #:use-module (gnu packages gperf)
cb58dd34 33 #:use-module (gnu packages guile))
18d50d76
LC
34
35(define-public liboop
36 (package
37 (name "liboop")
38 (version "1.0")
39 (source
40 (origin
41 (method url-fetch)
42 (uri (string-append "http://download.ofb.net/liboop/liboop-"
43 version ".tar.gz"))
44 (sha256
45 (base32
c5916538
MW
46 "0z6rlalhvfca64jpvksppc9bdhs7jwhiw4y35g5ibvh91xp3rn1l"))
47 (patches (list (search-patch "liboop-mips64-deplibs-fix.patch")))))
18d50d76 48 (build-system gnu-build-system)
82323a80
LC
49 (home-page "http://www.lysator.liu.se/liboop/")
50 (synopsis "Event loop library")
51 (description "Liboop is a low-level event loop management library for
52POSIX-based operating systems. It supports the development of modular,
53multiplexed applications which may respond to events from several sources. It
54replaces the \"select() loop\" and allows the registration of event handlers
55for file and network I/O, timers and signals. Since processes use these
56mechanisms for almost all external communication, liboop can be used as the
57basis for almost any application.")
4a44e743 58 (license lgpl2.1+)))
18d50d76
LC
59
60(define-public lsh
61 (package
62 (name "lsh")
96a8259a 63 (version "2.1")
18d50d76
LC
64 (source
65 (origin
66 (method url-fetch)
67 (uri (string-append "mirror://gnu/lsh/lsh-"
68 version ".tar.gz"))
69 (sha256
70 (base32
96a8259a 71 "1qqjy9zfzgny0rkb27c8c7dfsylvb6n0ld8h3an2r83pmaqr9gwb"))))
18d50d76 72 (build-system gnu-build-system)
cb58dd34
LC
73 (native-inputs
74 `(("m4" ,m4)
75 ("guile" ,guile-2.0)
76 ("gperf" ,gperf)
77 ("psmisc" ,psmisc))) ; for `killall'
18d50d76 78 (inputs
96a8259a
LC
79 `(("nettle" ,nettle)
80 ("linux-pam" ,linux-pam)
18d50d76
LC
81 ("readline" ,readline)
82 ("liboop" ,liboop)
4a44e743 83 ("zlib" ,guix:zlib)
cb58dd34 84 ("gmp" ,gmp)))
18d50d76 85 (arguments
96a8259a 86 '(;; Skip the `configure' test that checks whether /dev/ptmx &
18d50d76
LC
87 ;; co. work as expected, because it relies on impurities (for
88 ;; instance, /dev/pts may be unavailable in chroots.)
89 #:configure-flags '("lsh_cv_sys_unix98_ptys=yes")
90
91 ;; FIXME: Tests won't run in a chroot, presumably because
92 ;; /etc/profile is missing, and thus clients get an empty $PATH
93 ;; and nothing works.
94 #:tests? #f
95
96 #:phases
97 (alist-cons-before
98 'configure 'fix-test-suite
99 (lambda _
100 ;; Tests rely on $USER being set.
101 (setenv "USER" "guix")
102
103 (substitute* "src/testsuite/functions.sh"
104 (("localhost")
105 ;; Avoid host name lookups since they don't work in chroot
106 ;; builds.
107 "127.0.0.1")
108 (("set -e")
109 ;; Make tests more verbose.
110 "set -e\nset -x"))
111
112 (substitute* (find-files "src/testsuite" "-test$")
113 (("localhost") "127.0.0.1"))
114
115 (substitute* "src/testsuite/login-auth-test"
116 (("/bin/cat")
117 ;; Use the right path to `cat'.
7584f822 118 (which "cat"))))
18d50d76
LC
119 %standard-phases)))
120 (home-page "http://www.lysator.liu.se/~nisse/lsh/")
f50d2669 121 (synopsis "GNU implementation of the Secure Shell (ssh) protocols")
18d50d76 122 (description
79c311b8 123 "GNU lsh is a free implementation of the SSH version 2 protocol. It is
a22dc0c4
LC
124used to create a secure line of communication between two computers,
125providing shell access to the server system from the client. It provides
126both the server daemon and the client application, as well as tools for
127manipulating key files.")
4a44e743 128 (license gpl2+)))