|
125 | 125 | #:use-module (gnu packages multiprecision) |
126 | 126 | #:use-module (gnu packages networking) |
127 | 127 | #:use-module (gnu packages ncurses) |
| 128 | + #:use-module (gnu packages node) |
128 | 129 | #:use-module (gnu packages openstack) |
129 | 130 | #:use-module (gnu packages pcre) |
130 | 131 | #:use-module (gnu packages perl) |
@@ -17552,3 +17553,57 @@ dumping of JSON5 data structures.") |
17552 | 17553 | (description "A set of server components for JupyterLab and JupyterLab like |
17553 | 17554 | applications") |
17554 | 17555 | (license license:bsd-3))) |
| 17556 | + |
| 17557 | +(define-public python-jupyterlab |
| 17558 | + (package |
| 17559 | + (name "python-jupyterlab") |
| 17560 | + (version "1.2.6") |
| 17561 | + (source |
| 17562 | + (origin |
| 17563 | + (method url-fetch) |
| 17564 | + (uri (pypi-uri "jupyterlab" version)) |
| 17565 | + (sha256 |
| 17566 | + (base32 |
| 17567 | + "0mc3nrj7fc5q2ajr09m261j386jsp8qjljg8anghlh8czc9ln4s2")) |
| 17568 | + (patches (search-patches "python-jupyterlab-copy-nometa.patch")))) |
| 17569 | + (build-system python-build-system) |
| 17570 | + (propagated-inputs |
| 17571 | + `(("python-jinja2" ,python-jinja2) |
| 17572 | + ("python-jupyterlab-server" |
| 17573 | + ,python-jupyterlab-server) |
| 17574 | + ("python-notebook" ,python-notebook) |
| 17575 | + ("python-tornado" ,python-tornado) |
| 17576 | + ("node" ,node))) |
| 17577 | + (native-inputs |
| 17578 | + `(("python-pytest" ,python-pytest) |
| 17579 | + ("python-pytest-check-links" |
| 17580 | + ,python-pytest-check-links) |
| 17581 | + ("python-requests" ,python-requests) |
| 17582 | + ("python-ipykernel" ,python-ipykernel))) |
| 17583 | + (arguments |
| 17584 | + ;; testing requires npm, so disabled for now |
| 17585 | + '(#:tests? #f |
| 17586 | + #:phases |
| 17587 | + (modify-phases %standard-phases |
| 17588 | + (add-after 'unpack 'patch-syspath |
| 17589 | + (lambda* (#:key outputs inputs configure-flags #:allow-other-keys) |
| 17590 | + (let* ((out (assoc-ref outputs "out"))) |
| 17591 | + (substitute* "jupyterlab/commands.py" |
| 17592 | + ;; sys.prefix defaults to Python’s prefix in the store, not |
| 17593 | + ;; jupyterlab’s. Fix that. |
| 17594 | + (("sys\\.prefix") |
| 17595 | + (string-append "'" out "'")))) |
| 17596 | + #t)) |
| 17597 | + ;; 'build does not respect configure-flags |
| 17598 | + (replace 'build |
| 17599 | + (lambda _ |
| 17600 | + (invoke "python" "setup.py" "build" "--skip-npm")))) |
| 17601 | + #:configure-flags (list "--skip-npm"))) |
| 17602 | + (home-page "https://jupyter.org") |
| 17603 | + (synopsis |
| 17604 | + "The JupyterLab notebook server extension") |
| 17605 | + (description |
| 17606 | + "An extensible environment for interactive and reproducible computing, |
| 17607 | +based on the Jupyter Notebook and Architecture.") |
| 17608 | + (license license:bsd-3))) |
| 17609 | + |
0 commit comments