|
From: | Gábor Boskovits |
Subject: | [bug#29146] [PATCH] gnu: add python-networkx2. |
Date: | Mon, 6 Nov 2017 11:56:06 +0100 |
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. Thanks!
> * gnu/package/patches/python-networkx2-reproducible-build. patch: New file.
[...]
Good catch (and patch)!
> +++ 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())
> 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
> + "0wsfmbsqzvpb0vdz09rf6rfrkvyq56 Indentation is off here.r8863nn3g4x0m7swygi1w3"))
> + (patches
> + (search-patches "python-networkx2-reproducible-build.patch"))))
> + (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. This last phase is not necessary, since the files will become read-onlygz") #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)))))))
after they have been installed to the store anyway.
Can you send an updated patch please? TIA!
[Prev in Thread] | Current Thread | [Next in Thread] |