summaryrefslogtreecommitdiff
path: root/gnu
diff options
context:
space:
mode:
authorAndreas Enge <andreas@enge.fr>2013-01-30 21:31:50 +0100
committerAndreas Enge <andreas@enge.fr>2013-01-30 23:03:48 +0100
commitfe0b8a789a005b56f943081a7e658114a7c5bef5 (patch)
treeb05ed2897224dba2bcc78a424487a53e0eba7732 /gnu
parent5cfdcd6a26e5c84a3df8614c438d93bb424799b9 (diff)
gnu: Add openssh.
* gnu/packages/ssh.cm (openssh): New variable.
Diffstat (limited to 'gnu')
-rw-r--r--gnu/packages/ssh.scm68
1 files changed, 68 insertions, 0 deletions
diff --git a/gnu/packages/ssh.scm b/gnu/packages/ssh.scm
index 50998794f2..b42f3ff7ca 100644
--- a/gnu/packages/ssh.scm
+++ b/gnu/packages/ssh.scm
@@ -21,6 +21,8 @@
#:renamer (symbol-prefix-proc 'license:))
#:use-module (gnu packages compression)
#:use-module (gnu packages gnupg)
+ #:use-module (gnu packages groff)
+ #:use-module (gnu packages openssl)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix build-system gnu))
@@ -47,3 +49,69 @@ into an application to perform many different tasks when communicating with
a server that supports the SSH-2 protocol.")
(license license:bsd-3)
(home-page "http://www.libssh2.org/")))
+
+(define-public openssh
+ (package
+ (name "openssh")
+ (version "6.1p1")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append
+ "ftp://ftp.fr.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-"
+ version ".tar.gz"))
+ (sha256 (base32
+ "04f4l4vx6f964v5qjm03nhyixdc3llc90z6cj70r0bl5q3v5ghfi"))))
+ (build-system gnu-build-system)
+ (inputs `(("groff" ,groff)
+ ("openssl" ,openssl)
+ ("zlib" ,zlib)))
+ (arguments
+ `(#:test-target "tests"
+ #:phases
+ (alist-replace
+ 'configure
+ (lambda* (#:key outputs #:allow-other-keys #:rest args)
+ (let ((configure (assoc-ref %standard-phases 'configure))
+ (out (assoc-ref outputs "out")))
+ (apply configure args)
+ (substitute* "Makefile"
+ (("PRIVSEP_PATH=/var/empty")
+ (string-append "PRIVSEP_PATH=" out "/var/empty")))))
+ (alist-replace
+ 'check
+ (lambda* (#:key #:allow-other-keys #:rest args)
+ (let ((check (assoc-ref %standard-phases 'check)))
+ ;; remove tests that require the user sshd
+ (substitute* "regress/Makefile"
+ (("t9 t-exec") "t9"))
+ (apply check args)))
+ (alist-replace
+ 'install
+ (lambda* (#:key (make-flags '()) #:allow-other-keys)
+ ;; install without host keys and system configuration files
+ (zero? (apply system* "make" "install-nosysconf" make-flags)))
+ %standard-phases)))))
+ (synopsis "OpenSSH, a client and server for the secure shell (ssh) protocol")
+ (description
+ "The SSH2 protocol implemented in OpenSSH is standardised by the
+IETF secsh working group and is specified in several RFCs and drafts.
+It is composed of three layered components:
+
+The transport layer provides algorithm negotiation and a key exchange.
+The key exchange includes server authentication and results in a
+cryptographically secured connection: it provides integrity, confidentiality
+and optional compression.
+
+The user authentication layer uses the established connection and relies on
+the services provided by the transport layer. It provides several mechanisms
+for user authentication. These include traditional password authentication
+as well as public-key or host-based authentication mechanisms.
+
+The connection layer multiplexes many different concurrent channels over the
+authenticated connection and allows tunneling of login sessions and
+TCP-forwarding. It provides a flow control service for these channels.
+Additionally, various channel-specific options can be negotiated.")
+ (license (license:bsd-style "file://LICENSE"
+ "See LICENSE in the distribution."))
+ (home-page "http://www.openssh.org/")))
+