gnu: Add Guix-Jupyter.
* gnu/packages/package-management.scm (guix-jupyter): New variable.
This commit is contained in:
parent
03d28531fd
commit
fc1fe722a0
|
@ -770,6 +770,90 @@ on top of GNU Guix.")
|
||||||
;; and the fonts included in this package are licensed OFL1.1.
|
;; and the fonts included in this package are licensed OFL1.1.
|
||||||
(license (list license:gpl3+ license:agpl3+ license:silofl1.1))))
|
(license (list license:gpl3+ license:agpl3+ license:silofl1.1))))
|
||||||
|
|
||||||
|
(define-public guix-jupyter
|
||||||
|
(package
|
||||||
|
(name "guix-jupyter")
|
||||||
|
(version "0.1.0")
|
||||||
|
(home-page "https://gitlab.inria.fr/guix-hpc/guix-kernel")
|
||||||
|
(source (origin
|
||||||
|
(method git-fetch)
|
||||||
|
(uri (git-reference (url home-page)
|
||||||
|
(commit (string-append "v" version))))
|
||||||
|
(sha256
|
||||||
|
(base32
|
||||||
|
"01z7jjkc7r7lj6637rcgpz40v8xqqyfp6871h94yvcnwm7zy9h1n"))
|
||||||
|
(file-name (string-append "guix-jupyter-" version "-checkout"))))
|
||||||
|
(build-system gnu-build-system)
|
||||||
|
(arguments
|
||||||
|
`(#:modules ((srfi srfi-26)
|
||||||
|
(ice-9 match)
|
||||||
|
(ice-9 popen)
|
||||||
|
(ice-9 rdelim)
|
||||||
|
(guix build utils)
|
||||||
|
(guix build gnu-build-system))
|
||||||
|
#:phases
|
||||||
|
(modify-phases %standard-phases
|
||||||
|
(add-after 'install 'sed-kernel-json
|
||||||
|
(lambda* (#:key inputs outputs #:allow-other-keys)
|
||||||
|
(let* ((out (assoc-ref outputs "out"))
|
||||||
|
(guix (assoc-ref inputs "guix"))
|
||||||
|
(guile (assoc-ref inputs "guile"))
|
||||||
|
(json (assoc-ref inputs "guile-json"))
|
||||||
|
(git (assoc-ref inputs "guile-git"))
|
||||||
|
(bs (assoc-ref inputs "guile-bytestructures"))
|
||||||
|
(s-zmq (assoc-ref inputs "guile-simple-zmq"))
|
||||||
|
(gcrypt (assoc-ref inputs "guile-gcrypt"))
|
||||||
|
(deps (list out s-zmq guix json git bs gcrypt))
|
||||||
|
(effective
|
||||||
|
(read-line
|
||||||
|
(open-pipe* OPEN_READ
|
||||||
|
(string-append guile "/bin/guile")
|
||||||
|
"-c" "(display (effective-version))")))
|
||||||
|
(path (map (cut string-append "-L\", \"" <>
|
||||||
|
"/share/guile/site/"
|
||||||
|
effective)
|
||||||
|
deps))
|
||||||
|
(gopath (map (cut string-append "-C\", \"" <>
|
||||||
|
"/lib/guile/" effective
|
||||||
|
"/site-ccache")
|
||||||
|
deps))
|
||||||
|
(kernel-dir (string-append out "/share/jupyter/kernels/guix/")))
|
||||||
|
(substitute* (string-append kernel-dir "kernel.json")
|
||||||
|
(("-s")
|
||||||
|
(string-join
|
||||||
|
(list (string-join path "\",\n\t\t\"")
|
||||||
|
(string-join gopath "\",\n\t\t\"")
|
||||||
|
"-s")
|
||||||
|
"\",\n\t\t\""))
|
||||||
|
(("guix-jupyter-kernel.scm")
|
||||||
|
(string-append out "/share/guile/site/2.2/"
|
||||||
|
"guix-jupyter-kernel.scm")))
|
||||||
|
#t))))))
|
||||||
|
(native-inputs
|
||||||
|
`(("autoconf" ,autoconf)
|
||||||
|
("automake" ,automake)
|
||||||
|
("pkg-config" ,pkg-config)
|
||||||
|
|
||||||
|
;; For testing.
|
||||||
|
("jupyter" ,(specification->package "jupyter"))
|
||||||
|
("python-ipython" ,(specification->package "python-ipython"))
|
||||||
|
("python-ipykernel" ,(specification->package "python-ipykernel"))))
|
||||||
|
(inputs
|
||||||
|
`(("guix" ,guix)
|
||||||
|
("guile" ,guile-2.2)))
|
||||||
|
(propagated-inputs
|
||||||
|
`(("guile-json" ,guile-json-3)
|
||||||
|
("guile-simple-zmq" ,guile-simple-zmq)
|
||||||
|
("guile-gcrypt" ,guile-gcrypt)))
|
||||||
|
(synopsis "Guix kernel for Jupyter")
|
||||||
|
(description
|
||||||
|
"Guix-Jupyter is a Jupyter kernel. It allows you to annotate notebooks
|
||||||
|
with information about their software dependencies, such that code is executed
|
||||||
|
in the right software environment. Guix-Jupyter spawns the actual kernels
|
||||||
|
such as @code{python-ipykernel} on behalf of the notebook user and runs them
|
||||||
|
in an isolated environment, in separate namespaces.")
|
||||||
|
(license license:gpl3+)))
|
||||||
|
|
||||||
(define-public gcab
|
(define-public gcab
|
||||||
(package
|
(package
|
||||||
(name "gcab")
|
(name "gcab")
|
||||||
|
|
Loading…
Reference in New Issue