Patchwork : guix: python-build-system: Change pypi-uri to use https://pypi.io.

login
register
mail settings
Submitter =?utf-8?B?5a6L5paH5q2m?=
Date June 23, 2016, 11:39 a.m.
Message ID <87shw4i16t.fsf_-_@member.fsf.org>
Download mbox | patch
Permalink /patch/13313/
State New
Headers show

Comments

=?utf-8?B?5a6L5paH5q2m?= - June 23, 2016, 11:39 a.m.
Leo Famulari <leo@famulari.name> writes:

> On Wed, Jun 22, 2016 at 01:35:17PM -0500, Christopher Allan Webber wrote:
>> Note that the old URL scheme no longer seemed to work.
>> 
>> I'm not thrilled by the new URL "scheme".  It seems like more work to
>> update with each version bump.  I'm not sure what the solution is?
>
> Please review Ben's 'pypi-origin' patch :)
>
> http://lists.gnu.org/archive/html/guix-devel/2016-06/msg00724.html
>
>>      (source (origin
>>                (method url-fetch)
>> -              (uri (pypi-uri "Flask" version))
>> +              (uri
>> +               (string-append
>> +                "https://pypi.python.org/packages/55/8a/"
>> +                "78e165d30f0c8bb5d57c429a30ee5749825ed461ad6c959688872643ffb3/"
>> +                "Flask-0.11.1.tar.gz"))
>
> In the meantime, I think it's best to keep the hash on its own line, to
> reduce noise in the commit log if we do more updates in this format.

Ah, nixpkgs use pypi.io for it, and it will redirect the old uri
scheme to the new one.

I guess we should do the same?
Ben Woodcroft - June 23, 2016, 11:51 p.m.
On 23/06/16 21:39, 宋文武 wrote:
> Leo Famulari <leo@famulari.name> writes:
>
>> On Wed, Jun 22, 2016 at 01:35:17PM -0500, Christopher Allan Webber wrote:
>>> Note that the old URL scheme no longer seemed to work.
>>>
>>> I'm not thrilled by the new URL "scheme".  It seems like more work to
>>> update with each version bump.  I'm not sure what the solution is?
>> Please review Ben's 'pypi-origin' patch :)
>>
>> http://lists.gnu.org/archive/html/guix-devel/2016-06/msg00724.html
>>
>>>       (source (origin
>>>                 (method url-fetch)
>>> -              (uri (pypi-uri "Flask" version))
>>> +              (uri
>>> +               (string-append
>>> +                "https://pypi.python.org/packages/55/8a/"
>>> +                "78e165d30f0c8bb5d57c429a30ee5749825ed461ad6c959688872643ffb3/"
>>> +                "Flask-0.11.1.tar.gz"))
>> In the meantime, I think it's best to keep the hash on its own line, to
>> reduce noise in the commit log if we do more updates in this format.
> Ah, nixpkgs use pypi.io for it, and it will redirect the old uri
> scheme to the new one.
>
> I guess we should do the same?

This is a simpler solution than 'pypi-origin'. Thanks.

My only concern is that it is "pre-production", WDYT?

ben
Ludovic Courtès - June 24, 2016, 12:14 p.m.
iyzsong@member.fsf.org (宋文武) skribis:

> Leo Famulari <leo@famulari.name> writes:
>
>> On Wed, Jun 22, 2016 at 01:35:17PM -0500, Christopher Allan Webber wrote:
>>> Note that the old URL scheme no longer seemed to work.
>>> 
>>> I'm not thrilled by the new URL "scheme".  It seems like more work to
>>> update with each version bump.  I'm not sure what the solution is?
>>
>> Please review Ben's 'pypi-origin' patch :)
>>
>> http://lists.gnu.org/archive/html/guix-devel/2016-06/msg00724.html
>>
>>>      (source (origin
>>>                (method url-fetch)
>>> -              (uri (pypi-uri "Flask" version))
>>> +              (uri
>>> +               (string-append
>>> +                "https://pypi.python.org/packages/55/8a/"
>>> +                "78e165d30f0c8bb5d57c429a30ee5749825ed461ad6c959688872643ffb3/"
>>> +                "Flask-0.11.1.tar.gz"))
>>
>> In the meantime, I think it's best to keep the hash on its own line, to
>> reduce noise in the commit log if we do more updates in this format.
>
> Ah, nixpkgs use pypi.io for it, and it will redirect the old uri
> scheme to the new one.
>
> I guess we should do the same?

Sounds simple and efficient.  :-)

The problem with the ‘pypi-origin’ macro that Ben proposed is that it
would force us to maintain two hashes (SHA1 and SHA256) per package,
which is annoying.

> From 4605399da016c11314e8d4aef84f7007f82f8d75 Mon Sep 17 00:00:00 2001
> From: =?UTF-8?q?=E5=AE=8B=E6=96=87=E6=AD=A6?= <iyzsong@gmail.com>
> Date: Thu, 23 Jun 2016 19:23:28 +0800
> Subject: [PATCH] guix: python-build-system: Change pypi-uri to use
>  https://pypi.io.
>
> * guix/build-system/python.scm (pypi-uri): Use https://pypi.io.
> * gnu/packages/python.scm (python-twisted)[uri]: Remove https://pypi.io.
> ---
>  gnu/packages/python.scm      | 5 +----
>  guix/build-system/python.scm | 2 +-
>  2 files changed, 2 insertions(+), 5 deletions(-)
>
> diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
> index 4567a91..8c34ff2 100644
> --- a/gnu/packages/python.scm
> +++ b/gnu/packages/python.scm
> @@ -9097,10 +9097,7 @@ to provide a high-level synchronous API on top of the libev event loop.")
>      (version "16.2.0")
>      (source (origin
>                (method url-fetch)
> -              (uri (list (pypi-uri "Twisted" version ".tar.bz2") ; 404
> -                         (string-append
> -                          "https://pypi.io/packages/source/T/Twisted/"
> -                          "Twisted-" version ".tar.bz2")))
> +              (uri (pypi-uri "Twisted" version ".tar.bz2"))
>                (sha256
>                 (base32
>                  "0ydxrp9myw1mvsz3qfzx5579y5llmqa82pxvqchgp5syczffi450"))))
> diff --git a/guix/build-system/python.scm b/guix/build-system/python.scm
> index c3d6c62..705943e 100644
> --- a/guix/build-system/python.scm
> +++ b/guix/build-system/python.scm
> @@ -48,7 +48,7 @@
>    "Return a URI string for the Python package hosted on the Python Package
>  Index (PyPI) corresponding to NAME and VERSION.  EXTENSION is the file name
>  extension, such as '.tar.gz'."
> -  (string-append "https://pypi.python.org/packages/source/"
> +  (string-append "https://pypi.io/packages/source/"
>                   (string-take name 1) "/" name "/"
>                   name "-" version extension))

LGTM!

Also, if pypi.python.org is now content-addressed, we could add a
‘pypi-fetch’ method based on ‘uri-fetch’, but with an additional
content-addressed mirror.  Thoughts?

Thanks,
Ludo’.

Patch

From 4605399da016c11314e8d4aef84f7007f82f8d75 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E5=AE=8B=E6=96=87=E6=AD=A6?= <iyzsong@gmail.com>
Date: Thu, 23 Jun 2016 19:23:28 +0800
Subject: [PATCH] guix: python-build-system: Change pypi-uri to use
 https://pypi.io.

* guix/build-system/python.scm (pypi-uri): Use https://pypi.io.
* gnu/packages/python.scm (python-twisted)[uri]: Remove https://pypi.io.
---
 gnu/packages/python.scm      | 5 +----
 guix/build-system/python.scm | 2 +-
 2 files changed, 2 insertions(+), 5 deletions(-)

diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
index 4567a91..8c34ff2 100644
--- a/gnu/packages/python.scm
+++ b/gnu/packages/python.scm
@@ -9097,10 +9097,7 @@  to provide a high-level synchronous API on top of the libev event loop.")
     (version "16.2.0")
     (source (origin
               (method url-fetch)
-              (uri (list (pypi-uri "Twisted" version ".tar.bz2") ; 404
-                         (string-append
-                          "https://pypi.io/packages/source/T/Twisted/"
-                          "Twisted-" version ".tar.bz2")))
+              (uri (pypi-uri "Twisted" version ".tar.bz2"))
               (sha256
                (base32
                 "0ydxrp9myw1mvsz3qfzx5579y5llmqa82pxvqchgp5syczffi450"))))
diff --git a/guix/build-system/python.scm b/guix/build-system/python.scm
index c3d6c62..705943e 100644
--- a/guix/build-system/python.scm
+++ b/guix/build-system/python.scm
@@ -48,7 +48,7 @@ 
   "Return a URI string for the Python package hosted on the Python Package
 Index (PyPI) corresponding to NAME and VERSION.  EXTENSION is the file name
 extension, such as '.tar.gz'."
-  (string-append "https://pypi.python.org/packages/source/"
+  (string-append "https://pypi.io/packages/source/"
                  (string-take name 1) "/" name "/"
                  name "-" version extension))
 
-- 
2.8.4