unofficial mirror of guix-devel@gnu.org 
 help / color / mirror / code / Atom feed
* [PATCH 0/5] python2-variants
@ 2016-02-09  8:10 Leo Famulari
  2016-02-09  8:10 ` [PATCH 1/5] gnu: python-cryptography: Define 'python2-variant' Leo Famulari
                   ` (6 more replies)
  0 siblings, 7 replies; 21+ messages in thread
From: Leo Famulari @ 2016-02-09  8:10 UTC (permalink / raw)
  To: guix-devel

These patches apply the new python2-variant system introduced in
1be83341 to python2-{cryptography, jsonschema, wheel, requests}, and
then split acme into python-acme and python2-acme.

As usual, I tested the changes to acme / letsencrypt by renewing the
certificates of my webserver [0].

I'm not 100% confident in the style of these changes, or in the
selection of packages I updated, aside from this being the minimum
number of packages to update in order to split acme in two. But it seems
that it's not necessary to update the full graph of packages touched by
these changes.

Feedback?

[0]
It turns out that my server can't build python2-cryptography from
source. I guess that 1 GB RAM is not enough. So I learned how to use
`guix archive` :)

Leo Famulari (5):
  gnu: python-cryptography: Define 'python2-variant'.
  gnu: python-jsonschema: Define 'python2-variant'.
  gnu: python-wheel: Define 'python2-variant'.
  gnu: python-requests: Define 'python2-variant'.
  gnu: Split acme into python-acme and python2-acme.

 gnu/packages/python.scm | 47 +++++++++++++++++++----------------------------
 gnu/packages/tls.scm    | 34 ++++++++++++++++++----------------
 2 files changed, 37 insertions(+), 44 deletions(-)

-- 
2.6.3

^ permalink raw reply	[flat|nested] 21+ messages in thread

* [PATCH 1/5] gnu: python-cryptography: Define 'python2-variant'.
  2016-02-09  8:10 [PATCH 0/5] python2-variants Leo Famulari
@ 2016-02-09  8:10 ` Leo Famulari
  2016-02-11 19:05   ` Efraim Flashner
  2016-02-09  8:11 ` [PATCH 2/5] gnu: python-jsonschema: " Leo Famulari
                   ` (5 subsequent siblings)
  6 siblings, 1 reply; 21+ messages in thread
From: Leo Famulari @ 2016-02-09  8:10 UTC (permalink / raw)
  To: guix-devel

* gnu/packages/python.scm (python-cryptography)[properties]: New field.
(python2-cryptography): Use 'strip-python2-variant'.
---
 gnu/packages/python.scm | 20 +++++++-------------
 1 file changed, 7 insertions(+), 13 deletions(-)

diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
index 5b988c1..982de40 100644
--- a/gnu/packages/python.scm
+++ b/gnu/packages/python.scm
@@ -2334,11 +2334,8 @@ OAuth request-signing logic.")
   (let ((base (package-with-python2 python-oauthlib)))
     (package
       (inherit base)
-      (inputs
-       `(("python2-unittest2" ,python2-unittest2)
-         ("python2-cryptography" ,python2-cryptography)
-         ,@(alist-delete "python-cryptography"
-	                 (package-inputs base)))))))
+      (inputs `(("python2-unittest2" ,python2-unittest2)
+                 ,@(package-inputs base))))))
 
 (define-public python-itsdangerous
   (package
@@ -5821,10 +5818,12 @@ library” for Python.  The package includes both high level recipes, and low
 level interfaces to common cryptographic algorithms such as symmetric ciphers,
 message digests and key derivation functions.")
     ;; Distributed under either BSD-3 or ASL2.0
-    (license (list bsd-3 asl2.0))))
+    (license (list bsd-3 asl2.0))
+    (properties `((python2-variant . ,(delay python2-cryptography))))))
 
 (define-public python2-cryptography
-  (let ((crypto (package-with-python2 python-cryptography)))
+  (let ((crypto (package-with-python2
+                 (strip-python2-variant python-cryptography))))
     (package (inherit crypto)
       (propagated-inputs
        `(("python2-ipaddress" ,python2-ipaddress)
@@ -5881,12 +5880,7 @@ library.")
     (license asl2.0)))
 
 (define-public python2-pyopenssl
-  (let ((pyopenssl (package-with-python2 python-pyopenssl)))
-    (package (inherit pyopenssl)
-      (propagated-inputs
-       `(("python2-cryptography" ,python2-cryptography)
-         ,@(alist-delete "python-cryptography"
-                         (package-propagated-inputs pyopenssl)))))))
+  (package-with-python2 python-pyopenssl))
 
 (define-public python-pip
   (package
-- 
2.6.3

^ permalink raw reply related	[flat|nested] 21+ messages in thread

* [PATCH 2/5] gnu: python-jsonschema: Define 'python2-variant'.
  2016-02-09  8:10 [PATCH 0/5] python2-variants Leo Famulari
  2016-02-09  8:10 ` [PATCH 1/5] gnu: python-cryptography: Define 'python2-variant' Leo Famulari
@ 2016-02-09  8:11 ` Leo Famulari
  2016-02-10 21:21   ` Ludovic Courtès
  2016-02-11 19:10   ` Efraim Flashner
  2016-02-09  8:11 ` [PATCH 3/5] gnu: python-wheel: " Leo Famulari
                   ` (4 subsequent siblings)
  6 siblings, 2 replies; 21+ messages in thread
From: Leo Famulari @ 2016-02-09  8:11 UTC (permalink / raw)
  To: guix-devel

* gnu/packages/python.scm (python-jsonschema)[properties]: New field.
(python2-jsonschema): Use 'strip-python2-variant'.
---
 gnu/packages/python.scm | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
index 982de40..0a90e48 100644
--- a/gnu/packages/python.scm
+++ b/gnu/packages/python.scm
@@ -2242,10 +2242,12 @@ version numbers.")
     (synopsis "Implementation of JSON Schema for Python")
     (description
      "Jsonschema is an implementation of JSON Schema for Python.")
-    (license license:expat)))
+    (license license:expat)
+    (properties `((python2-variant . ,(delay python2-jsonschema))))))
 
 (define-public python2-jsonschema
-  (let ((jsonschema (package-with-python2 python-jsonschema)))
+  (let ((jsonschema (package-with-python2
+                     (strip-python2-variant python-jsonschema))))
     (package (inherit jsonschema)
       (inputs
        `(("python2-functools32" ,python2-functools32)
-- 
2.6.3

^ permalink raw reply related	[flat|nested] 21+ messages in thread

* [PATCH 3/5] gnu: python-wheel: Define 'python2-variant'.
  2016-02-09  8:10 [PATCH 0/5] python2-variants Leo Famulari
  2016-02-09  8:10 ` [PATCH 1/5] gnu: python-cryptography: Define 'python2-variant' Leo Famulari
  2016-02-09  8:11 ` [PATCH 2/5] gnu: python-jsonschema: " Leo Famulari
@ 2016-02-09  8:11 ` Leo Famulari
  2016-02-09  8:30   ` Leo Famulari
                     ` (2 more replies)
  2016-02-09  8:11 ` [PATCH 4/5] gnu: python-requests: " Leo Famulari
                   ` (3 subsequent siblings)
  6 siblings, 3 replies; 21+ messages in thread
From: Leo Famulari @ 2016-02-09  8:11 UTC (permalink / raw)
  To: guix-devel

* gnu/packages/python.scm (python-wheel)[properties]: New field.
(python2-wheel): Use 'strip-python2-variant'.
---
 gnu/packages/python.scm | 14 +++++++-------
 1 file changed, 7 insertions(+), 7 deletions(-)

diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
index 0a90e48..4d6b1f7 100644
--- a/gnu/packages/python.scm
+++ b/gnu/packages/python.scm
@@ -2141,16 +2141,16 @@ packages will be properly installed with only the @code{Unpack} step and the
 unpacked archive preserves enough information to @code{Spread} (copy data and
 scripts to their final locations) at any later time.  Wheel files can be
 installed with a newer @code{pip} or with wheel's own command line utility.")
-    (license license:expat)))
+    (license license:expat)
+    (properties `((python2-variant . ,(delay python2-wheel))))))
 
 (define-public python2-wheel
-  (let ((wheel (package-with-python2 python-wheel)))
+  (let ((wheel (package-with-python2
+                (strip-python2-variant python-wheel))))
     (package (inherit wheel)
-      (native-inputs
-       `(("python2-functools32" ,python2-functools32)
-         ("python2-jsonschema" ,python2-jsonschema)
-         ,@(alist-delete "python-jsonschema"
-                         (package-native-inputs wheel)))))))
+      (native-inputs `(("python2-functools32" ,python2-functools32)
+                        ,@(package-native-inputs wheel))))))
+
 
 (define-public python-requests
   (package
-- 
2.6.3

^ permalink raw reply related	[flat|nested] 21+ messages in thread

* [PATCH 4/5] gnu: python-requests: Define 'python2-variant'.
  2016-02-09  8:10 [PATCH 0/5] python2-variants Leo Famulari
                   ` (2 preceding siblings ...)
  2016-02-09  8:11 ` [PATCH 3/5] gnu: python-wheel: " Leo Famulari
@ 2016-02-09  8:11 ` Leo Famulari
  2016-02-09  8:29   ` Leo Famulari
                     ` (2 more replies)
  2016-02-09  8:11 ` [PATCH 5/5] gnu: Split acme into python-acme and python2-acme Leo Famulari
                   ` (2 subsequent siblings)
  6 siblings, 3 replies; 21+ messages in thread
From: Leo Famulari @ 2016-02-09  8:11 UTC (permalink / raw)
  To: guix-devel

* gnu/packages/python.scm (python-requests)[properties]: New field.
(python2-requests): Use 'strip-python2-variant'.
---
 gnu/packages/python.scm | 7 +------
 1 file changed, 1 insertion(+), 6 deletions(-)

diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
index 4d6b1f7..a107d65 100644
--- a/gnu/packages/python.scm
+++ b/gnu/packages/python.scm
@@ -2190,12 +2190,7 @@ than Python’s urllib2 library.")
                "0gdr9dxm24amxpbyqpbh3lbwxc2i42hnqv50sigx568qssv3v2ir"))))))
 
 (define-public python2-requests
-  (let ((requests (package-with-python2 python-requests)))
-    (package (inherit requests)
-      (propagated-inputs
-       `(("python2-wheel" ,python2-wheel)
-         ,@(alist-delete "python-wheel"
-                         (package-propagated-inputs requests)))))))
+  (package-with-python2 python-requests))
 
 (define-public python-vcversioner
   (package
-- 
2.6.3

^ permalink raw reply related	[flat|nested] 21+ messages in thread

* [PATCH 5/5] gnu: Split acme into python-acme and python2-acme.
  2016-02-09  8:10 [PATCH 0/5] python2-variants Leo Famulari
                   ` (3 preceding siblings ...)
  2016-02-09  8:11 ` [PATCH 4/5] gnu: python-requests: " Leo Famulari
@ 2016-02-09  8:11 ` Leo Famulari
  2016-02-10 21:24   ` Ludovic Courtès
  2016-02-10 21:21 ` [PATCH 0/5] python2-variants Ludovic Courtès
  2016-02-11 19:07 ` Efraim Flashner
  6 siblings, 1 reply; 21+ messages in thread
From: Leo Famulari @ 2016-02-09  8:11 UTC (permalink / raw)
  To: guix-devel

* gnu/packages/tls.scm (acme): Split variable into...
(python-acme, python2-acme): ...both Python variants.
(letsencrypt)[propagated-inputs]: Update user of renamed variable.
---
 gnu/packages/tls.scm | 34 ++++++++++++++++++----------------
 1 file changed, 18 insertions(+), 16 deletions(-)

diff --git a/gnu/packages/tls.scm b/gnu/packages/tls.scm
index f79db32..a7945ba 100644
--- a/gnu/packages/tls.scm
+++ b/gnu/packages/tls.scm
@@ -318,9 +318,9 @@ security, and applying best practice development processes.")
                      "file://COPYING"
                      "See COPYING in the distribution.")))))
 
-(define-public acme
+(define-public python-acme
   (package
-    (name "acme")
+    (name "python-acme")
     (version "0.3.0")
     (source (origin
       (method url-fetch)
@@ -330,8 +330,7 @@ security, and applying best practice development processes.")
          "1x6fd3cw9pq45k71rgmxi91hmdmnbf1xxvlfwv31fmzs5255dlbw"))))
     (build-system python-build-system)
     (arguments
-     `(#:python ,python-2
-       #:phases
+     `(#:phases
        (modify-phases %standard-phases
          (add-before 'install 'disable-egg-compression
            (lambda _
@@ -344,23 +343,26 @@ security, and applying best practice development processes.")
                #t))))))
     ;; TODO: Add optional inputs for testing and building documentation.
     (native-inputs
-     `(("python2-mock" ,python2-mock)
-       ("python2-setuptools" ,python2-setuptools)))
+     `(("python-mock" ,python-mock)
+       ("python-setuptools" ,python-setuptools)))
     (propagated-inputs
-     `(("python2-ndg-httpsclient" ,python2-ndg-httpsclient)
-       ("python2-werkzeug" ,python2-werkzeug)
-       ("python2-six" ,python2-six)
-       ("python2-requests" ,python2-requests)
-       ("python2-pytz" ,python2-pytz)
-       ("python2-pyrfc3339" ,python2-pyrfc3339)
-       ("python2-pyasn1" ,python2-pyasn1)
-       ("python2-cryptography" ,python2-cryptography)
-       ("python2-pyopenssl" ,python2-pyopenssl)))
+     `(("python-ndg-httpsclient" ,python-ndg-httpsclient)
+       ("python-werkzeug" ,python-werkzeug)
+       ("python-six" ,python-six)
+       ("python-requests" ,python-requests)
+       ("python-pytz" ,python-pytz)
+       ("python-pyrfc3339" ,python-pyrfc3339)
+       ("python-pyasn1" ,python-pyasn1)
+       ("python-cryptography" ,python-cryptography)
+       ("python-pyopenssl" ,python-pyopenssl)))
     (home-page "https://github.com/letsencrypt/letsencrypt")
     (synopsis "ACME protocol implementation in Python")
     (description "ACME protocol implementation in Python")
     (license license:asl2.0)))
 
+(define-public python2-acme
+  (package-with-python2 python-acme))
+
 (define-public letsencrypt
   (package
     (name "letsencrypt")
@@ -379,7 +381,7 @@ security, and applying best practice development processes.")
      `(("python2-nose" ,python2-nose)
        ("python2-mock" ,python2-mock)))
     (propagated-inputs
-     `(("acme" ,acme)
+     `(("python2-acme" ,python2-acme)
        ("python2-zope-interface" ,python2-zope-interface)
        ("python2-pythondialog" ,python2-pythondialog)
        ("python2-pyrfc3339" ,python2-pyrfc3339)
-- 
2.6.3

^ permalink raw reply related	[flat|nested] 21+ messages in thread

* Re: [PATCH 4/5] gnu: python-requests: Define 'python2-variant'.
  2016-02-09  8:11 ` [PATCH 4/5] gnu: python-requests: " Leo Famulari
@ 2016-02-09  8:29   ` Leo Famulari
  2016-02-10 21:23   ` Ludovic Courtès
  2016-02-11 19:14   ` Efraim Flashner
  2 siblings, 0 replies; 21+ messages in thread
From: Leo Famulari @ 2016-02-09  8:29 UTC (permalink / raw)
  To: guix-devel

On Tue, Feb 09, 2016 at 03:11:02AM -0500, Leo Famulari wrote:
> * gnu/packages/python.scm (python-requests)[properties]: New field.
> (python2-requests): Use 'strip-python2-variant'.

I see that this commit message is wrong. I mindlessly repeated previous
one.

> ---
>  gnu/packages/python.scm | 7 +------
>  1 file changed, 1 insertion(+), 6 deletions(-)
> 
> diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
> index 4d6b1f7..a107d65 100644
> --- a/gnu/packages/python.scm
> +++ b/gnu/packages/python.scm
> @@ -2190,12 +2190,7 @@ than Python’s urllib2 library.")
>                 "0gdr9dxm24amxpbyqpbh3lbwxc2i42hnqv50sigx568qssv3v2ir"))))))
>  
>  (define-public python2-requests
> -  (let ((requests (package-with-python2 python-requests)))
> -    (package (inherit requests)
> -      (propagated-inputs
> -       `(("python2-wheel" ,python2-wheel)
> -         ,@(alist-delete "python-wheel"
> -                         (package-propagated-inputs requests)))))))
> +  (package-with-python2 python-requests))
>  
>  (define-public python-vcversioner
>    (package
> -- 
> 2.6.3
> 
> 

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [PATCH 3/5] gnu: python-wheel: Define 'python2-variant'.
  2016-02-09  8:11 ` [PATCH 3/5] gnu: python-wheel: " Leo Famulari
@ 2016-02-09  8:30   ` Leo Famulari
  2016-02-10 21:22   ` Ludovic Courtès
  2016-02-11 19:13   ` Efraim Flashner
  2 siblings, 0 replies; 21+ messages in thread
From: Leo Famulari @ 2016-02-09  8:30 UTC (permalink / raw)
  To: guix-devel

On Tue, Feb 09, 2016 at 03:11:01AM -0500, Leo Famulari wrote:
> * gnu/packages/python.scm (python-wheel)[properties]: New field.
> (python2-wheel): Use 'strip-python2-variant'.

And this commit message doesn't mention the removal of the special
treatment of python-jsonschema.

> ---
>  gnu/packages/python.scm | 14 +++++++-------
>  1 file changed, 7 insertions(+), 7 deletions(-)
> 
> diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
> index 0a90e48..4d6b1f7 100644
> --- a/gnu/packages/python.scm
> +++ b/gnu/packages/python.scm
> @@ -2141,16 +2141,16 @@ packages will be properly installed with only the @code{Unpack} step and the
>  unpacked archive preserves enough information to @code{Spread} (copy data and
>  scripts to their final locations) at any later time.  Wheel files can be
>  installed with a newer @code{pip} or with wheel's own command line utility.")
> -    (license license:expat)))
> +    (license license:expat)
> +    (properties `((python2-variant . ,(delay python2-wheel))))))
>  
>  (define-public python2-wheel
> -  (let ((wheel (package-with-python2 python-wheel)))
> +  (let ((wheel (package-with-python2
> +                (strip-python2-variant python-wheel))))
>      (package (inherit wheel)
> -      (native-inputs
> -       `(("python2-functools32" ,python2-functools32)
> -         ("python2-jsonschema" ,python2-jsonschema)
> -         ,@(alist-delete "python-jsonschema"
> -                         (package-native-inputs wheel)))))))
> +      (native-inputs `(("python2-functools32" ,python2-functools32)
> +                        ,@(package-native-inputs wheel))))))
> +
>  
>  (define-public python-requests
>    (package
> -- 
> 2.6.3
> 
> 

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [PATCH 0/5] python2-variants
  2016-02-09  8:10 [PATCH 0/5] python2-variants Leo Famulari
                   ` (4 preceding siblings ...)
  2016-02-09  8:11 ` [PATCH 5/5] gnu: Split acme into python-acme and python2-acme Leo Famulari
@ 2016-02-10 21:21 ` Ludovic Courtès
  2016-02-12 23:56   ` Leo Famulari
  2016-02-11 19:07 ` Efraim Flashner
  6 siblings, 1 reply; 21+ messages in thread
From: Ludovic Courtès @ 2016-02-10 21:21 UTC (permalink / raw)
  To: Leo Famulari; +Cc: guix-devel

Leo Famulari <leo@famulari.name> skribis:

> These patches apply the new python2-variant system introduced in
> 1be83341 to python2-{cryptography, jsonschema, wheel, requests}, and
> then split acme into python-acme and python2-acme.

Neat!  Let’s see how many lines of code that saves us.  :-)

> As usual, I tested the changes to acme / letsencrypt by renewing the
> certificates of my webserver [0].

OK.  I’m reviewing this series mostly superficially under the assumption
that you’ve checked that things still build.

> * gnu/packages/python.scm (python-cryptography)[properties]: New field.
> (python2-cryptography): Use 'strip-python2-variant'.

OK!

Ludo’.

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [PATCH 2/5] gnu: python-jsonschema: Define 'python2-variant'.
  2016-02-09  8:11 ` [PATCH 2/5] gnu: python-jsonschema: " Leo Famulari
@ 2016-02-10 21:21   ` Ludovic Courtès
  2016-02-11 19:10   ` Efraim Flashner
  1 sibling, 0 replies; 21+ messages in thread
From: Ludovic Courtès @ 2016-02-10 21:21 UTC (permalink / raw)
  To: Leo Famulari; +Cc: guix-devel

Leo Famulari <leo@famulari.name> skribis:

> * gnu/packages/python.scm (python-jsonschema)[properties]: New field.
> (python2-jsonschema): Use 'strip-python2-variant'.

OK

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [PATCH 3/5] gnu: python-wheel: Define 'python2-variant'.
  2016-02-09  8:11 ` [PATCH 3/5] gnu: python-wheel: " Leo Famulari
  2016-02-09  8:30   ` Leo Famulari
@ 2016-02-10 21:22   ` Ludovic Courtès
  2016-02-11 19:13   ` Efraim Flashner
  2 siblings, 0 replies; 21+ messages in thread
From: Ludovic Courtès @ 2016-02-10 21:22 UTC (permalink / raw)
  To: Leo Famulari; +Cc: guix-devel

Leo Famulari <leo@famulari.name> skribis:

> * gnu/packages/python.scm (python-wheel)[properties]: New field.
> (python2-wheel): Use 'strip-python2-variant'.

OK (with the adjusted commit message as you note.)

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [PATCH 4/5] gnu: python-requests: Define 'python2-variant'.
  2016-02-09  8:11 ` [PATCH 4/5] gnu: python-requests: " Leo Famulari
  2016-02-09  8:29   ` Leo Famulari
@ 2016-02-10 21:23   ` Ludovic Courtès
  2016-02-11 19:14   ` Efraim Flashner
  2 siblings, 0 replies; 21+ messages in thread
From: Ludovic Courtès @ 2016-02-10 21:23 UTC (permalink / raw)
  To: Leo Famulari; +Cc: guix-devel

Leo Famulari <leo@famulari.name> skribis:

> * gnu/packages/python.scm (python-requests)[properties]: New field.
> (python2-requests): Use 'strip-python2-variant'.

OK with a fixed commit message.

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [PATCH 5/5] gnu: Split acme into python-acme and python2-acme.
  2016-02-09  8:11 ` [PATCH 5/5] gnu: Split acme into python-acme and python2-acme Leo Famulari
@ 2016-02-10 21:24   ` Ludovic Courtès
  0 siblings, 0 replies; 21+ messages in thread
From: Ludovic Courtès @ 2016-02-10 21:24 UTC (permalink / raw)
  To: Leo Famulari; +Cc: guix-devel

Leo Famulari <leo@famulari.name> skribis:

> * gnu/packages/tls.scm (acme): Split variable into...
> (python-acme, python2-acme): ...both Python variants.
> (letsencrypt)[propagated-inputs]: Update user of renamed variable.

LGTM.  Thanks!

Ludo'.

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [PATCH 1/5] gnu: python-cryptography: Define 'python2-variant'.
  2016-02-09  8:10 ` [PATCH 1/5] gnu: python-cryptography: Define 'python2-variant' Leo Famulari
@ 2016-02-11 19:05   ` Efraim Flashner
  0 siblings, 0 replies; 21+ messages in thread
From: Efraim Flashner @ 2016-02-11 19:05 UTC (permalink / raw)
  To: Leo Famulari; +Cc: guix-devel

[-- Attachment #1: Type: text/plain, Size: 2597 bytes --]

On Tue,  9 Feb 2016 03:10:59 -0500
Leo Famulari <leo@famulari.name> wrote:

> * gnu/packages/python.scm (python-cryptography)[properties]: New field.
> (python2-cryptography): Use 'strip-python2-variant'.
> ---
>  gnu/packages/python.scm | 20 +++++++-------------
>  1 file changed, 7 insertions(+), 13 deletions(-)
> 
> diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
> index 5b988c1..982de40 100644
> --- a/gnu/packages/python.scm
> +++ b/gnu/packages/python.scm
> @@ -2334,11 +2334,8 @@ OAuth request-signing logic.")
>    (let ((base (package-with-python2 python-oauthlib)))
>      (package
>        (inherit base)
> -      (inputs
> -       `(("python2-unittest2" ,python2-unittest2)
> -         ("python2-cryptography" ,python2-cryptography)
> -         ,@(alist-delete "python-cryptography"
> -	                 (package-inputs base)))))))
> +      (inputs `(("python2-unittest2" ,python2-unittest2)
> +                 ,@(package-inputs base))))))
>  
>  (define-public python-itsdangerous
>    (package
> @@ -5821,10 +5818,12 @@ library” for Python.  The package includes both high level recipes, and low
>  level interfaces to common cryptographic algorithms such as symmetric ciphers,
>  message digests and key derivation functions.")
>      ;; Distributed under either BSD-3 or ASL2.0
> -    (license (list bsd-3 asl2.0))))
> +    (license (list bsd-3 asl2.0))
> +    (properties `((python2-variant . ,(delay python2-cryptography))))))
>  
>  (define-public python2-cryptography
> -  (let ((crypto (package-with-python2 python-cryptography)))
> +  (let ((crypto (package-with-python2
> +                 (strip-python2-variant python-cryptography))))
>      (package (inherit crypto)
>        (propagated-inputs
>         `(("python2-ipaddress" ,python2-ipaddress)
> @@ -5881,12 +5880,7 @@ library.")
>      (license asl2.0)))
>  
>  (define-public python2-pyopenssl
> -  (let ((pyopenssl (package-with-python2 python-pyopenssl)))
> -    (package (inherit pyopenssl)
> -      (propagated-inputs
> -       `(("python2-cryptography" ,python2-cryptography)
> -         ,@(alist-delete "python-cryptography"
> -                         (package-propagated-inputs pyopenssl)))))))
> +  (package-with-python2 python-pyopenssl))
>  
>  (define-public python-pip
>    (package

This one looks good to me

-- 
Efraim Flashner   <efraim@flashner.co.il>   אפרים פלשנר
GPG key = A28B F40C 3E55 1372 662D  14F7 41AA E7DC CA3D 8351
Confidentiality cannot be guaranteed on emails sent or received unencrypted

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 819 bytes --]

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [PATCH 0/5] python2-variants
  2016-02-09  8:10 [PATCH 0/5] python2-variants Leo Famulari
                   ` (5 preceding siblings ...)
  2016-02-10 21:21 ` [PATCH 0/5] python2-variants Ludovic Courtès
@ 2016-02-11 19:07 ` Efraim Flashner
  2016-02-12  2:34   ` Leo Famulari
  6 siblings, 1 reply; 21+ messages in thread
From: Efraim Flashner @ 2016-02-11 19:07 UTC (permalink / raw)
  To: Leo Famulari; +Cc: guix-devel

[-- Attachment #1: Type: text/plain, Size: 1709 bytes --]

On Tue,  9 Feb 2016 03:10:58 -0500
Leo Famulari <leo@famulari.name> wrote:

> These patches apply the new python2-variant system introduced in
> 1be83341 to python2-{cryptography, jsonschema, wheel, requests}, and
> then split acme into python-acme and python2-acme.
> 
> As usual, I tested the changes to acme / letsencrypt by renewing the
> certificates of my webserver [0].
> 
> I'm not 100% confident in the style of these changes, or in the
> selection of packages I updated, aside from this being the minimum
> number of packages to update in order to split acme in two. But it seems
> that it's not necessary to update the full graph of packages touched by
> these changes.
> 
> Feedback?
> 
> [0]
> It turns out that my server can't build python2-cryptography from
> source. I guess that 1 GB RAM is not enough. So I learned how to use
> `guix archive` :)

I've never had to use guix archive. Is it something where having more swap
would've helped?

> 
> Leo Famulari (5):
>   gnu: python-cryptography: Define 'python2-variant'.
>   gnu: python-jsonschema: Define 'python2-variant'.
>   gnu: python-wheel: Define 'python2-variant'.
>   gnu: python-requests: Define 'python2-variant'.
>   gnu: Split acme into python-acme and python2-acme.
> 
>  gnu/packages/python.scm | 47 +++++++++++++++++++----------------------------
>  gnu/packages/tls.scm    | 34 ++++++++++++++++++----------------
>  2 files changed, 37 insertions(+), 44 deletions(-)
> 



-- 
Efraim Flashner   <efraim@flashner.co.il>   אפרים פלשנר
GPG key = A28B F40C 3E55 1372 662D  14F7 41AA E7DC CA3D 8351
Confidentiality cannot be guaranteed on emails sent or received unencrypted

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 819 bytes --]

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [PATCH 2/5] gnu: python-jsonschema: Define 'python2-variant'.
  2016-02-09  8:11 ` [PATCH 2/5] gnu: python-jsonschema: " Leo Famulari
  2016-02-10 21:21   ` Ludovic Courtès
@ 2016-02-11 19:10   ` Efraim Flashner
  1 sibling, 0 replies; 21+ messages in thread
From: Efraim Flashner @ 2016-02-11 19:10 UTC (permalink / raw)
  To: Leo Famulari; +Cc: guix-devel

[-- Attachment #1: Type: text/plain, Size: 1496 bytes --]

On Tue,  9 Feb 2016 03:11:00 -0500
Leo Famulari <leo@famulari.name> wrote:

> * gnu/packages/python.scm (python-jsonschema)[properties]: New field.
> (python2-jsonschema): Use 'strip-python2-variant'.
> ---
>  gnu/packages/python.scm | 6 ++++--
>  1 file changed, 4 insertions(+), 2 deletions(-)
> 
> diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
> index 982de40..0a90e48 100644
> --- a/gnu/packages/python.scm
> +++ b/gnu/packages/python.scm
> @@ -2242,10 +2242,12 @@ version numbers.")
>      (synopsis "Implementation of JSON Schema for Python")
>      (description
>       "Jsonschema is an implementation of JSON Schema for Python.")
> -    (license license:expat)))
> +    (license license:expat)
> +    (properties `((python2-variant . ,(delay python2-jsonschema))))))
>  
>  (define-public python2-jsonschema
> -  (let ((jsonschema (package-with-python2 python-jsonschema)))
> +  (let ((jsonschema (package-with-python2
> +                     (strip-python2-variant python-jsonschema))))
>      (package (inherit jsonschema)
>        (inputs
>         `(("python2-functools32" ,python2-functools32)

I believe in python2-tempest-lib in openstack.scm and in python2-wheel you
can delete the python2-jsonschema specified there.

-- 
Efraim Flashner   <efraim@flashner.co.il>   אפרים פלשנר
GPG key = A28B F40C 3E55 1372 662D  14F7 41AA E7DC CA3D 8351
Confidentiality cannot be guaranteed on emails sent or received unencrypted

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 819 bytes --]

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [PATCH 3/5] gnu: python-wheel: Define 'python2-variant'.
  2016-02-09  8:11 ` [PATCH 3/5] gnu: python-wheel: " Leo Famulari
  2016-02-09  8:30   ` Leo Famulari
  2016-02-10 21:22   ` Ludovic Courtès
@ 2016-02-11 19:13   ` Efraim Flashner
  2 siblings, 0 replies; 21+ messages in thread
From: Efraim Flashner @ 2016-02-11 19:13 UTC (permalink / raw)
  To: Leo Famulari; +Cc: guix-devel

[-- Attachment #1: Type: text/plain, Size: 2001 bytes --]

On Tue,  9 Feb 2016 03:11:01 -0500
Leo Famulari <leo@famulari.name> wrote:

> * gnu/packages/python.scm (python-wheel)[properties]: New field.
> (python2-wheel): Use 'strip-python2-variant'.
> ---
>  gnu/packages/python.scm | 14 +++++++-------
>  1 file changed, 7 insertions(+), 7 deletions(-)
> 
> diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
> index 0a90e48..4d6b1f7 100644
> --- a/gnu/packages/python.scm
> +++ b/gnu/packages/python.scm
> @@ -2141,16 +2141,16 @@ packages will be properly installed with only the @code{Unpack} step and the
>  unpacked archive preserves enough information to @code{Spread} (copy data and
>  scripts to their final locations) at any later time.  Wheel files can be
>  installed with a newer @code{pip} or with wheel's own command line utility.")
> -    (license license:expat)))
> +    (license license:expat)
> +    (properties `((python2-variant . ,(delay python2-wheel))))))
>  
>  (define-public python2-wheel
> -  (let ((wheel (package-with-python2 python-wheel)))
> +  (let ((wheel (package-with-python2
> +                (strip-python2-variant python-wheel))))
>      (package (inherit wheel)
> -      (native-inputs
> -       `(("python2-functools32" ,python2-functools32)
> -         ("python2-jsonschema" ,python2-jsonschema)
> -         ,@(alist-delete "python-jsonschema"
> -                         (package-native-inputs wheel)))))))
> +      (native-inputs `(("python2-functools32" ,python2-functools32)
> +                        ,@(package-native-inputs wheel))))))
> +
>  
>  (define-public python-requests
>    (package

You can delete the python2-wheel specified in python2-requests, which means
you can follow python2-requests around and delete those ones specified also.

-- 
Efraim Flashner   <efraim@flashner.co.il>   אפרים פלשנר
GPG key = A28B F40C 3E55 1372 662D  14F7 41AA E7DC CA3D 8351
Confidentiality cannot be guaranteed on emails sent or received unencrypted

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 819 bytes --]

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [PATCH 4/5] gnu: python-requests: Define 'python2-variant'.
  2016-02-09  8:11 ` [PATCH 4/5] gnu: python-requests: " Leo Famulari
  2016-02-09  8:29   ` Leo Famulari
  2016-02-10 21:23   ` Ludovic Courtès
@ 2016-02-11 19:14   ` Efraim Flashner
  2 siblings, 0 replies; 21+ messages in thread
From: Efraim Flashner @ 2016-02-11 19:14 UTC (permalink / raw)
  To: Leo Famulari; +Cc: guix-devel

[-- Attachment #1: Type: text/plain, Size: 1372 bytes --]

On Tue,  9 Feb 2016 03:11:02 -0500
Leo Famulari <leo@famulari.name> wrote:

> * gnu/packages/python.scm (python-requests)[properties]: New field.
> (python2-requests): Use 'strip-python2-variant'.
> ---
>  gnu/packages/python.scm | 7 +------
>  1 file changed, 1 insertion(+), 6 deletions(-)
> 
> diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
> index 4d6b1f7..a107d65 100644
> --- a/gnu/packages/python.scm
> +++ b/gnu/packages/python.scm
> @@ -2190,12 +2190,7 @@ than Python’s urllib2 library.")
>                 "0gdr9dxm24amxpbyqpbh3lbwxc2i42hnqv50sigx568qssv3v2ir"))))))
>  
>  (define-public python2-requests
> -  (let ((requests (package-with-python2 python-requests)))
> -    (package (inherit requests)
> -      (propagated-inputs
> -       `(("python2-wheel" ,python2-wheel)
> -         ,@(alist-delete "python-wheel"
> -                         (package-propagated-inputs requests)))))))
> +  (package-with-python2 python-requests))
>  
>  (define-public python-vcversioner
>    (package

As I understand it, with my suggestion to the previous commit, this one gets
folded into the previous commit.

-- 
Efraim Flashner   <efraim@flashner.co.il>   אפרים פלשנר
GPG key = A28B F40C 3E55 1372 662D  14F7 41AA E7DC CA3D 8351
Confidentiality cannot be guaranteed on emails sent or received unencrypted

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 819 bytes --]

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [PATCH 0/5] python2-variants
  2016-02-11 19:07 ` Efraim Flashner
@ 2016-02-12  2:34   ` Leo Famulari
  0 siblings, 0 replies; 21+ messages in thread
From: Leo Famulari @ 2016-02-12  2:34 UTC (permalink / raw)
  To: Efraim Flashner; +Cc: guix-devel

On Thu, Feb 11, 2016 at 09:07:42PM +0200, Efraim Flashner wrote:
> On Tue,  9 Feb 2016 03:10:58 -0500
> Leo Famulari <leo@famulari.name> wrote:
> 
> > These patches apply the new python2-variant system introduced in
> > 1be83341 to python2-{cryptography, jsonschema, wheel, requests}, and
> > then split acme into python-acme and python2-acme.
> > 
> > As usual, I tested the changes to acme / letsencrypt by renewing the
> > certificates of my webserver [0].
> > 
> > I'm not 100% confident in the style of these changes, or in the
> > selection of packages I updated, aside from this being the minimum
> > number of packages to update in order to split acme in two. But it seems
> > that it's not necessary to update the full graph of packages touched by
> > these changes.
> > 
> > Feedback?
> > 
> > [0]
> > It turns out that my server can't build python2-cryptography from
> > source. I guess that 1 GB RAM is not enough. So I learned how to use
> > `guix archive` :)
> 
> I've never had to use guix archive. Is it something where having more swap
> would've helped?

