You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

129 lines
4.7 KiB

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