gnu: Add python-activepapers.

* gnu/packages/python.scm (python-activepapers, python2-activepapers):
New variables.

Co-authored-by: Ludovic Courtès <ludovic.courtes@inria.fr>
This commit is contained in:
Konrad Hinsen 2017-12-19 12:50:22 +01:00 committed by Ludovic Courtès
parent 4a32f58aa1
commit de2032b912
No known key found for this signature in database
GPG Key ID: 090B11993D9AEBB5
1 changed files with 70 additions and 0 deletions

View File

@ -12001,3 +12001,73 @@ particularly convenient for use in tests.")
(define-public python2-tempdir (define-public python2-tempdir
(package-with-python2 python-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")))))))))))