~ruther/guix-local

ee8aab1f8db79e73612530a9fa4c32f252099e3e — Christopher Baines 8 years ago db314bf
gnu: Add python-jupyter-console as input to python-ipython.

This fixes running ipython console and ipython3 console, as the
jupyter_console package is missing.

As python-ipython is an input to python-jupyter-console, use a modified
version of the package which doesn't have this input.

* gnu/packages/python.scm (python-jupyter-console-minimal): New variable.
  (python-ipython)[propagated-inputs]: Replace python-jupyter-console with
  python-jupyter-console-minimal.
1 files changed, 31 insertions(+), 0 deletions(-)

M gnu/packages/python.scm
M gnu/packages/python.scm => gnu/packages/python.scm +31 -0
@@ 5855,6 5855,12 @@ tools for mocking system commands and recording calls to those.")
       ("python-numpy" ,python-numpy)
       ("python-numpydoc" ,python-numpydoc)
       ("python-jinja2" ,python-jinja2)
       ("python-jupyter-console"
        ;; The python-ipython and python-jupyter-console require each
        ;; other. To get the functionality in both packages working, strip
        ;; down the python-jupyter-console package when using it as an input
        ;; to python-ipython.
        ,python-jupyter-console-minimal)
       ("python-mistune" ,python-mistune)
       ("python-pexpect" ,python-pexpect)
       ("python-pickleshare" ,python-pickleshare)


@@ 8560,6 8566,31 @@ Jupyter kernels such as IJulia and IRKernel.")
(define-public python2-jupyter-console
  (package-with-python2 python-jupyter-console))

;; The python-ipython and python-jupyter-console require each other. To get
;; the functionality in both packages working, strip down the
;; python-jupyter-console package when using it as an input to python-ipython.
(define python-jupyter-console-minimal
  (package
    (inherit python-jupyter-console)
    (arguments
     (substitute-keyword-arguments
         (package-arguments python-jupyter-console)
       ((#:phases phases)
        `(modify-phases ,phases
           (add-after 'install 'delete-bin
             (lambda* (#:key outputs #:allow-other-keys)
               ;; Delete the bin files, to avoid conflicts in profiles
               ;; where python-ipython and python-jupyter-console are
               ;; both present.
               (delete-file-recursively
                (string-append
                 (assoc-ref outputs "out") "/bin"))))))))
    ;; Remove the python-ipython propagated input, to avoid the cycle
    (propagated-inputs
     (alist-delete
      "python-ipython"
      (package-propagated-inputs python-jupyter-console)))))

(define-public jupyter
  (package
    (name "jupyter")