From de2032b912ede1756290e7ca9f7af7e9b72627eb Mon Sep 17 00:00:00 2001 From: Konrad Hinsen Date: Tue, 19 Dec 2017 12:50:22 +0100 Subject: [PATCH] gnu: Add python-activepapers. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/python.scm (python-activepapers, python2-activepapers): New variables. Co-authored-by: Ludovic Courtès --- gnu/packages/python.scm | 70 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 70 insertions(+) diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index 1ef54b7fd5..48e8d44ffc 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -12001,3 +12001,73 @@ 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 + "12wkhjh90ffipjzv10swndp2xv9hd7xrxvg6v0n4n3i411pj4xb8")))) + (build-system python-build-system) + (arguments + `(#: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 _ + (for-each delete-file + '("lib/activepapers/builtins2.py" + "lib/activepapers/standardlib2.py" + "lib/activepapers/utility2.py")))) + (replace 'check + (lambda _ + ;; 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. + (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))) + (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")))))))))))