I built python2-cryptography on my workstation and then used `guix
archive` to transfer the result to the tiny server. It was very easy to
follow the instructions :)

> 
> > 
> > Leo Famulari (5):
> >   gnu: python-cryptography: Define 'python2-variant'.
> >   gnu: python-jsonschema: Define 'python2-variant'.
> >   gnu: python-wheel: Define 'python2-variant'.
> >   gnu: python-requests: Define 'python2-variant'.
> >   gnu: Split acme into python-acme and python2-acme.
> > 
> >  gnu/packages/python.scm | 47 +++++++++++++++++++----------------------------
> >  gnu/packages/tls.scm    | 34 ++++++++++++++++++----------------
> >  2 files changed, 37 insertions(+), 44 deletions(-)
> > 
> 
> 
> 
> -- 
> Efraim Flashner   <efraim@flashner.co.il>   אפרים פלשנר
> GPG key = A28B F40C 3E55 1372 662D  14F7 41AA E7DC CA3D 8351
> Confidentiality cannot be guaranteed on emails sent or received unencrypted

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [PATCH 0/5] python2-variants
  2016-02-10 21:21 ` [PATCH 0/5] python2-variants Ludovic Courtès
@ 2016-02-12 23:56   ` Leo Famulari
  2016-02-13 21:26     ` Efraim Flashner
  0 siblings, 1 reply; 21+ messages in thread
From: Leo Famulari @ 2016-02-12 23:56 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: guix-devel

On Wed, Feb 10, 2016 at 10:21:17PM +0100, Ludovic Courtès wrote:
> Leo Famulari <leo@famulari.name> skribis:
> 
> > These patches apply the new python2-variant system introduced in
> > 1be83341 to python2-{cryptography, jsonschema, wheel, requests}, and
> > then split acme into python-acme and python2-acme.
> 
> Neat!  Let’s see how many lines of code that saves us.  :-)

If we must measure something, that's a good metric ;)

> > As usual, I tested the changes to acme / letsencrypt by renewing the
> > certificates of my webserver [0].
> 
> OK.  I’m reviewing this series mostly superficially under the assumption
> that you’ve checked that things still build.

This exercise has made me wish I had a continuous integration system to
test the changes. Is it very difficult to set up a Hydra instance?

Thanks to Ludo and Efraim for reviewing this accidentally sloppy patch
series (I guess I was more tired than I realized!).

I took Efraim's suggestions to propagate the "simplifications" up the
graph of problematic python-2 variants, and I folded these commits into
the commit that fixed the package root of the problem of that part of
the graph, as in 57b7b8cd60. These are the "Take the result of
'package-with-python2' directly' log lines.

There were a few cases where I did not propagate the simplification
because the package in question would still be using the "old" system
afterwards [0]. Those packages still work as before [1].

I removed the changes to python2-oauthlib. There were unnecessary for
this patch set and will require the conversion of python2-unittest2.

[0] There are some of these in openstack.scm.

[1] python2-tempest-lib continues to fail to build from source, as
before.

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [PATCH 0/5] python2-variants
  2016-02-12 23:56   ` Leo Famulari
