summaryrefslogtreecommitdiff
path: root/gnu/packages/tls.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/tls.scm')
-rw-r--r--gnu/packages/tls.scm93
1 files changed, 91 insertions, 2 deletions
diff --git a/gnu/packages/tls.scm b/gnu/packages/tls.scm
index 31ce1b3910..63893c0462 100644
--- a/gnu/packages/tls.scm
+++ b/gnu/packages/tls.scm
@@ -2,7 +2,7 @@
;;; Copyright © 2012, 2013, 2014, 2015 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2014, 2015 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2014 Ian Denhardt <ian@zenhack.net>
-;;; Copyright © 2015 Andreas Enge <andreas@enge.fr>
+;;; Copyright © 2013, 2015 Andreas Enge <andreas@enge.fr>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -20,11 +20,13 @@
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (gnu packages tls)
- #:use-module ((guix licenses) #:select (lgpl2.0+ lgpl2.1+ bsd-3))
+ #:use-module ((guix licenses)
+ #:select (lgpl2.0+ lgpl2.1+ bsd-3 openssl))
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix utils)
#:use-module (guix build-system gnu)
+ #:use-module (guix build-system perl)
#:use-module (gnu packages compression)
#:use-module (gnu packages)
#:use-module (gnu packages guile)
@@ -173,3 +175,90 @@ and DTLS protocols. It is provided in the form of a C library to support the
protocols, as well as to parse and write X.5009, PKCS 12, OpenPGP and other
required structures.")
(license lgpl2.1+)))
+
+(define-public openssl
+ (package
+ (name "openssl")
+ (version "1.0.2c")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "ftp://ftp.openssl.org/source/openssl-" version
+ ".tar.gz"))
+ (sha256
+ (base32
+ "10vasdg52qiyqvgbp14n9z7ghglmhzvag9qpiz2nfqssycvvlf00"))
+ (patches (list (search-patch "openssl-runpath.patch")))))
+ (build-system gnu-build-system)
+ (native-inputs `(("perl" ,perl)))
+ (arguments
+ '(#:parallel-build? #f
+ #:parallel-tests? #f
+ #:test-target "test"
+ #:phases
+ (alist-replace
+ 'configure
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let ((out (assoc-ref outputs "out")))
+ (zero?
+ (system* "./config"
+ "shared" ; build shared libraries
+ "--libdir=lib"
+ (string-append "--prefix=" out)))))
+ (alist-cons-before
+ 'patch-source-shebangs 'patch-tests
+ (lambda* (#:key inputs native-inputs #:allow-other-keys)
+ (let ((bash (assoc-ref (or native-inputs inputs) "bash")))
+ (substitute* (find-files "test" ".*")
+ (("/bin/sh")
+ (string-append bash "/bin/bash"))
+ (("/bin/rm")
+ "rm"))))
+ %standard-phases))))
+ (native-search-paths
+ ;; FIXME: These two variables must designate a single file or directory
+ ;; and are not actually "search paths." In practice it works OK in user
+ ;; profiles because there's always just one item that matches the
+ ;; specification.
+ (list (search-path-specification
+ (variable "SSL_CERT_DIR")
+ (files '("etc/ssl/certs")))
+ (search-path-specification
+ (variable "SSL_CERT_FILE")
+ (files '("etc/ssl/certs/ca-certificates.crt")))))
+ (synopsis "SSL/TLS implementation")
+ (description
+ "OpenSSL is an implementation of SSL/TLS")
+ (license openssl)
+ (home-page "http://www.openssl.org/")))
+
+(define-public perl-net-ssleay
+ (package
+ (name "perl-net-ssleay")
+ (version "1.68")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "mirror://cpan/authors/id/M/MI/MIKEM/"
+ "Net-SSLeay-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1m2wwzhjwsg0drlhp9w12fl6bsgj69v8gdz72jqrqll3qr7f408p"))
+ (patches
+ ;; XXX Try removing this patch for perl-net-ssleay > 1.68
+ (list (search-patch "perl-net-ssleay-disable-ede-test.patch")))))
+ (build-system perl-build-system)
+ (inputs `(("openssl" ,openssl)))
+ (arguments
+ `(#:phases (alist-cons-before
+ 'configure 'set-ssl-prefix
+ (lambda* (#:key inputs #:allow-other-keys)
+ (setenv "OPENSSL_PREFIX" (assoc-ref inputs "openssl")))
+ %standard-phases)))
+ (synopsis "Perl extension for using OpenSSL")
+ (description
+ "This module offers some high level convenience functions for accessing
+web pages on SSL servers (for symmetry, the same API is offered for accessing
+http servers, too), an sslcat() function for writing your own clients, and
+finally access to the SSL api of the SSLeay/OpenSSL package so you can write
+servers or clients for more complicated applications.")
+ (license (package-license perl))
+ (home-page "http://search.cpan.org/~mikem/Net-SSLeay-1.66/")))