unofficial mirror of guix-patches@gnu.org 
 help / color / mirror / code / Atom feed
From: Leo Famulari <leo@famulari.name>
To: 26818@debbugs.gnu.org
Subject: bug#26818: Certbot with Python 3
Date: Sun, 7 May 2017 14:46:10 -0400	[thread overview]
Message-ID: <20170507184610.GA27850@jasmine> (raw)


[-- Attachment #1.1: Type: text/plain, Size: 349 bytes --]

The latest release of Certbot and the acme library can use Python 3 [0].

These patches create a new python-mock@2 variable, and then upgrade
certbot and python-acme to use Python 3 by default. I did some light
testing by renewing some certificates.

[0]
https://github.com/certbot/certbot/pull/4568/commits/48b47274e7e6b11b7748b72a8e87add3f218e8b7

[-- Attachment #1.2: 0001-gnu-Add-python-mock-2.patch --]
[-- Type: text/plain, Size: 1435 bytes --]

From 89835ec0ed5d9e1b89e70ab73af4bc27be8daf94 Mon Sep 17 00:00:00 2001
From: Leo Famulari <leo@famulari.name>
Date: Sun, 7 May 2017 14:31:44 -0400
Subject: [PATCH 1/2] gnu: Add python-mock-2.

* gnu/packages/python.scm (python-mock-2): New variable.
---
 gnu/packages/python.scm | 18 ++++++++++++++++++
 1 file changed, 18 insertions(+)

diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
index 4c7aee20c..3f2a5b842 100644
--- a/gnu/packages/python.scm
+++ b/gnu/packages/python.scm
@@ -920,6 +920,24 @@ have been used.")
 (define-public python2-mock
   (package-with-python2 python-mock))
 
+;;; Some packages (notably, certbot and python-acme) rely on this newer version
+;;; of python-mock. However, a large number of packages fail to build with
+;;; mock@2, so we add a new variable for now. Also, there may be a dependency
+;;; cycle between mock and six, so we avoid creating python2-mock@2 for now.
+(define-public python-mock-2
+  (package
+    (inherit python-mock)
+    (version "2.0.0")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (pypi-uri "mock" version))
+        (sha256
+         (base32
+          "1flbpksir5sqrvq2z0dp8sl4bzbadg21sj4d42w3klpdfvgvcn5i"))))
+    (propagated-inputs
+     `(("python-pbr" ,python-pbr-minimal)
+       ,@(package-propagated-inputs python-mock)))))
 
 (define-public python-setuptools
   (package
-- 
2.12.2


[-- Attachment #1.3: 0002-gnu-certbot-Build-with-Python-3.patch --]
[-- Type: text/plain, Size: 4271 bytes --]

From 8eb108f21146ec9c02c5e276d8b7ad6a990c8cd1 Mon Sep 17 00:00:00 2001
From: Leo Famulari <leo@famulari.name>
Date: Sat, 6 May 2017 15:58:16 -0400
Subject: [PATCH 2/2] gnu: certbot: Build with Python 3.

* gnu/packages/tls.scm (certbot): Use python-3 to build.
[native-inputs, propagated-inputs]: Use Python 3 variants of dependencies. Use
python-mock-2.
---
 gnu/packages/tls.scm | 42 ++++++++++++++++++++----------------------
 1 file changed, 20 insertions(+), 22 deletions(-)

diff --git a/gnu/packages/tls.scm b/gnu/packages/tls.scm
index 1516fb852..6790e1797 100644
--- a/gnu/packages/tls.scm
+++ b/gnu/packages/tls.scm
@@ -482,7 +482,6 @@ security, and applying best practice development processes.")
        (base32
         "0hrmh28rrc0fsiw6nqfwbkwb1s4nkl54x50c0g0xlnp86752nzff"))))
     (build-system python-build-system)
-
     (arguments
      `(#:phases
        (modify-phases %standard-phases
@@ -507,7 +506,7 @@ security, and applying best practice development processes.")
                #t))))))
     ;; TODO: Add optional inputs for testing.
     (native-inputs
-     `(("python-mock" ,python-mock)
+     `(("python-mock" ,python-mock-2)
        ;; For documentation
        ("python-sphinx" ,python-sphinx)
        ("python-sphinxcontrib-programoutput" ,python-sphinxcontrib-programoutput)
@@ -543,8 +542,7 @@ security, and applying best practice development processes.")
                 "0hbp3njss01a0d3brvcfzja0w0j9plwrv6l70jsfvnhy3rrd7bcq"))))
     (build-system python-build-system)
     (arguments
-     `(#:python ,python-2
-       ,@(substitute-keyword-arguments (package-arguments python-acme)
+     `(,@(substitute-keyword-arguments (package-arguments python-acme)
            ((#:phases phases)
             `(modify-phases ,phases
               (replace 'install-documentation
@@ -559,27 +557,27 @@ security, and applying best practice development processes.")
                     #t))))))))
     ;; TODO: Add optional inputs for testing.
     (native-inputs
-     `(("python2-nose" ,python2-nose)
-       ("python2-mock" ,python2-mock)
+     `(("python-nose" ,python-nose)
+       ("python-mock" ,python-mock-2)
        ;; For documentation
-       ("python2-sphinx" ,python2-sphinx)
-       ("python2-sphinx-rtd-theme" ,python2-sphinx-rtd-theme)
-       ("python2-sphinx-repoze-autointerface" ,python2-sphinx-repoze-autointerface)
-       ("python2-sphinxcontrib-programoutput" ,python2-sphinxcontrib-programoutput)
+       ("python-sphinx" ,python-sphinx)
+       ("python-sphinx-rtd-theme" ,python-sphinx-rtd-theme)
+       ("python-sphinx-repoze-autointerface" ,python-sphinx-repoze-autointerface)
+       ("python-sphinxcontrib-programoutput" ,python-sphinxcontrib-programoutput)
        ("texinfo" ,texinfo)))
     (propagated-inputs
-     `(("python2-acme" ,python2-acme)
-       ("python2-zope-interface" ,python2-zope-interface)
-       ("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)))
+     `(("python-acme" ,python-acme)
+       ("python-zope-interface" ,python-zope-interface)
+       ("python-pyrfc3339" ,python-pyrfc3339)
+       ("python-pyopenssl" ,python-pyopenssl)
+       ("python-configobj" ,python-configobj)
+       ("python-configargparse" ,python-configargparse)
+       ("python-zope-component" ,python-zope-component)
+       ("python-parsedatetime" ,python-parsedatetime)
+       ("python-six" ,python-six)
+       ("python-psutil" ,python-psutil)
+       ("python-requests" ,python-requests)
+       ("python-pytz" ,python-pytz)))
     (synopsis "Let's Encrypt client by the Electronic Frontier Foundation")
     (description "Certbot automatically receives and installs X.509 certificates
 to enable Transport Layer Security (TLS) on servers.  It interoperates with the
-- 
2.12.2


[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

             reply	other threads:[~2017-05-07 18:47 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-05-07 18:46 Leo Famulari [this message]
2017-05-08  8:05 ` bug#26818: Certbot with Python 3 Marius Bakke
2017-05-08 18:00   ` Leo Famulari
2017-06-18 11:10 ` [bug#26818] " Ricardo Wurmus
2017-06-19 17:08   ` bug#26818: " Leo Famulari

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://guix.gnu.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20170507184610.GA27850@jasmine \
    --to=leo@famulari.name \
    --cc=26818@debbugs.gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).