aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMaxim Cournoyer <maxim.cournoyer@gmail.com>2022-04-12 16:21:56 -0400
committerMaxim Cournoyer <maxim.cournoyer@gmail.com>2022-05-12 12:45:42 -0400
commitd5ee3dcf9e997dc8ad527e73b9e07ea983f8610b (patch)
tree5e3791087e1725e5fb992d23dbdc1c05c36f6c59
parent59e51d8f1c1492a2ea876b1f61a4a27372cbcde8 (diff)
downloadguix-d5ee3dcf9e997dc8ad527e73b9e07ea983f8610b.tar.gz
guix-d5ee3dcf9e997dc8ad527e73b9e07ea983f8610b.zip
gnu: Add python-ipyparallel-bootstrap.
* gnu/packages/python-xyz.scm (python-ipyparallel): Morph into... (python-ipyparallel-bootstrap): ... this, moving native inputs to a new definition of... (python-ipyparallel): ... this.
-rw-r--r--gnu/packages/python-xyz.scm97
1 files changed, 58 insertions, 39 deletions
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 22869bcaa3..b8f66486d3 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -8782,47 +8782,41 @@ away.")
(define-public python2-ipython-genutils
(package-with-python2 python-ipython-genutils))
-(define-public python-ipyparallel
- (package
- (name "python-ipyparallel")
- (version "6.2.4")
- (source
+;;; Variant used to break a cycle with python-ipykernel.
+(define-public python-ipyparallel-bootstrap
+ (hidden-package
+ (package
+ (name "python-ipyparallel-bootstrap")
+ (version "6.2.4")
+ (source
(origin
(method url-fetch)
(uri (pypi-uri "ipyparallel" version))
(sha256
(base32
"0rf0dbpxf5z82bw8lsjj45r3wdd4wc74anz4wiiaf2rbjqlb1ivn"))))
- (build-system python-build-system)
- (arguments
- `(#:tests? #f ; RuntimeError: IO Loop failed to start
- #:phases
- (modify-phases %standard-phases
- (add-before 'check 'prepare-for-tests
- (lambda _
- (setenv "HOME" (getcwd))
- #t)))))
- (propagated-inputs
- (list python-dateutil
- python-decorator
- python-ipykernel
- python-ipython
- python-ipython-genutils
- python-jupyter-client
- python-pyzmq
- python-tornado
- python-traitlets))
- (native-inputs
- (list python-ipython
- python-mock
- python-nose
- python-pytest
- python-pytest-cov
- python-testpath))
- (home-page "https://ipython.org/")
- (synopsis "Interactive Parallel Computing with IPython")
- (description
- "@code{ipyparallel} is a Python package and collection of CLI scripts for
+ (build-system python-build-system)
+ (arguments
+ (list
+ #:tests? #f
+ #:phases #~(modify-phases %standard-phases
+ ;; The python-ipykernel is normally propagated but is
+ ;; removed from this package to break the cycle.
+ (delete 'sanity-check))))
+ (propagated-inputs
+ (list python-dateutil
+ python-decorator
+ ;; python-ipykernel is omitted here to avoid a cycle.
+ python-ipython
+ python-ipython-genutils
+ python-jupyter-client-bootstrap
+ python-pyzmq
+ python-tornado
+ python-traitlets))
+ (home-page "https://ipython.org/")
+ (synopsis "Interactive Parallel Computing with IPython")
+ (description
+ "@code{ipyparallel} is a Python package and collection of CLI scripts for
controlling clusters for Jupyter. @code{ipyparallel} contains the following
CLI scripts:
@enumerate
@@ -8830,7 +8824,26 @@ CLI scripts:
@item ipcontroller - start a scheduler
@item ipengine - start an engine
@end enumerate")
- (license license:bsd-3)))
+ (license license:bsd-3))))
+
+(define-public python-ipyparallel
+ (package
+ (inherit python-ipyparallel-bootstrap)
+ (name "python-ipyparallel")
+ (arguments (list #:tests? #t))
+ (native-inputs
+ (list python-ipython
+ python-mock
+ python-nose
+ python-pytest
+ python-pytest-cov
+ python-testpath))
+ (propagated-inputs
+ (modify-inputs (package-propagated-inputs python-ipyparallel-bootstrap)
+ (replace "python-jupyter-client-bootstrap" python-jupyter-client)
+ (append python-ipykernel)))
+ (properties (alist-delete 'hidden? (package-properties
+ python-ipyparallel-bootstrap)))))
(define-public python-ipython-cluster-helper
(package
@@ -9119,10 +9132,16 @@ installing @code{kernelspec}s for use with Jupyter frontends.")
(package
(inherit parent)
(name "python-ipykernel-bootstrap")
+ (arguments (list #:tests? #f
+ ;; The package should normally propagate ipykernel,
+ ;; left out here to break the cycle.
+ #:phases #~(modify-phases %standard-phases
+ (delete 'sanity-check))))
+ (native-inputs '())
(propagated-inputs
- `(("python-jupyter-client" ,python-jupyter-client-bootstrap)
- ,@(fold alist-delete (package-propagated-inputs parent)
- '("python-jupyter-client"))))))))
+ (modify-inputs (package-propagated-inputs parent)
+ (replace "python-jupyter-client" python-jupyter-client-bootstrap)
+ (append python-ipyparallel-bootstrap)))))))
(define-public python-pari-jupyter
(package