Subject: [bug#29784] [PATCH 2/2] gnu: Add python-activepapers

From: [email-masked] (Ludovic Courtès)
Date: Thu, 21 Dec 2017 10:57:09 +0100

Konrad Hinsen <[email-masked]> 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’.

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