* [bug#29784] [PATCH 2/2] gnu: Add python-activepapers
@ 2017-12-19 11:50 Konrad Hinsen
2017-12-21 9:57 ` Ludovic Courtès
0 siblings, 1 reply; 7+ messages in thread
From: Konrad Hinsen @ 2017-12-19 11:50 UTC (permalink / raw)
To: 29784
gnu/packages/python.scm | 68 +++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 68 insertions(+)
diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
index 5580b7d50..1a376e04d 100644
--- a/gnu/packages/python.scm
+++ b/gnu/packages/python.scm
@@ -12000,3 +12000,71 @@ particularly convenient for use in tests.")
(define-public python2-tempdir
(package-with-python2 python-tempdir))
+(define-public python-activepapers
+ (package
+ (name "python-activepapers")
+ (version "0.2.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "ActivePapers.Py" version))
+ (sha256
+ (base32
+ "02bpx36ixwag1g958plgjwpxaiadsj4669gsnxc8hb5aw2jplnr5"))))
+ (build-system python-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'delete-python2-code
+ (lambda _
+ (for-each delete-file
+ '("lib/activepapers/builtins2.py"
+ "lib/activepapers/standardlib2.py"
+ "lib/activepapers/utility2.py"))))
+ (replace 'check
+ (lambda _
+ (use-modules (srfi srfi-1)
+ (ice-9 ftw))
+ ;; Deactivate the test cases that download files
+ (setenv "NO_NETWORK_ACCESS" "1")
+ ;; For some strange reason, some tests fail if nosetests runs all
+ ;; test modules in a single execution. They pass if each test
+ ;; module is run individually.
+ (every zero?
+ (map (lambda (filename)
+ (system* "nosetests"
+ (string-append "tests/" filename)))
+ (scandir "tests"
+ (lambda (filename)
+ (string-suffix? ".py" filename))))))))))
+ (native-inputs
+ `(("python-tempdir" ,python-tempdir)
+ ("python-nose" ,python-nose)))
+ (propagated-inputs
+ `(("python-h5py" ,python-h5py)))
+ (home-page "http://www.activepapers.org/")
+ (synopsis "Executable papers for scientific computing")
+ (description
+ "ActivePapers is a tool for working with executable papers, which
+combine data, code, and documentation in single-file packages,
+suitable for publication as supplementary material or on repositories
+such as figshare or Zenodo.")
+ (properties `((python2-variant . ,(delay python2-activepapers))))
+ (license license:bsd-3)))
+
+(define-public python2-activepapers
+ (let ((base (package-with-python2
+ (strip-python2-variant python-activepapers))))
+ (package
+ (inherit base)
+ (arguments
+ (substitute-keyword-arguments (package-arguments base)
+ ((#:phases phases)
+ `(modify-phases ,phases
+ (delete 'delete-python2-code)
+ (add-after 'unpack 'delete-python3-code
+ (lambda _
+ (for-each delete-file
+ '("lib/activepapers/builtins3.py"
+ "lib/activepapers/standardlib3.py"
+ "lib/activepapers/utility3.py")))))))))))
--
2.15.1
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [bug#29784] [PATCH 2/2] gnu: Add python-activepapers
2017-12-19 11:50 [bug#29784] [PATCH 2/2] gnu: Add python-activepapers Konrad Hinsen
@ 2017-12-21 9:57 ` Ludovic Courtès
2017-12-21 11:52 ` Konrad Hinsen
0 siblings, 1 reply; 7+ messages in thread
From: Ludovic Courtès @ 2017-12-21 9:57 UTC (permalink / raw)
To: Konrad Hinsen; +Cc: 29784
[-- Attachment #1: Type: text/plain, Size: 1976 bytes --]
Konrad Hinsen <konrad.hinsen@fastmail.net> skribis:
> gnu/packages/python.scm | 68 +++++++++++++++++++++++++++++++++++++++++++++++++
> 1 file changed, 68 insertions(+)
>
> diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
> index 5580b7d50..1a376e04d 100644
> --- a/gnu/packages/python.scm
> +++ b/gnu/packages/python.scm
> @@ -12000,3 +12000,71 @@ particularly convenient for use in tests.")
> (define-public python2-tempdir
> (package-with-python2 python-tempdir))
>
> +(define-public python-activepapers
> + (package
> + (name "python-activepapers")
Awesome! This had been on my to-do list for a while. :-)
Below are some suggestions: avoid non-top-level ‘use-modules’ form, and
use ‘invoke’ as discussed recently on guix-devel.
I’m getting a hash mismatch on the source:
--8<---------------cut here---------------start------------->8---
Starting download of /gnu/store/gjxgw8jpak8jr34wpaay35a243xck97k-ActivePapers.Py-0.2.2.tar.gz
From https://pypi.io/packages/source/A/ActivePapers.Py/ActivePapers.Py-0.2.2.tar.gz...
following redirection to `https://pypi.org/packages/source/A/ActivePapers.Py/ActivePapers.Py-0.2.2.tar.gz'...
following redirection to `https://files.pythonhosted.org/packages/source/A/ActivePapers.Py/ActivePapers.Py-0.2.2.tar.gz'...
following redirection to `https://pypi.python.org/packages/32/e0/c7147c88d83f7520aded2308b34e5dcd36c91180a8c850119a749259f284/ActivePapers.Py-0.2.2.tar.gz'...
...y-0.2.2.tar.gz 32KiB 2.6MiB/s 00:00 [##################] 100.0%
sha256 hash mismatch for output path `/gnu/store/gjxgw8jpak8jr34wpaay35a243xck97k-ActivePapers.Py-0.2.2.tar.gz'
expected: 02bpx36ixwag1g958plgjwpxaiadsj4669gsnxc8hb5aw2jplnr5
actual: 12wkhjh90ffipjzv10swndp2xv9hd7xrxvg6v0n4n3i411pj4xb8
--8<---------------cut here---------------end--------------->8---
Could you check if something is amiss?
Apart from that it LGTM, thank you!
Ludo’.
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: Type: text/x-patch, Size: 2023 bytes --]
diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
index 5bc9dea27..dad58cb95 100644
--- a/gnu/packages/python.scm
+++ b/gnu/packages/python.scm
@@ -12014,7 +12014,12 @@ particularly convenient for use in tests.")
"02bpx36ixwag1g958plgjwpxaiadsj4669gsnxc8hb5aw2jplnr5"))))
(build-system python-build-system)
(arguments
- `(#:phases
+ `(#:modules ((ice-9 ftw)
+ (srfi srfi-1)
+ (guix build utils)
+ (guix build python-build-system))
+
+ #:phases
(modify-phases %standard-phases
(add-after 'unpack 'delete-python2-code
(lambda _
@@ -12024,20 +12029,17 @@ particularly convenient for use in tests.")
"lib/activepapers/utility2.py"))))
(replace 'check
(lambda _
- (use-modules (srfi srfi-1)
- (ice-9 ftw))
;; Deactivate the test cases that download files
(setenv "NO_NETWORK_ACCESS" "1")
;; For some strange reason, some tests fail if nosetests runs all
;; test modules in a single execution. They pass if each test
;; module is run individually.
- (every zero?
- (map (lambda (filename)
- (system* "nosetests"
- (string-append "tests/" filename)))
- (scandir "tests"
- (lambda (filename)
- (string-suffix? ".py" filename))))))))))
+ (for-each (lambda (filename)
+ (invoke "nosetests"
+ (string-append "tests/" filename)))
+ (scandir "tests"
+ (lambda (filename)
+ (string-suffix? ".py" filename)))))))))
(native-inputs
`(("python-tempdir" ,python-tempdir)
("python-nose" ,python-nose)))
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [bug#29784] [PATCH 2/2] gnu: Add python-activepapers
2017-12-21 9:57 ` Ludovic Courtès
@ 2017-12-21 11:52 ` Konrad Hinsen
2017-12-21 12:09 ` Konrad Hinsen
0 siblings, 1 reply; 7+ messages in thread
From: Konrad Hinsen @ 2017-12-21 11:52 UTC (permalink / raw)
To: Ludovic Courtès; +Cc: 29784
Hi Ludo,
> Below are some suggestions: avoid non-top-level ‘use-modules’ form, and
> use ‘invoke’ as discussed recently on guix-devel.
Fine with me! I looked for inspiration in other package definitions, but
probably not the best/most recent ones.
> I’m getting a hash mismatch on the source:
> expected: 02bpx36ixwag1g958plgjwpxaiadsj4669gsnxc8hb5aw2jplnr5
> actual: 12wkhjh90ffipjzv10swndp2xv9hd7xrxvg6v0n4n3i411pj4xb8
> --8<---------------cut here---------------end--------------->8---
>
> Could you check if something is amiss?
I figured out there the mismatch comes from, but I have no idea how I
could (and still can) build python-activepapers on my machine, using
precisely the definition I submitted.
I had used a local file (URI of type file:///) for testing, and that's
where the SHA256 in the package definition comes from. Then I uploaded
the working version to PyPI, but from a different machine. I rebuilt the
tarball on that machine, from identical source code, but Python's
setuptools does not care about reproducible builds, so the file I
uploaded has a different hash.
Next I changed the URI in the package definition to (pypi-uri), but
didn't think about verifying (and updating) the hash. I did, however,
re-build the package (two rounds), and that worked fine. I just did it
again, it still builds.
This looks like Guix still uses the tarball in the store, in spite of
the fact that I updated the URI in the package definition. In fact,
nothing is built at all, "guix build" merely shows the store path of the
already existing build. Even when I add --round=2, nothing gets rebuilt
at all.
Konrad.
^ permalink raw reply [flat|nested] 7+ messages in thread
* [bug#29784] [PATCH 2/2] gnu: Add python-activepapers
2017-12-21 11:52 ` Konrad Hinsen
@ 2017-12-21 12:09 ` Konrad Hinsen
2017-12-21 15:47 ` Ludovic Courtès
0 siblings, 1 reply; 7+ messages in thread
From: Konrad Hinsen @ 2017-12-21 12:09 UTC (permalink / raw)
To: Ludovic Courtès; +Cc: 29784
Konrad Hinsen <konrad.hinsen@fastmail.net> writes:
> This looks like Guix still uses the tarball in the store, in spite of
> the fact that I updated the URI in the package definition. In fact,
One more test: I did a "guix gc" to clean up the store and re-launched
the build. Now I get the hash mismatch that you reported as well.
So this looks as if I can change the source URI without changing the
hash under which the downloaded file is put in the store - is that
right?
Konrad.
^ permalink raw reply [flat|nested] 7+ messages in thread
* [bug#29784] [PATCH 2/2] gnu: Add python-activepapers
2017-12-21 12:09 ` Konrad Hinsen
@ 2017-12-21 15:47 ` Ludovic Courtès
2017-12-21 17:00 ` Konrad Hinsen
0 siblings, 1 reply; 7+ messages in thread
From: Ludovic Courtès @ 2017-12-21 15:47 UTC (permalink / raw)
To: Konrad Hinsen; +Cc: 29784
Konrad Hinsen <konrad.hinsen@fastmail.net> skribis:
> Konrad Hinsen <konrad.hinsen@fastmail.net> writes:
>
>> This looks like Guix still uses the tarball in the store, in spite of
>> the fact that I updated the URI in the package definition. In fact,
>
> One more test: I did a "guix gc" to clean up the store and re-launched
> the build. Now I get the hash mismatch that you reported as well.
Yes. Before running the GC, you still had the store item with the given
hash in your store, the guix-daemon didn’t attempt to fetch it.
To avoid this, you can always run:
guix build -S the-package --check
before submitting, to force a re-fetch.
Can you resend the patch with the known-good hash? (Or just the hash if
you prefer.)
Ludo’.
^ permalink raw reply [flat|nested] 7+ messages in thread
* [bug#29784] [PATCH 2/2] gnu: Add python-activepapers
2017-12-21 15:47 ` Ludovic Courtès
@ 2017-12-21 17:00 ` Konrad Hinsen
2017-12-22 8:47 ` bug#29784: " Ludovic Courtès
0 siblings, 1 reply; 7+ messages in thread
From: Konrad Hinsen @ 2017-12-21 17:00 UTC (permalink / raw)
To: Ludovic Courtès; +Cc: 29784
ludovic.courtes@inria.fr (Ludovic Courtès) writes:
> Yes. Before running the GC, you still had the store item with the given
> hash in your store, the guix-daemon didn’t attempt to fetch it.
>
> To avoid this, you can always run:
>
> guix build -S the-package --check
>
> before submitting, to force a re-fetch.
OK, good to know!
> Can you resend the patch with the known-good hash? (Or just the hash if
> you prefer.)
The good hash is
12wkhjh90ffipjzv10swndp2xv9hd7xrxvg6v0n4n3i411pj4xb8
Konrad.
^ permalink raw reply [flat|nested] 7+ messages in thread
* bug#29784: [PATCH 2/2] gnu: Add python-activepapers
2017-12-21 17:00 ` Konrad Hinsen
@ 2017-12-22 8:47 ` Ludovic Courtès
0 siblings, 0 replies; 7+ messages in thread
From: Ludovic Courtès @ 2017-12-22 8:47 UTC (permalink / raw)
To: Konrad Hinsen; +Cc: 29784-done
Konrad Hinsen <konrad.hinsen@fastmail.net> skribis:
> ludovic.courtes@inria.fr (Ludovic Courtès) writes:
>
>> Yes. Before running the GC, you still had the store item with the given
>> hash in your store, the guix-daemon didn’t attempt to fetch it.
>>
>> To avoid this, you can always run:
>>
>> guix build -S the-package --check
>>
>> before submitting, to force a re-fetch.
>
> OK, good to know!
>
>> Can you resend the patch with the known-good hash? (Or just the hash if
>> you prefer.)
>
> The good hash is
>
> 12wkhjh90ffipjzv10swndp2xv9hd7xrxvg6v0n4n3i411pj4xb8
Perfect. Applied, thanks!
Ludo’.
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2017-12-22 8:48 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-12-19 11:50 [bug#29784] [PATCH 2/2] gnu: Add python-activepapers Konrad Hinsen
2017-12-21 9:57 ` Ludovic Courtès
2017-12-21 11:52 ` Konrad Hinsen
2017-12-21 12:09 ` Konrad Hinsen
2017-12-21 15:47 ` Ludovic Courtès
2017-12-21 17:00 ` Konrad Hinsen
2017-12-22 8:47 ` bug#29784: " Ludovic Courtès
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/guix.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.