|
126 | 126 | #:use-module (gnu packages multiprecision) |
127 | 127 | #:use-module (gnu packages networking) |
128 | 128 | #:use-module (gnu packages ncurses) |
| 129 | + #:use-module (gnu packages node) |
129 | 130 | #:use-module (gnu packages openstack) |
130 | 131 | #:use-module (gnu packages pcre) |
131 | 132 | #:use-module (gnu packages perl) |
@@ -17656,3 +17657,57 @@ dumping of JSON5 data structures.") |
17656 | 17657 | (description "A set of server components for JupyterLab and JupyterLab like |
17657 | 17658 | applications") |
17658 | 17659 | (license license:bsd-3))) |
| 17660 | + |
| 17661 | +(define-public python-jupyterlab |
| 17662 | + (package |
| 17663 | + (name "python-jupyterlab") |
| 17664 | + (version "1.2.6") |
| 17665 | + (source |
| 17666 | + (origin |
| 17667 | + (method url-fetch) |
| 17668 | + (uri (pypi-uri "jupyterlab" version)) |
| 17669 | + (sha256 |
| 17670 | + (base32 |
| 17671 | + "0mc3nrj7fc5q2ajr09m261j386jsp8qjljg8anghlh8czc9ln4s2")) |
| 17672 | + (patches (search-patches "python-jupyterlab-copy-nometa.patch")))) |
| 17673 | + (build-system python-build-system) |
| 17674 | + (propagated-inputs |
| 17675 | + `(("python-jinja2" ,python-jinja2) |
| 17676 | + ("python-jupyterlab-server" |
| 17677 | + ,python-jupyterlab-server) |
| 17678 | + ("python-notebook" ,python-notebook) |
| 17679 | + ("python-tornado" ,python-tornado) |
| 17680 | + ("node" ,node))) |
| 17681 | + (native-inputs |
| 17682 | + `(("python-pytest" ,python-pytest) |
| 17683 | + ("python-pytest-check-links" |
| 17684 | + ,python-pytest-check-links) |
| 17685 | + ("python-requests" ,python-requests) |
| 17686 | + ("python-ipykernel" ,python-ipykernel))) |
| 17687 | + (arguments |
| 17688 | + ;; testing requires npm, so disabled for now |
| 17689 | + '(#:tests? #f |
| 17690 | + #:phases |
| 17691 | + (modify-phases %standard-phases |
| 17692 | + (add-after 'unpack 'patch-syspath |
| 17693 | + (lambda* (#:key outputs inputs configure-flags #:allow-other-keys) |
| 17694 | + (let* ((out (assoc-ref outputs "out"))) |
| 17695 | + (substitute* "jupyterlab/commands.py" |
| 17696 | + ;; sys.prefix defaults to Python’s prefix in the store, not |
| 17697 | + ;; jupyterlab’s. Fix that. |
| 17698 | + (("sys\\.prefix") |
| 17699 | + (string-append "'" out "'")))) |
| 17700 | + #t)) |
| 17701 | + ;; 'build does not respect configure-flags |
| 17702 | + (replace 'build |
| 17703 | + (lambda _ |
| 17704 | + (invoke "python" "setup.py" "build" "--skip-npm")))) |
| 17705 | + #:configure-flags (list "--skip-npm"))) |
| 17706 | + (home-page "https://jupyter.org") |
| 17707 | + (synopsis |
| 17708 | + "The JupyterLab notebook server extension") |
| 17709 | + (description |
| 17710 | + "An extensible environment for interactive and reproducible computing, |
| 17711 | +based on the Jupyter Notebook and Architecture.") |
| 17712 | + (license license:bsd-3))) |
| 17713 | + |
0 commit comments