@ 2016-02-13 21:26     ` Efraim Flashner
  0 siblings, 0 replies; 21+ messages in thread
From: Efraim Flashner @ 2016-02-13 21:26 UTC (permalink / raw)
  To: Leo Famulari; +Cc: guix-devel

[-- Attachment #1: Type: text/plain, Size: 434 bytes --]

On Fri, 12 Feb 2016 18:56:25 -0500
Leo Famulari <leo@famulari.name> wrote:

> 
> [1] python2-tempest-lib continues to fail to build from source, as
> before.
> 

I was hoping that this would magically fix it. :)

-- 
Efraim Flashner   <efraim@flashner.co.il>   אפרים פלשנר
GPG key = A28B F40C 3E55 1372 662D  14F7 41AA E7DC CA3D 8351
Confidentiality cannot be guaranteed on emails sent or received unencrypted

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 819 bytes --]

^ permalink raw reply	[flat|nested] 21+ messages in thread

end of thread, other threads:[~2016-02-13 21:26 UTC | newest]

Thread overview: 21+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-02-09  8:10 [PATCH 0/5] python2-variants Leo Famulari
2016-02-09  8:10 ` [PATCH 1/5] gnu: python-cryptography: Define 'python2-variant' Leo Famulari
2016-02-11 19:05   ` Efraim Flashner
2016-02-09  8:11 ` [PATCH 2/5] gnu: python-jsonschema: " Leo Famulari
2016-02-10 21:21   ` Ludovic Courtès
2016-02-11 19:10   ` Efraim Flashner
2016-02-09  8:11 ` [PATCH 3/5] gnu: python-wheel: " Leo Famulari
2016-02-09  8:30   ` Leo Famulari
2016-02-10 21:22   ` Ludovic Courtès
2016-02-11 19:13   ` Efraim Flashner
2016-02-09  8:11 ` [PATCH 4/5] gnu: python-requests: " Leo Famulari
2016-02-09  8:29   ` Leo Famulari
2016-02-10 21:23   ` Ludovic Courtès
2016-02-11 19:14   ` Efraim Flashner
2016-02-09  8:11 ` [PATCH 5/5] gnu: Split acme into python-acme and python2-acme Leo Famulari
2016-02-10 21:24   ` Ludovic Courtès
2016-02-10 21:21 ` [PATCH 0/5] python2-variants Ludovic Courtès
2016-02-12 23:56   ` Leo Famulari
2016-02-13 21:26     ` Efraim Flashner
2016-02-11 19:07 ` Efraim Flashner
2016-02-12  2:34   ` Leo Famulari

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).