guix-patches
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[bug#29146] [PATCH] gnu: add python-networkx2.


From: Marius Bakke
Subject: [bug#29146] [PATCH] gnu: add python-networkx2.
Date: Sun, 05 Nov 2017 17:39:12 +0100
User-agent: Notmuch/0.25.1 (https://notmuchmail.org) Emacs/25.3.1 (x86_64-pc-linux-gnu)

Gábor Boskovits <address@hidden> writes:

> * gnu/packages/python.scm (python-networkx2): New variable.
> * gnu/local.mk (python-networkx2-reproducible-build.patch): New patch 
> registered.
> * gnu/package/patches/python-networkx2-reproducible-build.patch: New file.

Thanks!

[...]

> +++ b/gnu/packages/patches/python-networkx2-reproducible-build.patch
> @@ -0,0 +1,29 @@
> +From c065b972ed294769a41936d6b9feb336473af5d1 Mon Sep 17 00:00:00 2001
> +From: =?UTF-8?q?G=C3=A1bor=20Boskovits?= <address@hidden>
> +Date: Sat, 4 Nov 2017 15:28:47 +0100
> +Subject: Fix SOURCE_DATE_EPOCH ignored bug (#2735)
> +
> +* Fix SOURCE_DATE_EPOCH ignored bug
> +
> +Fix a bug in networkx/release.py that makes build
> +non-reproducible.
> +---
> + networkx/release.py | 2 +-
> + 1 file changed, 1 insertion(+), 1 deletion(-)
> +
> +diff --git a/networkx/release.py b/networkx/release.py
> +index e81fc0c0..6322cf0d 100644
> +--- a/networkx/release.py
> ++++ b/networkx/release.py
> +@@ -135,7 +135,7 @@ def get_revision():
> + 
> + def get_info(dynamic=True):
> +     # Date information
> +-    date_info = datetime.datetime.now()
> ++    date_info = 
> datetime.datetime.utcfromtimestamp(int(os.environ.get('SOURCE_DATE_EPOCH', 
> time.time())))
> +     date = time.asctime(date_info.timetuple())

Good catch (and patch)!

> diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
> index e8a733919..a290deec9 100644
> --- a/gnu/packages/python.scm
> +++ b/gnu/packages/python.scm
> @@ -16871,3 +16871,38 @@ executed more than a given number of times during a 
> given period.")
>  
>  (define-public python2-ratelimiter
>    (package-with-python2 python-ratelimiter))
> +
> +(define-public python-networkx2
> +  (package (inherit python-networkx)

Could you move this closer to the python-networkx definition, so it's
easier to find?

I guess the reason this version is a new package is because some
dependent packages fails with the new major version?  Can you add a
short comment about it?

> +    (name "python-networkx2")
> +    (version "2.0")
> +    (source
> +     (origin
> +       (method git-fetch)
> +       (uri (git-reference
> +                 (url "https://github.com/networkx/networkx.git";)
> +                 (commit "networkx-2.0")))

I think it is better to use the tarball from PyPi if possible, which
comes with a PGP signature and without a dependency on 'git'.  Can you
try it?

> +       (sha256
> +        (base32
> +         "0wsfmbsqzvpb0vdz09rf6rfrkvyq56r8863nn3g4x0m7swygi1w3"))
> +       (patches
> +               (search-patches 
> "python-networkx2-reproducible-build.patch"))))

Indentation is off here.

> +    (arguments
> +     `(#:phases
> +       (modify-phases %standard-phases
> +         (add-before
> +          'reset-gzip-timestamps 'fix-permissions
> +           (lambda _
> +             (chmod (string-append (assoc-ref %outputs "out") 
> "/lib/python3.5/site-packages/networkx/generators/atlas.dat.gz") #o666)
> +             (chmod (string-append (assoc-ref %outputs "out") 
> "/share/doc/networkx-2.0/examples/drawing/knuth_miles.txt.gz") #o666)
> +             (chmod (string-append (assoc-ref %outputs "out") 
> "/share/doc/networkx-2.0/examples/graph/roget_dat.txt.gz") #o666)
> +             (chmod (string-append (assoc-ref %outputs "out") 
> "/share/doc/networkx-2.0/examples/graph/words_dat.txt.gz") #o666)
> +             #t))
> +         (add-after
> +          'reset-gzip-timestamps 'reset-permissions
> +           (lambda _
> +             (chmod (string-append (assoc-ref %outputs "out") 
> "/lib/python3.5/site-packages/networkx/generators/atlas.dat.gz") #o444)
> +             (chmod (string-append (assoc-ref %outputs "out") 
> "/share/doc/networkx-2.0/examples/drawing/knuth_miles.txt.gz") #o444)
> +             (chmod (string-append (assoc-ref %outputs "out") 
> "/share/doc/networkx-2.0/examples/graph/roget_dat.txt.gz") #o444)
> +             (chmod (string-append (assoc-ref %outputs "out") 
> "/share/doc/networkx-2.0/examples/graph/words_dat.txt.gz") #o444)
> +             #t)))))))

This last phase is not necessary, since the files will become read-only
after they have been installed to the store anyway.

Can you send an updated patch please?  TIA!

Attachment: signature.asc
Description: PGP signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]