From mboxrd@z Thu Jan 1 00:00:00 1970 From: Leo Famulari Subject: [PATCH 23/23] WIP: Add lets-encrypt. Date: Tue, 24 Nov 2015 16:02:23 -0500 Message-ID: <5c3fdbee51152a492d6ffc068f74f430c2571a9c.1448398884.git.leo@famulari.name> References: Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:43651) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1a1KhU-0002Hr-U0 for guix-devel@gnu.org; Tue, 24 Nov 2015 16:00:37 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1a1KhT-0003ex-LV for guix-devel@gnu.org; Tue, 24 Nov 2015 16:00:32 -0500 Received: from out2-smtp.messagingengine.com ([66.111.4.26]:36928) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1a1KhT-0003ej-Hp for guix-devel@gnu.org; Tue, 24 Nov 2015 16:00:31 -0500 Received: from jasmine.lan (c-69-249-5-231.hsd1.pa.comcast.net [69.249.5.231]) by mail.messagingengine.com (Postfix) with ESMTPA id 4E2E96801C9 for ; Tue, 24 Nov 2015 16:00:25 -0500 (EST) In-Reply-To: In-Reply-To: References: List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org Sender: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org To: guix-devel@gnu.org * gnu/packages/tls.scm (lets-encrypt): New variable. --- gnu/packages/tls.scm | 57 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 57 insertions(+) diff --git a/gnu/packages/tls.scm b/gnu/packages/tls.scm index fd225ea..44824b5 100644 --- a/gnu/packages/tls.scm +++ b/gnu/packages/tls.scm @@ -3,6 +3,7 @@ ;;; Copyright © 2014, 2015 Mark H Weaver ;;; Copyright © 2014 Ian Denhardt ;;; Copyright © 2013, 2015 Andreas Enge +;;; Copyright © 2015 David Thompson ;;; Copyright © 2015 Leo Famulari ;;; ;;; This file is part of GNU Guix. @@ -27,14 +28,17 @@ #:use-module (guix utils) #:use-module (guix build-system gnu) #:use-module (guix build-system perl) + #:use-module (guix build-system python) #:use-module (gnu packages compression) #:use-module (gnu packages) #:use-module (gnu packages guile) #:use-module (gnu packages libffi) #:use-module (gnu packages libidn) + #:use-module (gnu packages ncurses) #:use-module (gnu packages nettle) #:use-module (gnu packages perl) #:use-module (gnu packages pkg-config) + #:use-module (gnu packages python) #:use-module (gnu packages texinfo) #:use-module (gnu packages base)) @@ -354,6 +358,59 @@ security, and applying best practice development processes.") (description "ACME protocol implementation in Python") (license license:asl2.0))) +(define-public lets-encrypt + (package + (name "lets-encrypt") + (version "0.0.0.dev20151123") + (source (origin + (method url-fetch) + (uri (string-append "https://pypi.python.org/packages/source/l/" + "letsencrypt/letsencrypt-" version ".tar.gz")) + (sha256 + (base32 + "0p7jybpaf38xdz6xja5ik34mdwhv7k8npa3s1yk2z6flz3l52p1n")))) + (build-system python-build-system) + (arguments + `(#:python ,python-2 + #:phases (modify-phases %standard-phases + (add-after + 'wrap 'wrap-programs + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (bin (string-append out "/bin/")) + (dia (assoc-ref %build-inputs "dialog")) + (diabin (string-append dia "/bin/"))) + (for-each (lambda (file) + (wrap-program file + `("PATH" ":" prefix (,diabin)))) + (find-files bin "\\.*$")) + #t)))))) + ;; TODO: Add optional inputs for testing building documentation. + (native-inputs + `(("python2-nose" ,python2-nose) + ("python2-mock" ,python2-mock))) + (inputs + `(("acme" ,acme))) + (propagated-inputs + `(("python2-zope-interface" ,python2-zope-interface) + ("python2-pythondialog" ,python2-pythondialog) + ("python2-pyrfc3339" ,python2-pyrfc3339) + ("python2-pyopenssl" ,python2-pyopenssl) + ("python2-configobj" ,python2-configobj) + ("python2-configargparse" ,python2-configargparse) + ("python2-zope-component" ,python2-zope-component) + ("python2-parsedatetime" ,python2-parsedatetime) + ("python2-six" ,python2-six) + ("python2-psutil" ,python2-psutil) + ("python2-requests" ,python2-requests) + ("python2-pytz" ,python2-pytz))) + (synopsis "Let's Encrypt client") + (description "Tool to automatically receive and install X.509 certificates +to enable TLS on servers. The client will interoperate with the Let’s Encrypt CA which +will be issuing browser-trusted certificates for free.") + (home-page "https://letsencrypt.org/") + (license license:asl2.0))) + (define-public perl-net-ssleay (package (name "perl-net-ssleay") -- 2.6.2